@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
@@ -5,51 +5,53 @@
5
5
  @import '~@kaizen/design-tokens/sass/typography';
6
6
  @import '~@kaizen/design-tokens/sass/spacing';
7
7
 
8
- .tooltip {
9
- max-width: 200px;
10
- padding: $spacing-8 $spacing-12;
11
- color: $color-white;
12
- text-align: center;
13
- font-family: $typography-paragraph-extra-small-font-family;
14
- font-size: $typography-paragraph-extra-small-font-size;
15
- font-weight: $typography-paragraph-extra-small-font-weight;
16
- letter-spacing: $typography-paragraph-extra-small-letter-spacing;
17
- line-height: $typography-paragraph-extra-small-line-height;
18
- border-radius: $border-solid-border-radius;
19
- box-shadow: $shadow-small-box-shadow;
20
- background-color: $color-purple-800;
21
- text-wrap: pretty;
8
+ @layer kz-components {
9
+ .tooltip {
10
+ max-width: 200px;
11
+ padding: $spacing-8 $spacing-12;
12
+ color: $color-white;
13
+ text-align: center;
14
+ font-family: $typography-paragraph-extra-small-font-family;
15
+ font-size: $typography-paragraph-extra-small-font-size;
16
+ font-weight: $typography-paragraph-extra-small-font-weight;
17
+ letter-spacing: $typography-paragraph-extra-small-letter-spacing;
18
+ line-height: $typography-paragraph-extra-small-line-height;
19
+ border-radius: $border-solid-border-radius;
20
+ box-shadow: $shadow-small-box-shadow;
21
+ background-color: $color-purple-800;
22
+ text-wrap: pretty;
22
23
 
23
- /* fixes FF gap */
24
- transform: translate3d(0, 0, 0);
24
+ /* fixes FF gap */
25
+ transform: translate3d(0, 0, 0);
25
26
 
26
- &.reversed {
27
- background-color: $color-white;
28
- color: $color-purple-800;
29
- }
27
+ &.reversed {
28
+ background-color: $color-white;
29
+ color: $color-purple-800;
30
+ }
30
31
 
31
- &[data-placement='top'] {
32
- --origin: translateY(4px);
33
- }
32
+ &[data-placement='top'] {
33
+ --origin: translateY(4px);
34
+ }
34
35
 
35
- &[data-placement='bottom'] {
36
- --origin: translateY(-4px);
37
- }
36
+ &[data-placement='bottom'] {
37
+ --origin: translateY(-4px);
38
+ }
38
39
 
39
- &[data-placement='right'] {
40
- --origin: translateX(-4px);
41
- }
40
+ &[data-placement='right'] {
41
+ --origin: translateX(-4px);
42
+ }
42
43
 
43
- &[data-placement='left'] {
44
- --origin: translateX(4px);
45
- }
44
+ &[data-placement='left'] {
45
+ --origin: translateX(4px);
46
+ }
46
47
 
47
- &[data-entering] {
48
- animation: slide $animation-duration-fast;
49
- }
48
+ &[data-entering] {
49
+ animation: slide $animation-duration-fast;
50
+ }
50
51
 
51
- &[data-exiting] {
52
- animation: slide $animation-duration-fast reverse $animation-easing-function-ease-in;
52
+ &[data-exiting] {
53
+ animation: slide $animation-duration-fast reverse $animation-easing-function-ease-in;
54
+ }
53
55
  }
54
56
  }
55
57
 
@@ -28,7 +28,7 @@ Tooltips are brief floating labels used to add additional contextual information
28
28
  source={{
29
29
  code: `
30
30
  <TooltipTrigger>
31
- <Button label="Button" />
31
+ <Button>Button</Button>
32
32
  <Tooltip>Tooltip content</Tooltip>
33
33
  </TooltipTrigger>
34
34
  `,
@@ -75,7 +75,7 @@ The `TooltipTrigger` wraps both the `Tooltip` and its trigger element, controlli
75
75
  ```jsx
76
76
  <TooltipTrigger>
77
77
  /* In this case the trigger element is the Button */
78
- <Button label="Button" />
78
+ <Button>Button</Button>
79
79
  /* The Tooltip and its content is a child of the trigger */
80
80
  <Tooltip>Tooltip content</Tooltip>
81
81
  </TooltipTrigger>
@@ -1,12 +1,12 @@
1
1
  import React from 'react'
2
2
  import { type Meta, type StoryObj } from '@storybook/react'
3
3
  import isChromatic from 'chromatic'
4
- import { Button, IconButton } from '~components/Button'
5
4
  import { FieldMessage } from '~components/FieldMessage'
6
5
  import { Focusable } from '~components/Focusable'
7
6
  import { Input } from '~components/Input'
8
7
  import { Label } from '~components/Label'
9
8
  import { Text } from '~components/Text'
9
+ import { Button } from '~components/__next__/Button'
10
10
  import { Icon } from '~components/__next__/Icon'
11
11
  import { Tooltip, TooltipTrigger } from '../index'
12
12
  import * as TestStories from './Tooltip.spec.stories'
@@ -37,7 +37,7 @@ type Story = StoryObj<typeof meta>
37
37
  export const Playground: Story = {
38
38
  render: ({ defaultOpen: _, isOpen, ...args }) => (
39
39
  <TooltipTrigger defaultOpen={true} isOpen={isOpen}>
40
- <Button label="Button" />
40
+ <Button>Button</Button>
41
41
  <Tooltip {...args}>Tooltip content</Tooltip>
42
42
  </TooltipTrigger>
43
43
  ),
@@ -46,14 +46,9 @@ export const Playground: Story = {
46
46
  export const Primary: Story = {
47
47
  render: () => (
48
48
  <TooltipTrigger>
49
- <IconButton
50
- label="Add something"
51
- icon={<Icon name="add" isPresentational />}
52
- primary
53
- // Negate the aria description (added by RAC) as it should be the
54
- // same as the accessible name, therefore no need to duplicate it
55
- aria-describedby={null}
56
- />
49
+ <Button icon={<Icon name="add" isPresentational />} hasHiddenLabel>
50
+ Add something
51
+ </Button>
57
52
  <Tooltip>Add something</Tooltip>
58
53
  </TooltipTrigger>
59
54
  ),
@@ -105,14 +100,9 @@ export const DoConcise: Story = {
105
100
  render: () => (
106
101
  <div>
107
102
  <TooltipTrigger>
108
- <IconButton
109
- label="Add topic"
110
- icon={<Icon name="add" isPresentational />}
111
- primary
112
- // Negate the aria description (added by RAC) as it should be the
113
- // same as the accessible name, therefore no need to duplicate it
114
- aria-describedby={null}
115
- />
103
+ <Button icon={<Icon name="add" isPresentational />} hasHiddenLabel>
104
+ Add topic
105
+ </Button>
116
106
  <Tooltip>Add topic to agenda</Tooltip>
117
107
  </TooltipTrigger>
118
108
  </div>
@@ -128,17 +118,12 @@ export const DontConcise: Story = {
128
118
  render: () => (
129
119
  <div>
130
120
  <TooltipTrigger>
131
- <IconButton
132
- label="Add something"
133
- icon={<Icon name="add" isPresentational />}
134
- primary
135
- // Negate the aria description (added by RAC) as it should be the
136
- // same as the accessible name, therefore no need to duplicate it
137
- aria-describedby={null}
138
- />
121
+ <Button icon={<Icon name="add" isPresentational />} hasHiddenLabel>
122
+ Add something
123
+ </Button>
139
124
  <Tooltip>
140
125
  Add Topic to agenda. This will create a new topic where you can discuss recent work with
141
- your manager.{' '}
126
+ your manager.
142
127
  </Tooltip>
143
128
  </TooltipTrigger>
144
129
  </div>
@@ -150,11 +135,11 @@ export const ShouldFlip: Story = {
150
135
  render: () => (
151
136
  <div className="flex flex-col gap-8 pl-96 overflow-hidden max-w-[250px]">
152
137
  <TooltipTrigger>
153
- <Button label="Should flip" />
138
+ <Button>Should flip</Button>
154
139
  <Tooltip placement="end">Tooltip content</Tooltip>
155
140
  </TooltipTrigger>
156
141
  <TooltipTrigger>
157
- <Button label="Won't flip" />
142
+ <Button>Won&apos;t flip</Button>
158
143
  <Tooltip placement="end" shouldFlip={false}>
159
144
  Tooltip content
160
145
  </Tooltip>
@@ -188,7 +173,7 @@ export const UncontrolledState: Story = {
188
173
  Toggle open
189
174
  </button>
190
175
  <TooltipTrigger isOpen={isOpen}>
191
- <Button label="Button" />
176
+ <Button>Button</Button>
192
177
  <Tooltip>Tooltip content</Tooltip>
193
178
  </TooltipTrigger>
194
179
  </div>
@@ -34,7 +34,7 @@ Tooltips are brief floating labels used to add additional contextual information
34
34
  source={{
35
35
  code: `
36
36
  <TooltipTrigger>
37
- <Button label="Button" />
37
+ <Button>Button</Button>
38
38
  <Tooltip>Tooltip content</Tooltip>
39
39
  </TooltipTrigger>
40
40
  `,
@@ -2,11 +2,12 @@ import React from 'react'
2
2
  import { type Meta, type StoryObj } from '@storybook/react'
3
3
  import { expect, userEvent, waitFor, within } from '@storybook/test'
4
4
  import isChromatic from 'chromatic'
5
- import { Button, IconButton } from '~components/Button'
6
5
  import { Focusable } from '~components/Focusable'
7
- import { Tab, TabList, TabPanel, TabPanels, Tabs } from '~components/Tabs'
6
+ import { LinkButton } from '~components/LinkButton'
8
7
  import { Text } from '~components/Text'
8
+ import { Button } from '~components/__next__/Button'
9
9
  import { Icon } from '~components/__next__/Icon'
10
+ import { Tab, TabList, TabPanel, Tabs } from '~components/__next__/Tabs'
10
11
  import { Tag } from '~components/__next__/Tag'
11
12
  import { Tooltip, TooltipTrigger } from '../index'
12
13
 
@@ -32,12 +33,10 @@ export default meta
32
33
 
33
34
  type Story = StoryObj<typeof meta>
34
35
 
35
- // TODO: update this to use the new `next` button component
36
-
37
36
  export const OnButton: Story = {
38
37
  render: ({ defaultOpen, isOpen, ...args }) => (
39
38
  <TooltipTrigger defaultOpen={defaultOpen} isOpen={isOpen}>
40
- <Button label="Button" />
39
+ <Button>Button</Button>
41
40
  <Tooltip {...args}>Tooltip content</Tooltip>
42
41
  </TooltipTrigger>
43
42
  ),
@@ -46,21 +45,29 @@ export const OnButton: Story = {
46
45
  const button = canvas.queryByRole('button') ?? canvas.getByRole('link')
47
46
 
48
47
  await step('Hover shows', async () => {
49
- await userEvent.unhover(button)
48
+ await waitFor(() => userEvent.click(canvasElement)) // needed to refocus the browser window
49
+
50
50
  await userEvent.hover(button)
51
- await waitFor(() => expect(canvas.getByRole('tooltip')).toBeVisible())
52
- expect(button).toHaveAttribute('aria-describedby', canvas.getByRole('tooltip').id)
51
+ await expect(await canvas.findByRole('tooltip')).toBeInTheDocument()
52
+ await expect((await canvas.findByRole('tooltip')).checkVisibility()).toBe(true)
53
+ await expect(button).toHaveAttribute('aria-describedby', canvas.getByRole('tooltip').id)
53
54
  await userEvent.unhover(button)
54
55
  })
55
56
 
56
57
  await step('Focus shows', async () => {
58
+ await waitFor(() => userEvent.click(canvasElement)) // needed to refocus the browser window
59
+
57
60
  await userEvent.tab() // focus
58
- await waitFor(() => expect(canvas.getByRole('tooltip')).toBeVisible())
61
+ await expect((await canvas.findByRole('tooltip')).checkVisibility()).toBe(true)
62
+ await expect(await canvas.findByRole('tooltip')).toBeInTheDocument()
59
63
  await userEvent.tab() // unfocus
60
- await waitFor(() => expect(canvas.queryByRole('tooltip')).toBeNull())
64
+ waitFor(() => expect(canvas.queryByRole('tooltip')).toBeNull())
65
+ waitFor(async () => expect(await canvas.queryByText('Tooltip content')).toBeNull())
61
66
  })
62
67
 
63
68
  await step('Escape closes', async () => {
69
+ await waitFor(() => userEvent.click(canvasElement)) // needed to refocus the browser window
70
+
64
71
  await userEvent.tab() // focus
65
72
  await waitFor(() => expect(canvas.getByRole('tooltip')).toBeVisible())
66
73
  await userEvent.keyboard('{Escape}')
@@ -76,7 +83,7 @@ export const OnLink: Story = {
76
83
  ...OnButton,
77
84
  render: ({ defaultOpen, isOpen, ...args }) => (
78
85
  <TooltipTrigger defaultOpen={defaultOpen} isOpen={isOpen}>
79
- <Button label="Button" href="#" />
86
+ <LinkButton href="#">Button</LinkButton>
80
87
  <Tooltip {...args}>Tooltip content</Tooltip>
81
88
  </TooltipTrigger>
82
89
  ),
@@ -86,12 +93,9 @@ export const OnButtonWithDesc: Story = {
86
93
  render: ({ defaultOpen, isOpen, ...args }) => (
87
94
  <>
88
95
  <TooltipTrigger defaultOpen={defaultOpen} isOpen={isOpen}>
89
- <IconButton
90
- label="(TESTING) Add label"
91
- icon={<Icon name="add" isPresentational />}
92
- primary
93
- aria-describedby="blah"
94
- />
96
+ <Button icon={<Icon name="add" isPresentational />} aria-describedby="blah" hasHiddenLabel>
97
+ (TESTING) Add label
98
+ </Button>
95
99
  <Tooltip {...args}>Tooltip content</Tooltip>
96
100
  </TooltipTrigger>
97
101
  <Text variant="body" id="blah" classNameOverride="p-4">
@@ -104,14 +108,9 @@ export const OnButtonWithDesc: Story = {
104
108
  export const OnIconButton: Story = {
105
109
  render: ({ defaultOpen, isOpen, ...args }) => (
106
110
  <TooltipTrigger defaultOpen={defaultOpen} isOpen={isOpen}>
107
- <IconButton
108
- label="Add something"
109
- icon={<Icon name="add" isPresentational />}
110
- primary
111
- // Negate the aria description (added by RAC) as it should be the
112
- // same as the accessible name, therefore no need to duplicate it
113
- aria-describedby={null}
114
- />
111
+ <Button icon={<Icon name="add" isPresentational />} hasHiddenLabel>
112
+ Add something
113
+ </Button>
115
114
  <Tooltip {...args}>Add something</Tooltip>
116
115
  </TooltipTrigger>
117
116
  ),
@@ -120,36 +119,7 @@ export const OnIconButton: Story = {
120
119
  export const OnDisabledButton: Story = {
121
120
  render: ({ defaultOpen, isOpen, ...args }) => (
122
121
  <TooltipTrigger defaultOpen={defaultOpen} isOpen={isOpen}>
123
- <Button label="Button" disabled />
124
- <Tooltip {...args}>Tooltip content</Tooltip>
125
- </TooltipTrigger>
126
- ),
127
- }
128
-
129
- export const OnCustomButtonAnchor: Story = {
130
- name: 'On Button with custom <a>',
131
- render: ({ defaultOpen, isOpen, ...args }) => (
132
- <TooltipTrigger defaultOpen={defaultOpen} isOpen={isOpen}>
133
- <Button
134
- label="Button"
135
- component={(props) => (
136
- // eslint-disable-next-line jsx-a11y/anchor-is-valid
137
- <a {...props} href="#" style={{ padding: '0 1rem' }}>
138
- Custom Link
139
- </a>
140
- )}
141
- />
142
- <Tooltip {...args}>Tooltip content</Tooltip>
143
- </TooltipTrigger>
144
- ),
145
- }
146
-
147
- export const OnCustomButton: Story = {
148
- ...OnButton,
149
- name: 'On Button with custom <button>',
150
- render: ({ defaultOpen, isOpen, ...args }) => (
151
- <TooltipTrigger defaultOpen={defaultOpen} isOpen={isOpen}>
152
- <Button label="Button" component={(props) => <button type="button" {...props} />} />
122
+ <Button isDisabled>Button</Button>
153
123
  <Tooltip {...args}>Tooltip content</Tooltip>
154
124
  </TooltipTrigger>
155
125
  ),
@@ -175,9 +145,8 @@ export const OnTabs: Story = {
175
145
  <Tooltip {...args}>Tooltip content</Tooltip>
176
146
  </TooltipTrigger>
177
147
  </TabList>
178
- <TabPanels>
179
- <TabPanel classNameOverride="p-24 font-family-paragraph">Tab content</TabPanel>
180
- </TabPanels>
148
+
149
+ <TabPanel className="p-24 font-family-paragraph">Tab content</TabPanel>
181
150
  </Tabs>
182
151
  ),
183
152
  }
@@ -185,7 +154,7 @@ export const OnTabs: Story = {
185
154
  export const Placement: Story = {
186
155
  render: ({ defaultOpen, isOpen, ...args }) => (
187
156
  <TooltipTrigger defaultOpen={defaultOpen} isOpen={isOpen}>
188
- <Button label="Button" />
157
+ <Button>Button</Button>
189
158
  <Tooltip {...args} placement="top" shouldFlip={false}>
190
159
  Placement top
191
160
  </Tooltip>
@@ -205,7 +174,7 @@ export const Placement: Story = {
205
174
  export const ReversedColors: Story = {
206
175
  render: ({ defaultOpen, isOpen, ...args }) => (
207
176
  <TooltipTrigger defaultOpen={defaultOpen} isOpen={isOpen}>
208
- <Button label="Button" />
177
+ <Button>Button</Button>
209
178
  <Tooltip {...args}>Tooltip content</Tooltip>
210
179
  </TooltipTrigger>
211
180
  ),
@@ -1,9 +1,9 @@
1
1
  import React, { type FunctionComponent } from 'react'
2
2
  import { type Meta, type StoryObj } from '@storybook/react'
3
3
  import isChromatic from 'chromatic'
4
- import { Button } from '~components/Button'
5
4
  import { Focusable } from '~components/Focusable'
6
5
  import { Tag } from '~components/__next__'
6
+ import { Button } from '~components/__next__/Button'
7
7
  import { Tooltip, TooltipTrigger } from '../index'
8
8
  import * as testStories from './Tooltip.spec.stories'
9
9
 
@@ -33,7 +33,7 @@ type Story = StoryObj<typeof meta>
33
33
  export const Playground: Story = {
34
34
  render: ({ defaultOpen: _, isOpen, ...args }) => (
35
35
  <TooltipTrigger defaultOpen={true} isOpen={isOpen}>
36
- <Button label="Button" />
36
+ <Button>Button</Button>
37
37
  <Tooltip {...args}>Tooltip content</Tooltip>
38
38
  </TooltipTrigger>
39
39
  ),
@@ -1,15 +1,17 @@
1
- // Sync with ./AppearanceAnim.tsx
2
- $anim-duration-ms: 0.2s;
1
+ @layer kz-components {
2
+ // Sync with ./AppearanceAnim.tsx
3
+ $anim-duration-ms: 0.2s;
3
4
 
4
- .defaultHiddenState {
5
- opacity: 0%;
6
- pointer-events: none;
7
- transition: opacity $anim-duration-ms ease-out;
8
- will-change: opacity;
9
- display: inline;
10
- }
5
+ .defaultHiddenState {
6
+ opacity: 0%;
7
+ pointer-events: none;
8
+ transition: opacity $anim-duration-ms ease-out;
9
+ will-change: opacity;
10
+ display: inline;
11
+ }
11
12
 
12
- .visibleState {
13
- opacity: 100%;
14
- pointer-events: initial;
13
+ .visibleState {
14
+ opacity: 100%;
15
+ pointer-events: initial;
16
+ }
15
17
  }