@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.
Files changed (140) hide show
  1. package/dist/cjs/alpha.cjs +4 -0
  2. package/dist/cjs/src/Avatar/Avatar.cjs +3 -2
  3. package/dist/cjs/src/Button/Button/Button.cjs +5 -0
  4. package/dist/cjs/src/Button/IconButton/IconButton.cjs +5 -0
  5. package/dist/cjs/src/Filter/FilterMultiSelect/FilterMultiSelect.cjs +3 -7
  6. package/dist/cjs/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.cjs +1 -1
  7. package/dist/cjs/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.module.scss.cjs +9 -0
  8. package/dist/cjs/src/Filter/FilterMultiSelect/subcomponents/ListBoxSection/ListBoxSection.cjs +2 -1
  9. package/dist/cjs/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.cjs +38 -69
  10. package/dist/cjs/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/{MenuPopup.module.css.cjs → MenuPopup.module.scss.cjs} +1 -1
  11. package/dist/cjs/src/LikertScaleLegacy/LikertScaleLegacy.cjs +3 -0
  12. package/dist/cjs/src/Modal/GenericModal/GenericModal.cjs +11 -1
  13. package/dist/cjs/src/Skirt/Skirt.cjs +3 -0
  14. package/dist/cjs/src/Skirt/subcomponents/SkirtCard/SkirtCard.cjs +4 -0
  15. package/dist/cjs/src/SplitButton/SplitButton.cjs +2 -0
  16. package/dist/cjs/src/TitleBlockZen/TitleBlockZen.cjs +3 -0
  17. package/dist/cjs/src/__alpha__/SingleSelect/SingleSelect.cjs +32 -0
  18. package/dist/cjs/src/__alpha__/SingleSelect/SingleSelect.module.css.cjs +6 -0
  19. package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/List/List.cjs +24 -0
  20. package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/List/List.module.css.cjs +6 -0
  21. package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.cjs +24 -0
  22. package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.module.css.cjs +6 -0
  23. package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.cjs +25 -0
  24. package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.module.css.cjs +6 -0
  25. package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.cjs +21 -0
  26. package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.module.css.cjs +6 -0
  27. package/dist/esm/alpha.mjs +1 -0
  28. package/dist/esm/src/Avatar/Avatar.mjs +3 -2
  29. package/dist/esm/src/Button/Button/Button.mjs +5 -0
  30. package/dist/esm/src/Button/IconButton/IconButton.mjs +5 -0
  31. package/dist/esm/src/Filter/FilterMultiSelect/FilterMultiSelect.mjs +3 -7
  32. package/dist/esm/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.mjs +1 -1
  33. package/dist/esm/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.module.scss.mjs +7 -0
  34. package/dist/esm/src/Filter/FilterMultiSelect/subcomponents/ListBoxSection/ListBoxSection.mjs +2 -1
  35. package/dist/esm/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.mjs +41 -70
  36. package/dist/esm/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.module.scss.mjs +4 -0
  37. package/dist/esm/src/LikertScaleLegacy/LikertScaleLegacy.mjs +3 -0
  38. package/dist/esm/src/Modal/GenericModal/GenericModal.mjs +11 -1
  39. package/dist/esm/src/Skirt/Skirt.mjs +3 -0
  40. package/dist/esm/src/Skirt/subcomponents/SkirtCard/SkirtCard.mjs +4 -0
  41. package/dist/esm/src/SplitButton/SplitButton.mjs +2 -0
  42. package/dist/esm/src/TitleBlockZen/TitleBlockZen.mjs +3 -0
  43. package/dist/esm/src/__alpha__/SingleSelect/SingleSelect.mjs +27 -0
  44. package/dist/esm/src/__alpha__/SingleSelect/SingleSelect.module.css.mjs +4 -0
  45. package/dist/esm/src/__alpha__/SingleSelect/subcomponents/List/List.mjs +18 -0
  46. package/dist/esm/src/__alpha__/SingleSelect/subcomponents/List/List.module.css.mjs +4 -0
  47. package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.mjs +18 -0
  48. package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.module.css.mjs +4 -0
  49. package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.mjs +19 -0
  50. package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.module.css.mjs +4 -0
  51. package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.mjs +13 -0
  52. package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.module.css.mjs +4 -0
  53. package/dist/styles.css +81 -29
  54. package/dist/types/Button/Button/Button.d.ts +5 -0
  55. package/dist/types/Button/IconButton/IconButton.d.ts +5 -0
  56. package/dist/types/Filter/FilterMultiSelect/FilterMultiSelect.d.ts +1 -1
  57. package/dist/types/Filter/FilterMultiSelect/_docs/MockData.d.ts +0 -1
  58. package/dist/types/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.d.ts +4 -11
  59. package/dist/types/LikertScaleLegacy/LikertScaleLegacy.d.ts +3 -0
  60. package/dist/types/Skirt/Skirt.d.ts +3 -0
  61. package/dist/types/Skirt/subcomponents/SkirtCard/SkirtCard.d.ts +3 -0
  62. package/dist/types/SplitButton/SplitButton.d.ts +2 -0
  63. package/dist/types/TitleBlockZen/TitleBlockZen.d.ts +3 -0
  64. package/dist/types/__alpha__/SingleSelect/SingleSelect.d.ts +23 -0
  65. package/dist/types/__alpha__/SingleSelect/_docs/mockData.d.ts +59 -0
  66. package/dist/types/__alpha__/SingleSelect/index.d.ts +1 -0
  67. package/dist/types/__alpha__/SingleSelect/subcomponents/List/List.d.ts +6 -0
  68. package/dist/types/__alpha__/SingleSelect/subcomponents/List/index.d.ts +1 -0
  69. package/dist/types/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.d.ts +6 -0
  70. package/dist/types/__alpha__/SingleSelect/subcomponents/ListItem/index.d.ts +1 -0
  71. package/dist/types/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.d.ts +8 -0
  72. package/dist/types/__alpha__/SingleSelect/subcomponents/ListSection/index.d.ts +1 -0
  73. package/dist/types/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.d.ts +1 -0
  74. package/dist/types/__alpha__/SingleSelect/subcomponents/Trigger/index.d.ts +1 -0
  75. package/dist/types/__alpha__/SingleSelect/subcomponents/index.d.ts +4 -0
  76. package/dist/types/__alpha__/index.d.ts +1 -0
  77. package/package.json +1 -1
  78. package/src/Avatar/Avatar.tsx +5 -2
  79. package/src/Avatar/_docs/Avatar.stickersheet.stories.tsx +2 -2
  80. package/src/Button/Button/Button.tsx +5 -0
  81. package/src/Button/IconButton/IconButton.tsx +5 -0
  82. package/src/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.spec.tsx +0 -1
  83. package/src/Filter/FilterMultiSelect/FilterMultiSelect.tsx +2 -3
  84. package/src/Filter/FilterMultiSelect/_docs/FilterMultiSelect.mdx +0 -10
  85. package/src/Filter/FilterMultiSelect/_docs/FilterMultiSelect.stories.tsx +1 -178
  86. package/src/Filter/FilterMultiSelect/_docs/MockData.ts +0 -39
  87. package/src/Filter/FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.spec.tsx +18 -2
  88. package/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.module.scss +25 -0
  89. package/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.tsx +1 -1
  90. package/src/Filter/FilterMultiSelect/subcomponents/ListBoxSection/ListBoxSection.tsx +1 -1
  91. package/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.module.scss +24 -0
  92. package/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.tsx +42 -89
  93. package/src/LikertScaleLegacy/LikertScaleLegacy.tsx +3 -0
  94. package/src/LikertScaleLegacy/_docs/LikertScaleLegacy.mdx +3 -2
  95. package/src/LikertScaleLegacy/_docs/LikertScaleLegacy.stickersheet.stories.tsx +1 -1
  96. package/src/LikertScaleLegacy/_docs/LikertScaleLegacy.stories.tsx +1 -1
  97. package/src/Modal/GenericModal/GenericModal.tsx +18 -1
  98. package/src/Skirt/Skirt.tsx +4 -0
  99. package/src/Skirt/_docs/Skirt.mdx +3 -1
  100. package/src/Skirt/_docs/Skirt.stories.tsx +1 -1
  101. package/src/Skirt/subcomponents/SkirtCard/SkirtCard.tsx +4 -0
  102. package/src/SplitButton/SplitButton.tsx +2 -0
  103. package/src/SplitButton/_docs/SplitButton.mdx +3 -1
  104. package/src/SplitButton/_docs/SplitButton.stickersheet.stories.tsx +1 -1
  105. package/src/SplitButton/_docs/SplitButton.stories.tsx +1 -1
  106. package/src/TitleBlockZen/TitleBlockZen.tsx +3 -0
  107. package/src/TitleBlockZen/_docs/TitleBlockZen.mdx +3 -2
  108. package/src/__alpha__/SingleSelect/SingleSelect.module.css +9 -0
  109. package/src/__alpha__/SingleSelect/SingleSelect.spec.tsx +26 -0
  110. package/src/__alpha__/SingleSelect/SingleSelect.tsx +27 -0
  111. package/src/__alpha__/SingleSelect/_docs/SingleSelect.mdx +27 -0
  112. package/src/__alpha__/SingleSelect/_docs/SingleSelect.stickersheet.stories.tsx +83 -0
  113. package/src/__alpha__/SingleSelect/_docs/SingleSelect.stories.tsx +23 -0
  114. package/src/__alpha__/SingleSelect/_docs/mockData.ts +92 -0
  115. package/src/__alpha__/SingleSelect/index.ts +1 -0
  116. package/src/__alpha__/SingleSelect/subcomponents/List/List.module.css +7 -0
  117. package/src/__alpha__/SingleSelect/subcomponents/List/List.tsx +17 -0
  118. package/src/__alpha__/SingleSelect/subcomponents/List/index.ts +1 -0
  119. package/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.module.css +9 -0
  120. package/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.tsx +17 -0
  121. package/src/__alpha__/SingleSelect/subcomponents/ListItem/index.ts +1 -0
  122. package/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.module.css +9 -0
  123. package/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.tsx +23 -0
  124. package/src/__alpha__/SingleSelect/subcomponents/ListSection/index.ts +1 -0
  125. package/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.module.css +18 -0
  126. package/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.tsx +13 -0
  127. package/src/__alpha__/SingleSelect/subcomponents/Trigger/index.ts +1 -0
  128. package/src/__alpha__/SingleSelect/subcomponents/index.ts +4 -0
  129. package/src/__alpha__/index.ts +1 -0
  130. package/src/__next__/Button/_docs/Button--api-specification.mdx +6 -0
  131. package/src/__next__/Button/_docs/Button.docs.stories.tsx +29 -0
  132. package/src/__next__/Menu/_docs/Menu--api-specification.mdx +6 -0
  133. package/src/__next__/Menu/_docs/Menu.stories.tsx +29 -0
  134. package/src/__next__/Tabs/subcomponents/TabList/TabList.module.css +3 -1
  135. package/dist/cjs/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.module.css.cjs +0 -9
  136. package/dist/esm/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.module.css.mjs +0 -7
  137. package/dist/esm/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.module.css.mjs +0 -4
  138. package/src/Filter/FilterMultiSelect/_docs/FilterMultiSelectReportsTest.stories.tsx +0 -328
  139. package/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.module.css +0 -22
  140. 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,7 @@
1
+ @layer kz-components {
2
+ .list {
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: var(--spacing-16);
6
+ }
7
+ }
@@ -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,4 @@
1
+ export * from './List'
2
+ export * from './ListSection'
3
+ export * from './ListItem'
4
+ 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
+ }
@@ -26,7 +26,9 @@
26
26
  align-items: center;
27
27
  justify-content: center;
28
28
  position: absolute;
29
- z-index: 10000;
29
+
30
+ /* from $ca-z-index-fixed */
31
+ z-index: 1030;
30
32
  background: var(--color-white);
31
33
  inset-block: 0 1px;
32
34
  width: 48px;
@@ -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;
@@ -1,7 +0,0 @@
1
- var styles = {
2
- "listBox": "ListBox-module_listBox__HBScm",
3
- "overflown": "ListBox-module_overflown__PdKED",
4
- "hidden": "ListBox-module_hidden__mO-oL",
5
- "noResultsWrapper": "ListBox-module_noResultsWrapper__RnMj0"
6
- };
7
- export { styles as default };
@@ -1,4 +0,0 @@
1
- var styles = {
2
- "menuPopup": "MenuPopup-module_menuPopup__QgGEa"
3
- };
4
- export { styles as default };