@kaizen/components 0.0.0-canary-update-floating-fms-20250715035144 → 0.0.0-canary-handle-avatar-error-20250716233812
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/alpha.cjs +4 -0
- package/dist/cjs/src/Avatar/Avatar.cjs +3 -2
- package/dist/cjs/src/Button/Button/Button.cjs +5 -0
- package/dist/cjs/src/Button/IconButton/IconButton.cjs +5 -0
- package/dist/cjs/src/Filter/FilterMultiSelect/FilterMultiSelect.cjs +3 -7
- package/dist/cjs/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.cjs +1 -1
- package/dist/cjs/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.module.scss.cjs +9 -0
- package/dist/cjs/src/Filter/FilterMultiSelect/subcomponents/ListBoxSection/ListBoxSection.cjs +2 -1
- package/dist/cjs/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.cjs +38 -69
- package/dist/cjs/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/{MenuPopup.module.css.cjs → MenuPopup.module.scss.cjs} +1 -1
- package/dist/cjs/src/LikertScaleLegacy/LikertScaleLegacy.cjs +3 -0
- package/dist/cjs/src/Modal/GenericModal/GenericModal.cjs +11 -1
- package/dist/cjs/src/Skirt/Skirt.cjs +3 -0
- package/dist/cjs/src/Skirt/subcomponents/SkirtCard/SkirtCard.cjs +4 -0
- package/dist/cjs/src/SplitButton/SplitButton.cjs +2 -0
- package/dist/cjs/src/TitleBlockZen/TitleBlockZen.cjs +3 -0
- package/dist/cjs/src/__alpha__/SingleSelect/SingleSelect.cjs +32 -0
- package/dist/cjs/src/__alpha__/SingleSelect/SingleSelect.module.css.cjs +6 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/List/List.cjs +24 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/List/List.module.css.cjs +6 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.cjs +24 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.module.css.cjs +6 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.cjs +25 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.module.css.cjs +6 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.cjs +21 -0
- package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.module.css.cjs +6 -0
- package/dist/esm/alpha.mjs +1 -0
- package/dist/esm/src/Avatar/Avatar.mjs +3 -2
- package/dist/esm/src/Button/Button/Button.mjs +5 -0
- package/dist/esm/src/Button/IconButton/IconButton.mjs +5 -0
- package/dist/esm/src/Filter/FilterMultiSelect/FilterMultiSelect.mjs +3 -7
- package/dist/esm/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.mjs +1 -1
- package/dist/esm/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.module.scss.mjs +7 -0
- package/dist/esm/src/Filter/FilterMultiSelect/subcomponents/ListBoxSection/ListBoxSection.mjs +2 -1
- package/dist/esm/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.mjs +41 -70
- package/dist/esm/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.module.scss.mjs +4 -0
- package/dist/esm/src/LikertScaleLegacy/LikertScaleLegacy.mjs +3 -0
- package/dist/esm/src/Modal/GenericModal/GenericModal.mjs +11 -1
- package/dist/esm/src/Skirt/Skirt.mjs +3 -0
- package/dist/esm/src/Skirt/subcomponents/SkirtCard/SkirtCard.mjs +4 -0
- package/dist/esm/src/SplitButton/SplitButton.mjs +2 -0
- package/dist/esm/src/TitleBlockZen/TitleBlockZen.mjs +3 -0
- package/dist/esm/src/__alpha__/SingleSelect/SingleSelect.mjs +27 -0
- package/dist/esm/src/__alpha__/SingleSelect/SingleSelect.module.css.mjs +4 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/List/List.mjs +18 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/List/List.module.css.mjs +4 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.mjs +18 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.module.css.mjs +4 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.mjs +19 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.module.css.mjs +4 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.mjs +13 -0
- package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.module.css.mjs +4 -0
- package/dist/styles.css +81 -29
- package/dist/types/Button/Button/Button.d.ts +5 -0
- package/dist/types/Button/IconButton/IconButton.d.ts +5 -0
- package/dist/types/Filter/FilterMultiSelect/FilterMultiSelect.d.ts +1 -1
- package/dist/types/Filter/FilterMultiSelect/_docs/MockData.d.ts +0 -1
- package/dist/types/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.d.ts +4 -11
- package/dist/types/LikertScaleLegacy/LikertScaleLegacy.d.ts +3 -0
- package/dist/types/Skirt/Skirt.d.ts +3 -0
- package/dist/types/Skirt/subcomponents/SkirtCard/SkirtCard.d.ts +3 -0
- package/dist/types/SplitButton/SplitButton.d.ts +2 -0
- package/dist/types/TitleBlockZen/TitleBlockZen.d.ts +3 -0
- package/dist/types/__alpha__/SingleSelect/SingleSelect.d.ts +23 -0
- package/dist/types/__alpha__/SingleSelect/_docs/mockData.d.ts +59 -0
- package/dist/types/__alpha__/SingleSelect/index.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/List/List.d.ts +6 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/List/index.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.d.ts +6 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/ListItem/index.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.d.ts +8 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/ListSection/index.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/Trigger/index.d.ts +1 -0
- package/dist/types/__alpha__/SingleSelect/subcomponents/index.d.ts +4 -0
- package/dist/types/__alpha__/index.d.ts +1 -0
- package/package.json +1 -1
- package/src/Avatar/Avatar.tsx +5 -2
- package/src/Avatar/_docs/Avatar.stickersheet.stories.tsx +2 -2
- package/src/Button/Button/Button.tsx +5 -0
- package/src/Button/IconButton/IconButton.tsx +5 -0
- package/src/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.spec.tsx +0 -1
- package/src/Filter/FilterMultiSelect/FilterMultiSelect.tsx +2 -3
- package/src/Filter/FilterMultiSelect/_docs/FilterMultiSelect.mdx +0 -10
- package/src/Filter/FilterMultiSelect/_docs/FilterMultiSelect.stories.tsx +1 -178
- package/src/Filter/FilterMultiSelect/_docs/MockData.ts +0 -39
- package/src/Filter/FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.spec.tsx +18 -2
- package/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.module.scss +25 -0
- package/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.tsx +1 -1
- package/src/Filter/FilterMultiSelect/subcomponents/ListBoxSection/ListBoxSection.tsx +1 -1
- package/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.module.scss +24 -0
- package/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.tsx +42 -89
- package/src/LikertScaleLegacy/LikertScaleLegacy.tsx +3 -0
- package/src/LikertScaleLegacy/_docs/LikertScaleLegacy.mdx +3 -2
- package/src/LikertScaleLegacy/_docs/LikertScaleLegacy.stickersheet.stories.tsx +1 -1
- package/src/LikertScaleLegacy/_docs/LikertScaleLegacy.stories.tsx +1 -1
- package/src/Modal/GenericModal/GenericModal.tsx +18 -1
- package/src/Skirt/Skirt.tsx +4 -0
- package/src/Skirt/_docs/Skirt.mdx +3 -1
- package/src/Skirt/_docs/Skirt.stories.tsx +1 -1
- package/src/Skirt/subcomponents/SkirtCard/SkirtCard.tsx +4 -0
- package/src/SplitButton/SplitButton.tsx +2 -0
- package/src/SplitButton/_docs/SplitButton.mdx +3 -1
- package/src/SplitButton/_docs/SplitButton.stickersheet.stories.tsx +1 -1
- package/src/SplitButton/_docs/SplitButton.stories.tsx +1 -1
- package/src/TitleBlockZen/TitleBlockZen.tsx +3 -0
- package/src/TitleBlockZen/_docs/TitleBlockZen.mdx +3 -2
- package/src/__alpha__/SingleSelect/SingleSelect.module.css +9 -0
- package/src/__alpha__/SingleSelect/SingleSelect.spec.tsx +26 -0
- package/src/__alpha__/SingleSelect/SingleSelect.tsx +27 -0
- package/src/__alpha__/SingleSelect/_docs/SingleSelect.mdx +27 -0
- package/src/__alpha__/SingleSelect/_docs/SingleSelect.stickersheet.stories.tsx +83 -0
- package/src/__alpha__/SingleSelect/_docs/SingleSelect.stories.tsx +23 -0
- package/src/__alpha__/SingleSelect/_docs/mockData.ts +92 -0
- package/src/__alpha__/SingleSelect/index.ts +1 -0
- package/src/__alpha__/SingleSelect/subcomponents/List/List.module.css +7 -0
- package/src/__alpha__/SingleSelect/subcomponents/List/List.tsx +17 -0
- package/src/__alpha__/SingleSelect/subcomponents/List/index.ts +1 -0
- package/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.module.css +9 -0
- package/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.tsx +17 -0
- package/src/__alpha__/SingleSelect/subcomponents/ListItem/index.ts +1 -0
- package/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.module.css +9 -0
- package/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.tsx +23 -0
- package/src/__alpha__/SingleSelect/subcomponents/ListSection/index.ts +1 -0
- package/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.module.css +18 -0
- package/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.tsx +13 -0
- package/src/__alpha__/SingleSelect/subcomponents/Trigger/index.ts +1 -0
- package/src/__alpha__/SingleSelect/subcomponents/index.ts +4 -0
- package/src/__alpha__/index.ts +1 -0
- package/src/__next__/Button/_docs/Button--api-specification.mdx +6 -0
- package/src/__next__/Button/_docs/Button.docs.stories.tsx +29 -0
- package/src/__next__/Menu/_docs/Menu--api-specification.mdx +6 -0
- package/src/__next__/Menu/_docs/Menu.stories.tsx +29 -0
- package/src/__next__/Tabs/subcomponents/TabList/TabList.module.css +3 -1
- package/dist/cjs/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.module.css.cjs +0 -9
- package/dist/esm/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.module.css.mjs +0 -7
- package/dist/esm/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.module.css.mjs +0 -4
- package/src/Filter/FilterMultiSelect/_docs/FilterMultiSelectReportsTest.stories.tsx +0 -328
- package/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.module.css +0 -22
- package/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.module.css +0 -22
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
export const singleMockItems = [
|
|
2
|
+
{ label: 'Short black', value: 'short-black' },
|
|
3
|
+
{ label: 'Long black', value: 'long-black' },
|
|
4
|
+
{ label: 'Batch brew', value: 'batch-brew' },
|
|
5
|
+
{ label: 'Latte', value: 'latte' },
|
|
6
|
+
{ label: 'Flat white', value: 'flat-white' },
|
|
7
|
+
{ label: 'Mocha', value: 'mocha' },
|
|
8
|
+
{ label: 'Cappuccino', value: 'cappuccino' },
|
|
9
|
+
{ label: 'Magic', value: 'magic' },
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
export const groupedMockItems = [
|
|
13
|
+
{
|
|
14
|
+
label: 'Colours',
|
|
15
|
+
options: [
|
|
16
|
+
{ label: 'Blue', value: 'blue' },
|
|
17
|
+
{ label: 'Red', value: 'red' },
|
|
18
|
+
{ label: 'Green', value: 'green' },
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
label: 'Flavours',
|
|
23
|
+
options: [
|
|
24
|
+
{ label: 'Vanilla', value: 'vanilla' },
|
|
25
|
+
{ label: 'Chocolate', value: 'chocolate' },
|
|
26
|
+
{ label: 'Strawberry', value: 'strawberry' },
|
|
27
|
+
],
|
|
28
|
+
},
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
export const mixedMockItemsDisabled = [
|
|
32
|
+
{ label: 'Short black', value: 'short-black', disabled: true },
|
|
33
|
+
{ label: 'Long black', value: 'long-black' },
|
|
34
|
+
{ label: 'Batch brew', value: 'batch-brew', disabled: true },
|
|
35
|
+
{
|
|
36
|
+
label: 'Size',
|
|
37
|
+
options: [
|
|
38
|
+
{ label: 'Regular', value: 'regular' },
|
|
39
|
+
{ label: 'Large', value: 'large', disabled: true },
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
label: 'Syrup',
|
|
44
|
+
options: [
|
|
45
|
+
{ label: 'Vanilla', value: 'vanilla', disabled: true },
|
|
46
|
+
{ label: 'Caramel', value: 'caramel' },
|
|
47
|
+
{ label: 'Hazelnut', value: 'hazelnut' },
|
|
48
|
+
],
|
|
49
|
+
},
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
export const mixedMockItemsUngroupedFirst = [
|
|
53
|
+
{ label: 'Batch brew', value: 'batch-brew' },
|
|
54
|
+
{ label: 'Latte', value: 'latte' },
|
|
55
|
+
{ label: 'Magic', value: 'magic' },
|
|
56
|
+
{
|
|
57
|
+
label: 'Size',
|
|
58
|
+
options: [
|
|
59
|
+
{ label: 'Regular', value: 'regular' },
|
|
60
|
+
{ label: 'Large', value: 'large' },
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
label: 'Syrup',
|
|
65
|
+
options: [
|
|
66
|
+
{ label: 'Vanilla', value: 'vanilla' },
|
|
67
|
+
{ label: 'Caramel', value: 'caramel' },
|
|
68
|
+
{ label: 'Hazelnut', value: 'hazelnut' },
|
|
69
|
+
],
|
|
70
|
+
},
|
|
71
|
+
]
|
|
72
|
+
|
|
73
|
+
export const mixedMockItemsUnordered = [
|
|
74
|
+
{
|
|
75
|
+
label: 'Size',
|
|
76
|
+
options: [
|
|
77
|
+
{ label: 'Regular', value: 'regular' },
|
|
78
|
+
{ label: 'Large', value: 'large' },
|
|
79
|
+
],
|
|
80
|
+
},
|
|
81
|
+
{ label: 'Batch brew', value: 'batch-brew' },
|
|
82
|
+
{ label: 'Latte', value: 'latte' },
|
|
83
|
+
{ label: 'Magic', value: 'magic' },
|
|
84
|
+
{
|
|
85
|
+
label: 'Syrup',
|
|
86
|
+
options: [
|
|
87
|
+
{ label: 'Vanilla', value: 'vanilla' },
|
|
88
|
+
{ label: 'Caramel', value: 'caramel' },
|
|
89
|
+
{ label: 'Hazelnut', value: 'hazelnut' },
|
|
90
|
+
],
|
|
91
|
+
},
|
|
92
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SingleSelect'
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React, { type PropsWithChildren } from 'react'
|
|
2
|
+
import classNames from 'classnames'
|
|
3
|
+
import { ListBox as RACListBox, type ListBoxProps } from 'react-aria-components'
|
|
4
|
+
import styles from './List.module.css'
|
|
5
|
+
|
|
6
|
+
export const List = ({
|
|
7
|
+
children,
|
|
8
|
+
className,
|
|
9
|
+
...props
|
|
10
|
+
}: ListBoxProps<object> & PropsWithChildren): React.ReactElement => {
|
|
11
|
+
return (
|
|
12
|
+
<RACListBox className={classNames(styles.list, className)} {...props}>
|
|
13
|
+
{children}
|
|
14
|
+
</RACListBox>
|
|
15
|
+
)
|
|
16
|
+
}
|
|
17
|
+
List.displayName = 'SingleSelect.List'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './List'
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
@layer kz-components {
|
|
2
|
+
.listItem {
|
|
3
|
+
font-family: var(--typography-paragraph-body-font-family);
|
|
4
|
+
font-weight: var(--typography-paragraph-body-font-weight);
|
|
5
|
+
font-size: var(--typography-paragraph-body-font-size);
|
|
6
|
+
line-height: var(--typography-paragraph-body-line-height);
|
|
7
|
+
letter-spacing: var(--typography-paragraph-body-letter-spacing);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React, { type PropsWithChildren } from 'react'
|
|
2
|
+
import classNames from 'classnames'
|
|
3
|
+
import { ListBoxItem as RACListBoxItem, type ListBoxItemProps } from 'react-aria-components'
|
|
4
|
+
import styles from './ListItem.module.css'
|
|
5
|
+
|
|
6
|
+
export const ListItem = ({
|
|
7
|
+
children,
|
|
8
|
+
className,
|
|
9
|
+
...props
|
|
10
|
+
}: ListBoxItemProps<object> & PropsWithChildren): React.ReactElement => {
|
|
11
|
+
return (
|
|
12
|
+
<RACListBoxItem className={classNames(styles.listItem, className)} {...props}>
|
|
13
|
+
{children}
|
|
14
|
+
</RACListBoxItem>
|
|
15
|
+
)
|
|
16
|
+
}
|
|
17
|
+
ListItem.displayName = 'SingleSelect.ListItem'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ListItem'
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
@layer kz-components {
|
|
2
|
+
.listSectionHeader {
|
|
3
|
+
font-family: var(--typography-heading-5-font-family);
|
|
4
|
+
font-weight: var(--typography-heading-5-font-weight);
|
|
5
|
+
font-size: var(--typography-heading-5-font-size);
|
|
6
|
+
line-height: var(--typography-heading-5-line-height);
|
|
7
|
+
letter-spacing: var(--typography-heading-5-letter-spacing);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React, { type PropsWithChildren } from 'react'
|
|
2
|
+
import classNames from 'classnames'
|
|
3
|
+
import {
|
|
4
|
+
Header as RACHeader,
|
|
5
|
+
ListBoxSection as RACListBoxSection,
|
|
6
|
+
type ListBoxSectionProps,
|
|
7
|
+
} from 'react-aria-components'
|
|
8
|
+
import styles from './ListSection.module.css'
|
|
9
|
+
|
|
10
|
+
export const ListSection = ({
|
|
11
|
+
name,
|
|
12
|
+
className,
|
|
13
|
+
children,
|
|
14
|
+
...props
|
|
15
|
+
}: ListBoxSectionProps<object> & PropsWithChildren & { name: string }): React.ReactElement => {
|
|
16
|
+
return (
|
|
17
|
+
<RACListBoxSection {...props}>
|
|
18
|
+
<RACHeader className={classNames(styles.listSectionHeader, className)}>{name}</RACHeader>
|
|
19
|
+
{children}
|
|
20
|
+
</RACListBoxSection>
|
|
21
|
+
)
|
|
22
|
+
}
|
|
23
|
+
ListSection.displayName = 'SingleSelect.ListSection'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ListSection'
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
@layer kz-components {
|
|
2
|
+
.button {
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: space-between;
|
|
6
|
+
font-family: var(--typography-paragraph-body-font-family);
|
|
7
|
+
font-weight: var(--typography-paragraph-body-font-weight);
|
|
8
|
+
font-size: var(--typography-paragraph-body-font-size);
|
|
9
|
+
line-height: var(--typography-paragraph-body-line-height);
|
|
10
|
+
letter-spacing: var(--typography-paragraph-body-letter-spacing);
|
|
11
|
+
padding: var(--spacing-12);
|
|
12
|
+
min-height: var(--spacing-48);
|
|
13
|
+
min-width: var(--spacing-200);
|
|
14
|
+
background-color: var(--color-white);
|
|
15
|
+
border-radius: var(--spacing-8);
|
|
16
|
+
border: 1px solid var(--color-gray-500);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { Button as RACButton, SelectValue } from 'react-aria-components'
|
|
3
|
+
import { Icon } from '~components/__next__/Icon'
|
|
4
|
+
import styles from './Trigger.module.css'
|
|
5
|
+
|
|
6
|
+
export const Trigger = (): JSX.Element => {
|
|
7
|
+
return (
|
|
8
|
+
<RACButton className={styles.button}>
|
|
9
|
+
<SelectValue />
|
|
10
|
+
<Icon name="keyboard_arrow_down" isPresentational />
|
|
11
|
+
</RACButton>
|
|
12
|
+
)
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Trigger'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SingleSelect'
|
|
@@ -156,6 +156,12 @@ If a button is statically the full width of a container you can use the `isFullW
|
|
|
156
156
|
|
|
157
157
|
For resizing on smaller screens, consider using the `className` prop to leverage CSS media or container queries, ie: `<Button className="w-full md:w-[initial]">Label</Button>`.
|
|
158
158
|
|
|
159
|
+
## Use a menu to show additional actions
|
|
160
|
+
|
|
161
|
+
Instead of a split button (now a [deprecated component](https://cultureamp.atlassian.net/wiki/spaces/DES/pages/4286611457/Deprecating+Split+Buttons+-+Design+Request+for+Comment+RFC)), use a Button with text followed by a Menu to show any additional actions related to the most critical action.
|
|
162
|
+
|
|
163
|
+
<Canvas className="mb-24" of={exampleStories.ButtonMenuPattern} />
|
|
164
|
+
|
|
159
165
|
## Additional API options
|
|
160
166
|
|
|
161
167
|
The following table is a collection of additional React Aria and native HTML props that are exposed from the React Aria API. These are not required for the implementation of `Button` but can be used to extend its functionality. Refer back to the [overview section](#overview) for the core props that enable most use cases.
|
|
@@ -391,3 +391,32 @@ export const DontExampleTertiaryButtonWithIcons: Story = {
|
|
|
391
391
|
variant: 'tertiary',
|
|
392
392
|
},
|
|
393
393
|
}
|
|
394
|
+
|
|
395
|
+
export const ButtonMenuPattern: Story = {
|
|
396
|
+
name: 'Button + Menu Pattern',
|
|
397
|
+
render: () => (
|
|
398
|
+
<div className="flex gap-4">
|
|
399
|
+
<Button size="large" variant="secondary">
|
|
400
|
+
Edit Survey
|
|
401
|
+
</Button>
|
|
402
|
+
<MenuTrigger>
|
|
403
|
+
<Button
|
|
404
|
+
size="large"
|
|
405
|
+
icon={<Icon name="more_horiz" isPresentational />}
|
|
406
|
+
variant="secondary"
|
|
407
|
+
hasHiddenLabel
|
|
408
|
+
>
|
|
409
|
+
More surveys
|
|
410
|
+
</Button>
|
|
411
|
+
<MenuPopover>
|
|
412
|
+
<Menu>
|
|
413
|
+
<MenuItem>Survey 1</MenuItem>
|
|
414
|
+
<MenuItem>Survey 2</MenuItem>
|
|
415
|
+
<MenuItem>Survey 3</MenuItem>
|
|
416
|
+
<MenuItem>Survey 4</MenuItem>
|
|
417
|
+
</Menu>
|
|
418
|
+
</MenuPopover>
|
|
419
|
+
</MenuTrigger>
|
|
420
|
+
</div>
|
|
421
|
+
),
|
|
422
|
+
}
|
|
@@ -83,3 +83,9 @@ Menu items can be disabled with the `isDisabled` prop.
|
|
|
83
83
|
By default, the open/closed state of the menu is handled under the hood. In cases where you need control over the open state, use the `isOpen` and `onOpenChange` props on the `MenuTrigger` component (both props must be used for this to work).
|
|
84
84
|
|
|
85
85
|
<Canvas className="mb-24" of={exampleStories.Controlled} />
|
|
86
|
+
|
|
87
|
+
## Use a menu to show additional actions
|
|
88
|
+
|
|
89
|
+
Instead of a split button (now a [deprecated component](https://cultureamp.atlassian.net/wiki/spaces/DES/pages/4286611457/Deprecating+Split+Buttons+-+Design+Request+for+Comment+RFC)), use a Button with text followed by a Menu to show any additional actions related to the most critical action.
|
|
90
|
+
|
|
91
|
+
<Canvas className="mb-24" of={exampleStories.ButtonMenuPattern} />
|
|
@@ -128,3 +128,32 @@ export const Sections: Story = {
|
|
|
128
128
|
</MenuTrigger>
|
|
129
129
|
),
|
|
130
130
|
}
|
|
131
|
+
|
|
132
|
+
export const ButtonMenuPattern: Story = {
|
|
133
|
+
name: 'Button + Menu Pattern',
|
|
134
|
+
render: ({ defaultOpen: _, ...args }) => (
|
|
135
|
+
<div className="flex gap-4">
|
|
136
|
+
<Button size="large" variant="secondary">
|
|
137
|
+
Edit Survey
|
|
138
|
+
</Button>
|
|
139
|
+
<MenuTrigger {...args}>
|
|
140
|
+
<Button
|
|
141
|
+
size="large"
|
|
142
|
+
icon={<Icon name="more_horiz" isPresentational />}
|
|
143
|
+
variant="secondary"
|
|
144
|
+
hasHiddenLabel
|
|
145
|
+
>
|
|
146
|
+
More surveys
|
|
147
|
+
</Button>
|
|
148
|
+
<MenuPopover>
|
|
149
|
+
<Menu>
|
|
150
|
+
<MenuItem>Survey 1</MenuItem>
|
|
151
|
+
<MenuItem>Survey 2</MenuItem>
|
|
152
|
+
<MenuItem>Survey 3</MenuItem>
|
|
153
|
+
<MenuItem>Survey 4</MenuItem>
|
|
154
|
+
</Menu>
|
|
155
|
+
</MenuPopover>
|
|
156
|
+
</MenuTrigger>
|
|
157
|
+
</div>
|
|
158
|
+
),
|
|
159
|
+
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var styles = {
|
|
4
|
-
"listBox": "ListBox-module_listBox__HBScm",
|
|
5
|
-
"overflown": "ListBox-module_overflown__PdKED",
|
|
6
|
-
"hidden": "ListBox-module_hidden__mO-oL",
|
|
7
|
-
"noResultsWrapper": "ListBox-module_noResultsWrapper__RnMj0"
|
|
8
|
-
};
|
|
9
|
-
module.exports = styles;
|