@kaizen/components 0.0.0-canary-fix-select-futureselect-focus-jumping-20241003232256 → 0.0.0-canary-tsx-codemod-20241029235345

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 (411) hide show
  1. package/bin/codemod.sh +2 -2
  2. package/codemods/README.md +12 -4
  3. package/codemods/upgradeIconV1/getNewIconPropsFromOldIconName.ts +255 -0
  4. package/codemods/upgradeIconV1/index.ts +33 -0
  5. package/codemods/upgradeIconV1/transformCaMonogramIconToBrand.spec.ts +83 -0
  6. package/codemods/upgradeIconV1/transformCaMonogramIconToBrand.ts +53 -0
  7. package/codemods/upgradeIconV1/transformIcon.spec.ts +181 -0
  8. package/codemods/upgradeIconV1/transformIcon.ts +115 -0
  9. package/codemods/upgradeIconV1/transformSpinnerIconToLoadingSpinner.spec.ts +81 -0
  10. package/codemods/upgradeIconV1/transformSpinnerIconToLoadingSpinner.ts +41 -0
  11. package/codemods/upgradeIconV1/upgradeIconV1.spec.ts +306 -0
  12. package/codemods/upgradeIconV1/upgradeIconV1.ts +94 -0
  13. package/codemods/utils/createProp.spec.ts +83 -0
  14. package/codemods/utils/createProp.ts +51 -0
  15. package/codemods/utils/getKaioTagName.spec.ts +85 -0
  16. package/codemods/utils/getKaioTagName.ts +129 -0
  17. package/codemods/utils/index.ts +3 -1
  18. package/codemods/utils/transformComponentsInDir.ts +32 -16
  19. package/codemods/utils/transformSource.ts +10 -5
  20. package/codemods/utils/updateJsxElementWithNewProps.ts +4 -3
  21. package/codemods/utils/updateKaioImports.spec.ts +223 -0
  22. package/codemods/utils/updateKaioImports.ts +233 -0
  23. package/dist/cjs/Avatar/Avatar.cjs +16 -13
  24. package/dist/cjs/Calendar/CalendarRange/CalendarRange.cjs +9 -7
  25. package/dist/cjs/Calendar/CalendarSingle/CalendarSingle.cjs +9 -7
  26. package/dist/cjs/Calendar/LegacyCalendarRange/LegacyCalendarRange.cjs +9 -7
  27. package/dist/cjs/Checkbox/Checkbox/Checkbox.cjs +5 -11
  28. package/dist/cjs/ClearButton/ClearButton.cjs +5 -4
  29. package/dist/cjs/Collapsible/Collapsible/Collapsible.cjs +4 -7
  30. package/dist/cjs/DateInput/DateInputWithIconButton/DateInputWithIconButton.cjs +5 -4
  31. package/dist/cjs/DateRangePicker/DateRangePicker.cjs +5 -4
  32. package/dist/cjs/ErrorPage/ErrorPage.cjs +9 -7
  33. package/dist/cjs/FieldMessage/FieldMessage.cjs +5 -11
  34. package/dist/cjs/Filter/FilterBar/context/FilterBarContext.cjs +17 -2
  35. package/dist/cjs/Filter/FilterBar/context/reducer/filterBarStateReducer.cjs +4 -0
  36. package/dist/cjs/Filter/FilterBar/context/reducer/setupFilterBarState.cjs +2 -1
  37. package/dist/cjs/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.cjs +16 -6
  38. package/dist/cjs/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.cjs +12 -1
  39. package/dist/cjs/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.cjs +13 -2
  40. package/dist/cjs/Filter/FilterButton/FilterButton/FilterButton.cjs +4 -7
  41. package/dist/cjs/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.cjs +5 -5
  42. package/dist/cjs/Filter/FilterMultiSelect/FilterMultiSelect.cjs +4 -2
  43. package/dist/cjs/Filter/FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.cjs +4 -2
  44. package/dist/cjs/Filter/FilterMultiSelect/subcomponents/MultiSelectOption/MultiSelectOption.cjs +4 -4
  45. package/dist/cjs/Filter/FilterSelect/FilterSelect.cjs +2 -1
  46. package/dist/cjs/GuidanceBlock/GuidanceBlock.cjs +5 -4
  47. package/dist/cjs/Illustration/utils/usePausePlay.cjs +5 -8
  48. package/dist/cjs/Input/InputSearch/InputSearch.cjs +4 -3
  49. package/dist/cjs/LikertScaleLegacy/LikertScaleLegacy.cjs +5 -6
  50. package/dist/cjs/Loading/LoadingSpinner/LoadingSpinner.cjs +6 -42
  51. package/dist/cjs/Loading/LoadingSpinner/LoadingSpinner.module.css.cjs +10 -0
  52. package/dist/cjs/Loading/LoadingSpinner/subcomponents/SpinnerIcon.cjs +80 -0
  53. package/dist/cjs/Modal/ConfirmationModal/ConfirmationModal.cjs +31 -26
  54. package/dist/cjs/Modal/GenericModal/subcomponents/ModalHeader/ModalHeader.cjs +4 -5
  55. package/dist/cjs/MultiSelect/subcomponents/Checkbox/Checkbox.cjs +7 -17
  56. package/dist/cjs/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.cjs +4 -7
  57. package/dist/cjs/Notification/subcomponents/CancelButton/CancelButton.cjs +4 -3
  58. package/dist/cjs/Notification/subcomponents/NotificationIcon/NotificationIcon.cjs +33 -38
  59. package/dist/cjs/Notification/subcomponents/NotificationIcon/NotificationIcon.module.css.cjs +6 -0
  60. package/dist/cjs/Pagination/subcomponents/DirectionalLink/DirectionalLink.cjs +11 -19
  61. package/dist/cjs/Pagination/subcomponents/TruncateIndicator/TruncateIndicator.cjs +4 -5
  62. package/dist/cjs/Popover/Popover.cjs +5 -4
  63. package/dist/cjs/Popover/utils/classMappers.cjs +21 -16
  64. package/dist/cjs/RichTextEditor/RichTextEditor/utils/controlmap.cjs +29 -25
  65. package/dist/cjs/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.cjs +10 -12
  66. package/dist/cjs/Select/Select.cjs +8 -10
  67. package/dist/cjs/SplitButton/subcomponents/DropdownButton/DropdownButton.cjs +4 -4
  68. package/dist/cjs/Table/Table.cjs +11 -10
  69. package/dist/cjs/Tag/Tag.cjs +21 -17
  70. package/dist/cjs/TextArea/TextArea.cjs +20 -52
  71. package/dist/cjs/TextArea/TextArea.module.css.cjs +14 -0
  72. package/dist/cjs/TextField/TextField.cjs +7 -6
  73. package/dist/cjs/TextField/TextField.module.scss.cjs +4 -6
  74. package/dist/cjs/Tile/subcomponents/GenericTile/GenericTile.cjs +8 -7
  75. package/dist/cjs/TitleBlockZen/TitleBlockZen.cjs +9 -12
  76. package/dist/cjs/TitleBlockZen/subcomponents/MainActions.cjs +7 -7
  77. package/dist/cjs/TitleBlockZen/subcomponents/MobileActions.cjs +10 -15
  78. package/dist/cjs/TitleBlockZen/subcomponents/SecondaryActions.cjs +7 -7
  79. package/dist/cjs/ToggleSwitch/ToggleSwitch/ToggleSwitch.cjs +5 -5
  80. package/dist/cjs/Workflow/subcomponents/Footer/components/ProgressStepper/ProgressStepper.cjs +13 -18
  81. package/dist/cjs/__future__/Icon/Icon.cjs +47 -0
  82. package/dist/cjs/__future__/Icon/Icon.module.css.cjs +10 -0
  83. package/dist/cjs/__future__/Icon/constants.cjs +8 -0
  84. package/dist/cjs/__future__/Select/subcomponents/ListBox/ListBox.cjs +7 -10
  85. package/dist/cjs/__future__/Select/subcomponents/Option/Option.cjs +4 -5
  86. package/dist/cjs/__future__/Select/subcomponents/SelectToggle/SelectToggle.cjs +5 -9
  87. package/dist/cjs/__future__/Tabs/Tabs.cjs +23 -0
  88. package/dist/cjs/__future__/Tabs/subcomponents/Tab/Tab.cjs +39 -0
  89. package/dist/cjs/__future__/Tabs/subcomponents/Tab/Tab.module.css.cjs +7 -0
  90. package/dist/cjs/__future__/Tabs/subcomponents/TabList/TabList.cjs +31 -0
  91. package/dist/cjs/__future__/Tabs/subcomponents/TabList/TabList.module.css.cjs +7 -0
  92. package/dist/cjs/__future__/Tabs/subcomponents/TabPanel/TabPanel.cjs +24 -0
  93. package/dist/cjs/__future__/Tag/RemovableTag/subcomponents/RemoveButton.cjs +4 -3
  94. package/dist/cjs/future.cjs +10 -0
  95. package/dist/esm/Avatar/Avatar.mjs +16 -13
  96. package/dist/esm/Calendar/CalendarRange/CalendarRange.mjs +9 -7
  97. package/dist/esm/Calendar/CalendarSingle/CalendarSingle.mjs +9 -7
  98. package/dist/esm/Calendar/LegacyCalendarRange/LegacyCalendarRange.mjs +9 -7
  99. package/dist/esm/Checkbox/Checkbox/Checkbox.mjs +5 -11
  100. package/dist/esm/ClearButton/ClearButton.mjs +5 -4
  101. package/dist/esm/Collapsible/Collapsible/Collapsible.mjs +5 -8
  102. package/dist/esm/DateInput/DateInputWithIconButton/DateInputWithIconButton.mjs +5 -4
  103. package/dist/esm/DateRangePicker/DateRangePicker.mjs +5 -4
  104. package/dist/esm/ErrorPage/ErrorPage.mjs +10 -8
  105. package/dist/esm/FieldMessage/FieldMessage.mjs +6 -12
  106. package/dist/esm/Filter/FilterBar/context/FilterBarContext.mjs +17 -2
  107. package/dist/esm/Filter/FilterBar/context/reducer/filterBarStateReducer.mjs +4 -0
  108. package/dist/esm/Filter/FilterBar/context/reducer/setupFilterBarState.mjs +2 -1
  109. package/dist/esm/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.mjs +17 -7
  110. package/dist/esm/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.mjs +13 -2
  111. package/dist/esm/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.mjs +14 -3
  112. package/dist/esm/Filter/FilterButton/FilterButton/FilterButton.mjs +5 -8
  113. package/dist/esm/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.mjs +5 -5
  114. package/dist/esm/Filter/FilterMultiSelect/FilterMultiSelect.mjs +4 -2
  115. package/dist/esm/Filter/FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.mjs +4 -2
  116. package/dist/esm/Filter/FilterMultiSelect/subcomponents/MultiSelectOption/MultiSelectOption.mjs +4 -4
  117. package/dist/esm/Filter/FilterSelect/FilterSelect.mjs +2 -1
  118. package/dist/esm/GuidanceBlock/GuidanceBlock.mjs +5 -4
  119. package/dist/esm/Illustration/utils/usePausePlay.mjs +5 -8
  120. package/dist/esm/Input/InputSearch/InputSearch.mjs +4 -3
  121. package/dist/esm/LikertScaleLegacy/LikertScaleLegacy.mjs +5 -6
  122. package/dist/esm/Loading/LoadingSpinner/LoadingSpinner.mjs +6 -42
  123. package/dist/esm/Loading/LoadingSpinner/LoadingSpinner.module.css.mjs +8 -0
  124. package/dist/esm/Loading/LoadingSpinner/subcomponents/SpinnerIcon.mjs +72 -0
  125. package/dist/esm/Modal/ConfirmationModal/ConfirmationModal.mjs +31 -26
  126. package/dist/esm/Modal/GenericModal/subcomponents/ModalHeader/ModalHeader.mjs +4 -5
  127. package/dist/esm/MultiSelect/subcomponents/Checkbox/Checkbox.mjs +7 -17
  128. package/dist/esm/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.mjs +5 -8
  129. package/dist/esm/Notification/subcomponents/CancelButton/CancelButton.mjs +4 -3
  130. package/dist/esm/Notification/subcomponents/NotificationIcon/NotificationIcon.mjs +33 -38
  131. package/dist/esm/Notification/subcomponents/NotificationIcon/NotificationIcon.module.css.mjs +4 -0
  132. package/dist/esm/Pagination/subcomponents/DirectionalLink/DirectionalLink.mjs +11 -19
  133. package/dist/esm/Pagination/subcomponents/TruncateIndicator/TruncateIndicator.mjs +4 -5
  134. package/dist/esm/Popover/Popover.mjs +5 -4
  135. package/dist/esm/Popover/utils/classMappers.mjs +21 -16
  136. package/dist/esm/RichTextEditor/RichTextEditor/utils/controlmap.mjs +33 -29
  137. package/dist/esm/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.mjs +10 -12
  138. package/dist/esm/Select/Select.mjs +9 -11
  139. package/dist/esm/SplitButton/subcomponents/DropdownButton/DropdownButton.mjs +4 -4
  140. package/dist/esm/Table/Table.mjs +11 -10
  141. package/dist/esm/Tag/Tag.mjs +21 -17
  142. package/dist/esm/TextArea/TextArea.mjs +21 -53
  143. package/dist/esm/TextArea/TextArea.module.css.mjs +12 -0
  144. package/dist/esm/TextField/TextField.mjs +7 -6
  145. package/dist/esm/TextField/TextField.module.scss.mjs +4 -6
  146. package/dist/esm/Tile/subcomponents/GenericTile/GenericTile.mjs +8 -7
  147. package/dist/esm/TitleBlockZen/TitleBlockZen.mjs +9 -12
  148. package/dist/esm/TitleBlockZen/subcomponents/MainActions.mjs +7 -7
  149. package/dist/esm/TitleBlockZen/subcomponents/MobileActions.mjs +13 -18
  150. package/dist/esm/TitleBlockZen/subcomponents/SecondaryActions.mjs +7 -7
  151. package/dist/esm/ToggleSwitch/ToggleSwitch/ToggleSwitch.mjs +5 -5
  152. package/dist/esm/Workflow/subcomponents/Footer/components/ProgressStepper/ProgressStepper.mjs +16 -21
  153. package/dist/esm/__future__/Icon/Icon.mjs +38 -0
  154. package/dist/esm/__future__/Icon/Icon.module.css.mjs +8 -0
  155. package/dist/esm/__future__/Icon/constants.mjs +6 -0
  156. package/dist/esm/__future__/Select/subcomponents/ListBox/ListBox.mjs +7 -11
  157. package/dist/esm/__future__/Select/subcomponents/Option/Option.mjs +4 -5
  158. package/dist/esm/__future__/Select/subcomponents/SelectToggle/SelectToggle.mjs +6 -10
  159. package/dist/esm/__future__/Tabs/Tabs.mjs +15 -0
  160. package/dist/esm/__future__/Tabs/subcomponents/Tab/Tab.mjs +30 -0
  161. package/dist/esm/__future__/Tabs/subcomponents/Tab/Tab.module.css.mjs +5 -0
  162. package/dist/esm/__future__/Tabs/subcomponents/TabList/TabList.mjs +22 -0
  163. package/dist/esm/__future__/Tabs/subcomponents/TabList/TabList.module.css.mjs +5 -0
  164. package/dist/esm/__future__/Tabs/subcomponents/TabPanel/TabPanel.mjs +16 -0
  165. package/dist/esm/__future__/Tag/RemovableTag/subcomponents/RemoveButton.mjs +4 -3
  166. package/dist/esm/future.mjs +5 -0
  167. package/dist/styles.css +828 -1388
  168. package/dist/types/Filter/FilterBar/context/FilterBarContext.d.ts +2 -0
  169. package/dist/types/Filter/FilterBar/context/reducer/filterBarStateReducer.d.ts +3 -0
  170. package/dist/types/Filter/FilterBar/context/types.d.ts +1 -0
  171. package/dist/types/Filter/FilterMultiSelect/FilterMultiSelect.d.ts +2 -1
  172. package/dist/types/Filter/FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.d.ts +2 -1
  173. package/dist/types/Loading/LoadingSpinner/LoadingSpinner.d.ts +2 -2
  174. package/dist/types/Loading/LoadingSpinner/subcomponents/SpinnerIcon.d.ts +5 -0
  175. package/dist/types/Loading/LoadingSpinner/subcomponents/index.d.ts +1 -0
  176. package/dist/types/Tabs/subcomponents/index.d.ts +0 -1
  177. package/dist/types/TextArea/TextArea.d.ts +4 -0
  178. package/dist/types/__future__/Icon/Icon.d.ts +21 -0
  179. package/dist/types/__future__/Icon/constants.d.ts +5 -0
  180. package/dist/types/__future__/Icon/index.d.ts +1 -0
  181. package/dist/types/__future__/Icon/types.d.ts +4 -0
  182. package/dist/types/__future__/Tabs/Tabs.d.ts +11 -0
  183. package/dist/types/__future__/Tabs/index.d.ts +2 -0
  184. package/dist/types/__future__/Tabs/subcomponents/Tab/Tab.d.ts +12 -0
  185. package/dist/types/__future__/Tabs/subcomponents/Tab/index.d.ts +1 -0
  186. package/dist/types/__future__/Tabs/subcomponents/TabList/TabList.d.ts +17 -0
  187. package/dist/types/__future__/Tabs/subcomponents/TabList/index.d.ts +1 -0
  188. package/dist/types/__future__/Tabs/subcomponents/TabPanel/TabPanel.d.ts +6 -0
  189. package/dist/types/__future__/Tabs/subcomponents/TabPanel/index.d.ts +1 -0
  190. package/dist/types/__future__/Tabs/subcomponents/index.d.ts +3 -0
  191. package/dist/types/__future__/index.d.ts +2 -0
  192. package/package.json +36 -37
  193. package/src/Avatar/Avatar.module.scss +10 -12
  194. package/src/Avatar/Avatar.tsx +14 -5
  195. package/src/BrandMoment/_docs/BrandMoment.stories.tsx +6 -10
  196. package/src/BrandMoment/_docs/ExampleHeaders.tsx +2 -2
  197. package/src/Calendar/CalendarRange/CalendarRange.tsx +7 -3
  198. package/src/Calendar/CalendarSingle/CalendarSingle.tsx +7 -3
  199. package/src/Calendar/LegacyCalendarRange/LegacyCalendarRange.tsx +7 -3
  200. package/src/Calendar/baseCalendarClassNames.module.scss +0 -4
  201. package/src/Checkbox/Checkbox/Checkbox.module.scss +2 -10
  202. package/src/Checkbox/Checkbox/Checkbox.tsx +6 -8
  203. package/src/ClearButton/ClearButton.tsx +2 -2
  204. package/src/Collapsible/Collapsible/Collapsible.tsx +5 -6
  205. package/src/Collapsible/Collapsible/_docs/Collapsible.stories.tsx +2 -2
  206. package/src/DateInput/DateInputWithIconButton/DateInputWithIconButton.module.scss +2 -7
  207. package/src/DateInput/DateInputWithIconButton/DateInputWithIconButton.tsx +2 -2
  208. package/src/DateRangePicker/DateRangePicker.tsx +2 -2
  209. package/src/EmptyState/_docs/EmptyState.stickersheet.stories.tsx +8 -2
  210. package/src/EmptyState/_docs/EmptyState.stories.tsx +4 -2
  211. package/src/ErrorPage/ErrorPage.tsx +5 -3
  212. package/src/FieldMessage/FieldMessage.tsx +6 -14
  213. package/src/Filter/FilterBar/FilterBar.spec.tsx +99 -12
  214. package/src/Filter/FilterBar/context/FilterBarContext.tsx +11 -2
  215. package/src/Filter/FilterBar/context/reducer/filterBarStateReducer.ts +7 -0
  216. package/src/Filter/FilterBar/context/reducer/setupFilterBarState.ts +1 -0
  217. package/src/Filter/FilterBar/context/types.ts +1 -0
  218. package/src/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.tsx +14 -4
  219. package/src/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.tsx +10 -2
  220. package/src/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.tsx +18 -3
  221. package/src/Filter/FilterButton/FilterButton/FilterButton.module.scss +1 -1
  222. package/src/Filter/FilterButton/FilterButton/FilterButton.tsx +5 -6
  223. package/src/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.tsx +2 -2
  224. package/src/Filter/FilterDateRangePicker/FilterDateRangePicker.spec.tsx +0 -1
  225. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeInputField/DateRangeInputField.spec.tsx +2 -1
  226. package/src/Filter/FilterMultiSelect/FilterMultiSelect.tsx +3 -1
  227. package/src/Filter/FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.tsx +4 -1
  228. package/src/Filter/FilterMultiSelect/subcomponents/MultiSelectOption/MultiSelectOption.tsx +2 -2
  229. package/src/Filter/FilterMultiSelect/subcomponents/SelectionControlButton/SelectionControlButton.module.scss +9 -11
  230. package/src/Filter/FilterSelect/FilterSelect.spec.tsx +52 -21
  231. package/src/Filter/FilterSelect/FilterSelect.tsx +2 -1
  232. package/src/Filter/FilterSelect/_docs/FilterSelect.stories.tsx +0 -1
  233. package/src/GuidanceBlock/GuidanceBlock.module.scss +4 -5
  234. package/src/GuidanceBlock/GuidanceBlock.tsx +6 -2
  235. package/src/Icon/_docs/{Icon.stories.tsx → Icon.docs.stories.tsx} +1 -1
  236. package/src/Icon/_docs/Icon.mdx +1 -2
  237. package/src/Icon/_docs/Icon.stickersheet.stories.tsx +1 -1
  238. package/src/Icon/bin/update-icons.sh +1 -1
  239. package/src/Illustration/utils/usePausePlay.tsx +7 -5
  240. package/src/Input/Input/_docs/Input.stickersheet.stories.tsx +7 -5
  241. package/src/Input/Input/_docs/Input.stories.tsx +5 -3
  242. package/src/Input/InputRange/InputRange.module.scss +4 -4
  243. package/src/Input/InputSearch/InputSearch.module.scss +21 -21
  244. package/src/Input/InputSearch/InputSearch.tsx +2 -2
  245. package/src/Label/Label.module.scss +4 -0
  246. package/src/LikertScaleLegacy/LikertScaleLegacy.module.scss +7 -8
  247. package/src/LikertScaleLegacy/LikertScaleLegacy.tsx +2 -2
  248. package/src/Loading/LoadingGraphic/_docs/LoadingGraphic.stories.tsx +2 -2
  249. package/src/Loading/LoadingSpinner/LoadingSpinner.module.css +32 -0
  250. package/src/Loading/LoadingSpinner/LoadingSpinner.tsx +10 -54
  251. package/src/Loading/LoadingSpinner/_docs/LoadingSpinner.mdx +7 -2
  252. package/src/Loading/LoadingSpinner/_docs/LoadingSpinner.stickersheet.stories.tsx +2 -1
  253. package/src/Loading/LoadingSpinner/_docs/LoadingSpinner.stories.tsx +19 -0
  254. package/src/Loading/LoadingSpinner/subcomponents/SpinnerIcon.tsx +87 -0
  255. package/src/Loading/LoadingSpinner/subcomponents/index.ts +1 -0
  256. package/src/Modal/ConfirmationModal/ConfirmationModal.module.scss +2 -0
  257. package/src/Modal/ConfirmationModal/ConfirmationModal.tsx +32 -35
  258. package/src/Modal/ContextModal/ContextModal.module.scss +4 -4
  259. package/src/Modal/GenericModal/GenericModal.module.scss +8 -8
  260. package/src/Modal/GenericModal/subcomponents/ModalHeader/ModalHeader.module.scss +2 -2
  261. package/src/Modal/GenericModal/subcomponents/ModalHeader/ModalHeader.tsx +2 -2
  262. package/src/Modal/InputEditModal/InputEditModal.module.scss +4 -4
  263. package/src/MultiSelect/MultiSelect.spec.tsx +7 -3
  264. package/src/MultiSelect/subcomponents/Checkbox/Checkbox.module.scss +0 -6
  265. package/src/MultiSelect/subcomponents/Checkbox/Checkbox.tsx +10 -9
  266. package/src/MultiSelect/subcomponents/MultiSelectOptions/MultiSelectOptions.spec.tsx +11 -7
  267. package/src/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.tsx +5 -7
  268. package/src/Notification/subcomponents/CancelButton/CancelButton.tsx +2 -2
  269. package/src/Notification/subcomponents/GenericNotification/_mixins.scss +9 -8
  270. package/src/Notification/subcomponents/NotificationIcon/NotificationIcon.module.css +3 -0
  271. package/src/Notification/subcomponents/NotificationIcon/NotificationIcon.tsx +22 -16
  272. package/src/Pagination/subcomponents/DirectionalLink/DirectionalLink.module.scss +0 -4
  273. package/src/Pagination/subcomponents/DirectionalLink/DirectionalLink.tsx +13 -12
  274. package/src/Pagination/subcomponents/TruncateIndicator/TruncateIndicator.module.scss +0 -1
  275. package/src/Pagination/subcomponents/TruncateIndicator/TruncateIndicator.tsx +2 -2
  276. package/src/Popover/Popover.module.scss +3 -3
  277. package/src/Popover/Popover.tsx +2 -2
  278. package/src/Popover/utils/classMappers.tsx +6 -11
  279. package/src/RichTextEditor/RichTextEditor/RichTextEditor.module.scss +2 -2
  280. package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/ToggleIconButton.module.scss +1 -1
  281. package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/_docs/ToggleIconButton.stickersheet.stories.tsx +7 -7
  282. package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/_docs/ToggleIconButton.stories.tsx +2 -2
  283. package/src/RichTextEditor/RichTextEditor/subcomponents/Toolbar/Toolbar.spec.tsx +7 -4
  284. package/src/RichTextEditor/RichTextEditor/subcomponents/Toolbar/_docs/Toolbar.stories.tsx +18 -12
  285. package/src/RichTextEditor/RichTextEditor/utils/controlmap.tsx +25 -18
  286. package/src/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.tsx +4 -8
  287. package/src/Select/Select.module.scss +9 -9
  288. package/src/Select/Select.tsx +10 -7
  289. package/src/SplitButton/subcomponents/DropdownButton/DropdownButton.spec.tsx +4 -5
  290. package/src/SplitButton/subcomponents/DropdownButton/DropdownButton.tsx +2 -2
  291. package/src/Table/Table.module.scss +11 -7
  292. package/src/Table/Table.tsx +4 -8
  293. package/src/Table/_docs/Table.stickersheet.stories.tsx +4 -4
  294. package/src/Table/_docs/Table.stories.tsx +3 -3
  295. package/src/Tabs/subcomponents/index.ts +0 -1
  296. package/src/Tag/Tag.module.scss +2 -0
  297. package/src/Tag/Tag.tsx +7 -13
  298. package/src/Text/Text.module.scss +2 -0
  299. package/src/TextArea/TextArea.module.css +142 -0
  300. package/src/TextArea/TextArea.tsx +25 -53
  301. package/src/TextField/TextField.module.scss +10 -36
  302. package/src/TextField/TextField.spec.tsx +9 -4
  303. package/src/TextField/TextField.tsx +4 -6
  304. package/src/TextField/_docs/TextField.stickersheet.stories.tsx +9 -1
  305. package/src/TextField/_docs/TextField.stories.tsx +4 -3
  306. package/src/Tile/subcomponents/GenericTile/GenericTile.module.scss +7 -8
  307. package/src/Tile/subcomponents/GenericTile/GenericTile.tsx +3 -3
  308. package/src/TitleBlockZen/TitleBlockZen.module.scss +15 -21
  309. package/src/TitleBlockZen/TitleBlockZen.spec.tsx +1 -1
  310. package/src/TitleBlockZen/TitleBlockZen.tsx +6 -9
  311. package/src/TitleBlockZen/_docs/TitleBlockZen.stories.tsx +5 -5
  312. package/src/TitleBlockZen/subcomponents/MainActions.tsx +5 -3
  313. package/src/TitleBlockZen/subcomponents/MobileActions.module.scss +2 -2
  314. package/src/TitleBlockZen/subcomponents/MobileActions.tsx +13 -16
  315. package/src/TitleBlockZen/subcomponents/SecondaryActions.tsx +3 -3
  316. package/src/ToggleSwitch/ToggleSwitch/ToggleSwitch.module.scss +0 -3
  317. package/src/ToggleSwitch/ToggleSwitch/ToggleSwitch.tsx +2 -2
  318. package/src/Workflow/_docs/Workflow.stories.tsx +4 -5
  319. package/src/Workflow/_docs/WorkflowHeader.stories.tsx +4 -5
  320. package/src/Workflow/_docs/controls/controls.tsx +4 -4
  321. package/src/Workflow/subcomponents/Footer/components/ProgressStepper/ProgressStepper.tsx +6 -31
  322. package/src/__actions__/Button/v1/Button/Button.module.scss +0 -1
  323. package/src/__actions__/Button/v1/Button/_docs/Button.mdx +1 -1
  324. package/src/__actions__/Button/v1/Button/_docs/Button.stickersheet.stories.tsx +6 -6
  325. package/src/__actions__/Button/v1/Button/_docs/Button.stories.tsx +7 -6
  326. package/src/__actions__/Button/v1/IconButton/_docs/IconButton.stickersheet.stories.tsx +7 -7
  327. package/src/__actions__/Button/v1/IconButton/_docs/IconButton.stories.tsx +5 -5
  328. package/src/__actions__/Button/v2/Button/_docs/Button.mdx +1 -1
  329. package/src/__actions__/Button/v2/Button/_docs/Button.stories.tsx +7 -6
  330. package/src/__actions__/Button/v2/IconButton/_docs/IconButton.stories.tsx +5 -5
  331. package/src/__actions__/Button/v3/_docs/ApiSpecification.mdx +1 -1
  332. package/src/__actions__/Button/v3/_docs/Button.docs.stories.tsx +1 -1
  333. package/src/__actions__/Button/v3/_docs/Button.mdx +1 -1
  334. package/src/__actions__/Button/v3/_docs/Button.spec.stories.tsx +1 -1
  335. package/src/__actions__/Button/v3/_docs/Button.stickersheet.stories.tsx +3 -3
  336. package/src/__actions__/Button/v3/_docs/Button.stories.tsx +1 -1
  337. package/src/__actions__/Menu/v1/_docs/Menu.stickersheet.stories.tsx +3 -3
  338. package/src/__actions__/Menu/v1/_docs/Menu.stories.tsx +3 -3
  339. package/src/__actions__/Menu/v1/_docs/MenuContentExample.tsx +6 -6
  340. package/src/__actions__/Menu/v1/_docs/examples.tsx +5 -5
  341. package/src/__actions__/Menu/v2/_docs/Menu.stories.tsx +3 -3
  342. package/src/__actions__/Menu/v3/_docs/ApiSpecification.mdx +1 -3
  343. package/src/__actions__/Menu/v3/_docs/Menu.docs.stories.tsx +46 -45
  344. package/src/__actions__/Menu/v3/_docs/Menu.mdx +1 -1
  345. package/src/__actions__/Menu/v3/_docs/Menu.spec.stories.tsx +21 -23
  346. package/src/__actions__/Menu/v3/_docs/Menu.stories.tsx +12 -15
  347. package/src/__future__/Icon/Icon.module.css +35 -0
  348. package/src/__future__/Icon/Icon.spec.tsx +36 -0
  349. package/src/__future__/Icon/Icon.tsx +85 -0
  350. package/src/__future__/Icon/_docs/Icon--api-specification.mdx +98 -0
  351. package/src/__future__/Icon/_docs/Icon--usage-guidelines.mdx +145 -0
  352. package/src/__future__/Icon/_docs/Icon.docs.module.css +17 -0
  353. package/src/__future__/Icon/_docs/Icon.docs.stories.tsx +524 -0
  354. package/src/__future__/Icon/_docs/Icon.stickersheet.stories.tsx +126 -0
  355. package/src/__future__/Icon/_docs/assets/interface-dont.png +0 -0
  356. package/src/__future__/Icon/_docs/assets/tooltip-dont.png +0 -0
  357. package/src/__future__/Icon/constants.ts +149 -0
  358. package/src/__future__/Icon/index.ts +1 -0
  359. package/src/__future__/Icon/material-symbols-metadata.json +3370 -0
  360. package/src/__future__/Icon/types.ts +11 -0
  361. package/src/__future__/Select/_docs/Select.stories.tsx +1 -2
  362. package/src/__future__/Select/subcomponents/ListBox/ListBox.tsx +3 -4
  363. package/src/__future__/Select/subcomponents/Option/Option.tsx +2 -2
  364. package/src/__future__/Select/subcomponents/SelectToggle/SelectToggle.module.scss +1 -1
  365. package/src/__future__/Select/subcomponents/SelectToggle/SelectToggle.tsx +6 -9
  366. package/src/__future__/Tabs/Tabs.tsx +18 -0
  367. package/src/__future__/Tabs/_docs/Tabs--api-specification.mdx +43 -0
  368. package/src/__future__/Tabs/_docs/Tabs--migration-guide.mdx +93 -0
  369. package/src/__future__/Tabs/_docs/Tabs.stories.tsx +74 -0
  370. package/src/__future__/Tabs/index.ts +2 -0
  371. package/src/__future__/Tabs/subcomponents/Tab/Tab.module.css +94 -0
  372. package/src/__future__/Tabs/subcomponents/Tab/Tab.tsx +58 -0
  373. package/src/__future__/Tabs/subcomponents/Tab/index.ts +1 -0
  374. package/src/__future__/Tabs/subcomponents/TabList/TabList.module.css +8 -0
  375. package/src/__future__/Tabs/subcomponents/TabList/TabList.tsx +45 -0
  376. package/src/__future__/Tabs/subcomponents/TabList/index.ts +1 -0
  377. package/src/__future__/Tabs/subcomponents/TabPanel/TabPanel.module.css +12 -0
  378. package/src/__future__/Tabs/subcomponents/TabPanel/TabPanel.tsx +20 -0
  379. package/src/__future__/Tabs/subcomponents/TabPanel/index.ts +1 -0
  380. package/src/__future__/Tabs/subcomponents/index.ts +3 -0
  381. package/src/__future__/Tag/RemovableTag/_docs/RemovableTag.stories.tsx +0 -77
  382. package/src/__future__/Tag/RemovableTag/subcomponents/RemoveButton.module.scss +1 -58
  383. package/src/__future__/Tag/RemovableTag/subcomponents/RemoveButton.tsx +2 -12
  384. package/src/__future__/Tag/Tag/Tag.module.scss +1 -1
  385. package/src/__future__/Tag/Tag/_docs/Tag-migration-guide.stories.tsx +6 -17
  386. package/src/__future__/Tag/Tag/_docs/Tag.stickersheet.stories.tsx +5 -2
  387. package/src/__future__/Tag/Tag/_docs/Tag.stories.tsx +13 -6
  388. package/src/__future__/index.ts +2 -0
  389. package/src/__overlays__/Tooltip/v1/_docs/Tooltip.stickersheet.stories.tsx +10 -10
  390. package/src/__overlays__/Tooltip/v1/_docs/Tooltip.stories.tsx +7 -4
  391. package/src/__overlays__/Tooltip/v1/utils/isSemanticElement.spec.tsx +4 -11
  392. package/src/__overlays__/Tooltip/v3/_docs/Tooltip.docs.stories.tsx +10 -10
  393. package/src/__overlays__/Tooltip/v3/_docs/Tooltip.spec.stories.tsx +3 -3
  394. package/codemods/utils/getTagName.spec.ts +0 -24
  395. package/codemods/utils/getTagName.ts +0 -32
  396. package/dist/cjs/Loading/LoadingSpinner/LoadingSpinner.module.scss.cjs +0 -7
  397. package/dist/cjs/TextArea/TextArea.module.scss.cjs +0 -13
  398. package/dist/cjs/__future__/Tag/RemovableTag/subcomponents/RemoveTagIcon.cjs +0 -23
  399. package/dist/esm/Loading/LoadingSpinner/LoadingSpinner.module.scss.mjs +0 -5
  400. package/dist/esm/TextArea/TextArea.module.scss.mjs +0 -11
  401. package/dist/esm/__future__/Tag/RemovableTag/subcomponents/RemoveTagIcon.mjs +0 -15
  402. package/dist/types/__future__/Tag/RemovableTag/subcomponents/RemoveTagIcon.d.ts +0 -2
  403. package/src/Loading/LoadingSpinner/LoadingSpinner.module.scss +0 -16
  404. package/src/TextArea/TextArea.module.scss +0 -137
  405. package/src/__future__/Tag/RemovableTag/subcomponents/RemoveTagIcon.tsx +0 -21
  406. /package/dist/cjs/__utilities__/{isClientReady → useIsClientReady}/useIsClientReady.cjs +0 -0
  407. /package/dist/esm/__utilities__/{isClientReady → useIsClientReady}/useIsClientReady.mjs +0 -0
  408. /package/dist/types/__utilities__/{isClientReady → useIsClientReady}/index.d.ts +0 -0
  409. /package/dist/types/__utilities__/{isClientReady → useIsClientReady}/useIsClientReady.d.ts +0 -0
  410. /package/src/__utilities__/{isClientReady → useIsClientReady}/index.ts +0 -0
  411. /package/src/__utilities__/{isClientReady → useIsClientReady}/useIsClientReady.tsx +0 -0
@@ -1,6 +1,6 @@
1
1
  import React from "react"
2
- import { CloseIcon } from "~components/Icon"
3
2
  import { IconButton } from "~components/__actions__/v2"
3
+ import { Icon } from "~components/__future__/Icon"
4
4
  import { ModalBody } from "../ModalBody"
5
5
  import styles from "./ModalHeader.module.scss"
6
6
 
@@ -20,7 +20,7 @@ export const ModalHeader = ({
20
20
  <div className={styles.dismissButton}>
21
21
  <IconButton
22
22
  label="Dismiss"
23
- icon={<CloseIcon role="presentation" />}
23
+ icon={<Icon name="close" isPresentational />}
24
24
  reversed={reversed}
25
25
  onClick={onDismiss}
26
26
  disabled={onDismiss == undefined}
@@ -10,19 +10,19 @@
10
10
  max-width: 600px;
11
11
 
12
12
  .animatingEnter & {
13
- @include ca-animation(fade($from: 0, $to: 1), zoom($from: 0.5, $to: 1));
14
-
15
13
  animation-duration: $ca-duration-fast;
16
14
  animation-fill-mode: forwards;
17
15
  animation-timing-function: $ca-bounce-in;
16
+
17
+ @include ca-animation(fade($from: 0, $to: 1), zoom($from: 0.5, $to: 1));
18
18
  }
19
19
 
20
20
  .animatingLeave & {
21
- @include ca-animation(fade($from: 1, $to: 0), zoom($from: 1, $to: 0.5));
22
-
23
21
  animation-duration: $ca-duration-rapid;
24
22
  animation-fill-mode: forwards;
25
23
  animation-timing-function: $ca-bounce-out;
24
+
25
+ @include ca-animation(fade($from: 1, $to: 0), zoom($from: 1, $to: 0.5));
26
26
  }
27
27
  }
28
28
 
@@ -350,6 +350,7 @@ describe("Has validation status", () => {
350
350
  )
351
351
  expect(screen.getByText("No waffles are available")).toBeInTheDocument()
352
352
  })
353
+
353
354
  it("describes the Toggle", () => {
354
355
  render(
355
356
  <MultiSelectWrapper
@@ -364,13 +365,16 @@ describe("Has validation status", () => {
364
365
  expect(
365
366
  screen.getByRole("button", {
366
367
  name: "Breakfast menu",
367
- description: "Only four waffles remain",
368
+ // React Testing Library bug: Icon should be showing aria-label "caution message" instead
369
+ description: "warning Only four waffles remain",
368
370
  })
369
371
  ).toBeInTheDocument()
370
372
  })
373
+
371
374
  it("announces the validation message before the Toggle's description", () => {
372
- const description = "Choose you breakfast."
373
- const validationMessage = "Only four waffles remain."
375
+ const description = "Choose your breakfast."
376
+ // React Testing Library bug: Icon should be showing aria-label "caution message" instead
377
+ const validationMessage = "warning Only four waffles remain."
374
378
 
375
379
  render(
376
380
  <MultiSelectWrapper
@@ -68,11 +68,5 @@ $focus-ring-size: calc(#{$checkbox-size} + #{$focus-ring-offset});
68
68
  }
69
69
 
70
70
  .icon {
71
- height: $checkbox-size;
72
- width: $checkbox-size;
73
- position: absolute;
74
- top: 50%;
75
- left: 50%;
76
- transform: translate(-50%, -50%);
77
71
  color: $color-white;
78
72
  }
@@ -1,6 +1,6 @@
1
1
  import React, { useEffect, useRef, InputHTMLAttributes } from "react"
2
2
  import classnames from "classnames"
3
- import { CheckIcon, MinusIcon } from "~components/Icon"
3
+ import { Icon } from "~components/__future__/Icon"
4
4
  import { OverrideClassName } from "~components/types/OverrideClassName"
5
5
  import styles from "./Checkbox.module.scss"
6
6
 
@@ -25,14 +25,15 @@ export type CheckboxProps = {
25
25
  >
26
26
 
27
27
  const renderIcon = (status: CheckedStatus): JSX.Element | null => {
28
- switch (status) {
29
- case "indeterminate":
30
- return <MinusIcon role="presentation" classNameOverride={styles.icon} />
31
- case "checked":
32
- return <CheckIcon role="presentation" classNameOverride={styles.icon} />
33
- default:
34
- return null
35
- }
28
+ if (status === "unchecked") return null
29
+
30
+ return (
31
+ <Icon
32
+ name={status === "checked" ? "check" : "remove"}
33
+ isPresentational
34
+ className={styles.icon}
35
+ />
36
+ )
36
37
  }
37
38
 
38
39
  export const Checkbox = ({
@@ -1,5 +1,5 @@
1
1
  import React, { useState } from "react"
2
- import { render, waitFor } from "@testing-library/react"
2
+ import { render, waitFor, screen } from "@testing-library/react"
3
3
  import userEvent from "@testing-library/user-event"
4
4
  import { vi } from "vitest"
5
5
  import {
@@ -83,10 +83,10 @@ describe("<MultiSelectOptions />", () => {
83
83
  })
84
84
 
85
85
  it("returns updated selected values when selecting an option", async () => {
86
- const { getByRole, queryAllByRole } = render(
86
+ const { getByRole } = render(
87
87
  <MultiSelectOptionsWrapper selectedValues={new Set(["pancakes"])} />
88
88
  )
89
- expect(queryAllByRole("presentation", { hidden: true }).length).toBe(1)
89
+ expect(screen.getAllByRole("checkbox", { checked: true }).length).toBe(1)
90
90
 
91
91
  const waffleOption = getByRole("checkbox", { name: "Waffle" })
92
92
  expect(waffleOption).not.toBeChecked()
@@ -96,17 +96,19 @@ describe("<MultiSelectOptions />", () => {
96
96
  await waitFor(() => {
97
97
  expect(onChange).toBeCalledWith(new Set(["pancakes", "waffle"]))
98
98
  expect(waffleOption).toBeChecked()
99
- expect(queryAllByRole("presentation", { hidden: true }).length).toBe(2)
99
+ expect(screen.getAllByRole("checkbox", { checked: true }).length).toBe(
100
+ 2
101
+ )
100
102
  })
101
103
  })
102
104
 
103
105
  it("returns updated selected values when unselecting an option", async () => {
104
- const { getByRole, queryAllByRole } = render(
106
+ const { getByRole } = render(
105
107
  <MultiSelectOptionsWrapper
106
108
  selectedValues={new Set(["pancakes", "waffle"])}
107
109
  />
108
110
  )
109
- expect(queryAllByRole("presentation", { hidden: true }).length).toBe(2)
111
+ expect(screen.getAllByRole("checkbox", { checked: true }).length).toBe(2)
110
112
 
111
113
  const waffleOption = getByRole("checkbox", { name: "Waffle" })
112
114
  expect(waffleOption).toBeChecked()
@@ -116,7 +118,9 @@ describe("<MultiSelectOptions />", () => {
116
118
  await waitFor(() => {
117
119
  expect(onChange).toBeCalledWith(new Set(["pancakes"]))
118
120
  expect(waffleOption).not.toBeChecked()
119
- expect(queryAllByRole("presentation", { hidden: true }).length).toBe(1)
121
+ expect(screen.getAllByRole("checkbox", { checked: true }).length).toBe(
122
+ 1
123
+ )
120
124
  })
121
125
  })
122
126
  })
@@ -2,8 +2,7 @@ import React, { HTMLAttributes, forwardRef, useId } from "react"
2
2
  import classnames from "classnames"
3
3
  import { ClearButton } from "~components/ClearButton"
4
4
  import { FieldMessageProps } from "~components/FieldMessage"
5
- import { ChevronDownIcon, ChevronUpIcon } from "~components/Icon"
6
- import { RemovableTag } from "~components/__future__"
5
+ import { Icon, RemovableTag } from "~components/__future__"
7
6
  import { OverrideClassName } from "~components/types/OverrideClassName"
8
7
  import { MultiSelectOption } from "../../types"
9
8
  import styles from "./MultiSelectToggle.module.scss"
@@ -70,11 +69,10 @@ export const MultiSelectToggle = forwardRef<
70
69
  onClick(e)
71
70
  }}
72
71
  >
73
- {isOpen ? (
74
- <ChevronUpIcon role="presentation" />
75
- ) : (
76
- <ChevronDownIcon role="presentation" />
77
- )}
72
+ <Icon
73
+ name={isOpen ? "keyboard_arrow_up" : "keyboard_arrow_down"}
74
+ isPresentational
75
+ />
78
76
  </button>
79
77
 
80
78
  <div
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { CloseIcon } from "~components/Icon/CloseIcon"
2
+ import { Icon } from "~components/__future__/Icon"
3
3
  import styles from "../GenericNotification/GenericNotification.module.scss"
4
4
 
5
5
  type CancelButtonProps = {
@@ -14,7 +14,7 @@ export const CancelButton = ({ onClick }: CancelButtonProps): JSX.Element => (
14
14
  data-testid="close-button"
15
15
  aria-label="Close notification"
16
16
  >
17
- <CloseIcon role="presentation" />
17
+ <Icon name="close" isPresentational />
18
18
  </button>
19
19
  )
20
20
 
@@ -165,12 +165,14 @@ $notification-slide-right: transform 300ms ease-out;
165
165
  %ca-notification---toast & {
166
166
  width: 22px;
167
167
  height: 22px;
168
+ font-size: 22px;
168
169
  margin-top: $spacing-6;
169
170
  }
170
171
 
171
172
  %ca-notification---global & {
172
173
  width: 24px;
173
174
  height: 24px;
175
+ font-size: 24px;
174
176
  }
175
177
  }
176
178
 
@@ -280,13 +282,16 @@ $notification-slide-right: transform 300ms ease-out;
280
282
  }
281
283
 
282
284
  %ca-notification__cancel {
285
+ cursor: pointer;
283
286
  appearance: none;
284
- background: transparent;
285
- border: none;
286
- font: inherit;
287
+ transition: none;
288
+ transform: none;
287
289
  margin: 0;
288
290
  padding: 0;
289
- transition: none;
291
+ border: none;
292
+ background: transparent;
293
+ font: inherit;
294
+ color: $color-purple-800;
290
295
 
291
296
  .icon {
292
297
  opacity: 70%;
@@ -317,10 +322,6 @@ $notification-slide-right: transform 300ms ease-out;
317
322
  }
318
323
  }
319
324
 
320
- cursor: pointer;
321
- color: $color-purple-800;
322
- transform: none;
323
-
324
325
  &:active {
325
326
  transform: translateY(1px);
326
327
  }
@@ -0,0 +1,3 @@
1
+ .notificationIcon {
2
+ font-size: inherit;
3
+ }
@@ -1,13 +1,19 @@
1
1
  import React from "react"
2
- import { CautionIcon } from "~components/Icon/CautionIcon"
3
- import { ExclamationIcon } from "~components/Icon/ExclamationIcon"
4
- import { InformationIcon } from "~components/Icon/InformationIcon"
5
- import { SecurityTipIcon } from "~components/Icon/SecurityTipIcon"
6
- import { SuccessIcon } from "~components/Icon/SuccessIcon"
7
2
  import {
8
3
  NotificationType,
9
4
  NotificationVariant,
10
5
  } from "~components/Notification/types"
6
+ import { Icon } from "~components/__future__"
7
+ import styles from "./NotificationIcon.module.css"
8
+
9
+ const NotificationIcon = ({ name }: { name: string }): JSX.Element => (
10
+ <Icon
11
+ name={name}
12
+ isFilled
13
+ isPresentational
14
+ className={styles.notificationIcon}
15
+ />
16
+ )
11
17
 
12
18
  export type NotificationIconTypeProps = {
13
19
  type: NotificationType
@@ -18,17 +24,17 @@ export const NotificationIconType = ({
18
24
  }: NotificationIconTypeProps): JSX.Element => {
19
25
  switch (type) {
20
26
  case "positive":
21
- return <SuccessIcon role="presentation" inheritSize />
27
+ return <NotificationIcon name="check_circle" />
22
28
  case "negative":
23
- return <ExclamationIcon role="presentation" inheritSize />
29
+ return <NotificationIcon name="error" />
24
30
  case "cautionary":
25
- return <CautionIcon role="presentation" inheritSize />
31
+ return <NotificationIcon name="warning" />
26
32
  case "informative":
27
- return <InformationIcon role="presentation" inheritSize />
33
+ return <NotificationIcon name="info" />
28
34
  case "security":
29
- return <SecurityTipIcon role="presentation" inheritSize />
35
+ return <NotificationIcon name="privacy_tip" />
30
36
  default:
31
- return <InformationIcon role="presentation" inheritSize />
37
+ return <NotificationIcon name="info" />
32
38
  }
33
39
  }
34
40
 
@@ -43,15 +49,15 @@ export const NotificationIconVariant = ({
43
49
  }: NotificationIconVariantProps): JSX.Element => {
44
50
  switch (variant) {
45
51
  case "success":
46
- return <SuccessIcon role="presentation" inheritSize />
52
+ return <NotificationIcon name="check_circle" />
47
53
  case "warning":
48
- return <ExclamationIcon role="presentation" inheritSize />
54
+ return <NotificationIcon name="error" />
49
55
  case "cautionary":
50
- return <CautionIcon role="presentation" inheritSize />
56
+ return <NotificationIcon name="warning" />
51
57
  case "informative":
52
- return <InformationIcon role="presentation" inheritSize />
58
+ return <NotificationIcon name="info" />
53
59
  case "security":
54
- return <SecurityTipIcon role="presentation" inheritSize />
60
+ return <NotificationIcon name="privacy_tip" />
55
61
  }
56
62
  }
57
63
 
@@ -4,10 +4,6 @@
4
4
  @import "../../../__actions__/Button/v1/utils/variables";
5
5
 
6
6
  %directional-link {
7
- [dir="rtl"] & {
8
- transform: rotate(180deg);
9
- }
10
-
11
7
  border: $border-solid-border-width solid $color-blue-300;
12
8
 
13
9
  @include enabled-pseudo-states-variant($color-blue-100, $color-blue-400);
@@ -1,14 +1,9 @@
1
1
  import React from "react"
2
- import {
3
- ArrowBackwardIcon,
4
- ArrowForwardIcon,
5
- EndIcon,
6
- StartIcon,
7
- } from "~components/Icon"
8
2
  import {
9
3
  GenericButton,
10
4
  GenericProps,
11
5
  } from "~components/__actions__/Button/v2/GenericButton"
6
+ import { Icon } from "~components/__future__/Icon"
12
7
 
13
8
  export type DirectionalLinkProps = {
14
9
  label: string
@@ -16,11 +11,11 @@ export type DirectionalLinkProps = {
16
11
  direction: "prev" | "next" | "start" | "end"
17
12
  } & GenericProps
18
13
 
19
- const iconMap = {
20
- prev: <ArrowBackwardIcon role="presentation" />,
21
- next: <ArrowForwardIcon role="presentation" />,
22
- start: <StartIcon role="presentation" />,
23
- end: <EndIcon role="presentation" />,
14
+ const iconNameMap = {
15
+ prev: "arrow_back",
16
+ next: "arrow_forward",
17
+ start: "keyboard_tab_rtl",
18
+ end: "keyboard_tab",
24
19
  }
25
20
 
26
21
  /**
@@ -38,7 +33,13 @@ export const DirectionalLink = ({
38
33
  {...otherProps}
39
34
  iconButton
40
35
  directionalLink
41
- icon={iconMap[otherProps.direction]}
36
+ icon={
37
+ <Icon
38
+ name={iconNameMap[otherProps.direction]}
39
+ isPresentational
40
+ shouldMirrorInRTL
41
+ />
42
+ }
42
43
  />
43
44
  )
44
45
 
@@ -4,7 +4,6 @@
4
4
  display: flex;
5
5
  align-items: center;
6
6
  justify-content: center;
7
- height: 36px;
8
7
  width: 36px;
9
8
  background-color: transparent;
10
9
  color: rgba($color-purple-800-rgb, 0.7);
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { EllipsisIcon } from "~components/Icon"
2
+ import { Icon } from "~components/__future__/Icon"
3
3
  import styles from "./TruncateIndicator.module.scss"
4
4
 
5
5
  export const TruncateIndicator = (): JSX.Element => (
@@ -7,6 +7,6 @@ export const TruncateIndicator = (): JSX.Element => (
7
7
  className={styles.truncateIndicatorWrapper}
8
8
  data-testid="truncate-indicator"
9
9
  >
10
- <EllipsisIcon role="presentation" />
10
+ <Icon name="more_horiz" isPresentational />
11
11
  </div>
12
12
  )
@@ -140,15 +140,15 @@ $cautionary-box-border-color: var(--color-yellow-700);
140
140
  }
141
141
 
142
142
  .informativeIcon {
143
- color: $color-blue-500;
143
+ color: var(--color-blue-500);
144
144
  }
145
145
 
146
146
  .positiveIcon {
147
- color: $color-green-400;
147
+ color: var(--color-green-500);
148
148
  }
149
149
 
150
150
  .negativeIcon {
151
- color: $color-red-500;
151
+ color: var(--color-red-500);
152
152
  }
153
153
 
154
154
  .cautionaryIcon {
@@ -2,8 +2,8 @@ import React, { HTMLAttributes, useMemo, useState } from "react"
2
2
  import classnames from "classnames"
3
3
  import { usePopper } from "react-popper"
4
4
  import { Heading } from "~components/Heading"
5
- import { CloseIcon } from "~components/Icon"
6
5
  import { Text } from "~components/Text"
6
+ import { Icon } from "~components/__future__/Icon"
7
7
  import { OverrideClassName } from "~components/types/OverrideClassName"
8
8
  import { Placement, PopoverSize, PopoverVariant } from "./types"
9
9
  import {
@@ -140,7 +140,7 @@ export const Popover = ({
140
140
  type="button"
141
141
  aria-label="close"
142
142
  >
143
- <CloseIcon role="presentation" />
143
+ <Icon name="close" isPresentational isFilled />
144
144
  </button>
145
145
  )}
146
146
  </div>
@@ -1,10 +1,5 @@
1
1
  import React from "react"
2
- import {
3
- CautionIcon,
4
- ExclamationIcon,
5
- InformationIcon,
6
- SuccessIcon,
7
- } from "~components/Icon"
2
+ import { Icon } from "~components/__future__/Icon"
8
3
  import styles from "../Popover.module.scss"
9
4
  import { PopoverVariant, PopoverSize } from "../types"
10
5
 
@@ -43,15 +38,15 @@ export const mapVariantToIconClass = (
43
38
  export const mapVariantToIcon = (variant: PopoverVariant): JSX.Element => {
44
39
  switch (variant) {
45
40
  case "informative":
46
- return <InformationIcon role="presentation" />
41
+ return <Icon name="info" isPresentational isFilled />
47
42
  case "positive":
48
- return <SuccessIcon role="presentation" />
43
+ return <Icon name="check_circle" isPresentational isFilled />
49
44
  case "negative":
50
- return <ExclamationIcon role="presentation" />
45
+ return <Icon name="error" isPresentational isFilled />
51
46
  case "cautionary":
52
- return <CautionIcon role="presentation" />
47
+ return <Icon name="warning" isPresentational isFilled />
53
48
  default:
54
- return <InformationIcon role="presentation" />
49
+ return <Icon name="info" isPresentational isFilled />
55
50
  }
56
51
  }
57
52
 
@@ -6,8 +6,6 @@
6
6
  @import "../mixins";
7
7
 
8
8
  .editor > :global(.ProseMirror) {
9
- @include content-styles;
10
-
11
9
  border-radius: $border-solid-border-radius;
12
10
  padding: $spacing-sm calc(#{$spacing-xs} * 3);
13
11
  position: relative;
@@ -15,6 +13,8 @@
15
13
  background-color $animation-duration-immediate,
16
14
  border-color $animation-duration-immediate;
17
15
 
16
+ @include content-styles;
17
+
18
18
  &:hover,
19
19
  &:focus-visible {
20
20
  border-color: $color-gray-600;
@@ -113,7 +113,7 @@
113
113
  background-color: transparent;
114
114
  border-color: transparent;
115
115
  opacity: 100%;
116
- outline: $color-purple-800 $border-dashed-border-style
116
+ outline: $color-purple-800 $border-solid-border-style
117
117
  $border-focus-ring-border-width;
118
118
  }
119
119
  }
@@ -1,6 +1,6 @@
1
1
  import React from "react"
2
2
  import { Meta } from "@storybook/react"
3
- import { BoldIcon } from "~components/Icon"
3
+ import { Icon } from "~components/__future__/Icon"
4
4
  import {
5
5
  StickerSheet,
6
6
  StickerSheetStory,
@@ -25,36 +25,36 @@ const ToggleIconButtonGroup = ({
25
25
  <StickerSheet.Row rowTitle={rowTitle}>
26
26
  <ToggleIconButton
27
27
  label="bold"
28
- icon={<BoldIcon role="presentation" />}
28
+ icon={<Icon name="format_bold" isPresentational />}
29
29
  {...props}
30
30
  />
31
31
  <ToggleIconButton
32
32
  label="bold"
33
- icon={<BoldIcon role="presentation" />}
33
+ icon={<Icon name="format_bold" isPresentational />}
34
34
  {...props}
35
35
  data-sb-pseudo-styles="hover"
36
36
  />
37
37
  <ToggleIconButton
38
38
  label="bold"
39
- icon={<BoldIcon role="presentation" />}
39
+ icon={<Icon name="format_bold" isPresentational />}
40
40
  {...props}
41
41
  isActive
42
42
  />
43
43
  <ToggleIconButton
44
44
  label="bold"
45
- icon={<BoldIcon role="presentation" />}
45
+ icon={<Icon name="format_bold" isPresentational />}
46
46
  {...props}
47
47
  data-sb-pseudo-styles="focus"
48
48
  />
49
49
  <ToggleIconButton
50
50
  label="bold"
51
- icon={<BoldIcon role="presentation" />}
51
+ icon={<Icon name="format_bold" isPresentational />}
52
52
  {...props}
53
53
  disabled
54
54
  />
55
55
  <ToggleIconButton
56
56
  label="bold"
57
- icon={<BoldIcon role="presentation" />}
57
+ icon={<Icon name="format_bold" isPresentational />}
58
58
  {...props}
59
59
  disabled
60
60
  data-sb-pseudo-styles="focus"
@@ -1,13 +1,13 @@
1
1
  import React from "react"
2
2
  import { Meta, StoryObj } from "@storybook/react"
3
- import { BoldIcon } from "~components/Icon"
3
+ import { Icon } from "~components/__future__/Icon"
4
4
  import { ToggleIconButton } from "../ToggleIconButton"
5
5
 
6
6
  const meta = {
7
7
  title: "Components/RichTextEditor/Subcomponents/ToggleIconButton",
8
8
  component: ToggleIconButton,
9
9
  args: {
10
- icon: <BoldIcon role="presentation" />,
10
+ icon: <Icon name="format_bold" isPresentational />,
11
11
  label: "Bold",
12
12
  },
13
13
  argTypes: {
@@ -1,7 +1,7 @@
1
1
  import React from "react"
2
2
  import { render, screen, waitFor } from "@testing-library/react"
3
3
  import userEvent from "@testing-library/user-event"
4
- import { BoldIcon } from "~components/Icon"
4
+ import { Icon } from "~components/__future__/Icon"
5
5
  import { ToggleIconButton } from "../ToggleIconButton"
6
6
  import { ToolbarSection } from "../ToolbarSection"
7
7
  import { Toolbar } from "."
@@ -11,14 +11,17 @@ const user = userEvent.setup()
11
11
  const ExampleToolbar = (): JSX.Element => (
12
12
  <Toolbar aria-label="Toolbar" aria-controls="editable-id">
13
13
  <ToolbarSection>
14
- <ToggleIconButton label="Bold" icon={<BoldIcon role="presentation" />} />
14
+ <ToggleIconButton
15
+ label="Bold"
16
+ icon={<Icon name="format_bold" isPresentational />}
17
+ />
15
18
  <ToggleIconButton
16
19
  label="Italic"
17
- icon={<BoldIcon role="presentation" />}
20
+ icon={<Icon name="format_italic" isPresentational />}
18
21
  />
19
22
  <ToggleIconButton
20
23
  label="Underline"
21
- icon={<BoldIcon role="presentation" />}
24
+ icon={<Icon name="format_underlined" isPresentational />}
22
25
  />
23
26
  </ToolbarSection>
24
27
  </Toolbar>