@kaizen/components 1.66.1 → 1.67.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 (282) hide show
  1. package/codemods/README.md +5 -0
  2. package/codemods/upgradeIconV1/getNewIconPropsFromOldIconName.ts +255 -0
  3. package/codemods/upgradeIconV1/index.ts +33 -0
  4. package/codemods/upgradeIconV1/transformCaMonogramIconToBrand.spec.ts +83 -0
  5. package/codemods/upgradeIconV1/transformCaMonogramIconToBrand.ts +53 -0
  6. package/codemods/upgradeIconV1/transformIcon.spec.ts +181 -0
  7. package/codemods/upgradeIconV1/transformIcon.ts +115 -0
  8. package/codemods/upgradeIconV1/transformSpinnerIconToLoadingSpinner.spec.ts +81 -0
  9. package/codemods/upgradeIconV1/transformSpinnerIconToLoadingSpinner.ts +41 -0
  10. package/codemods/upgradeIconV1/upgradeIconV1.spec.ts +306 -0
  11. package/codemods/upgradeIconV1/upgradeIconV1.ts +94 -0
  12. package/codemods/utils/createProp.spec.ts +83 -0
  13. package/codemods/utils/createProp.ts +51 -0
  14. package/codemods/utils/getKaioTagName.spec.ts +85 -0
  15. package/codemods/utils/getKaioTagName.ts +129 -0
  16. package/codemods/utils/index.ts +3 -1
  17. package/codemods/utils/transformComponentsInDir.ts +32 -16
  18. package/codemods/utils/transformSource.ts +10 -5
  19. package/codemods/utils/updateJsxElementWithNewProps.ts +4 -3
  20. package/codemods/utils/updateKaioImports.spec.ts +223 -0
  21. package/codemods/utils/updateKaioImports.ts +233 -0
  22. package/dist/cjs/Avatar/Avatar.cjs +16 -13
  23. package/dist/cjs/Calendar/CalendarRange/CalendarRange.cjs +9 -7
  24. package/dist/cjs/Calendar/CalendarSingle/CalendarSingle.cjs +9 -7
  25. package/dist/cjs/Calendar/LegacyCalendarRange/LegacyCalendarRange.cjs +9 -7
  26. package/dist/cjs/Checkbox/Checkbox/Checkbox.cjs +5 -11
  27. package/dist/cjs/ClearButton/ClearButton.cjs +5 -4
  28. package/dist/cjs/Collapsible/Collapsible/Collapsible.cjs +4 -7
  29. package/dist/cjs/DateInput/DateInputWithIconButton/DateInputWithIconButton.cjs +5 -4
  30. package/dist/cjs/DateRangePicker/DateRangePicker.cjs +5 -4
  31. package/dist/cjs/ErrorPage/ErrorPage.cjs +9 -7
  32. package/dist/cjs/FieldMessage/FieldMessage.cjs +5 -11
  33. package/dist/cjs/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.cjs +4 -5
  34. package/dist/cjs/Filter/FilterButton/FilterButton/FilterButton.cjs +4 -7
  35. package/dist/cjs/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.cjs +5 -5
  36. package/dist/cjs/Filter/FilterMultiSelect/subcomponents/MultiSelectOption/MultiSelectOption.cjs +4 -4
  37. package/dist/cjs/GuidanceBlock/GuidanceBlock.cjs +5 -4
  38. package/dist/cjs/Illustration/utils/usePausePlay.cjs +5 -8
  39. package/dist/cjs/Input/InputSearch/InputSearch.cjs +4 -3
  40. package/dist/cjs/LikertScaleLegacy/LikertScaleLegacy.cjs +5 -6
  41. package/dist/cjs/Modal/ConfirmationModal/ConfirmationModal.cjs +31 -26
  42. package/dist/cjs/Modal/GenericModal/subcomponents/ModalHeader/ModalHeader.cjs +4 -5
  43. package/dist/cjs/MultiSelect/subcomponents/Checkbox/Checkbox.cjs +7 -17
  44. package/dist/cjs/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.cjs +4 -7
  45. package/dist/cjs/Notification/subcomponents/CancelButton/CancelButton.cjs +4 -3
  46. package/dist/cjs/Notification/subcomponents/NotificationIcon/NotificationIcon.cjs +33 -38
  47. package/dist/cjs/Notification/subcomponents/NotificationIcon/NotificationIcon.module.css.cjs +6 -0
  48. package/dist/cjs/Pagination/subcomponents/DirectionalLink/DirectionalLink.cjs +11 -19
  49. package/dist/cjs/Pagination/subcomponents/TruncateIndicator/TruncateIndicator.cjs +4 -5
  50. package/dist/cjs/Popover/Popover.cjs +5 -4
  51. package/dist/cjs/Popover/utils/classMappers.cjs +21 -16
  52. package/dist/cjs/RichTextEditor/RichTextEditor/utils/controlmap.cjs +29 -25
  53. package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.cjs +10 -12
  54. package/dist/cjs/Select/Select.cjs +8 -10
  55. package/dist/cjs/SplitButton/subcomponents/DropdownButton/DropdownButton.cjs +4 -4
  56. package/dist/cjs/Table/Table.cjs +11 -10
  57. package/dist/cjs/Tag/Tag.cjs +21 -17
  58. package/dist/cjs/TextField/TextField.cjs +5 -4
  59. package/dist/cjs/Tile/subcomponents/GenericTile/GenericTile.cjs +8 -7
  60. package/dist/cjs/TitleBlockZen/TitleBlockZen.cjs +9 -12
  61. package/dist/cjs/TitleBlockZen/subcomponents/MainActions.cjs +7 -7
  62. package/dist/cjs/TitleBlockZen/subcomponents/MobileActions.cjs +10 -15
  63. package/dist/cjs/TitleBlockZen/subcomponents/SecondaryActions.cjs +7 -7
  64. package/dist/cjs/ToggleSwitch/ToggleSwitch/ToggleSwitch.cjs +5 -5
  65. package/dist/cjs/Workflow/subcomponents/Footer/components/ProgressStepper/ProgressStepper.cjs +13 -18
  66. package/dist/cjs/__future__/Icon/Icon.cjs +47 -0
  67. package/dist/cjs/__future__/Icon/Icon.module.css.cjs +10 -0
  68. package/dist/cjs/__future__/Icon/constants.cjs +8 -0
  69. package/dist/cjs/__future__/Select/subcomponents/Option/Option.cjs +4 -5
  70. package/dist/cjs/__future__/Select/subcomponents/SelectToggle/SelectToggle.cjs +5 -9
  71. package/dist/cjs/__future__/Tag/RemovableTag/subcomponents/RemoveButton.cjs +4 -3
  72. package/dist/cjs/future.cjs +2 -0
  73. package/dist/esm/Avatar/Avatar.mjs +16 -13
  74. package/dist/esm/Calendar/CalendarRange/CalendarRange.mjs +9 -7
  75. package/dist/esm/Calendar/CalendarSingle/CalendarSingle.mjs +9 -7
  76. package/dist/esm/Calendar/LegacyCalendarRange/LegacyCalendarRange.mjs +9 -7
  77. package/dist/esm/Checkbox/Checkbox/Checkbox.mjs +5 -11
  78. package/dist/esm/ClearButton/ClearButton.mjs +5 -4
  79. package/dist/esm/Collapsible/Collapsible/Collapsible.mjs +5 -8
  80. package/dist/esm/DateInput/DateInputWithIconButton/DateInputWithIconButton.mjs +5 -4
  81. package/dist/esm/DateRangePicker/DateRangePicker.mjs +5 -4
  82. package/dist/esm/ErrorPage/ErrorPage.mjs +10 -8
  83. package/dist/esm/FieldMessage/FieldMessage.mjs +6 -12
  84. package/dist/esm/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.mjs +4 -5
  85. package/dist/esm/Filter/FilterButton/FilterButton/FilterButton.mjs +5 -8
  86. package/dist/esm/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.mjs +5 -5
  87. package/dist/esm/Filter/FilterMultiSelect/subcomponents/MultiSelectOption/MultiSelectOption.mjs +4 -4
  88. package/dist/esm/GuidanceBlock/GuidanceBlock.mjs +5 -4
  89. package/dist/esm/Illustration/utils/usePausePlay.mjs +5 -8
  90. package/dist/esm/Input/InputSearch/InputSearch.mjs +4 -3
  91. package/dist/esm/LikertScaleLegacy/LikertScaleLegacy.mjs +5 -6
  92. package/dist/esm/Modal/ConfirmationModal/ConfirmationModal.mjs +31 -26
  93. package/dist/esm/Modal/GenericModal/subcomponents/ModalHeader/ModalHeader.mjs +4 -5
  94. package/dist/esm/MultiSelect/subcomponents/Checkbox/Checkbox.mjs +7 -17
  95. package/dist/esm/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.mjs +5 -8
  96. package/dist/esm/Notification/subcomponents/CancelButton/CancelButton.mjs +4 -3
  97. package/dist/esm/Notification/subcomponents/NotificationIcon/NotificationIcon.mjs +33 -38
  98. package/dist/esm/Notification/subcomponents/NotificationIcon/NotificationIcon.module.css.mjs +4 -0
  99. package/dist/esm/Pagination/subcomponents/DirectionalLink/DirectionalLink.mjs +11 -19
  100. package/dist/esm/Pagination/subcomponents/TruncateIndicator/TruncateIndicator.mjs +4 -5
  101. package/dist/esm/Popover/Popover.mjs +5 -4
  102. package/dist/esm/Popover/utils/classMappers.mjs +21 -16
  103. package/dist/esm/RichTextEditor/RichTextEditor/utils/controlmap.mjs +33 -29
  104. package/dist/esm/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.mjs +10 -12
  105. package/dist/esm/Select/Select.mjs +9 -11
  106. package/dist/esm/SplitButton/subcomponents/DropdownButton/DropdownButton.mjs +4 -4
  107. package/dist/esm/Table/Table.mjs +11 -10
  108. package/dist/esm/Tag/Tag.mjs +21 -17
  109. package/dist/esm/TextField/TextField.mjs +5 -4
  110. package/dist/esm/Tile/subcomponents/GenericTile/GenericTile.mjs +8 -7
  111. package/dist/esm/TitleBlockZen/TitleBlockZen.mjs +9 -12
  112. package/dist/esm/TitleBlockZen/subcomponents/MainActions.mjs +7 -7
  113. package/dist/esm/TitleBlockZen/subcomponents/MobileActions.mjs +13 -18
  114. package/dist/esm/TitleBlockZen/subcomponents/SecondaryActions.mjs +7 -7
  115. package/dist/esm/ToggleSwitch/ToggleSwitch/ToggleSwitch.mjs +5 -5
  116. package/dist/esm/Workflow/subcomponents/Footer/components/ProgressStepper/ProgressStepper.mjs +16 -21
  117. package/dist/esm/__future__/Icon/Icon.mjs +38 -0
  118. package/dist/esm/__future__/Icon/Icon.module.css.mjs +8 -0
  119. package/dist/esm/__future__/Icon/constants.mjs +6 -0
  120. package/dist/esm/__future__/Select/subcomponents/Option/Option.mjs +4 -5
  121. package/dist/esm/__future__/Select/subcomponents/SelectToggle/SelectToggle.mjs +6 -10
  122. package/dist/esm/__future__/Tag/RemovableTag/subcomponents/RemoveButton.mjs +4 -3
  123. package/dist/esm/future.mjs +1 -0
  124. package/dist/styles.css +555 -531
  125. package/dist/types/__future__/Icon/Icon.d.ts +21 -0
  126. package/dist/types/__future__/Icon/constants.d.ts +5 -0
  127. package/dist/types/__future__/Icon/index.d.ts +1 -0
  128. package/dist/types/__future__/Icon/types.d.ts +4 -0
  129. package/dist/types/__future__/index.d.ts +1 -0
  130. package/package.json +21 -21
  131. package/src/Avatar/Avatar.module.scss +6 -8
  132. package/src/Avatar/Avatar.tsx +14 -5
  133. package/src/BrandMoment/_docs/BrandMoment.stories.tsx +6 -10
  134. package/src/BrandMoment/_docs/ExampleHeaders.tsx +2 -2
  135. package/src/Calendar/CalendarRange/CalendarRange.tsx +7 -3
  136. package/src/Calendar/CalendarSingle/CalendarSingle.tsx +7 -3
  137. package/src/Calendar/LegacyCalendarRange/LegacyCalendarRange.tsx +7 -3
  138. package/src/Calendar/baseCalendarClassNames.module.scss +0 -4
  139. package/src/Checkbox/Checkbox/Checkbox.module.scss +0 -8
  140. package/src/Checkbox/Checkbox/Checkbox.tsx +6 -8
  141. package/src/ClearButton/ClearButton.tsx +2 -2
  142. package/src/Collapsible/Collapsible/Collapsible.tsx +5 -6
  143. package/src/Collapsible/Collapsible/_docs/Collapsible.stories.tsx +2 -2
  144. package/src/DateInput/DateInputWithIconButton/DateInputWithIconButton.module.scss +2 -7
  145. package/src/DateInput/DateInputWithIconButton/DateInputWithIconButton.tsx +2 -2
  146. package/src/DateRangePicker/DateRangePicker.tsx +2 -2
  147. package/src/EmptyState/_docs/EmptyState.stickersheet.stories.tsx +8 -2
  148. package/src/EmptyState/_docs/EmptyState.stories.tsx +4 -2
  149. package/src/ErrorPage/ErrorPage.tsx +5 -3
  150. package/src/FieldMessage/FieldMessage.tsx +6 -14
  151. package/src/Filter/FilterBar/FilterBar.spec.tsx +12 -12
  152. package/src/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.tsx +2 -2
  153. package/src/Filter/FilterButton/FilterButton/FilterButton.module.scss +1 -1
  154. package/src/Filter/FilterButton/FilterButton/FilterButton.tsx +5 -6
  155. package/src/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.tsx +2 -2
  156. package/src/Filter/FilterDateRangePicker/FilterDateRangePicker.spec.tsx +0 -1
  157. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeInputField/DateRangeInputField.spec.tsx +2 -1
  158. package/src/Filter/FilterMultiSelect/subcomponents/MultiSelectOption/MultiSelectOption.tsx +2 -2
  159. package/src/Filter/FilterSelect/FilterSelect.spec.tsx +4 -5
  160. package/src/GuidanceBlock/GuidanceBlock.tsx +6 -2
  161. package/src/Icon/_docs/{Icon.stories.tsx → Icon.docs.stories.tsx} +1 -1
  162. package/src/Icon/_docs/Icon.mdx +1 -2
  163. package/src/Icon/_docs/Icon.stickersheet.stories.tsx +1 -1
  164. package/src/Illustration/utils/usePausePlay.tsx +7 -5
  165. package/src/Input/Input/_docs/Input.stickersheet.stories.tsx +7 -5
  166. package/src/Input/Input/_docs/Input.stories.tsx +5 -3
  167. package/src/Input/InputSearch/InputSearch.tsx +2 -2
  168. package/src/Label/Label.module.scss +4 -0
  169. package/src/LikertScaleLegacy/LikertScaleLegacy.tsx +2 -2
  170. package/src/Loading/LoadingGraphic/_docs/LoadingGraphic.stories.tsx +2 -2
  171. package/src/Modal/ConfirmationModal/ConfirmationModal.module.scss +2 -0
  172. package/src/Modal/ConfirmationModal/ConfirmationModal.tsx +32 -35
  173. package/src/Modal/GenericModal/subcomponents/ModalHeader/ModalHeader.tsx +2 -2
  174. package/src/MultiSelect/MultiSelect.spec.tsx +7 -3
  175. package/src/MultiSelect/subcomponents/Checkbox/Checkbox.module.scss +0 -6
  176. package/src/MultiSelect/subcomponents/Checkbox/Checkbox.tsx +10 -9
  177. package/src/MultiSelect/subcomponents/MultiSelectOptions/MultiSelectOptions.spec.tsx +11 -7
  178. package/src/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.tsx +5 -7
  179. package/src/Notification/subcomponents/CancelButton/CancelButton.tsx +2 -2
  180. package/src/Notification/subcomponents/GenericNotification/_mixins.scss +2 -0
  181. package/src/Notification/subcomponents/NotificationIcon/NotificationIcon.module.css +3 -0
  182. package/src/Notification/subcomponents/NotificationIcon/NotificationIcon.tsx +22 -16
  183. package/src/Pagination/subcomponents/DirectionalLink/DirectionalLink.module.scss +0 -4
  184. package/src/Pagination/subcomponents/DirectionalLink/DirectionalLink.tsx +13 -12
  185. package/src/Pagination/subcomponents/TruncateIndicator/TruncateIndicator.module.scss +0 -1
  186. package/src/Pagination/subcomponents/TruncateIndicator/TruncateIndicator.tsx +2 -2
  187. package/src/Popover/Popover.module.scss +3 -3
  188. package/src/Popover/Popover.tsx +2 -2
  189. package/src/Popover/utils/classMappers.tsx +6 -11
  190. package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/_docs/ToggleIconButton.stickersheet.stories.tsx +7 -7
  191. package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/_docs/ToggleIconButton.stories.tsx +2 -2
  192. package/src/RichTextEditor/RichTextEditor/subcomponents/Toolbar/Toolbar.spec.tsx +7 -4
  193. package/src/RichTextEditor/RichTextEditor/subcomponents/Toolbar/_docs/Toolbar.stories.tsx +18 -12
  194. package/src/RichTextEditor/RichTextEditor/utils/controlmap.tsx +25 -18
  195. package/src/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.tsx +4 -8
  196. package/src/Select/Select.module.scss +2 -0
  197. package/src/Select/Select.tsx +10 -7
  198. package/src/SplitButton/subcomponents/DropdownButton/DropdownButton.spec.tsx +4 -5
  199. package/src/SplitButton/subcomponents/DropdownButton/DropdownButton.tsx +2 -2
  200. package/src/Table/Table.tsx +4 -8
  201. package/src/Table/_docs/Table.stickersheet.stories.tsx +4 -4
  202. package/src/Table/_docs/Table.stories.tsx +3 -3
  203. package/src/Tag/Tag.module.scss +2 -0
  204. package/src/Tag/Tag.tsx +7 -13
  205. package/src/Text/Text.module.scss +2 -0
  206. package/src/TextField/TextField.spec.tsx +9 -4
  207. package/src/TextField/TextField.tsx +2 -2
  208. package/src/TextField/_docs/TextField.stories.tsx +4 -3
  209. package/src/Tile/subcomponents/GenericTile/GenericTile.tsx +3 -3
  210. package/src/TitleBlockZen/TitleBlockZen.module.scss +1 -0
  211. package/src/TitleBlockZen/TitleBlockZen.spec.tsx +1 -1
  212. package/src/TitleBlockZen/TitleBlockZen.tsx +6 -9
  213. package/src/TitleBlockZen/_docs/TitleBlockZen.stories.tsx +5 -5
  214. package/src/TitleBlockZen/subcomponents/MainActions.tsx +5 -3
  215. package/src/TitleBlockZen/subcomponents/MobileActions.tsx +13 -16
  216. package/src/TitleBlockZen/subcomponents/SecondaryActions.tsx +3 -3
  217. package/src/ToggleSwitch/ToggleSwitch/ToggleSwitch.module.scss +0 -3
  218. package/src/ToggleSwitch/ToggleSwitch/ToggleSwitch.tsx +2 -2
  219. package/src/Workflow/_docs/Workflow.stories.tsx +4 -5
  220. package/src/Workflow/_docs/WorkflowHeader.stories.tsx +4 -5
  221. package/src/Workflow/_docs/controls/controls.tsx +4 -4
  222. package/src/Workflow/subcomponents/Footer/components/ProgressStepper/ProgressStepper.tsx +6 -31
  223. package/src/__actions__/Button/v1/Button/_docs/Button.mdx +1 -1
  224. package/src/__actions__/Button/v1/Button/_docs/Button.stickersheet.stories.tsx +6 -6
  225. package/src/__actions__/Button/v1/Button/_docs/Button.stories.tsx +7 -6
  226. package/src/__actions__/Button/v1/IconButton/_docs/IconButton.stickersheet.stories.tsx +7 -7
  227. package/src/__actions__/Button/v1/IconButton/_docs/IconButton.stories.tsx +5 -5
  228. package/src/__actions__/Button/v2/Button/_docs/Button.mdx +1 -1
  229. package/src/__actions__/Button/v2/Button/_docs/Button.stories.tsx +7 -6
  230. package/src/__actions__/Button/v2/IconButton/_docs/IconButton.stories.tsx +5 -5
  231. package/src/__actions__/Button/v3/_docs/ApiSpecification.mdx +1 -1
  232. package/src/__actions__/Button/v3/_docs/Button.docs.stories.tsx +1 -1
  233. package/src/__actions__/Button/v3/_docs/Button.mdx +1 -1
  234. package/src/__actions__/Button/v3/_docs/Button.spec.stories.tsx +1 -1
  235. package/src/__actions__/Button/v3/_docs/Button.stickersheet.stories.tsx +1 -1
  236. package/src/__actions__/Button/v3/_docs/Button.stories.tsx +1 -1
  237. package/src/__actions__/Menu/v1/_docs/Menu.stickersheet.stories.tsx +3 -3
  238. package/src/__actions__/Menu/v1/_docs/Menu.stories.tsx +3 -3
  239. package/src/__actions__/Menu/v1/_docs/MenuContentExample.tsx +6 -6
  240. package/src/__actions__/Menu/v1/_docs/examples.tsx +5 -5
  241. package/src/__actions__/Menu/v2/_docs/Menu.stories.tsx +3 -3
  242. package/src/__actions__/Menu/v3/_docs/ApiSpecification.mdx +1 -3
  243. package/src/__actions__/Menu/v3/_docs/Menu.docs.stories.tsx +46 -45
  244. package/src/__actions__/Menu/v3/_docs/Menu.mdx +1 -1
  245. package/src/__actions__/Menu/v3/_docs/Menu.spec.stories.tsx +21 -23
  246. package/src/__actions__/Menu/v3/_docs/Menu.stories.tsx +12 -15
  247. package/src/__future__/Icon/Icon.module.css +35 -0
  248. package/src/__future__/Icon/Icon.spec.tsx +36 -0
  249. package/src/__future__/Icon/Icon.tsx +85 -0
  250. package/src/__future__/Icon/_docs/Icon--api-specification.mdx +98 -0
  251. package/src/__future__/Icon/_docs/Icon--usage-guidelines.mdx +145 -0
  252. package/src/__future__/Icon/_docs/Icon.docs.module.css +17 -0
  253. package/src/__future__/Icon/_docs/Icon.docs.stories.tsx +524 -0
  254. package/src/__future__/Icon/_docs/Icon.stickersheet.stories.tsx +126 -0
  255. package/src/__future__/Icon/_docs/assets/interface-dont.png +0 -0
  256. package/src/__future__/Icon/_docs/assets/tooltip-dont.png +0 -0
  257. package/src/__future__/Icon/constants.ts +149 -0
  258. package/src/__future__/Icon/index.ts +1 -0
  259. package/src/__future__/Icon/material-symbols-metadata.json +3370 -0
  260. package/src/__future__/Icon/types.ts +11 -0
  261. package/src/__future__/Select/subcomponents/Option/Option.tsx +2 -2
  262. package/src/__future__/Select/subcomponents/SelectToggle/SelectToggle.module.scss +1 -1
  263. package/src/__future__/Select/subcomponents/SelectToggle/SelectToggle.tsx +6 -9
  264. package/src/__future__/Tag/RemovableTag/_docs/RemovableTag.stories.tsx +0 -77
  265. package/src/__future__/Tag/RemovableTag/subcomponents/RemoveButton.module.scss +0 -56
  266. package/src/__future__/Tag/RemovableTag/subcomponents/RemoveButton.tsx +2 -12
  267. package/src/__future__/Tag/Tag/Tag.module.scss +1 -1
  268. package/src/__future__/Tag/Tag/_docs/Tag-migration-guide.stories.tsx +6 -17
  269. package/src/__future__/Tag/Tag/_docs/Tag.stickersheet.stories.tsx +5 -2
  270. package/src/__future__/Tag/Tag/_docs/Tag.stories.tsx +13 -6
  271. package/src/__future__/index.ts +1 -0
  272. package/src/__overlays__/Tooltip/v1/_docs/Tooltip.stickersheet.stories.tsx +10 -10
  273. package/src/__overlays__/Tooltip/v1/_docs/Tooltip.stories.tsx +7 -4
  274. package/src/__overlays__/Tooltip/v1/utils/isSemanticElement.spec.tsx +4 -11
  275. package/src/__overlays__/Tooltip/v3/_docs/Tooltip.docs.stories.tsx +10 -10
  276. package/src/__overlays__/Tooltip/v3/_docs/Tooltip.spec.stories.tsx +3 -3
  277. package/codemods/utils/getTagName.spec.ts +0 -24
  278. package/codemods/utils/getTagName.ts +0 -32
  279. package/dist/cjs/__future__/Tag/RemovableTag/subcomponents/RemoveTagIcon.cjs +0 -23
  280. package/dist/esm/__future__/Tag/RemovableTag/subcomponents/RemoveTagIcon.mjs +0 -15
  281. package/dist/types/__future__/Tag/RemovableTag/subcomponents/RemoveTagIcon.d.ts +0 -2
  282. package/src/__future__/Tag/RemovableTag/subcomponents/RemoveTagIcon.tsx +0 -21
@@ -7,9 +7,9 @@ import ReactSelect, {
7
7
  } from "react-select"
8
8
  import Async, { AsyncProps as ReactAsyncSelectProps } from "react-select/async"
9
9
  import { FieldMessage } from "~components/FieldMessage"
10
- import { ChevronDownIcon, ChevronUpIcon, ClearIcon } from "~components/Icon"
11
10
  import { Label } from "~components/Label"
12
11
  import { Tag } from "~components/Tag"
12
+ import { Icon } from "~components/__future__/Icon"
13
13
  import styles from "./Select.module.scss"
14
14
 
15
15
  export type SelectProps = {
@@ -183,11 +183,14 @@ const Placeholder: typeof components.Placeholder = props => (
183
183
 
184
184
  const DropdownIndicator: typeof components.DropdownIndicator = props => (
185
185
  <components.DropdownIndicator {...props} className={styles.dropdownIndicator}>
186
- {props.selectProps.menuIsOpen ? (
187
- <ChevronUpIcon role="presentation" />
188
- ) : (
189
- <ChevronDownIcon role="presentation" />
190
- )}
186
+ <Icon
187
+ name={
188
+ props.selectProps.menuIsOpen
189
+ ? "keyboard_arrow_up"
190
+ : "keyboard_arrow_down"
191
+ }
192
+ isPresentational
193
+ />
191
194
  </components.DropdownIndicator>
192
195
  )
193
196
 
@@ -258,6 +261,6 @@ const ValueContainer: typeof components.ValueContainer = props => (
258
261
  )
259
262
  const ClearIndicator: typeof components.ClearIndicator = props => (
260
263
  <components.ClearIndicator {...props} className={styles.clearIndicator}>
261
- <ClearIcon role="presentation" />
264
+ <Icon name="cancel" isPresentational isFilled />
262
265
  </components.ClearIndicator>
263
266
  )
@@ -7,20 +7,19 @@ const DropdownButtonWrapper = (
7
7
  ): JSX.Element => <DropdownButton {...props} />
8
8
 
9
9
  describe("<DropdownButton />", () => {
10
- it("renders icon with default aria-label", async () => {
10
+ it("has default accessible name", async () => {
11
11
  render(<DropdownButtonWrapper />)
12
12
  await waitFor(() => {
13
13
  const button = screen.getByRole("button", { name: "Additional actions" })
14
- expect(button.getAttribute("aria-label")).toBe("Additional actions")
15
- expect(button.firstChild?.nodeName).toEqual("svg")
14
+ expect(button).toBeInTheDocument()
16
15
  })
17
16
  })
18
17
 
19
- it("renders custom aria-label", async () => {
18
+ it("can customise accessible name", async () => {
20
19
  render(<DropdownButtonWrapper aria-label="Custom aria label" />)
21
20
  await waitFor(() => {
22
21
  const button = screen.getByRole("button", { name: "Custom aria label" })
23
- expect(button.getAttribute("aria-label")).toBe("Custom aria label")
22
+ expect(button).toBeInTheDocument()
24
23
  })
25
24
  })
26
25
  })
@@ -1,7 +1,7 @@
1
1
  import React from "react"
2
2
  import { useIntl } from "@cultureamp/i18n-react-intl"
3
3
  import classnames from "classnames"
4
- import { ChevronDownIcon } from "~components/Icon"
4
+ import { Icon } from "~components/__future__/Icon"
5
5
  import { BaseButton, BaseButtonProps } from "../BaseButton"
6
6
  import styles from "./DropdownButton.module.scss"
7
7
 
@@ -23,7 +23,7 @@ export const DropdownButton = ({
23
23
  description: "Label for a dropdown menu holding additional actions",
24
24
  })
25
25
  }
26
- icon={<ChevronDownIcon role="presentation" />}
26
+ icon={<Icon name="keyboard_arrow_down" isPresentational />}
27
27
  classNameOverride={classnames(styles.dropdownButton, classNameOverride)}
28
28
  {...restProps}
29
29
  />
@@ -2,11 +2,7 @@ import React, { cloneElement, HTMLAttributes, ReactElement } from "react"
2
2
  import classnames from "classnames"
3
3
  import { Checkbox, CheckedStatus } from "~components/Checkbox"
4
4
  import { Heading } from "~components/Heading"
5
- import {
6
- ExclamationIcon,
7
- SortAscendingIcon,
8
- SortDescendingIcon,
9
- } from "~components/Icon"
5
+ import { Icon } from "~components/__future__/Icon"
10
6
  import { Tooltip } from "~components/__overlays__/Tooltip/v1"
11
7
  import { OverrideClassName } from "~components/types/OverrideClassName"
12
8
  import styles from "./Table.module.scss"
@@ -169,7 +165,7 @@ export const TableHeaderRowCell = ({
169
165
  )}
170
166
  {tooltipInfo != null && !isTooltipIconHidden ? (
171
167
  <div className={styles.headerRowCellTooltipIcon}>
172
- <ExclamationIcon role="presentation" />
168
+ <Icon name="error" isPresentational isFilled />
173
169
  </div>
174
170
  ) : null}
175
171
  {/* If an "icon" is supplied, the label is displayed inside the icon aria title instead */}
@@ -192,9 +188,9 @@ export const TableHeaderRowCell = ({
192
188
  )}
193
189
  >
194
190
  {sorting === "ascending" || sortingArrowsOnHover === "ascending" ? (
195
- <SortAscendingIcon role="presentation" />
191
+ <Icon name="arrow_drop_up" isPresentational />
196
192
  ) : (
197
- <SortDescendingIcon role="presentation" />
193
+ <Icon name="arrow_drop_down" isPresentational />
198
194
  )}
199
195
  </div>
200
196
  )}
@@ -1,8 +1,8 @@
1
1
  import React from "react"
2
2
  import { action } from "@storybook/addon-actions"
3
3
  import { Meta, StoryObj } from "@storybook/react"
4
- import { EffectivenessIcon } from "~components/Icon"
5
4
  import { Text } from "~components/Text"
5
+ import { Icon } from "~components/__future__/Icon"
6
6
  import { StickerSheetStory } from "~storybook/components/StickerSheet"
7
7
  import {
8
8
  TableCard,
@@ -178,7 +178,7 @@ const TableTemplate: StoryObj<StickerSheetStory> = {
178
178
  width={4 / 12}
179
179
  sorting="descending"
180
180
  onClick={action("header 1")}
181
- icon={<EffectivenessIcon role="img" aria-label="Focus" />}
181
+ icon={<Icon name="potted_plant" alt="Focus" isFilled />}
182
182
  />
183
183
  <TableHeaderRowCell
184
184
  reversed={isReversed}
@@ -187,7 +187,7 @@ const TableTemplate: StoryObj<StickerSheetStory> = {
187
187
  sorting="ascending"
188
188
  onClick={action("header 3")}
189
189
  data-sb-pseudo-styles="hover"
190
- icon={<EffectivenessIcon role="img" aria-label="Focus" />}
190
+ icon={<Icon name="potted_plant" alt="Focus" isFilled />}
191
191
  />
192
192
  <TableHeaderRowCell
193
193
  reversed={isReversed}
@@ -196,7 +196,7 @@ const TableTemplate: StoryObj<StickerSheetStory> = {
196
196
  sorting="ascending"
197
197
  onClick={action("header 2")}
198
198
  data-sb-pseudo-styles="focus-visible"
199
- icon={<EffectivenessIcon role="img" aria-label="Focus" />}
199
+ icon={<Icon name="potted_plant" alt="Focus" isFilled />}
200
200
  />
201
201
  </TableRow>
202
202
  </TableHeader>
@@ -3,8 +3,8 @@ import { action } from "@storybook/addon-actions"
3
3
  import { Meta, StoryObj } from "@storybook/react"
4
4
  import { Checkbox } from "~components/Checkbox"
5
5
  import { Divider } from "~components/Divider"
6
- import { EffectivenessIcon } from "~components/Icon"
7
6
  import { Text } from "~components/Text"
7
+ import { Icon } from "~components/__future__/Icon"
8
8
  import {
9
9
  TableCard,
10
10
  TableCardProps,
@@ -331,12 +331,12 @@ export const IconVariant: StoryObj<TableStoryProps> = {
331
331
  args: {
332
332
  headerRowCells: [
333
333
  {
334
- icon: <EffectivenessIcon role="presentation" />,
334
+ icon: <Icon name="potted_plant" isPresentational isFilled />,
335
335
  labelText: "Resource name",
336
336
  width: 3 / 12,
337
337
  },
338
338
  {
339
- icon: <EffectivenessIcon role="presentation" />,
339
+ icon: <Icon name="potted_plant" isPresentational isFilled />,
340
340
  labelText: "Supplementary information",
341
341
  width: 3 / 12,
342
342
  },
@@ -55,6 +55,8 @@ $small: $spacing-md;
55
55
  }
56
56
 
57
57
  .iconWrapper {
58
+ --icon-size: 16;
59
+
58
60
  position: relative;
59
61
  height: 16px;
60
62
  width: 16px;
package/src/Tag/Tag.tsx CHANGED
@@ -1,14 +1,8 @@
1
1
  import React from "react"
2
2
  import classnames from "classnames"
3
3
  import { Avatar, AvatarProps } from "~components/Avatar"
4
- import {
5
- CautionIcon,
6
- ClearIcon,
7
- ExclamationIcon,
8
- InformationIcon,
9
- LiveIcon,
10
- SuccessIcon,
11
- } from "~components/Icon"
4
+ import { LiveIcon } from "~components/Icon"
5
+ import { Icon } from "~components/__future__/Icon"
12
6
  import { TagVariants } from "./types"
13
7
  import styles from "./Tag.module.scss"
14
8
 
@@ -85,25 +79,25 @@ export const Tag = (props: TagProps): JSX.Element => {
85
79
  case "validationPositive":
86
80
  return (
87
81
  <span className={styles.validationIcon}>
88
- <SuccessIcon role="presentation" />
82
+ <Icon name="check_circle" isPresentational isFilled />
89
83
  </span>
90
84
  )
91
85
  case "validationNegative":
92
86
  return (
93
87
  <span className={styles.validationIcon}>
94
- <ExclamationIcon role="presentation" />
88
+ <Icon name="error" isPresentational isFilled />
95
89
  </span>
96
90
  )
97
91
  case "validationCautionary":
98
92
  return (
99
93
  <span className={styles.validationIcon}>
100
- <CautionIcon role="presentation" />
94
+ <Icon name="warning" isPresentational isFilled />
101
95
  </span>
102
96
  )
103
97
  case "validationInformative":
104
98
  return (
105
99
  <span className={styles.validationIcon}>
106
- <InformationIcon role="presentation" />
100
+ <Icon name="info" isPresentational isFilled />
107
101
  </span>
108
102
  )
109
103
  case "profile":
@@ -137,7 +131,7 @@ export const Tag = (props: TagProps): JSX.Element => {
137
131
  onMouseLeave={onMouseLeave}
138
132
  >
139
133
  <div className={styles.iconWrapper}>
140
- <ClearIcon inheritSize role="img" aria-label="Dismiss" />
134
+ <Icon name="cancel" alt="Dismiss" isFilled />
141
135
  </div>
142
136
  </button>
143
137
  </>
@@ -2,6 +2,8 @@
2
2
  @import "~@kaizen/design-tokens/sass/typography";
3
3
 
4
4
  .text {
5
+ --icon-vertical-align: text-bottom;
6
+
5
7
  margin: 0;
6
8
 
7
9
  strong {
@@ -26,25 +26,30 @@ describe("<TextField />", () => {
26
26
  <TextField
27
27
  {...defaultProps}
28
28
  description={undefined}
29
- validationMessage="Error message"
29
+ status="caution"
30
+ validationMessage="Revision required"
30
31
  />
31
32
  )
33
+ // React Testing Library bug: Icon should be showing aria-label "caution message" instead
32
34
  const input = getByRole("textbox", {
33
- description: "Error message",
35
+ description: "warning Revision required",
34
36
  })
35
37
 
36
38
  expect(input).toBeInTheDocument()
37
39
  })
40
+
38
41
  it("renders correct aria-describedby when both description and validation message provided", () => {
39
42
  const { getByRole } = render(
40
43
  <TextField
41
44
  {...defaultProps}
42
45
  description="Description text"
43
- validationMessage="Error message"
46
+ status="error"
47
+ validationMessage="Something went wrong"
44
48
  />
45
49
  )
50
+ // React Testing Library bug: Icon should be showing aria-label "error message" instead
46
51
  const input = getByRole("textbox", {
47
- description: "Description text Error message",
52
+ description: "Description text error Something went wrong",
48
53
  })
49
54
 
50
55
  expect(input).toBeInTheDocument()
@@ -2,9 +2,9 @@ import React, { useId } from "react"
2
2
  import classnames from "classnames"
3
3
  import { FieldGroup } from "~components/FieldGroup"
4
4
  import { FieldMessage } from "~components/FieldMessage"
5
- import { SuccessIcon } from "~components/Icon"
6
5
  import { Input, InputProps } from "~components/Input"
7
6
  import { Label } from "~components/Label"
7
+ import { Icon } from "~components/__future__/Icon"
8
8
  import styles from "./TextField.module.scss"
9
9
 
10
10
  type OmittedInputProps =
@@ -92,7 +92,7 @@ export const TextField = ({
92
92
  disabled && styles.disabled
93
93
  )}
94
94
  >
95
- <SuccessIcon role="presentation" />
95
+ <Icon name="check_circle" isPresentational isFilled />
96
96
  </div>
97
97
  )
98
98
  }
@@ -1,6 +1,6 @@
1
1
  import React from "react"
2
2
  import { Meta, StoryObj } from "@storybook/react"
3
- import { WritingIcon } from "~components/Icon"
3
+ import { Icon } from "~components/__future__/Icon"
4
4
  import { TextField } from "../index"
5
5
 
6
6
  const meta = {
@@ -40,8 +40,9 @@ export const Types: Story = {
40
40
  },
41
41
  }
42
42
 
43
- export const Icon: Story = {
44
- args: { icon: <WritingIcon role="presentation" /> },
43
+ export const IconStory: Story = {
44
+ name: "Icon",
45
+ args: { icon: <Icon name="edit" isPresentational isFilled /> },
45
46
  }
46
47
 
47
48
  export const Description: Story = {
@@ -1,10 +1,10 @@
1
1
  import React, { HTMLAttributes, useState } from "react"
2
2
  import classnames from "classnames"
3
3
  import { AllowedHeadingTags, Heading } from "~components/Heading"
4
- import { ArrowBackwardIcon, InformationIcon } from "~components/Icon"
5
4
  import { Text } from "~components/Text"
6
5
  import { GenericButtonProps } from "~components/__actions__/Button/v1/GenericButton"
7
6
  import { IconButton, Button } from "~components/__actions__/v2"
7
+ import { Icon } from "~components/__future__/Icon"
8
8
  import { OverrideClassName } from "~components/types/OverrideClassName"
9
9
  import styles from "./GenericTile.module.scss"
10
10
 
@@ -81,7 +81,7 @@ export const GenericTile = ({
81
81
  <div className={styles.informationBtn}>
82
82
  <IconButton
83
83
  label="Information"
84
- icon={<InformationIcon role="presentation" />}
84
+ icon={<Icon name="info" isPresentational isFilled />}
85
85
  onClick={(): void => setIsFlipped(true)}
86
86
  disabled={isFlipped}
87
87
  aria-hidden={isFlipped}
@@ -140,7 +140,7 @@ export const GenericTile = ({
140
140
  <div className={styles.informationBtn}>
141
141
  <IconButton
142
142
  label="Information"
143
- icon={<ArrowBackwardIcon role="presentation" />}
143
+ icon={<Icon name="arrow_back" isPresentational />}
144
144
  onClick={(): void => setIsFlipped(false)}
145
145
  disabled={!isFlipped}
146
146
  aria-hidden={!isFlipped}
@@ -525,6 +525,7 @@ $tab-container-height-medium-and-small-collapsed: 0;
525
525
  align-items: center;
526
526
  top: 50%;
527
527
  transform: translateY(-50%);
528
+ text-decoration: none;
528
529
 
529
530
  @include ca-position(
530
531
  $start: calc(-#{$breadcrumb-circle-width} - #{$ca-grid})
@@ -258,7 +258,7 @@ describe("<TitleBlockZen />", () => {
258
258
  </TitleBlockZen>
259
259
  )
260
260
  const btn = getByTestId("title-block-primary-action-button")
261
- expect(btn.textContent).toEqual(primaryActionAsMenu.label)
261
+ expect(btn).toHaveAccessibleName(primaryActionAsMenu.label)
262
262
  await user.click(btn)
263
263
 
264
264
  await waitFor(() => {
@@ -2,10 +2,10 @@ import React from "react"
2
2
  import classnames from "classnames"
3
3
  import { Avatar } from "~components/Avatar"
4
4
  import { Heading } from "~components/Heading"
5
- import { ArrowLeftIcon, ArrowRightIcon, HamburgerIcon } from "~components/Icon"
6
5
  import { Select } from "~components/Select"
7
6
  import { Tag } from "~components/Tag"
8
7
  import { IconButton } from "~components/__actions__/v2"
8
+ import { Icon } from "~components/__future__/Icon"
9
9
  import { useMediaQueries } from "~components/utils/useMediaQueries"
10
10
  import { MainActions } from "./subcomponents/MainActions"
11
11
  import { MobileActions } from "./subcomponents/MobileActions"
@@ -157,15 +157,12 @@ const Breadcrumb = ({
157
157
  textDirection,
158
158
  }: TitleBlockBreadcrumbProps): JSX.Element => {
159
159
  const { path, handleClick, text, render } = breadcrumb
160
- const icon =
161
- textDirection === "rtl" ? (
162
- <ArrowRightIcon role="presentation" />
163
- ) : (
164
- <ArrowLeftIcon role="presentation" />
165
- )
160
+
166
161
  const InnerContents = (): JSX.Element => (
167
162
  <>
168
- <div className={styles.circle}>{icon}</div>
163
+ <div className={styles.circle}>
164
+ <Icon name="arrow_back" isPresentational shouldMirrorInRTL />
165
+ </div>
169
166
  <span
170
167
  className={styles.breadcrumbTextLink}
171
168
  data-automation-id={textAutomationId}
@@ -318,7 +315,7 @@ export const TitleBlockZen = ({
318
315
  <div className={styles.hamburger}>
319
316
  <IconButton
320
317
  onClick={handleHamburgerClick}
321
- icon={<HamburgerIcon role="presentation" />}
318
+ icon={<Icon name="menu" isPresentational />}
322
319
  label="Open menu"
323
320
  reversed={isReversed(variant)}
324
321
  />
@@ -1,6 +1,6 @@
1
1
  import React from "react"
2
2
  import { Meta, StoryObj } from "@storybook/react"
3
- import { AddIcon, StarOnIcon } from "~components/Icon"
3
+ import { Icon } from "~components/__future__/Icon"
4
4
  import { assetUrl } from "~components/utils/hostedAssets"
5
5
  import { StickerSheet } from "~storybook/components/StickerSheet"
6
6
  import { NavigationTab, TitleBlockZen } from "../index"
@@ -16,7 +16,7 @@ const SECONDARY_ACTIONS = [
16
16
  {
17
17
  onClick: (): void => alert("test"),
18
18
  label: "Secondary menu action 2",
19
- icon: <StarOnIcon role="presentation" />,
19
+ icon: <Icon name="star" isPresentational isFilled />,
20
20
  },
21
21
  ],
22
22
  },
@@ -41,7 +41,7 @@ const meta = {
41
41
  },
42
42
  primaryAction: {
43
43
  label: "Primary link",
44
- icon: <AddIcon role="presentation" />,
44
+ icon: <Icon name="add" isPresentational />,
45
45
  disabled: true,
46
46
  href: "#",
47
47
  },
@@ -53,11 +53,11 @@ const meta = {
53
53
  secondaryOverflowMenuItems: [
54
54
  {
55
55
  label: "Overflow action 1",
56
- icon: <StarOnIcon role="presentation" />,
56
+ icon: <Icon name="star" isPresentational isFilled />,
57
57
  },
58
58
  {
59
59
  label: "Overflow link 1",
60
- icon: <StarOnIcon role="presentation" />,
60
+ icon: <Icon name="star" isPresentational isFilled />,
61
61
  },
62
62
  ],
63
63
  handleHamburgerClick: (): void => alert("Hamburger clicked"),
@@ -1,6 +1,6 @@
1
1
  import React from "react"
2
- import { ChevronDownIcon, MeatballsIcon } from "~components/Icon"
3
2
  import { Menu, MenuList, Button, IconButton } from "~components/__actions__/v2"
3
+ import { Icon } from "~components/__future__/Icon"
4
4
  import { TITLE_BLOCK_ZEN_SECONDARY_MENU_HTML_ID } from "../constants"
5
5
  import {
6
6
  DefaultActionProps,
@@ -71,7 +71,9 @@ export const MainActions = ({
71
71
  label={primaryAction.label}
72
72
  primary
73
73
  reversed={reversed}
74
- icon={<ChevronDownIcon role="presentation" />}
74
+ icon={
75
+ <Icon name="keyboard_arrow_down" isPresentational />
76
+ }
75
77
  iconPosition="end"
76
78
  data-automation-id="title-block-primary-action-button"
77
79
  data-testid="title-block-primary-action-button"
@@ -162,7 +164,7 @@ export const MainActions = ({
162
164
  id={TITLE_BLOCK_ZEN_SECONDARY_MENU_HTML_ID}
163
165
  label="Open secondary menu"
164
166
  reversed={reversed}
165
- icon={<MeatballsIcon role="presentation" />}
167
+ icon={<Icon name="more_horiz" isPresentational />}
166
168
  />
167
169
  }
168
170
  >
@@ -1,13 +1,13 @@
1
1
  import React, { useCallback, useEffect, useState } from "react"
2
2
  import classnames from "classnames"
3
3
  import { FocusOn } from "react-focus-on"
4
- import { ChevronDownIcon, ChevronUpIcon } from "~components/Icon"
5
4
  import {
6
5
  MenuItem,
7
6
  MenuList,
8
7
  MenuHeading,
9
8
  ButtonProps,
10
9
  } from "~components/__actions__/v2"
10
+ import { Icon } from "~components/__future__/Icon"
11
11
  import { TITLE_BLOCK_ZEN_OTHER_ACTIONS_HTML_ID } from "../constants"
12
12
  import {
13
13
  DefaultActionProps,
@@ -352,11 +352,10 @@ const DrawerHandle = ({
352
352
  >
353
353
  {primaryAction.label}
354
354
  <span className={styles.mobileActionsChevronSquare}>
355
- {isOpen ? (
356
- <ChevronDownIcon role="presentation" />
357
- ) : (
358
- <ChevronUpIcon role="presentation" />
359
- )}
355
+ <Icon
356
+ name={isOpen ? "keyboard_arrow_down" : "keyboard_arrow_up"}
357
+ isPresentational
358
+ />
360
359
  </span>
361
360
  </button>
362
361
  </div>
@@ -407,11 +406,10 @@ const DrawerHandle = ({
407
406
  id={TITLE_BLOCK_ZEN_OTHER_ACTIONS_HTML_ID}
408
407
  aria-label="Other actions"
409
408
  >
410
- {isOpen ? (
411
- <ChevronDownIcon role="presentation" />
412
- ) : (
413
- <ChevronUpIcon role="presentation" />
414
- )}
409
+ <Icon
410
+ name={isOpen ? "keyboard_arrow_down" : "keyboard_arrow_up"}
411
+ isPresentational
412
+ />
415
413
  </button>
416
414
  )}
417
415
  </div>
@@ -440,11 +438,10 @@ const DrawerHandle = ({
440
438
  >
441
439
  {renderDrawerHandleLabel("Other actions")}
442
440
  <span className={styles.mobileActionsChevronSquare}>
443
- {isOpen ? (
444
- <ChevronDownIcon role="presentation" />
445
- ) : (
446
- <ChevronUpIcon role="presentation" />
447
- )}
441
+ <Icon
442
+ name={isOpen ? "keyboard_arrow_down" : "keyboard_arrow_up"}
443
+ isPresentational
444
+ />
448
445
  </span>
449
446
  </button>
450
447
  </div>
@@ -1,6 +1,6 @@
1
1
  import React from "react"
2
- import { ChevronDownIcon, MeatballsIcon } from "~components/Icon"
3
2
  import { Menu, MenuList, Button, IconButton } from "~components/__actions__/v2"
3
+ import { Icon } from "~components/__future__/Icon"
4
4
  import styles from "../TitleBlockZen.module.scss"
5
5
  import { TITLE_BLOCK_ZEN_SECONDARY_MENU_HTML_ID } from "../constants"
6
6
  import { SecondaryActionsProps, TitleBlockMenuItemProps } from "../types"
@@ -25,7 +25,7 @@ const renderSecondaryOverflowMenu = (
25
25
  <IconButton
26
26
  label="Open secondary menu"
27
27
  reversed={reversed}
28
- icon={<MeatballsIcon role="presentation" />}
28
+ icon={<Icon name="more_horiz" isPresentational />}
29
29
  id={TITLE_BLOCK_ZEN_SECONDARY_MENU_HTML_ID}
30
30
  />
31
31
  }
@@ -63,7 +63,7 @@ export const SecondaryActions = ({
63
63
  secondary
64
64
  label={action.label}
65
65
  reversed={reversed}
66
- icon={<ChevronDownIcon role="presentation" />}
66
+ icon={<Icon name="keyboard_arrow_down" isPresentational />}
67
67
  iconPosition="end"
68
68
  />
69
69
  }
@@ -51,9 +51,6 @@ $focus-ring-offset: 1px;
51
51
  background-color: $color-white;
52
52
  border: $border-borderless-border-width $border-borderless-border-style
53
53
  $border-borderless-border-color;
54
- box-sizing: content-box;
55
- width: calc(#{$spacing-md} * 0.9);
56
- height: calc(#{$spacing-md} * 0.9);
57
54
  border-radius: $spacing-md;
58
55
  transition:
59
56
  left $animation-timing,
@@ -1,6 +1,6 @@
1
1
  import React, { InputHTMLAttributes } from "react"
2
2
  import classnames from "classnames"
3
- import { CheckIcon } from "~components/Icon"
3
+ import { Icon } from "~components/__future__/Icon"
4
4
  import { OverrideClassName } from "~components/types/OverrideClassName"
5
5
  import styles from "./ToggleSwitch.module.scss"
6
6
 
@@ -41,7 +41,7 @@ export const ToggleSwitch = ({
41
41
  />
42
42
  <span className={styles.track}>
43
43
  <span className={styles.thumb}>
44
- <CheckIcon classNameOverride={styles.checkIcon} role="presentation" />
44
+ <Icon name="check" isPresentational className={styles.checkIcon} />
45
45
  </span>
46
46
  </span>
47
47
  </span>
@@ -1,11 +1,10 @@
1
1
  import React from "react"
2
2
  import { Meta, StoryObj } from "@storybook/react"
3
3
  import { Heading } from "~components/Heading"
4
- import { CloseIcon, VisibleIcon } from "~components/Icon"
5
4
  import { Text } from "~components/Text"
6
5
  import { TextField } from "~components/TextField"
7
6
  import { Button } from "~components/__actions__/v2"
8
- import { Tag } from "~components/__future__"
7
+ import { Icon, Tag } from "~components/__future__"
9
8
  import { Workflow } from "../"
10
9
  import { WorkflowControls } from "./controls"
11
10
 
@@ -55,7 +54,7 @@ const meta = {
55
54
  <Button
56
55
  key="would-use-uui-2"
57
56
  label="Save and close"
58
- icon={<CloseIcon role="presentation" />}
57
+ icon={<Icon name="close" isPresentational />}
59
58
  secondary
60
59
  iconPosition="end"
61
60
  />,
@@ -85,14 +84,14 @@ export const MultipleActions: Story = {
85
84
  <Button
86
85
  key="would-use-uui-1"
87
86
  label="Preview"
88
- icon={<VisibleIcon role="presentation" />}
87
+ icon={<Icon name="visibility" isPresentational isFilled />}
89
88
  secondary
90
89
  iconPosition="start"
91
90
  />,
92
91
  <Button
93
92
  key="would-use-uui-2"
94
93
  label="Save and close"
95
- icon={<CloseIcon role="presentation" />}
94
+ icon={<Icon name="close" isPresentational />}
96
95
  secondary
97
96
  iconPosition="end"
98
97
  onClick={(): void => alert("mock example of a save action")}