@kaizen/components 1.78.1 → 1.79.1

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 (208) hide show
  1. package/dist/cjs/src/__next__/Select/Select.cjs +6 -2
  2. package/dist/esm/src/__next__/Select/Select.mjs +6 -2
  3. package/dist/styles.css +10589 -10782
  4. package/dist/types/__next__/Select/Select.d.ts +6 -2
  5. package/package.json +1 -1
  6. package/src/Avatar/Avatar.module.css +137 -135
  7. package/src/AvatarGroup/AvatarGroup.module.css +58 -56
  8. package/src/Badge/Badge.module.css +98 -96
  9. package/src/Brand/Brand.module.css +5 -3
  10. package/src/BrandMoment/BrandMoment.module.css +147 -145
  11. package/src/BrandMoment/_docs/ExampleHeaders.module.scss +68 -66
  12. package/src/Button/Button/Button.module.scss +135 -133
  13. package/src/Button/GenericButton/GenericButton.module.scss +81 -79
  14. package/src/Button/IconButton/IconButton.module.scss +20 -18
  15. package/src/ButtonGroup/ButtonGroup.module.css +38 -36
  16. package/src/ButtonGroup/ButtonGroup.module.scss +41 -39
  17. package/src/Calendar/CalendarPopover/CalendarPopover.module.scss +19 -17
  18. package/src/Calendar/CalendarRange/CalendarRange.module.scss +48 -46
  19. package/src/Calendar/CalendarSingle/CalendarSingle.module.scss +12 -10
  20. package/src/Calendar/LegacyCalendarRange/LegacyCalendarRange.module.scss +20 -18
  21. package/src/Calendar/baseCalendarClassNames.module.scss +148 -146
  22. package/src/Card/Card.module.css +91 -89
  23. package/src/Checkbox/Checkbox/Checkbox.module.scss +89 -87
  24. package/src/Checkbox/CheckboxField/CheckboxField.module.scss +32 -30
  25. package/src/Checkbox/CheckboxGroup/CheckboxGroup.module.scss +11 -9
  26. package/src/ClearButton/ClearButton.module.scss +32 -30
  27. package/src/Collapsible/Collapsible/Collapsible.module.scss +87 -85
  28. package/src/Collapsible/CollapsibleGroup/CollapsibleGroup.module.scss +9 -7
  29. package/src/Collapsible/ExpertAdviceCollapsible/ExpertAdviceCollapsible.module.scss +35 -33
  30. package/src/Container/Container.module.scss +11 -9
  31. package/src/Content/Content.module.scss +10 -8
  32. package/src/DateInput/DateInput/DateInput.module.scss +7 -5
  33. package/src/DateInput/DateInputDescription/DateInputDescription.module.scss +15 -13
  34. package/src/DateInput/DateInputWithIconButton/DateInputWithIconButton.module.scss +32 -30
  35. package/src/DatePicker/DatePicker.module.scss +7 -5
  36. package/src/DatePicker/subcomponents/DateInputField/DateInputField.module.scss +5 -3
  37. package/src/DateRangePicker/DateRangePicker.module.scss +75 -73
  38. package/src/Divider/Divider.module.scss +35 -33
  39. package/src/EmptyState/EmptyState.module.css +95 -93
  40. package/src/ErrorPage/ErrorPage.module.scss +4 -2
  41. package/src/FieldGroup/FieldGroup.module.scss +8 -6
  42. package/src/FieldMessage/FieldMessage.module.scss +53 -51
  43. package/src/Filter/Filter/Filter.module.css +5 -3
  44. package/src/Filter/Filter/subcomponents/FilterContents/FilterContents.module.css +4 -2
  45. package/src/Filter/Filter/subcomponents/FilterPopover/FilterPopover.module.css +8 -6
  46. package/src/Filter/FilterBar/FilterBar.module.css +17 -15
  47. package/src/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.module.css +7 -5
  48. package/src/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.module.css +4 -2
  49. package/src/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.module.css +5 -3
  50. package/src/Filter/FilterButton/FilterButton/FilterButton.module.css +19 -17
  51. package/src/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.module.css +4 -2
  52. package/src/Filter/FilterButton/subcomponents/FilterButtonBase/FilterButtonBase.module.scss +42 -40
  53. package/src/Filter/FilterDatePicker/subcomponents/DateInputField/DateInputField.module.scss +4 -2
  54. package/src/Filter/FilterDatePicker/subcomponents/FilterDatePickerField/FilterDatePickerField.module.scss +6 -4
  55. package/src/Filter/FilterDateRangePicker/FilterDateRangePicker.module.css +7 -5
  56. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeDisplayLabel/DateRangeDisplayLabel.module.scss +5 -3
  57. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeInputField/DateRangeInputField.module.scss +36 -34
  58. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeValidationMessage/DateRangeValidationMessage.module.scss +5 -3
  59. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.module.scss +7 -5
  60. package/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.module.scss +19 -17
  61. package/src/Filter/FilterMultiSelect/subcomponents/ListBoxSection/ListBoxSection.module.scss +14 -12
  62. package/src/Filter/FilterMultiSelect/subcomponents/LoadMoreButton/LoadMoreButton.module.scss +4 -2
  63. package/src/Filter/FilterMultiSelect/subcomponents/MenuLayout/MenuFooter/MenuFooter.module.scss +7 -5
  64. package/src/Filter/FilterMultiSelect/subcomponents/MenuLayout/MenuLoadingSkeleton/MenuLoadingSkeleton.module.scss +8 -6
  65. package/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.module.scss +17 -15
  66. package/src/Filter/FilterMultiSelect/subcomponents/MultiSelectOption/MultiSelectOption.module.scss +90 -88
  67. package/src/Filter/FilterMultiSelect/subcomponents/NoResults/NoResults.module.scss +4 -2
  68. package/src/Filter/FilterMultiSelect/subcomponents/SearchInput/SearchInput.module.scss +5 -3
  69. package/src/Filter/FilterMultiSelect/subcomponents/SectionDivider/SectionDivider.module.scss +4 -2
  70. package/src/Filter/FilterMultiSelect/subcomponents/SelectionControlButton/SelectionControlButton.module.scss +52 -50
  71. package/src/Filter/FilterMultiSelect/subcomponents/Trigger/RemovableFilterTrigger/RemovableFilterTrigger.module.css +4 -2
  72. package/src/Filter/FilterSelect/FilterSelect.module.css +9 -7
  73. package/src/Focusable/Focusable.module.scss +4 -2
  74. package/src/GuidanceBlock/GuidanceBlock.module.css +212 -210
  75. package/src/Heading/Heading.module.scss +87 -85
  76. package/src/Icon/_docs/icon.module.scss +35 -33
  77. package/src/Icon/subcomponents/SVG/SVG.module.scss +26 -24
  78. package/src/Illustration/subcomponents/Base/Base.module.scss +100 -98
  79. package/src/Input/Input/Input.module.scss +217 -215
  80. package/src/Input/InputRange/InputRange.module.scss +138 -136
  81. package/src/Input/InputSearch/InputSearch.module.scss +155 -152
  82. package/src/Label/Label.module.scss +82 -80
  83. package/src/LabelledMessage/LabelledMessage.module.scss +8 -6
  84. package/src/LikertScaleLegacy/LikertScaleLegacy.module.scss +266 -264
  85. package/src/Link/Link.module.css +115 -113
  86. package/src/LinkButton/LinkButton.module.css +5 -3
  87. package/src/Loading/LoadingGraphic/LoadingGraphic.module.scss +12 -10
  88. package/src/Loading/LoadingHeading/LoadingHeading.module.scss +44 -42
  89. package/src/Loading/LoadingInput/LoadingInput.module.scss +11 -9
  90. package/src/Loading/LoadingParagraph/LoadingParagraph.module.scss +47 -45
  91. package/src/Loading/LoadingSpinner/LoadingSpinner.module.css +22 -20
  92. package/src/Loading/_mixins.scss +11 -9
  93. package/src/Menu/subcomponents/MenuDropdown/MenuDropdown.module.scss +18 -16
  94. package/src/Menu/subcomponents/MenuHeading/MenuHeading.module.scss +8 -6
  95. package/src/Menu/subcomponents/MenuItem/MenuItem.module.scss +74 -72
  96. package/src/Menu/subcomponents/MenuList/MenuList.module.scss +14 -12
  97. package/src/Menu/subcomponents/StatelessMenu/StatelessMenu.module.scss +4 -2
  98. package/src/Modal/ConfirmationModal/ConfirmationModal.module.scss +126 -124
  99. package/src/Modal/ContextModal/ContextModal.module.scss +72 -70
  100. package/src/Modal/GenericModal/GenericModal.module.scss +92 -90
  101. package/src/Modal/GenericModal/subcomponents/ModalAccessibleDescription/ModalAccessibleDescription.module.scss +4 -2
  102. package/src/Modal/GenericModal/subcomponents/ModalAccessibleLabel/ModalAccessibleLabel.module.scss +25 -23
  103. package/src/Modal/GenericModal/subcomponents/ModalBody/ModalBody.module.scss +5 -3
  104. package/src/Modal/GenericModal/subcomponents/ModalFooter/ModalFooter.module.scss +55 -53
  105. package/src/Modal/GenericModal/subcomponents/ModalHeader/ModalHeader.module.scss +17 -15
  106. package/src/Modal/InputEditModal/InputEditModal.module.scss +32 -30
  107. package/src/MultiSelect/MultiSelect.module.scss +7 -5
  108. package/src/MultiSelect/subcomponents/Checkbox/Checkbox.module.scss +59 -57
  109. package/src/MultiSelect/subcomponents/MultiSelectOptionField/MultiSelectOptionField.module.scss +55 -53
  110. package/src/MultiSelect/subcomponents/MultiSelectOptions/MultiSelectOptions.module.scss +8 -6
  111. package/src/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.module.scss +66 -64
  112. package/src/MultiSelect/subcomponents/Popover/Popover.module.scss +15 -13
  113. package/src/Notification/ToastNotification/ToastNotificationsList/ToastNotificationsList.module.scss +21 -19
  114. package/src/Notification/subcomponents/GenericNotification/GenericNotification.module.scss +112 -110
  115. package/src/Notification/subcomponents/GenericNotification/_mixins.scss +278 -276
  116. package/src/Notification/subcomponents/NotificationIcon/NotificationIcon.module.css +4 -2
  117. package/src/Pagination/Pagination.module.scss +39 -37
  118. package/src/Pagination/subcomponents/DirectionalLink/DirectionalLink.module.scss +11 -9
  119. package/src/Pagination/subcomponents/PaginationLink/PaginationLink.module.scss +53 -51
  120. package/src/Pagination/subcomponents/TruncateIndicator/TruncateIndicator.module.css +10 -8
  121. package/src/Popover/Popover.module.scss +187 -185
  122. package/src/ProgressBar/ProgressBar.module.scss +75 -73
  123. package/src/ProgressBar/subcomponents/Label/Label.module.scss +6 -4
  124. package/src/Radio/Radio/Radio.module.scss +60 -58
  125. package/src/Radio/RadioField/RadioField.module.scss +33 -31
  126. package/src/Radio/RadioGroup/RadioGroup.module.scss +18 -16
  127. package/src/RichTextEditor/EditableRichTextContent/EditableRichTextContent.module.scss +32 -30
  128. package/src/RichTextEditor/RichTextContent/RichTextContent.module.scss +4 -2
  129. package/src/RichTextEditor/RichTextEditor/RichTextEditor.module.scss +76 -74
  130. package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/ToggleIconButton.module.scss +92 -90
  131. package/src/RichTextEditor/RichTextEditor/subcomponents/Toolbar/Toolbar.module.scss +5 -3
  132. package/src/RichTextEditor/RichTextEditor/subcomponents/ToolbarSection/ToolbarSection.module.scss +12 -10
  133. package/src/RichTextEditor/_mixins.scss +1 -1
  134. package/src/RichTextEditor/utils/plugins/LinkManager/components/LinkModal/LinkModal.module.scss +5 -3
  135. package/src/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.module.scss +22 -20
  136. package/src/SearchField/SearchField.module.scss +5 -3
  137. package/src/Select/Select.module.scss +17 -0
  138. package/src/Skirt/Skirt.module.scss +24 -22
  139. package/src/Skirt/subcomponents/SkirtCard/SkirtCard.module.scss +13 -11
  140. package/src/Slider/Slider.module.scss +34 -32
  141. package/src/SplitButton/SplitButton.module.scss +5 -3
  142. package/src/SplitButton/subcomponents/ActionButton/ActionButton.module.scss +7 -5
  143. package/src/SplitButton/subcomponents/BaseButton/BaseButton.module.scss +65 -63
  144. package/src/SplitButton/subcomponents/DropdownButton/DropdownButton.module.scss +19 -17
  145. package/src/Table/Table.module.scss +251 -249
  146. package/src/Tabs/subcomponents/Tab.module.scss +81 -79
  147. package/src/Tabs/subcomponents/TabList.module.scss +8 -6
  148. package/src/Tabs/subcomponents/TabPanel.module.scss +10 -8
  149. package/src/Tag/Tag.module.scss +166 -164
  150. package/src/Tag/subcomponents/LiveIcon/LiveIcon.module.css +42 -40
  151. package/src/Text/Text.module.scss +57 -55
  152. package/src/TextArea/TextArea.module.css +102 -99
  153. package/src/TextAreaField/TextAreaField.module.scss +14 -12
  154. package/src/TextField/TextField.module.scss +16 -14
  155. package/src/Tile/MultiActionTile/MultiActionTile.module.scss +7 -5
  156. package/src/Tile/TileGrid/TileGrid.module.scss +18 -16
  157. package/src/Tile/subcomponents/GenericTile/GenericTile.module.scss +123 -121
  158. package/src/TimeField/TimeField.module.scss +57 -55
  159. package/src/TimeField/subcomponents/TimeSegment/TimeSegment.module.scss +37 -35
  160. package/src/TitleBlockZen/TitleBlockZen.module.scss +507 -505
  161. package/src/TitleBlockZen/subcomponents/MainActions.module.scss +11 -9
  162. package/src/TitleBlockZen/subcomponents/MobileActions.module.scss +146 -144
  163. package/src/TitleBlockZen/subcomponents/NavigationTabs.module.scss +105 -103
  164. package/src/TitleBlockZen/subcomponents/TitleBlockMenuItem.module.scss +74 -72
  165. package/src/TitleBlockZen/subcomponents/Toolbar.module.scss +28 -26
  166. package/src/ToggleSwitch/ToggleSwitch/ToggleSwitch.module.scss +105 -103
  167. package/src/ToggleSwitch/ToggleSwitchField/ToggleSwitchField.module.scss +11 -9
  168. package/src/Tooltip/Tooltip.module.scss +139 -137
  169. package/src/VisuallyHidden/VisuallyHidden.module.scss +10 -8
  170. package/src/Well/Well.module.css +104 -102
  171. package/src/Workflow/subcomponents/Footer/components/FooterActions/FooterActions.module.css +14 -12
  172. package/src/Workflow/subcomponents/Footer/components/ProgressStepper/ProgressStepper.module.css +101 -99
  173. package/src/Workflow/subcomponents/Footer/components/Root/FooterRoot.module.css +19 -17
  174. package/src/Workflow/subcomponents/Header/components/Actions/Actions.module.css +14 -12
  175. package/src/Workflow/subcomponents/Header/components/Branding/Branding.module.css +12 -10
  176. package/src/Workflow/subcomponents/Header/components/Root/Root.module.css +19 -17
  177. package/src/Workflow/subcomponents/Header/components/Titles/Titles.module.css +19 -17
  178. package/src/Workflow/subcomponents/Main/Main.module.css +5 -3
  179. package/src/Workflow/subcomponents/Wrapper/Wrapper.module.css +8 -6
  180. package/src/__next__/Button/Button.module.css +220 -218
  181. package/src/__next__/Button/subcomponents/ButtonContent/ButtonContent.module.css +17 -15
  182. package/src/__next__/Button/subcomponents/PendingContent/PendingContent.module.css +15 -13
  183. package/src/__next__/Icon/Icon.module.css +40 -38
  184. package/src/__next__/Icon/_docs/Icon.docs.module.css +13 -11
  185. package/src/__next__/Menu/Menu.module.css +30 -28
  186. package/src/__next__/Menu/MenuItem.module.css +41 -39
  187. package/src/__next__/Select/Select.module.scss +8 -6
  188. package/src/__next__/Select/Select.tsx +7 -1
  189. package/src/__next__/Select/subcomponents/ListBox/ListBox.module.scss +12 -10
  190. package/src/__next__/Select/subcomponents/ListBoxSection/ListBoxSection.module.scss +15 -13
  191. package/src/__next__/Select/subcomponents/Option/Option.module.scss +53 -51
  192. package/src/__next__/Select/subcomponents/SectionDivider/SectionDivider.module.scss +8 -6
  193. package/src/__next__/Select/subcomponents/SelectPopoverContents/SelectPopoverContents.module.scss +4 -2
  194. package/src/__next__/Select/subcomponents/SelectToggle/SelectToggle.module.scss +105 -103
  195. package/src/__next__/Tabs/subcomponents/Tab/Tab.module.css +81 -79
  196. package/src/__next__/Tabs/subcomponents/TabList/TabList.module.css +56 -54
  197. package/src/__next__/Tabs/subcomponents/TabPanel/TabPanel.module.css +10 -8
  198. package/src/__next__/Tag/RemovableTag/RemovableTag.module.scss +6 -4
  199. package/src/__next__/Tag/RemovableTag/subcomponents/RemoveButton.module.scss +26 -24
  200. package/src/__next__/Tag/Tag/Tag.module.scss +56 -54
  201. package/src/__next__/Tooltip/OverlayArrow.module.scss +40 -38
  202. package/src/__next__/Tooltip/Tooltip.module.scss +39 -37
  203. package/src/__next__/Tooltip/_docs/ApiSpecification.mdx +2 -2
  204. package/src/__next__/Tooltip/_docs/Tooltip.docs.stories.tsx +15 -30
  205. package/src/__next__/Tooltip/_docs/Tooltip.mdx +1 -1
  206. package/src/__next__/Tooltip/_docs/Tooltip.spec.stories.tsx +29 -60
  207. package/src/__next__/Tooltip/_docs/Tooltip.stories.tsx +2 -2
  208. package/src/utils/AppearanceAnim.module.scss +14 -12
@@ -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
  }
@@ -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
  /**
@@ -92,6 +96,7 @@ export const Select = <Option extends SelectOption = SelectOption>({
92
96
  description,
93
97
  placeholder = '',
94
98
  isDisabled,
99
+ onSelectionChange,
95
100
  portalContainerId,
96
101
  ...restProps
97
102
  }: SelectProps<Option>): JSX.Element => {
@@ -114,6 +119,7 @@ export const Select = <Option extends SelectOption = SelectOption>({
114
119
  description,
115
120
  placeholder,
116
121
  isDisabled,
122
+ onSelectionChange: onSelectionChange ? (key) => onSelectionChange(key!) : undefined,
117
123
  ...restProps,
118
124
  }
119
125
 
@@ -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
- }
@@ -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
  }
@@ -4,131 +4,133 @@
4
4
  @import '~@kaizen/design-tokens/sass/typography';
5
5
  @import '../../../../../styles/utils/button-reset';
6
6
 
7
- .iconWrapper {
8
- line-height: 1;
9
- }
7
+ @layer kz-components {
8
+ .iconWrapper {
9
+ line-height: 1;
10
+ }
10
11
 
11
- .icon {
12
- color: $color-gray-500;
13
- }
12
+ .icon {
13
+ color: $color-gray-500;
14
+ }
15
+
16
+ .selectToggle {
17
+ @include button-reset;
18
+
19
+ -webkit-font-smoothing: antialiased;
20
+ -moz-osx-font-smoothing: grayscale;
21
+ position: relative;
22
+ display: inline-flex;
23
+ flex: 1;
24
+ justify-content: space-between;
25
+ align-items: center;
26
+ height: $spacing-xl;
27
+ width: 100%;
28
+ min-width: 0;
29
+ margin-top: $spacing-xs;
30
+ border: $border-solid-border-width $border-solid-border-style $color-gray-500;
31
+ border-radius: $border-solid-border-radius;
32
+ background-color: $color-white;
33
+ padding-block: calc(#{$spacing-12} - #{$border-solid-border-width});
34
+ padding-inline: 0.875rem $spacing-12;
35
+ font-family: $typography-paragraph-body-font-family;
36
+ font-weight: $typography-paragraph-body-font-weight;
37
+ font-size: $typography-paragraph-body-font-size;
38
+ line-height: $typography-paragraph-body-line-height;
39
+ letter-spacing: $typography-paragraph-body-letter-spacing;
40
+ color: $color-purple-800;
41
+ white-space: nowrap;
42
+
43
+ &:hover,
44
+ &:active,
45
+ &:focus {
46
+ .icon {
47
+ color: $color-gray-600;
48
+ }
49
+ }
50
+
51
+ &:active,
52
+ &:hover {
53
+ background-color: $color-gray-200;
54
+ border-color: $color-gray-600;
55
+ }
14
56
 
15
- .selectToggle {
16
- @include button-reset;
17
-
18
- -webkit-font-smoothing: antialiased;
19
- -moz-osx-font-smoothing: grayscale;
20
- position: relative;
21
- display: inline-flex;
22
- flex: 1;
23
- justify-content: space-between;
24
- align-items: center;
25
- height: $spacing-xl;
26
- width: 100%;
27
- min-width: 0;
28
- margin-top: $spacing-xs;
29
- border: $border-solid-border-width $border-solid-border-style $color-gray-500;
30
- border-radius: $border-solid-border-radius;
31
- background-color: $color-white;
32
- padding-block: calc(#{$spacing-12} - #{$border-solid-border-width});
33
- padding-inline: 0.875rem $spacing-12;
34
- font-family: $typography-paragraph-body-font-family;
35
- font-weight: $typography-paragraph-body-font-weight;
36
- font-size: $typography-paragraph-body-font-size;
37
- line-height: $typography-paragraph-body-line-height;
38
- letter-spacing: $typography-paragraph-body-letter-spacing;
39
- color: $color-purple-800;
40
- white-space: nowrap;
41
-
42
- &:hover,
43
- &:active,
44
- &:focus {
45
- .icon {
46
- color: $color-gray-600;
57
+ &:focus {
58
+ outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
59
+ var(--color-blue-500);
60
+ outline-offset: 1px;
61
+ background-color: $color-gray-200;
62
+ border-color: $color-gray-600;
47
63
  }
48
64
  }
49
65
 
50
- &:active,
51
- &:hover {
52
- background-color: $color-gray-200;
53
- border-color: $color-gray-600;
66
+ .placeholder {
67
+ color: rgb($color-purple-800-rgb, 0.7);
54
68
  }
55
69
 
56
- &:focus {
57
- outline: var(--border-focus-ring-border-width) var(--border-focus-ring-border-style)
58
- var(--color-blue-500);
59
- outline-offset: 1px;
60
- background-color: $color-gray-200;
61
- border-color: $color-gray-600;
70
+ .error {
71
+ border: $border-solid-border-width $border-solid-border-style $color-red-500;
62
72
  }
63
- }
64
73
 
65
- .placeholder {
66
- color: rgba($color-purple-800-rgb, 0.7);
67
- }
74
+ .caution {
75
+ border: $border-solid-border-width $border-solid-border-style $color-yellow-600;
76
+ }
68
77
 
69
- .error {
70
- border: $border-solid-border-width $border-solid-border-style $color-red-500;
71
- }
78
+ .disabled {
79
+ border: $border-solid-border-width $border-solid-border-style $color-gray-300;
80
+ background-color: $color-gray-100;
81
+ color: $color-gray-500;
82
+ pointer-events: none;
83
+ }
72
84
 
73
- .caution {
74
- border: $border-solid-border-width $border-solid-border-style $color-yellow-600;
75
- }
85
+ .reversed {
86
+ border: $border-solid-border-width $border-solid-border-style rgba($color-white-rgb, 0.8);
87
+ background-color: transparent;
88
+ color: $color-white;
76
89
 
77
- .disabled {
78
- border: $border-solid-border-width $border-solid-border-style $color-gray-300;
79
- background-color: $color-gray-100;
80
- color: $color-gray-500;
81
- pointer-events: none;
82
- }
90
+ &.placeholder {
91
+ color: rgba($color-white-rgb, 0.65);
92
+ }
83
93
 
84
- .reversed {
85
- border: $border-solid-border-width $border-solid-border-style rgba($color-white-rgb, 0.8);
86
- background-color: transparent;
87
- color: $color-white;
94
+ &.selectToggle .icon {
95
+ color: rgb(255, 255, 255, 0.8);
96
+ }
88
97
 
89
- &.placeholder {
90
- color: rgba($color-white-rgb, 0.65);
91
- }
98
+ &:active,
99
+ &:hover,
100
+ &:focus {
101
+ background-color: rgba($color-white-rgb, 0.1);
102
+ border: $border-solid-border-width $border-solid-border-style $color-white;
92
103
 
93
- &.selectToggle .icon {
94
- color: rgb(255, 255, 255, 0.8);
95
- }
104
+ .icon {
105
+ color: $color-white;
106
+ }
107
+ }
96
108
 
97
- &:active,
98
- &:hover,
99
- &:focus {
100
- background-color: rgba($color-white-rgb, 0.1);
101
- border: $border-solid-border-width $border-solid-border-style $color-white;
109
+ &:focus {
110
+ outline-color: var(--color-blue-300);
111
+ }
102
112
 
103
- .icon {
104
- color: $color-white;
113
+ .error {
114
+ border-color: $color-red-300;
105
115
  }
106
- }
107
116
 
108
- &:focus {
109
- outline-color: var(--color-blue-300);
117
+ .caution {
118
+ border-color: $color-yellow-400;
119
+ }
110
120
  }
111
121
 
112
- .error {
113
- border-color: $color-red-300;
122
+ .reversed.disabled {
123
+ background-color: transparent;
124
+ border-color: rgba($color-white-rgb, 0.3);
125
+ color: rgba($color-white-rgb, 0.3);
114
126
  }
115
127
 
116
- .caution {
117
- border-color: $color-yellow-400;
128
+ .value {
129
+ width: 100%;
130
+ text-align: start;
131
+ white-space: nowrap;
132
+ overflow: hidden;
133
+ text-overflow: ellipsis;
134
+ padding-inline-end: var(--spacing-12);
118
135
  }
119
136
  }
120
-
121
- .reversed.disabled {
122
- background-color: transparent;
123
- border-color: rgba($color-white-rgb, 0.3);
124
- color: rgba($color-white-rgb, 0.3);
125
- }
126
-
127
- .value {
128
- width: 100%;
129
- text-align: start;
130
- white-space: nowrap;
131
- overflow: hidden;
132
- text-overflow: ellipsis;
133
- padding-inline-end: var(--spacing-12);
134
- }