@kaizen/components 0.0.0-canary-test-cherry-picked-updates-20250702235156 → 0.0.0-canary-ssr-generic-modal-2-20250709041326

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 (320) hide show
  1. package/dist/cjs/alpha.cjs +4 -0
  2. package/dist/cjs/src/Button/Button/Button.cjs +5 -0
  3. package/dist/cjs/src/Button/IconButton/IconButton.cjs +5 -0
  4. package/dist/cjs/src/LikertScaleLegacy/LikertScaleLegacy.cjs +3 -0
  5. package/dist/cjs/src/Modal/GenericModal/GenericModal.cjs +11 -1
  6. package/dist/cjs/src/Skirt/Skirt.cjs +3 -0
  7. package/dist/cjs/src/Skirt/subcomponents/SkirtCard/SkirtCard.cjs +4 -0
  8. package/dist/cjs/src/SplitButton/SplitButton.cjs +2 -0
  9. package/dist/cjs/src/TitleBlockZen/TitleBlockZen.cjs +3 -0
  10. package/dist/cjs/src/__alpha__/SingleSelect/SingleSelect.cjs +32 -0
  11. package/dist/cjs/src/__alpha__/SingleSelect/SingleSelect.module.css.cjs +6 -0
  12. package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/List/List.cjs +24 -0
  13. package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/List/List.module.css.cjs +6 -0
  14. package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.cjs +24 -0
  15. package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.module.css.cjs +6 -0
  16. package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.cjs +25 -0
  17. package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.module.css.cjs +6 -0
  18. package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.cjs +21 -0
  19. package/dist/cjs/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.module.css.cjs +6 -0
  20. package/dist/cjs/src/__next__/Select/Select.cjs +4 -3
  21. package/dist/cjs/src/__next__/Select/subcomponents/Overlay/Overlay.cjs +3 -3
  22. package/dist/cjs/src/__next__/Select/subcomponents/SelectPopoverContents/SelectPopoverContents.cjs +5 -2
  23. package/dist/cjs/src/__next__/Tabs/subcomponents/TabList/TabList.cjs +3 -3
  24. package/dist/esm/alpha.mjs +1 -0
  25. package/dist/esm/src/Button/Button/Button.mjs +5 -0
  26. package/dist/esm/src/Button/IconButton/IconButton.mjs +5 -0
  27. package/dist/esm/src/LikertScaleLegacy/LikertScaleLegacy.mjs +3 -0
  28. package/dist/esm/src/Modal/GenericModal/GenericModal.mjs +11 -1
  29. package/dist/esm/src/Skirt/Skirt.mjs +3 -0
  30. package/dist/esm/src/Skirt/subcomponents/SkirtCard/SkirtCard.mjs +4 -0
  31. package/dist/esm/src/SplitButton/SplitButton.mjs +2 -0
  32. package/dist/esm/src/TitleBlockZen/TitleBlockZen.mjs +3 -0
  33. package/dist/esm/src/__alpha__/SingleSelect/SingleSelect.mjs +27 -0
  34. package/dist/esm/src/__alpha__/SingleSelect/SingleSelect.module.css.mjs +4 -0
  35. package/dist/esm/src/__alpha__/SingleSelect/subcomponents/List/List.mjs +18 -0
  36. package/dist/esm/src/__alpha__/SingleSelect/subcomponents/List/List.module.css.mjs +4 -0
  37. package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.mjs +18 -0
  38. package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.module.css.mjs +4 -0
  39. package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.mjs +19 -0
  40. package/dist/esm/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.module.css.mjs +4 -0
  41. package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.mjs +13 -0
  42. package/dist/esm/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.module.css.mjs +4 -0
  43. package/dist/esm/src/__next__/Select/Select.mjs +4 -3
  44. package/dist/esm/src/__next__/Select/subcomponents/Overlay/Overlay.mjs +3 -3
  45. package/dist/esm/src/__next__/Select/subcomponents/SelectPopoverContents/SelectPopoverContents.mjs +5 -2
  46. package/dist/esm/src/__next__/Tabs/subcomponents/TabList/TabList.mjs +3 -3
  47. package/dist/styles.css +9901 -10026
  48. package/dist/types/Button/Button/Button.d.ts +5 -0
  49. package/dist/types/Button/IconButton/IconButton.d.ts +5 -0
  50. package/dist/types/LikertScaleLegacy/LikertScaleLegacy.d.ts +3 -0
  51. package/dist/types/Skirt/Skirt.d.ts +3 -0
  52. package/dist/types/Skirt/subcomponents/SkirtCard/SkirtCard.d.ts +3 -0
  53. package/dist/types/SplitButton/SplitButton.d.ts +2 -0
  54. package/dist/types/TitleBlockZen/TitleBlockZen.d.ts +3 -0
  55. package/dist/types/__alpha__/SingleSelect/SingleSelect.d.ts +23 -0
  56. package/dist/types/__alpha__/SingleSelect/_docs/mockData.d.ts +59 -0
  57. package/dist/types/__alpha__/SingleSelect/index.d.ts +1 -0
  58. package/dist/types/__alpha__/SingleSelect/subcomponents/List/List.d.ts +6 -0
  59. package/dist/types/__alpha__/SingleSelect/subcomponents/List/index.d.ts +1 -0
  60. package/dist/types/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.d.ts +6 -0
  61. package/dist/types/__alpha__/SingleSelect/subcomponents/ListItem/index.d.ts +1 -0
  62. package/dist/types/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.d.ts +8 -0
  63. package/dist/types/__alpha__/SingleSelect/subcomponents/ListSection/index.d.ts +1 -0
  64. package/dist/types/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.d.ts +1 -0
  65. package/dist/types/__alpha__/SingleSelect/subcomponents/Trigger/index.d.ts +1 -0
  66. package/dist/types/__alpha__/SingleSelect/subcomponents/index.d.ts +4 -0
  67. package/dist/types/__alpha__/index.d.ts +1 -0
  68. package/dist/types/__next__/Select/Select.d.ts +6 -2
  69. package/dist/types/__next__/Select/subcomponents/Overlay/Overlay.d.ts +2 -1
  70. package/dist/types/__next__/Select/subcomponents/SelectPopoverContents/SelectPopoverContents.d.ts +2 -1
  71. package/package.json +1 -1
  72. package/src/Avatar/Avatar.module.css +137 -135
  73. package/src/AvatarGroup/AvatarGroup.module.css +58 -56
  74. package/src/Badge/Badge.module.css +98 -96
  75. package/src/Brand/Brand.module.css +5 -3
  76. package/src/BrandMoment/BrandMoment.module.css +147 -145
  77. package/src/BrandMoment/_docs/ExampleHeaders.module.scss +68 -66
  78. package/src/Button/Button/Button.module.scss +135 -133
  79. package/src/Button/Button/Button.tsx +5 -0
  80. package/src/Button/GenericButton/GenericButton.module.scss +81 -79
  81. package/src/Button/IconButton/IconButton.module.scss +20 -18
  82. package/src/Button/IconButton/IconButton.tsx +5 -0
  83. package/src/ButtonGroup/ButtonGroup.module.css +38 -36
  84. package/src/ButtonGroup/ButtonGroup.module.scss +41 -39
  85. package/src/Calendar/CalendarPopover/CalendarPopover.module.scss +19 -17
  86. package/src/Calendar/CalendarRange/CalendarRange.module.scss +48 -46
  87. package/src/Calendar/CalendarSingle/CalendarSingle.module.scss +12 -10
  88. package/src/Calendar/LegacyCalendarRange/LegacyCalendarRange.module.scss +20 -18
  89. package/src/Calendar/baseCalendarClassNames.module.scss +148 -146
  90. package/src/Card/Card.module.css +91 -89
  91. package/src/Checkbox/Checkbox/Checkbox.module.scss +89 -87
  92. package/src/Checkbox/CheckboxField/CheckboxField.module.scss +32 -30
  93. package/src/Checkbox/CheckboxGroup/CheckboxGroup.module.scss +11 -9
  94. package/src/ClearButton/ClearButton.module.scss +32 -30
  95. package/src/Collapsible/Collapsible/Collapsible.module.scss +87 -85
  96. package/src/Collapsible/CollapsibleGroup/CollapsibleGroup.module.scss +9 -7
  97. package/src/Collapsible/ExpertAdviceCollapsible/ExpertAdviceCollapsible.module.scss +35 -33
  98. package/src/Container/Container.module.scss +11 -9
  99. package/src/Content/Content.module.scss +10 -8
  100. package/src/DateInput/DateInput/DateInput.module.scss +7 -5
  101. package/src/DateInput/DateInputDescription/DateInputDescription.module.scss +15 -13
  102. package/src/DateInput/DateInputWithIconButton/DateInputWithIconButton.module.scss +32 -30
  103. package/src/DatePicker/DatePicker.module.scss +7 -5
  104. package/src/DatePicker/subcomponents/DateInputField/DateInputField.module.scss +5 -3
  105. package/src/DateRangePicker/DateRangePicker.module.scss +75 -73
  106. package/src/Divider/Divider.module.scss +35 -33
  107. package/src/EmptyState/EmptyState.module.css +95 -93
  108. package/src/ErrorPage/ErrorPage.module.scss +4 -2
  109. package/src/FieldGroup/FieldGroup.module.scss +8 -6
  110. package/src/FieldMessage/FieldMessage.module.scss +53 -51
  111. package/src/Filter/Filter/Filter.module.css +5 -3
  112. package/src/Filter/Filter/subcomponents/FilterContents/FilterContents.module.css +4 -2
  113. package/src/Filter/Filter/subcomponents/FilterPopover/FilterPopover.module.css +8 -6
  114. package/src/Filter/FilterBar/FilterBar.module.css +17 -15
  115. package/src/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.module.css +7 -5
  116. package/src/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.module.css +4 -2
  117. package/src/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.module.css +5 -3
  118. package/src/Filter/FilterButton/FilterButton/FilterButton.module.css +19 -17
  119. package/src/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.module.css +4 -2
  120. package/src/Filter/FilterButton/subcomponents/FilterButtonBase/FilterButtonBase.module.scss +42 -40
  121. package/src/Filter/FilterDatePicker/subcomponents/DateInputField/DateInputField.module.scss +4 -2
  122. package/src/Filter/FilterDatePicker/subcomponents/FilterDatePickerField/FilterDatePickerField.module.scss +6 -4
  123. package/src/Filter/FilterDateRangePicker/FilterDateRangePicker.module.css +7 -5
  124. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeDisplayLabel/DateRangeDisplayLabel.module.scss +5 -3
  125. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeInputField/DateRangeInputField.module.scss +36 -34
  126. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeValidationMessage/DateRangeValidationMessage.module.scss +5 -3
  127. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.module.scss +7 -5
  128. package/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.module.scss +19 -17
  129. package/src/Filter/FilterMultiSelect/subcomponents/ListBoxSection/ListBoxSection.module.scss +14 -12
  130. package/src/Filter/FilterMultiSelect/subcomponents/LoadMoreButton/LoadMoreButton.module.scss +4 -2
  131. package/src/Filter/FilterMultiSelect/subcomponents/MenuLayout/MenuFooter/MenuFooter.module.scss +7 -5
  132. package/src/Filter/FilterMultiSelect/subcomponents/MenuLayout/MenuLoadingSkeleton/MenuLoadingSkeleton.module.scss +8 -6
  133. package/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.module.scss +17 -15
  134. package/src/Filter/FilterMultiSelect/subcomponents/MultiSelectOption/MultiSelectOption.module.scss +90 -88
  135. package/src/Filter/FilterMultiSelect/subcomponents/NoResults/NoResults.module.scss +4 -2
  136. package/src/Filter/FilterMultiSelect/subcomponents/SearchInput/SearchInput.module.scss +5 -3
  137. package/src/Filter/FilterMultiSelect/subcomponents/SectionDivider/SectionDivider.module.scss +4 -2
  138. package/src/Filter/FilterMultiSelect/subcomponents/SelectionControlButton/SelectionControlButton.module.scss +52 -50
  139. package/src/Filter/FilterMultiSelect/subcomponents/Trigger/RemovableFilterTrigger/RemovableFilterTrigger.module.css +4 -2
  140. package/src/Filter/FilterSelect/FilterSelect.module.css +9 -7
  141. package/src/Focusable/Focusable.module.scss +4 -2
  142. package/src/GuidanceBlock/GuidanceBlock.module.css +212 -210
  143. package/src/Heading/Heading.module.scss +87 -85
  144. package/src/Icon/_docs/icon.module.scss +35 -33
  145. package/src/Icon/subcomponents/SVG/SVG.module.scss +26 -24
  146. package/src/Illustration/subcomponents/Base/Base.module.scss +100 -98
  147. package/src/Input/Input/Input.module.scss +217 -215
  148. package/src/Input/InputRange/InputRange.module.scss +138 -136
  149. package/src/Input/InputSearch/InputSearch.module.scss +155 -152
  150. package/src/Label/Label.module.scss +82 -80
  151. package/src/LabelledMessage/LabelledMessage.module.scss +8 -6
  152. package/src/LikertScaleLegacy/LikertScaleLegacy.module.scss +266 -264
  153. package/src/LikertScaleLegacy/LikertScaleLegacy.tsx +3 -0
  154. package/src/LikertScaleLegacy/_docs/LikertScaleLegacy.mdx +3 -2
  155. package/src/LikertScaleLegacy/_docs/LikertScaleLegacy.stickersheet.stories.tsx +1 -1
  156. package/src/LikertScaleLegacy/_docs/LikertScaleLegacy.stories.tsx +1 -1
  157. package/src/Link/Link.module.css +115 -113
  158. package/src/LinkButton/LinkButton.module.css +5 -3
  159. package/src/Loading/LoadingGraphic/LoadingGraphic.module.scss +12 -10
  160. package/src/Loading/LoadingHeading/LoadingHeading.module.scss +44 -42
  161. package/src/Loading/LoadingInput/LoadingInput.module.scss +11 -9
  162. package/src/Loading/LoadingParagraph/LoadingParagraph.module.scss +47 -45
  163. package/src/Loading/LoadingSpinner/LoadingSpinner.module.css +22 -20
  164. package/src/Loading/_mixins.scss +11 -9
  165. package/src/Menu/subcomponents/MenuDropdown/MenuDropdown.module.scss +18 -16
  166. package/src/Menu/subcomponents/MenuHeading/MenuHeading.module.scss +8 -6
  167. package/src/Menu/subcomponents/MenuItem/MenuItem.module.scss +74 -72
  168. package/src/Menu/subcomponents/MenuList/MenuList.module.scss +14 -12
  169. package/src/Menu/subcomponents/StatelessMenu/StatelessMenu.module.scss +4 -2
  170. package/src/Modal/ConfirmationModal/ConfirmationModal.module.scss +126 -124
  171. package/src/Modal/ContextModal/ContextModal.module.scss +72 -70
  172. package/src/Modal/GenericModal/GenericModal.module.scss +94 -90
  173. package/src/Modal/GenericModal/GenericModal.tsx +18 -1
  174. package/src/Modal/GenericModal/_docs/GenericModal.spec.stories.tsx +6 -1
  175. package/src/Modal/GenericModal/subcomponents/ModalAccessibleDescription/ModalAccessibleDescription.module.scss +4 -2
  176. package/src/Modal/GenericModal/subcomponents/ModalAccessibleLabel/ModalAccessibleLabel.module.scss +25 -23
  177. package/src/Modal/GenericModal/subcomponents/ModalBody/ModalBody.module.scss +5 -3
  178. package/src/Modal/GenericModal/subcomponents/ModalFooter/ModalFooter.module.scss +55 -53
  179. package/src/Modal/GenericModal/subcomponents/ModalHeader/ModalHeader.module.scss +17 -15
  180. package/src/Modal/InputEditModal/InputEditModal.module.scss +32 -30
  181. package/src/MultiSelect/MultiSelect.module.scss +7 -5
  182. package/src/MultiSelect/subcomponents/Checkbox/Checkbox.module.scss +59 -57
  183. package/src/MultiSelect/subcomponents/MultiSelectOptionField/MultiSelectOptionField.module.scss +55 -53
  184. package/src/MultiSelect/subcomponents/MultiSelectOptions/MultiSelectOptions.module.scss +8 -6
  185. package/src/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.module.scss +66 -64
  186. package/src/MultiSelect/subcomponents/Popover/Popover.module.scss +15 -13
  187. package/src/Notification/ToastNotification/ToastNotificationsList/ToastNotificationsList.module.scss +21 -19
  188. package/src/Notification/subcomponents/GenericNotification/GenericNotification.module.scss +112 -110
  189. package/src/Notification/subcomponents/GenericNotification/_mixins.scss +278 -276
  190. package/src/Notification/subcomponents/NotificationIcon/NotificationIcon.module.css +4 -2
  191. package/src/Pagination/Pagination.module.scss +39 -37
  192. package/src/Pagination/subcomponents/DirectionalLink/DirectionalLink.module.scss +11 -9
  193. package/src/Pagination/subcomponents/PaginationLink/PaginationLink.module.scss +53 -51
  194. package/src/Pagination/subcomponents/TruncateIndicator/TruncateIndicator.module.css +10 -8
  195. package/src/Popover/Popover.module.scss +187 -185
  196. package/src/ProgressBar/ProgressBar.module.scss +75 -73
  197. package/src/ProgressBar/subcomponents/Label/Label.module.scss +6 -4
  198. package/src/Radio/Radio/Radio.module.scss +60 -58
  199. package/src/Radio/RadioField/RadioField.module.scss +33 -31
  200. package/src/Radio/RadioGroup/RadioGroup.module.scss +18 -16
  201. package/src/RichTextEditor/EditableRichTextContent/EditableRichTextContent.module.scss +32 -30
  202. package/src/RichTextEditor/RichTextContent/RichTextContent.module.scss +4 -2
  203. package/src/RichTextEditor/RichTextEditor/RichTextEditor.module.scss +76 -74
  204. package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/ToggleIconButton.module.scss +92 -90
  205. package/src/RichTextEditor/RichTextEditor/subcomponents/Toolbar/Toolbar.module.scss +5 -3
  206. package/src/RichTextEditor/RichTextEditor/subcomponents/ToolbarSection/ToolbarSection.module.scss +12 -10
  207. package/src/RichTextEditor/_mixins.scss +1 -1
  208. package/src/RichTextEditor/utils/plugins/LinkManager/components/LinkModal/LinkModal.module.scss +5 -3
  209. package/src/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.module.scss +22 -20
  210. package/src/SearchField/SearchField.module.scss +5 -3
  211. package/src/Select/Select.module.scss +17 -0
  212. package/src/Skirt/Skirt.module.scss +24 -22
  213. package/src/Skirt/Skirt.tsx +4 -0
  214. package/src/Skirt/_docs/Skirt.mdx +3 -1
  215. package/src/Skirt/_docs/Skirt.stories.tsx +1 -1
  216. package/src/Skirt/subcomponents/SkirtCard/SkirtCard.module.scss +13 -11
  217. package/src/Skirt/subcomponents/SkirtCard/SkirtCard.tsx +4 -0
  218. package/src/Slider/Slider.module.scss +34 -32
  219. package/src/SplitButton/SplitButton.module.scss +5 -3
  220. package/src/SplitButton/SplitButton.tsx +2 -0
  221. package/src/SplitButton/_docs/SplitButton.mdx +3 -1
  222. package/src/SplitButton/_docs/SplitButton.stickersheet.stories.tsx +1 -1
  223. package/src/SplitButton/_docs/SplitButton.stories.tsx +1 -1
  224. package/src/SplitButton/subcomponents/ActionButton/ActionButton.module.scss +7 -5
  225. package/src/SplitButton/subcomponents/BaseButton/BaseButton.module.scss +65 -63
  226. package/src/SplitButton/subcomponents/DropdownButton/DropdownButton.module.scss +19 -17
  227. package/src/Table/Table.module.scss +251 -249
  228. package/src/Tabs/subcomponents/Tab.module.scss +81 -79
  229. package/src/Tabs/subcomponents/TabList.module.scss +8 -6
  230. package/src/Tabs/subcomponents/TabPanel.module.scss +10 -8
  231. package/src/Tag/Tag.module.scss +166 -164
  232. package/src/Tag/subcomponents/LiveIcon/LiveIcon.module.css +42 -40
  233. package/src/Text/Text.module.scss +57 -55
  234. package/src/TextArea/TextArea.module.css +102 -99
  235. package/src/TextAreaField/TextAreaField.module.scss +14 -12
  236. package/src/TextField/TextField.module.scss +16 -14
  237. package/src/Tile/MultiActionTile/MultiActionTile.module.scss +7 -5
  238. package/src/Tile/TileGrid/TileGrid.module.scss +18 -16
  239. package/src/Tile/subcomponents/GenericTile/GenericTile.module.scss +123 -121
  240. package/src/TimeField/TimeField.module.scss +57 -55
  241. package/src/TimeField/subcomponents/TimeSegment/TimeSegment.module.scss +37 -35
  242. package/src/TitleBlockZen/TitleBlockZen.module.scss +507 -505
  243. package/src/TitleBlockZen/TitleBlockZen.tsx +3 -0
  244. package/src/TitleBlockZen/_docs/TitleBlockZen.mdx +3 -2
  245. package/src/TitleBlockZen/subcomponents/MainActions.module.scss +11 -9
  246. package/src/TitleBlockZen/subcomponents/MobileActions.module.scss +146 -144
  247. package/src/TitleBlockZen/subcomponents/NavigationTabs.module.scss +105 -103
  248. package/src/TitleBlockZen/subcomponents/TitleBlockMenuItem.module.scss +74 -72
  249. package/src/TitleBlockZen/subcomponents/Toolbar.module.scss +28 -26
  250. package/src/ToggleSwitch/ToggleSwitch/ToggleSwitch.module.scss +105 -103
  251. package/src/ToggleSwitch/ToggleSwitchField/ToggleSwitchField.module.scss +11 -9
  252. package/src/Tooltip/Tooltip.module.scss +139 -137
  253. package/src/VisuallyHidden/VisuallyHidden.module.scss +10 -8
  254. package/src/Well/Well.module.css +104 -102
  255. package/src/Workflow/subcomponents/Footer/components/FooterActions/FooterActions.module.css +14 -12
  256. package/src/Workflow/subcomponents/Footer/components/ProgressStepper/ProgressStepper.module.css +101 -99
  257. package/src/Workflow/subcomponents/Footer/components/Root/FooterRoot.module.css +19 -17
  258. package/src/Workflow/subcomponents/Header/components/Actions/Actions.module.css +14 -12
  259. package/src/Workflow/subcomponents/Header/components/Branding/Branding.module.css +12 -10
  260. package/src/Workflow/subcomponents/Header/components/Root/Root.module.css +19 -17
  261. package/src/Workflow/subcomponents/Header/components/Titles/Titles.module.css +19 -17
  262. package/src/Workflow/subcomponents/Main/Main.module.css +5 -3
  263. package/src/Workflow/subcomponents/Wrapper/Wrapper.module.css +8 -6
  264. package/src/__alpha__/SingleSelect/SingleSelect.module.css +9 -0
  265. package/src/__alpha__/SingleSelect/SingleSelect.spec.tsx +26 -0
  266. package/src/__alpha__/SingleSelect/SingleSelect.tsx +27 -0
  267. package/src/__alpha__/SingleSelect/_docs/SingleSelect.mdx +27 -0
  268. package/src/__alpha__/SingleSelect/_docs/SingleSelect.stickersheet.stories.tsx +83 -0
  269. package/src/__alpha__/SingleSelect/_docs/SingleSelect.stories.tsx +23 -0
  270. package/src/__alpha__/SingleSelect/_docs/mockData.ts +92 -0
  271. package/src/__alpha__/SingleSelect/index.ts +1 -0
  272. package/src/__alpha__/SingleSelect/subcomponents/List/List.module.css +7 -0
  273. package/src/__alpha__/SingleSelect/subcomponents/List/List.tsx +17 -0
  274. package/src/__alpha__/SingleSelect/subcomponents/List/index.ts +1 -0
  275. package/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.module.css +9 -0
  276. package/src/__alpha__/SingleSelect/subcomponents/ListItem/ListItem.tsx +17 -0
  277. package/src/__alpha__/SingleSelect/subcomponents/ListItem/index.ts +1 -0
  278. package/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.module.css +9 -0
  279. package/src/__alpha__/SingleSelect/subcomponents/ListSection/ListSection.tsx +23 -0
  280. package/src/__alpha__/SingleSelect/subcomponents/ListSection/index.ts +1 -0
  281. package/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.module.css +18 -0
  282. package/src/__alpha__/SingleSelect/subcomponents/Trigger/Trigger.tsx +13 -0
  283. package/src/__alpha__/SingleSelect/subcomponents/Trigger/index.ts +1 -0
  284. package/src/__alpha__/SingleSelect/subcomponents/index.ts +4 -0
  285. package/src/__alpha__/index.ts +1 -0
  286. package/src/__next__/Button/Button.module.css +220 -218
  287. package/src/__next__/Button/_docs/Button--migration-guide.mdx +12 -5
  288. package/src/__next__/Button/subcomponents/ButtonContent/ButtonContent.module.css +17 -15
  289. package/src/__next__/Button/subcomponents/PendingContent/PendingContent.module.css +15 -13
  290. package/src/__next__/Icon/Icon.module.css +40 -38
  291. package/src/__next__/Icon/_docs/Icon--migration-guide.mdx +11 -3
  292. package/src/__next__/Icon/_docs/Icon.docs.module.css +13 -11
  293. package/src/__next__/Menu/Menu.module.css +30 -28
  294. package/src/__next__/Menu/MenuItem.module.css +41 -39
  295. package/src/__next__/Menu/_docs/Menu--migration-guide.mdx +91 -0
  296. package/src/__next__/Select/Select.module.scss +8 -6
  297. package/src/__next__/Select/Select.tsx +9 -3
  298. package/src/__next__/Select/subcomponents/ListBox/ListBox.module.scss +12 -10
  299. package/src/__next__/Select/subcomponents/ListBoxSection/ListBoxSection.module.scss +15 -13
  300. package/src/__next__/Select/subcomponents/Option/Option.module.scss +53 -51
  301. package/src/__next__/Select/subcomponents/Overlay/Overlay.tsx +4 -2
  302. package/src/__next__/Select/subcomponents/SectionDivider/SectionDivider.module.scss +8 -6
  303. package/src/__next__/Select/subcomponents/SelectPopoverContents/SelectPopoverContents.module.scss +4 -2
  304. package/src/__next__/Select/subcomponents/SelectPopoverContents/SelectPopoverContents.tsx +3 -1
  305. package/src/__next__/Select/subcomponents/SelectToggle/SelectToggle.module.scss +105 -103
  306. package/src/__next__/Tabs/_docs/Tabs--migration-guide.mdx +10 -2
  307. package/src/__next__/Tabs/_docs/Tabs.spec.stories.tsx +48 -3
  308. package/src/__next__/Tabs/_docs/Tabs.stories.tsx +13 -2
  309. package/src/__next__/Tabs/subcomponents/Tab/Tab.module.css +81 -79
  310. package/src/__next__/Tabs/subcomponents/TabList/TabList.module.css +58 -54
  311. package/src/__next__/Tabs/subcomponents/TabList/TabList.tsx +3 -3
  312. package/src/__next__/Tabs/subcomponents/TabPanel/TabPanel.module.css +10 -8
  313. package/src/__next__/Tag/RemovableTag/RemovableTag.module.scss +6 -4
  314. package/src/__next__/Tag/RemovableTag/subcomponents/RemoveButton.module.scss +26 -24
  315. package/src/__next__/Tag/Tag/Tag.module.scss +56 -54
  316. package/src/__next__/Tooltip/OverlayArrow.module.scss +40 -38
  317. package/src/__next__/Tooltip/Tooltip.module.scss +39 -37
  318. package/src/__next__/Tooltip/_docs/Tooltip--migration-guide.mdx +62 -0
  319. package/src/__next__/Tooltip/_docs/Tooltip.spec.stories.tsx +12 -6
  320. package/src/utils/AppearanceAnim.module.scss +14 -12
@@ -1,12 +1,20 @@
1
- import { Canvas, Meta, Controls, Story } from '@storybook/blocks'
2
- import { ResourceLinks, KAIOInstallation, LinkTo } from '~storybook/components'
1
+ import { Meta, Story } from '@storybook/blocks'
2
+ import { LinkTo } from '~storybook/components'
3
3
  import * as IconStories from './Icon.docs.stories'
4
4
 
5
5
  <Meta title="Components/Icon/Migration guide" />
6
6
 
7
7
  # Icon migration guide
8
8
 
9
- This is a short guide to assist in migration from the old to new Icon component.
9
+ ## Audience
10
+
11
+ This guide is relevant for Kaizen All-In-One (KAIO) v1 consumers.
12
+
13
+ ## Purpose
14
+
15
+ This guide provides instructions for migrating icon usage from the `deprecated` (`@kaizen/components`) `*Icon` components to the `next` (`@kaizen/components/next`) `Icon` component.
16
+
17
+ This migration is a prerequisite for [migrating to KAIO v2](/docs/releases-upcoming-major-releases--docs).
10
18
 
11
19
  ## Codemod
12
20
 
@@ -1,15 +1,17 @@
1
- .interactiveIcon {
2
- position: relative;
3
- background: none;
4
- padding: 0;
5
- color: var(--color-blue-500);
1
+ @layer kz-components {
2
+ .interactiveIcon {
3
+ position: relative;
4
+ background: none;
5
+ padding: 0;
6
+ color: var(--color-blue-500);
6
7
 
7
- &:hover {
8
- color: var(--color-blue-400);
8
+ &:hover {
9
+ color: var(--color-blue-400);
10
+ }
9
11
  }
10
- }
11
12
 
12
- .interactiveIcon:focus {
13
- outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
14
- var(--color-blue-500);
13
+ .interactiveIcon:focus {
14
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
15
+ var(--color-blue-500);
16
+ }
15
17
  }
@@ -1,32 +1,34 @@
1
- .menu {
2
- background-color: var(--color-white);
3
- color: var(--color-purple-800);
4
- width: 248px;
5
- max-height: 22rem;
6
- overflow: auto;
7
- padding-block: var(--spacing-6);
8
- outline: none;
9
- border-radius: var(--border-solid-border-radius);
10
- box-shadow: var(--shadow-large-box-shadow);
11
- }
1
+ @layer kz-components {
2
+ .menu {
3
+ background-color: var(--color-white);
4
+ color: var(--color-purple-800);
5
+ width: 248px;
6
+ max-height: 22rem;
7
+ overflow: auto;
8
+ padding-block: var(--spacing-6);
9
+ outline: none;
10
+ border-radius: var(--border-solid-border-radius);
11
+ box-shadow: var(--shadow-large-box-shadow);
12
+ }
12
13
 
13
- .menu :global(.react-aria-Header) {
14
- font-family: var(--typography-heading-6-font-family);
15
- font-size: var(--typography-heading-6-font-size);
16
- letter-spacing: var(--typography-heading-6-letter-spacing);
17
- font-weight: var(--typography-heading-6-font-weight);
18
- line-height: var(--typography-heading-6-line-height);
19
- padding: var(--spacing-6) 10px;
20
- margin-inline: var(--spacing-6);
21
- }
14
+ .menu :global(.react-aria-Header) {
15
+ font-family: var(--typography-heading-6-font-family);
16
+ font-size: var(--typography-heading-6-font-size);
17
+ letter-spacing: var(--typography-heading-6-letter-spacing);
18
+ font-weight: var(--typography-heading-6-font-weight);
19
+ line-height: var(--typography-heading-6-line-height);
20
+ padding: var(--spacing-6) 10px;
21
+ margin-inline: var(--spacing-6);
22
+ }
22
23
 
23
- .menu section:not(:last-of-type) {
24
- &::after {
25
- width: 100%;
26
- height: 1px;
27
- background-color: var(--border-solid-border-color);
28
- content: '';
29
- display: block;
30
- margin-block: var(--spacing-6);
24
+ .menu section:not(:last-of-type) {
25
+ &::after {
26
+ width: 100%;
27
+ height: 1px;
28
+ background-color: var(--border-solid-border-color);
29
+ content: '';
30
+ display: block;
31
+ margin-block: var(--spacing-6);
32
+ }
31
33
  }
32
34
  }
@@ -1,46 +1,48 @@
1
- .item {
2
- display: block;
3
- font-family: var(--typography-paragraph-body-font-family);
4
- font-size: var(--typography-paragraph-body-font-size);
5
- letter-spacing: var(--typography-paragraph-body-letter-spacing);
6
- font-weight: var(--typography-paragraph-body-font-weight);
7
- line-height: var(--typography-paragraph-body-line-height);
8
- color: var(--color-purple-800);
9
- padding: var(--spacing-6) var(--spacing-8);
10
- border: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style) transparent;
11
- border-radius: 4px;
12
- margin-inline: var(--spacing-6);
13
- text-decoration: none;
14
- cursor: pointer;
15
- }
1
+ @layer kz-components {
2
+ .item {
3
+ display: block;
4
+ font-family: var(--typography-paragraph-body-font-family);
5
+ font-size: var(--typography-paragraph-body-font-size);
6
+ letter-spacing: var(--typography-paragraph-body-letter-spacing);
7
+ font-weight: var(--typography-paragraph-body-font-weight);
8
+ line-height: var(--typography-paragraph-body-line-height);
9
+ color: var(--color-purple-800);
10
+ padding: var(--spacing-6) var(--spacing-8);
11
+ border: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style) transparent;
12
+ border-radius: 4px;
13
+ margin-inline: var(--spacing-6);
14
+ text-decoration: none;
15
+ cursor: pointer;
16
+ }
16
17
 
17
- .flexWrapper {
18
- display: flex;
19
- gap: 0 var(--spacing-8);
20
- align-items: center;
21
- }
18
+ .flexWrapper {
19
+ display: flex;
20
+ gap: 0 var(--spacing-8);
21
+ align-items: center;
22
+ }
22
23
 
23
- .iconWrapper {
24
- flex-shrink: 0;
25
- display: flex;
26
- align-items: center;
27
- }
24
+ .iconWrapper {
25
+ flex-shrink: 0;
26
+ display: flex;
27
+ align-items: center;
28
+ }
28
29
 
29
- .item:focus {
30
- outline: none;
31
- }
30
+ .item:focus {
31
+ outline: none;
32
+ }
32
33
 
33
- .item[data-hovered],
34
- .item[data-focus-visible] {
35
- background-color: var(--color-blue-100);
36
- color: var(--color-blue-500);
37
- }
34
+ .item[data-hovered],
35
+ .item[data-focus-visible] {
36
+ background-color: var(--color-blue-100);
37
+ color: var(--color-blue-500);
38
+ }
38
39
 
39
- .item[data-focus-visible] {
40
- outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
41
- var(--color-blue-500);
42
- }
40
+ .item[data-focus-visible] {
41
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
42
+ var(--color-blue-500);
43
+ }
43
44
 
44
- .item[data-disabled] {
45
- opacity: 0.3;
45
+ .item[data-disabled] {
46
+ opacity: 0.3;
47
+ }
46
48
  }
@@ -0,0 +1,91 @@
1
+ import { Meta } from '@storybook/blocks'
2
+
3
+ <Meta title="Components/Menu/Migration guide" />
4
+
5
+ # Menu migration guide
6
+
7
+ ## Audience
8
+
9
+ This guide is relevant for Kaizen All-In-One (KAIO) v1 consumers.
10
+
11
+ ## Purpose
12
+
13
+ This guide provides instructions for migrating menu usage from the `deprecated` (`@kaizen/components`) `Menu` component to the `next` (`@kaizen/components/next`) `Menu` component.
14
+
15
+ This migration is a prerequisite for [migrating to KAIO v2](/docs/releases-upcoming-major-releases--docs).
16
+
17
+ ## Key API changes
18
+
19
+ `next/Menu` separates its functionality into the following components:
20
+
21
+ - `MenuTrigger` wraps the `MenuPopover` component and its trigger element.
22
+ - `MenuPopover` contains a `Menu` component, and controls the popover placement and open and close interactions.
23
+ - `Menu` contains one or more `MenuItem` and `MenuSection` components.
24
+ - `MenuSection` enables menu items to be grouped into sections.
25
+ - `MenuHeader` provides a section's header content.
26
+ - `MenuItem` provides a menu item's content, and handles item selection.
27
+
28
+ Other notable changes:
29
+
30
+ - `Menu.align` prop becomes MenuPopover.placement, and values are mapped as follows:
31
+ - `left` becomes `start`
32
+ - `right` becomes `end`
33
+ - `Menu.autoHide` prop is retired
34
+ - `Menu.button` prop becomes `MenuTrigger.children`
35
+ - The trigger element must be a `next/Button`
36
+ - `Menu.dropdownWidth` prop is retired
37
+ - `Menu.portalSelector` prop is retired
38
+ - Where needed, [PortalProvider](https://react-spectrum.adobe.com/react-aria/PortalProvider.html) can be used to control portalling behaviour
39
+ - `MenuItem.destructive` prop is retired
40
+ - This change aligns with a broader move towards more judicious use of colour
41
+ - `MenuItem.disabled` prop becomes `MenuItem.isDisabled`
42
+ - `MenuItem.label` prop becomes `MenuItem.children`
43
+ - `MenuItem.onClick` prop becomes `MenuItem.onAction`
44
+ - React Aria's `Menu` does not expose native click events, e.g. `MenuItem.onAction` cannot call `e.preventDefault()`
45
+ - See React Aria [Menu documentation](https://react-spectrum.adobe.com/react-aria/Menu.html) for more details on working with `Menu` and `MenuItem` events
46
+ - `MenuList.heading` prop becomes `MenuHeader` in a `MenuSection`
47
+
48
+ ## Migration example
49
+
50
+ ### Before
51
+
52
+ ```tsx
53
+ <Menu button={<Button>Trigger</Button>}>
54
+ <MenuList>
55
+ <MenuList heading={<MenuHeading>Section One</MenuHeading>}>
56
+ <MenuItem onClick={() => alert('1')} label="Item 1" />
57
+ <MenuItem onClick={() => alert('2')} label="Item 2" />
58
+ </MenuList>
59
+ <MenuList heading={<MenuHeading>Section Two</MenuHeading>}>
60
+ <MenuItem onClick={() => alert('3')} label="Item 3" />
61
+ <MenuItem onClick={() => alert('4')} label="Item 4" />
62
+ </MenuList>
63
+ </MenuList>
64
+ </Menu>
65
+ ```
66
+
67
+ ### After
68
+
69
+ ```tsx
70
+ <MenuTrigger>
71
+ <Button>Trigger</Button>
72
+ <MenuPopover>
73
+ <Menu>
74
+ <MenuSection>
75
+ <MenuHeader>Section One</MenuHeader>
76
+ <MenuItem onAction={() => alert('1')}>Item 1</MenuItem>
77
+ <MenuItem onAction={() => alert('2')}>Item 2</MenuItem>
78
+ </MenuSection>
79
+ <MenuSection>
80
+ <MenuHeader>Section Two</MenuHeader>
81
+ <MenuItem onAction={() => alert('3')}>Item 3</MenuItem>
82
+ <MenuItem onAction={() => alert('4')}>Item 4</MenuItem>
83
+ </MenuSection>
84
+ </Menu>
85
+ </MenuPopover>
86
+ </MenuTrigger>
87
+ ```
88
+
89
+ ## More information
90
+
91
+ More information about `next/Menu` can be found at [API Specification](/docs/components-menu-menu-next-api-specification--docs) and [Usage Guidelines](/docs/components-menu-menu-next-usage-guidelines--docs).
@@ -3,11 +3,13 @@
3
3
  @import '~@kaizen/design-tokens/sass/shadow';
4
4
  @import '~@kaizen/design-tokens/sass/spacing';
5
5
 
6
- .container {
7
- position: relative;
8
- width: 100%;
9
- }
6
+ @layer kz-components {
7
+ .container {
8
+ position: relative;
9
+ width: 100%;
10
+ }
10
11
 
11
- .notFullWidth {
12
- width: 180px;
12
+ .notFullWidth {
13
+ width: 180px;
14
+ }
13
15
  }
@@ -25,7 +25,7 @@ import { getDisabledKeysFromItems } from './utils/getDisabledKeysFromItems'
25
25
  import { transformSelectItemToCollectionElement } from './utils/transformSelectItemToCollectionElement'
26
26
  import styles from './Select.module.scss'
27
27
 
28
- type OmittedAriaSelectProps = 'children' | 'items'
28
+ type OmittedAriaSelectProps = 'children' | 'items' | 'onSelectionChange'
29
29
 
30
30
  export type SelectProps<Option extends SelectOption = SelectOption> = {
31
31
  /**
@@ -70,6 +70,10 @@ export type SelectProps<Option extends SelectOption = SelectOption> = {
70
70
  * Use the `labelText` prop to provide a concise name, and the `description` prop for any help text.
71
71
  */
72
72
  placeholder?: string
73
+ /**
74
+ * Handler that is called when the selection changes.
75
+ */
76
+ onSelectionChange?: (key: Key) => void
73
77
  } & OverrideClassName<Omit<AriaSelectProps<Option>, OmittedAriaSelectProps>>
74
78
 
75
79
  /**
@@ -93,8 +97,8 @@ export const Select = <Option extends SelectOption = SelectOption>({
93
97
  description,
94
98
  placeholder = '',
95
99
  isDisabled,
96
- portalContainerId,
97
100
  onSelectionChange,
101
+ portalContainerId,
98
102
  ...restProps
99
103
  }: SelectProps<Option>): JSX.Element => {
100
104
  const { refs } = useFloating<HTMLButtonElement>()
@@ -182,7 +186,9 @@ export const Select = <Option extends SelectOption = SelectOption>({
182
186
  {state.isOpen && (
183
187
  <Popover id={popoverId} portalContainer={portalContainer} refs={refs}>
184
188
  <SelectProvider<Option> state={state}>
185
- <SelectPopoverContents menuProps={menuProps}>{children}</SelectPopoverContents>
189
+ <SelectPopoverContents menuProps={menuProps} popoverRef={refs.floating}>
190
+ {children}
191
+ </SelectPopoverContents>
186
192
  </SelectProvider>
187
193
  </Popover>
188
194
  )}
@@ -1,12 +1,14 @@
1
- .listBox {
2
- list-style: none;
3
- margin-top: 0;
4
- margin-bottom: 0;
5
- padding: 0;
6
- display: grid;
7
- max-height: 22rem;
8
- }
1
+ @layer kz-components {
2
+ .listBox {
3
+ list-style: none;
4
+ margin-top: 0;
5
+ margin-bottom: 0;
6
+ padding: 0;
7
+ display: grid;
8
+ max-height: 22rem;
9
+ }
9
10
 
10
- .listBox:focus-visible {
11
- outline: none;
11
+ .listBox:focus-visible {
12
+ outline: none;
13
+ }
12
14
  }
@@ -1,20 +1,22 @@
1
1
  @import '~@kaizen/design-tokens/sass/spacing';
2
2
 
3
- .sectionWrapper {
4
- display: flex;
5
- flex-direction: column;
3
+ @layer kz-components {
4
+ .sectionWrapper {
5
+ display: flex;
6
+ flex-direction: column;
6
7
 
7
- &:not(:first-child) {
8
- margin-top: $spacing-8;
8
+ &:not(:first-child) {
9
+ margin-top: $spacing-8;
10
+ }
9
11
  }
10
- }
11
12
 
12
- .sectionHeading {
13
- padding-inline-start: $spacing-4;
14
- }
13
+ .sectionHeading {
14
+ padding-inline-start: $spacing-4;
15
+ }
15
16
 
16
- .sectionList {
17
- display: flex;
18
- flex-direction: column;
19
- padding: $spacing-xs 0 0 0;
17
+ .sectionList {
18
+ display: flex;
19
+ flex-direction: column;
20
+ padding: $spacing-xs 0 0 0;
21
+ }
20
22
  }
@@ -3,71 +3,73 @@
3
3
  @import '~@kaizen/design-tokens/sass/typography';
4
4
  @import '~@kaizen/design-tokens/sass/spacing';
5
5
 
6
- $iconAndBadgeHeight: $spacing-md;
6
+ @layer kz-components {
7
+ $iconAndBadgeHeight: $spacing-md;
7
8
 
8
- .icon {
9
- line-height: 1;
10
- height: calc(#{$iconAndBadgeHeight} - #{$border-solid-border-width} * 2);
11
- width: calc(#{$iconAndBadgeHeight} - #{$border-solid-border-width} * 2);
12
- display: inline-flex;
13
- justify-content: center;
14
- align-items: center;
15
- }
9
+ .icon {
10
+ line-height: 1;
11
+ height: calc(#{$iconAndBadgeHeight} - #{$border-solid-border-width} * 2);
12
+ width: calc(#{$iconAndBadgeHeight} - #{$border-solid-border-width} * 2);
13
+ display: inline-flex;
14
+ justify-content: center;
15
+ align-items: center;
16
+ }
16
17
 
17
- .option {
18
- height: fit-content;
19
- align-items: center;
20
- display: inline-grid;
21
- grid-template-columns: auto $spacing-md;
22
- gap: $spacing-xs;
23
- padding-block: $spacing-8;
24
- padding-inline: $spacing-12 $spacing-6;
25
- position: relative;
26
- font-family: $typography-paragraph-body-font-family;
27
- font-size: $typography-paragraph-body-font-size;
28
- letter-spacing: $typography-paragraph-body-letter-spacing;
29
- font-weight: $typography-paragraph-body-font-weight;
30
- line-height: $typography-paragraph-body-line-height;
31
- border: $border-solid-border-width $border-solid-border-style;
32
- border-color: $border-borderless-border-color;
33
- border-radius: 4px;
34
- cursor: default;
18
+ .option {
19
+ height: fit-content;
20
+ align-items: center;
21
+ display: inline-grid;
22
+ grid-template-columns: auto $spacing-md;
23
+ gap: $spacing-xs;
24
+ padding-block: $spacing-8;
25
+ padding-inline: $spacing-12 $spacing-6;
26
+ position: relative;
27
+ font-family: $typography-paragraph-body-font-family;
28
+ font-size: $typography-paragraph-body-font-size;
29
+ letter-spacing: $typography-paragraph-body-letter-spacing;
30
+ font-weight: $typography-paragraph-body-font-weight;
31
+ line-height: $typography-paragraph-body-line-height;
32
+ border: $border-solid-border-width $border-solid-border-style;
33
+ border-color: $border-borderless-border-color;
34
+ border-radius: 4px;
35
+ cursor: default;
35
36
 
36
- &:focus {
37
- outline: none;
38
- }
37
+ &:focus {
38
+ outline: none;
39
+ }
39
40
 
40
- &.isFocusVisible {
41
- background-color: $color-blue-100;
42
- color: $color-blue-500;
43
- outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
44
- var(--color-blue-500);
41
+ &.isFocusVisible {
42
+ background-color: $color-blue-100;
43
+ color: $color-blue-500;
44
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
45
+ var(--color-blue-500);
46
+
47
+ .icon {
48
+ color: $color-blue-500;
49
+ }
50
+ }
45
51
 
46
- .icon {
52
+ &:hover:not(.disabled),
53
+ &:active:not(.disabled) {
54
+ background-color: $color-blue-100;
47
55
  color: $color-blue-500;
56
+
57
+ .icon {
58
+ color: $color-blue-500;
59
+ }
48
60
  }
49
61
  }
50
62
 
51
- &:hover:not(.disabled),
52
- &:active:not(.disabled) {
53
- background-color: $color-blue-100;
63
+ .isSelected {
64
+ font-weight: $typography-paragraph-bold-font-weight;
54
65
  color: $color-blue-500;
55
66
 
56
- .icon {
67
+ &.icon {
57
68
  color: $color-blue-500;
58
69
  }
59
70
  }
60
- }
61
-
62
- .isSelected {
63
- font-weight: $typography-paragraph-bold-font-weight;
64
- color: $color-blue-500;
65
71
 
66
- &.icon {
67
- color: $color-blue-500;
72
+ .disabled {
73
+ color: $color-gray-500;
68
74
  }
69
75
  }
70
-
71
- .disabled {
72
- color: $color-gray-500;
73
- }
@@ -7,11 +7,13 @@ import { type SelectOption } from '../../types'
7
7
 
8
8
  export type OverlayProps = OverrideClassName<HTMLAttributes<HTMLDivElement>> & {
9
9
  children: React.ReactNode
10
+ popoverRef?: React.RefObject<Element | null>
10
11
  }
11
12
 
12
13
  export const Overlay = <Option extends SelectOption>({
13
14
  children,
14
15
  classNameOverride,
16
+ popoverRef,
15
17
  ...restProps
16
18
  }: OverlayProps): JSX.Element => {
17
19
  const { state } = useSelectContext<Option>()
@@ -21,7 +23,7 @@ export const Overlay = <Option extends SelectOption>({
21
23
  const overlayRef = React.useRef<HTMLDivElement>(null)
22
24
  const { overlayProps } = useOverlay(
23
25
  { isDismissable: true, isOpen: state.isOpen, onClose: state.close },
24
- overlayRef,
26
+ popoverRef ?? overlayRef,
25
27
  )
26
28
 
27
29
  // Wrap in <FocusScope> so that focus is restored back to the trigger when the menu is closed
@@ -29,7 +31,7 @@ export const Overlay = <Option extends SelectOption>({
29
31
  // In addition, add hidden <DismissButton> components at the start and end of the list
30
32
  // to allow screen reader users to dismiss the popup easily.
31
33
  return (
32
- <div ref={overlayRef} className={classNameOverride} {...overlayProps} {...restProps}>
34
+ <div className={classNameOverride} {...overlayProps} {...restProps}>
33
35
  {/* eslint-disable-next-line jsx-a11y/no-autofocus */}
34
36
  <FocusScope autoFocus={false} restoreFocus>
35
37
  <DismissButton onDismiss={state.close} />
@@ -1,11 +1,13 @@
1
1
  @import '~@kaizen/design-tokens/sass/spacing';
2
2
 
3
- .divider {
4
- margin: $spacing-8 0;
3
+ @layer kz-components {
4
+ .divider {
5
+ margin: $spacing-8 0;
5
6
 
6
- &:first-child,
7
- &:last-child,
8
- & + .divider {
9
- display: none;
7
+ &:first-child,
8
+ &:last-child,
9
+ & + .divider {
10
+ display: none;
11
+ }
10
12
  }
11
13
  }
@@ -1,5 +1,7 @@
1
1
  @import '~@kaizen/design-tokens/sass/spacing';
2
2
 
3
- .selectPopoverContents {
4
- padding: $spacing-12;
3
+ @layer kz-components {
4
+ .selectPopoverContents {
5
+ padding: $spacing-12;
6
+ }
5
7
  }
@@ -10,11 +10,13 @@ import styles from './SelectPopoverContents.module.scss'
10
10
  export type SelectPopoverContentsProps<Option extends SelectOption> = {
11
11
  children?: (args: { items: SelectItemNode<Option>[] }) => React.ReactNode
12
12
  menuProps: AriaListBoxOptions<SelectItem<Option>>
13
+ popoverRef?: React.RefObject<Element | null>
13
14
  }
14
15
 
15
16
  export const SelectPopoverContents = <Option extends SelectOption>({
16
17
  children,
17
18
  menuProps,
19
+ popoverRef,
18
20
  }: SelectPopoverContentsProps<Option>): JSX.Element => {
19
21
  const { state } = useSelectContext<Option>()
20
22
 
@@ -26,7 +28,7 @@ export const SelectPopoverContents = <Option extends SelectOption>({
26
28
 
27
29
  return (
28
30
  <div className={styles.selectPopoverContents}>
29
- <Overlay<Option>>
31
+ <Overlay<Option> popoverRef={popoverRef}>
30
32
  <ListBox<Option> menuProps={menuProps}>
31
33
  {children ? children({ items: itemNodes }) : <ListItems<Option> items={itemNodes} />}
32
34
  </ListBox>