Skip to content

Commit 89ba138

Browse files
authored
fix(Sidebar): fix a collision between children and shorthand props (#4145)
* fix(Sidebar): fix a collision between `children` and shorthand props * remove only * fix test
1 parent cb4b05e commit 89ba138

File tree

5 files changed

+42
-8
lines changed

5 files changed

+42
-8
lines changed

cypress/integration/Sidebar/Sidebar.spec.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
/// <reference types="cypress" />
22

33
describe('Sidebar: spec', () => {
4+
it('with a Menu', () => {
5+
cy.visit('/maximize/sidebar-and-menu/')
6+
7+
cy.get('[data-tid="menu"]').should('be.visible')
8+
cy.get('[data-tid="menu-item"]').should('be.visible')
9+
})
10+
411
it('with a Modal', () => {
512
cy.visit('/maximize/sidebar-and-modal/')
613

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import React from 'react'
2+
import { Menu, Sidebar } from 'semantic-ui-react'
3+
4+
const SidebarAndMenu = () => (
5+
<Sidebar
6+
as={Menu}
7+
animation='push'
8+
data-tid='menu'
9+
inverted
10+
items={[
11+
{ key: 'home', content: 'Home', 'data-tid': 'menu-item' },
12+
{ key: 'about', content: 'About' },
13+
]}
14+
vertical
15+
visible
16+
/>
17+
)
18+
19+
export default SidebarAndMenu

src/modules/Sidebar/Sidebar.js

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -109,14 +109,16 @@ class Sidebar extends Component {
109109
const targetProp = isRefObject(target) ? { targetRef: target } : { target }
110110

111111
return (
112-
<Ref innerRef={this.ref}>
113-
<ElementType {...rest} className={classes}>
114-
{childrenUtils.isNil(children) ? content : children}
115-
{visible && (
116-
<EventListener listener={this.handleDocumentClick} type='click' {...targetProp} />
117-
)}
118-
</ElementType>
119-
</Ref>
112+
<>
113+
<Ref innerRef={this.ref}>
114+
<ElementType {...rest} className={classes}>
115+
{childrenUtils.isNil(children) ? content : children}
116+
</ElementType>
117+
</Ref>
118+
{visible && (
119+
<EventListener listener={this.handleDocumentClick} type='click' {...targetProp} />
120+
)}
121+
</>
120122
)
121123
}
122124
}

test/specs/modules/Transition/TransitionGroup-test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ const wrapperShallow = (...args) => (wrapper = shallow(...args))
1212
describe('TransitionGroup', () => {
1313
common.isConformant(TransitionGroup, {
1414
rendersFragmentByDefault: true,
15+
rendersChildren: false,
1516
})
1617

1718
beforeEach(() => {

test/utils/nestedShallow.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
import { Ref } from '@fluentui/react-component-ref'
22
import enzyme from 'enzyme'
33
import _ from 'lodash'
4+
import React from 'react'
45

56
const diveToLevel = (wrapper, autoNesting, nestingLevel) => {
67
let nestedWrapper = wrapper
78

9+
if (autoNesting && nestedWrapper.is(React.Fragment)) {
10+
nestedWrapper = nestedWrapper.childAt(0)
11+
}
12+
813
if (autoNesting && nestedWrapper.is(Ref)) {
914
nestedWrapper = nestedWrapper.childAt(0)
1015
}

0 commit comments

Comments
 (0)