Skip to content

Commit 1ed14be

Browse files
committed
feat(DropdownHeader): add DropdownHeader to the Design System
1 parent 4fe72de commit 1ed14be

4 files changed

Lines changed: 30 additions & 0 deletions

File tree

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { PropsWithChildren } from 'react'
2+
import { Dropdown } from 'react-bootstrap'
3+
4+
export function DropdownHeader({ children }: PropsWithChildren) {
5+
return <Dropdown.Header>{children}</Dropdown.Header>
6+
}

packages/design-system/src/lib/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ export { Button } from './components/button/Button'
33
export { DropdownButton } from './components/dropdown-button/DropdownButton'
44
export { DropdownButtonItem } from './components/dropdown-button/dropdown-button-item/DropdownButtonItem'
55
export { DropdownSeparator } from './components/dropdown-button/dropdown-separator/DropdownSeparator'
6+
export { DropdownHeader } from './components/dropdown-button/dropdown-header/DropdownHeader'
67
export { Col } from './components/grid/Col'
78
export { Container } from './components/grid/Container'
89
export { Row } from './components/grid/Row'

packages/design-system/src/lib/stories/dropdown-button/DropdownButton.stories.tsx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { DropdownButton } from '../../components/dropdown-button/DropdownButton'
44
import { IconName } from '../../components/icon/IconName'
55
import { CanvasFixedHeight } from '../CanvasFixedHeight'
66
import { DropdownSeparator } from '../../components/dropdown-button/dropdown-separator/DropdownSeparator'
7+
import { DropdownHeader } from '../../components/dropdown-button/dropdown-header/DropdownHeader'
78

89
/**
910
* ## Description
@@ -131,6 +132,19 @@ export const WithSeparatorBetweenOptions: Story = {
131132
)
132133
}
133134

135+
export const WithSeparatorHeaderBetweenOptions: Story = {
136+
render: () => (
137+
<CanvasFixedHeight height={150}>
138+
<DropdownButton withSpacing title="Dropdown Button" id="dropdown-1" variant="primary">
139+
<DropdownButtonItem href="/item-1">Item 1</DropdownButtonItem>
140+
<DropdownButtonItem href="/item-2">Item 2</DropdownButtonItem>
141+
<DropdownHeader>Header</DropdownHeader>
142+
<DropdownButtonItem href="/item-3">Item 3</DropdownButtonItem>
143+
</DropdownButton>
144+
</CanvasFixedHeight>
145+
)
146+
}
147+
134148
/**
135149
* This is an example use case for a navigation dropdown button.
136150
*/
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { DropdownHeader } from '../../../../src/lib/components/dropdown-button/dropdown-header/DropdownHeader'
2+
3+
describe('DropdownHeader', () => {
4+
it('renders the dropdown header', () => {
5+
cy.customMount(<DropdownHeader>Header</DropdownHeader>)
6+
7+
cy.findByRole('heading', { name: 'Header' }).should('exist')
8+
})
9+
})

0 commit comments

Comments
 (0)