@kaizen/components 0.0.0-canary-test-exports-20231114054615 → 0.0.0-canary-bundle-size-check-20231115005811

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 (1593) hide show
  1. package/dist/cjs/TitleBlockZen/TitleBlockZen.cjs +295 -0
  2. package/dist/cjs/TitleBlockZen/TitleBlockZen.cjs.map +1 -0
  3. package/dist/cjs/TitleBlockZen/TitleBlockZen.module.scss.cjs +55 -0
  4. package/dist/cjs/TitleBlockZen/TitleBlockZen.module.scss.cjs.map +1 -0
  5. package/dist/cjs/TitleBlockZen/subcomponents/MainActions.cjs +119 -0
  6. package/dist/cjs/TitleBlockZen/subcomponents/MainActions.cjs.map +1 -0
  7. package/dist/cjs/TitleBlockZen/subcomponents/MainActions.module.scss.cjs +7 -0
  8. package/dist/cjs/TitleBlockZen/subcomponents/MainActions.module.scss.cjs.map +1 -0
  9. package/dist/cjs/TitleBlockZen/subcomponents/MobileActions.cjs +281 -0
  10. package/dist/cjs/TitleBlockZen/subcomponents/MobileActions.cjs.map +1 -0
  11. package/dist/cjs/TitleBlockZen/subcomponents/MobileActions.module.scss.cjs +18 -0
  12. package/dist/cjs/TitleBlockZen/subcomponents/MobileActions.module.scss.cjs.map +1 -0
  13. package/dist/cjs/TitleBlockZen/subcomponents/NavigationTabs.cjs +35 -0
  14. package/dist/cjs/TitleBlockZen/subcomponents/NavigationTabs.cjs.map +1 -0
  15. package/dist/cjs/TitleBlockZen/subcomponents/NavigationTabs.module.scss.cjs +10 -0
  16. package/dist/cjs/TitleBlockZen/subcomponents/NavigationTabs.module.scss.cjs.map +1 -0
  17. package/dist/cjs/TitleBlockZen/subcomponents/SecondaryActions.cjs +100 -0
  18. package/dist/cjs/TitleBlockZen/subcomponents/SecondaryActions.cjs.map +1 -0
  19. package/dist/cjs/TitleBlockZen/subcomponents/TitleBlockMenuItem.cjs +38 -0
  20. package/dist/cjs/TitleBlockZen/subcomponents/TitleBlockMenuItem.cjs.map +1 -0
  21. package/dist/cjs/TitleBlockZen/subcomponents/TitleBlockMenuItem.module.scss.cjs +13 -0
  22. package/dist/cjs/TitleBlockZen/subcomponents/TitleBlockMenuItem.module.scss.cjs.map +1 -0
  23. package/dist/cjs/TitleBlockZen/subcomponents/Toolbar.cjs +34 -0
  24. package/dist/cjs/TitleBlockZen/subcomponents/Toolbar.cjs.map +1 -0
  25. package/dist/cjs/TitleBlockZen/subcomponents/Toolbar.module.scss.cjs +9 -0
  26. package/dist/cjs/TitleBlockZen/subcomponents/Toolbar.module.scss.cjs.map +1 -0
  27. package/dist/cjs/TitleBlockZen/utils.cjs +55 -0
  28. package/dist/cjs/TitleBlockZen/utils.cjs.map +1 -0
  29. package/dist/cjs/dts/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.d.ts +2 -0
  30. package/dist/cjs/dts/index.d.ts +1 -0
  31. package/dist/cjs/index.cjs +4 -0
  32. package/dist/cjs/index.cjs.map +1 -1
  33. package/dist/cjs/index.css +10 -4
  34. package/dist/esm/TitleBlockZen/TitleBlockZen.mjs +293 -0
  35. package/dist/esm/TitleBlockZen/TitleBlockZen.mjs.map +1 -0
  36. package/dist/esm/TitleBlockZen/TitleBlockZen.module.scss.mjs +53 -0
  37. package/dist/esm/TitleBlockZen/TitleBlockZen.module.scss.mjs.map +1 -0
  38. package/dist/esm/TitleBlockZen/subcomponents/MainActions.mjs +117 -0
  39. package/dist/esm/TitleBlockZen/subcomponents/MainActions.mjs.map +1 -0
  40. package/dist/esm/TitleBlockZen/subcomponents/MainActions.module.scss.mjs +5 -0
  41. package/dist/esm/TitleBlockZen/subcomponents/MainActions.module.scss.mjs.map +1 -0
  42. package/dist/esm/TitleBlockZen/subcomponents/MobileActions.mjs +279 -0
  43. package/dist/esm/TitleBlockZen/subcomponents/MobileActions.mjs.map +1 -0
  44. package/dist/esm/TitleBlockZen/subcomponents/MobileActions.module.scss.mjs +16 -0
  45. package/dist/esm/TitleBlockZen/subcomponents/MobileActions.module.scss.mjs.map +1 -0
  46. package/dist/esm/TitleBlockZen/subcomponents/NavigationTabs.mjs +33 -0
  47. package/dist/esm/TitleBlockZen/subcomponents/NavigationTabs.mjs.map +1 -0
  48. package/dist/esm/TitleBlockZen/subcomponents/NavigationTabs.module.scss.mjs +8 -0
  49. package/dist/esm/TitleBlockZen/subcomponents/NavigationTabs.module.scss.mjs.map +1 -0
  50. package/dist/esm/TitleBlockZen/subcomponents/SecondaryActions.mjs +98 -0
  51. package/dist/esm/TitleBlockZen/subcomponents/SecondaryActions.mjs.map +1 -0
  52. package/dist/esm/TitleBlockZen/subcomponents/TitleBlockMenuItem.mjs +36 -0
  53. package/dist/esm/TitleBlockZen/subcomponents/TitleBlockMenuItem.mjs.map +1 -0
  54. package/dist/esm/TitleBlockZen/subcomponents/TitleBlockMenuItem.module.scss.mjs +11 -0
  55. package/dist/esm/TitleBlockZen/subcomponents/TitleBlockMenuItem.module.scss.mjs.map +1 -0
  56. package/dist/esm/TitleBlockZen/subcomponents/Toolbar.mjs +32 -0
  57. package/dist/esm/TitleBlockZen/subcomponents/Toolbar.mjs.map +1 -0
  58. package/dist/esm/TitleBlockZen/subcomponents/Toolbar.module.scss.mjs +7 -0
  59. package/dist/esm/TitleBlockZen/subcomponents/Toolbar.module.scss.mjs.map +1 -0
  60. package/dist/esm/TitleBlockZen/utils.mjs +49 -0
  61. package/dist/esm/TitleBlockZen/utils.mjs.map +1 -0
  62. package/dist/esm/dts/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.d.ts +2 -0
  63. package/dist/esm/dts/index.d.ts +1 -0
  64. package/dist/esm/index.css +10 -4
  65. package/dist/esm/index.mjs +2 -0
  66. package/dist/esm/index.mjs.map +1 -1
  67. package/dist/index.d.ts +176 -1
  68. package/dist/styles.css +1 -1
  69. package/package.json +5 -18
  70. package/src/Avatar/Avatar.module.scss +171 -0
  71. package/src/Avatar/Avatar.spec.tsx +26 -0
  72. package/src/Avatar/Avatar.tsx +176 -0
  73. package/src/Avatar/_docs/Avatar.mdx +32 -0
  74. package/src/Avatar/_docs/Avatar.stickersheet.stories.tsx +130 -0
  75. package/src/Avatar/_docs/Avatar.stories.tsx +25 -0
  76. package/src/Avatar/index.ts +1 -0
  77. package/src/AvatarGroup/AvatarGroup.module.scss +85 -0
  78. package/src/AvatarGroup/AvatarGroup.spec.tsx +44 -0
  79. package/src/AvatarGroup/AvatarGroup.tsx +90 -0
  80. package/src/AvatarGroup/_docs/AvatarGroup.mdx +32 -0
  81. package/src/AvatarGroup/_docs/AvatarGroup.stickersheet.stories.tsx +64 -0
  82. package/src/AvatarGroup/_docs/AvatarGroup.stories.tsx +27 -0
  83. package/src/AvatarGroup/_docs/example-data.ts +47 -0
  84. package/src/AvatarGroup/index.ts +1 -0
  85. package/src/Badge/Badge.module.scss +114 -0
  86. package/src/Badge/Badge.tsx +74 -0
  87. package/src/Badge/_docs/Badge.mdx +28 -0
  88. package/src/Badge/_docs/Badge.stickersheet.stories.tsx +65 -0
  89. package/src/Badge/_docs/Badge.stories.tsx +32 -0
  90. package/src/Badge/index.ts +1 -0
  91. package/src/Brand/Brand.module.scss +4 -0
  92. package/src/Brand/Brand.tsx +44 -0
  93. package/src/Brand/_docs/Brand.mdx +33 -0
  94. package/src/Brand/_docs/Brand.stickersheet.stories.tsx +62 -0
  95. package/src/Brand/_docs/Brand.stories.tsx +31 -0
  96. package/src/Brand/index.ts +1 -0
  97. package/src/BrandMoment/BrandMoment.module.scss +203 -0
  98. package/src/BrandMoment/BrandMoment.tsx +135 -0
  99. package/src/BrandMoment/_docs/BrandMoment.mdx +42 -0
  100. package/src/BrandMoment/_docs/BrandMoment.stories.tsx +225 -0
  101. package/src/BrandMoment/_docs/ExampleHeaders.scss +87 -0
  102. package/src/BrandMoment/_docs/ExampleHeaders.tsx +49 -0
  103. package/src/BrandMoment/index.ts +1 -0
  104. package/src/Button/Button/Button.module.scss +198 -0
  105. package/src/Button/Button/Button.tsx +28 -0
  106. package/src/Button/Button/_docs/Button.mdx +97 -0
  107. package/src/Button/Button/_docs/Button.stickersheet.stories.tsx +397 -0
  108. package/src/Button/Button/_docs/Button.stories.tsx +144 -0
  109. package/src/Button/Button/index.ts +1 -0
  110. package/src/Button/GenericButton/GenericButton.module.scss +115 -0
  111. package/src/Button/GenericButton/GenericButton.spec.tsx +113 -0
  112. package/src/Button/GenericButton/GenericButton.tsx +383 -0
  113. package/src/Button/GenericButton/index.ts +1 -0
  114. package/src/Button/IconButton/IconButton.module.scss +38 -0
  115. package/src/Button/IconButton/IconButton.spec.tsx +45 -0
  116. package/src/Button/IconButton/IconButton.tsx +43 -0
  117. package/src/Button/IconButton/_docs/IconButton.mdx +29 -0
  118. package/src/Button/IconButton/_docs/IconButton.stickersheet.stories.tsx +146 -0
  119. package/src/Button/IconButton/_docs/IconButton.stories.tsx +37 -0
  120. package/src/Button/IconButton/index.ts +1 -0
  121. package/src/Button/index.ts +3 -0
  122. package/src/Button/utils/_mixins.scss +18 -0
  123. package/src/Button/utils/_variables.scss +14 -0
  124. package/src/ButtonGroup/ButtonGroup.module.scss +65 -0
  125. package/src/ButtonGroup/ButtonGroup.tsx +69 -0
  126. package/src/ButtonGroup/_docs/ButtonGroup.stickersheet.stories.tsx +173 -0
  127. package/src/ButtonGroup/_docs/ButtonGroup.stories.tsx +48 -0
  128. package/src/ButtonGroup/index.ts +1 -0
  129. package/src/Calendar/CalendarPopover/CalendarPopover.module.scss +12 -0
  130. package/src/Calendar/CalendarPopover/CalendarPopover.tsx +62 -0
  131. package/src/Calendar/CalendarPopover/_docs/CalendarPopover.stickersheet.stories.tsx +120 -0
  132. package/src/Calendar/CalendarPopover/index.ts +1 -0
  133. package/src/Calendar/CalendarRange/CalendarRange.module.scss +61 -0
  134. package/src/Calendar/CalendarRange/CalendarRange.spec.tsx +37 -0
  135. package/src/Calendar/CalendarRange/CalendarRange.tsx +71 -0
  136. package/src/Calendar/CalendarRange/_docs/CalendarRange.mdx +28 -0
  137. package/src/Calendar/CalendarRange/_docs/CalendarRange.stickersheet.stories.tsx +140 -0
  138. package/src/Calendar/CalendarRange/_docs/CalendarRange.stories.tsx +41 -0
  139. package/src/Calendar/CalendarRange/index.ts +1 -0
  140. package/src/Calendar/CalendarSingle/CalendarSingle.module.scss +13 -0
  141. package/src/Calendar/CalendarSingle/CalendarSingle.spec.tsx +30 -0
  142. package/src/Calendar/CalendarSingle/CalendarSingle.tsx +67 -0
  143. package/src/Calendar/CalendarSingle/_docs/CalendarSingle.mdx +28 -0
  144. package/src/Calendar/CalendarSingle/_docs/CalendarSingle.stickersheet.stories.tsx +180 -0
  145. package/src/Calendar/CalendarSingle/_docs/CalendarSingle.stories.tsx +38 -0
  146. package/src/Calendar/CalendarSingle/index.ts +1 -0
  147. package/src/Calendar/LegacyCalendarRange/LegacyCalendarRange.module.scss +24 -0
  148. package/src/Calendar/LegacyCalendarRange/LegacyCalendarRange.tsx +73 -0
  149. package/src/Calendar/LegacyCalendarRange/index.ts +1 -0
  150. package/src/Calendar/_docs/controls/defaultMonthControls.ts +16 -0
  151. package/src/Calendar/_docs/controls/weekStartsOnControls.ts +28 -0
  152. package/src/Calendar/baseCalendarClassNames.module.scss +208 -0
  153. package/src/Calendar/baseCalendarClassNames.ts +22 -0
  154. package/src/Calendar/enums.ts +22 -0
  155. package/src/Calendar/index.ts +5 -0
  156. package/src/Calendar/types.ts +45 -0
  157. package/src/Calendar/utils/calculateDisabledDays.spec.ts +109 -0
  158. package/src/Calendar/utils/calculateDisabledDays.ts +19 -0
  159. package/src/Calendar/utils/formatDateAsNumeral.spec.ts +24 -0
  160. package/src/Calendar/utils/formatDateAsNumeral.ts +10 -0
  161. package/src/Calendar/utils/formatDateAsText.spec.ts +41 -0
  162. package/src/Calendar/utils/formatDateAsText.ts +19 -0
  163. package/src/Calendar/utils/index.ts +11 -0
  164. package/src/Calendar/utils/isDisabledDate.spec.ts +51 -0
  165. package/src/Calendar/utils/isDisabledDate.ts +10 -0
  166. package/src/Calendar/utils/isInvalidDate.spec.ts +39 -0
  167. package/src/Calendar/utils/isInvalidDate.ts +2 -0
  168. package/src/Calendar/utils/isSelectingDayInCalendar.spec.tsx +20 -0
  169. package/src/Calendar/utils/isSelectingDayInCalendar.ts +5 -0
  170. package/src/Calendar/utils/isValidWeekStartsOn.ts +7 -0
  171. package/src/Calendar/utils/parseDateAsTextOrNumeral.spec.ts +29 -0
  172. package/src/Calendar/utils/parseDateAsTextOrNumeral.ts +12 -0
  173. package/src/Calendar/utils/parseDateFromNumeralFormatValue.spec.tsx +26 -0
  174. package/src/Calendar/utils/parseDateFromNumeralFormatValue.ts +10 -0
  175. package/src/Calendar/utils/parseDateFromTextFormatValue.spec.ts +32 -0
  176. package/src/Calendar/utils/parseDateFromTextFormatValue.ts +10 -0
  177. package/src/Calendar/utils/setFocusInCalendar.spec.tsx +55 -0
  178. package/src/Calendar/utils/setFocusInCalendar.ts +24 -0
  179. package/src/Card/Card.module.scss +38 -0
  180. package/src/Card/Card.tsx +59 -0
  181. package/src/Card/_docs/Card.mdx +32 -0
  182. package/src/Card/_docs/Card.stickersheet.stories.tsx +77 -0
  183. package/src/Card/_docs/Card.stories.tsx +66 -0
  184. package/src/Card/index.ts +1 -0
  185. package/src/Checkbox/Checkbox/Checkbox.module.scss +136 -0
  186. package/src/Checkbox/Checkbox/Checkbox.spec.tsx +29 -0
  187. package/src/Checkbox/Checkbox/Checkbox.tsx +73 -0
  188. package/src/Checkbox/Checkbox/_docs/Checkbox.mdx +30 -0
  189. package/src/Checkbox/Checkbox/_docs/Checkbox.stickersheet.stories.tsx +122 -0
  190. package/src/Checkbox/Checkbox/_docs/Checkbox.stories.tsx +60 -0
  191. package/src/Checkbox/Checkbox/index.ts +1 -0
  192. package/src/Checkbox/CheckboxField/CheckboxField.module.scss +46 -0
  193. package/src/Checkbox/CheckboxField/CheckboxField.tsx +68 -0
  194. package/src/Checkbox/CheckboxField/_docs/CheckboxField.mdx +36 -0
  195. package/src/Checkbox/CheckboxField/_docs/CheckboxField.stickersheet.stories.tsx +119 -0
  196. package/src/Checkbox/CheckboxField/_docs/CheckboxField.stories.tsx +64 -0
  197. package/src/Checkbox/CheckboxField/index.ts +1 -0
  198. package/src/Checkbox/CheckboxGroup/CheckboxGroup.module.scss +15 -0
  199. package/src/Checkbox/CheckboxGroup/CheckboxGroup.spec.tsx +16 -0
  200. package/src/Checkbox/CheckboxGroup/CheckboxGroup.tsx +55 -0
  201. package/src/Checkbox/CheckboxGroup/_docs/CheckboxGroup.mdx +42 -0
  202. package/src/Checkbox/CheckboxGroup/_docs/CheckboxGroup.stickersheet.stories.tsx +94 -0
  203. package/src/Checkbox/CheckboxGroup/_docs/CheckboxGroup.stories.tsx +101 -0
  204. package/src/Checkbox/CheckboxGroup/index.ts +1 -0
  205. package/src/Checkbox/index.ts +3 -0
  206. package/src/ClearButton/ClearButton.module.scss +62 -0
  207. package/src/ClearButton/ClearButton.tsx +30 -0
  208. package/src/ClearButton/_docs/ClearButton.stickersheet.stories.tsx +52 -0
  209. package/src/ClearButton/index.ts +1 -0
  210. package/src/Collapsible/Collapsible/Collapsible.module.scss +115 -0
  211. package/src/Collapsible/Collapsible/Collapsible.spec.tsx +115 -0
  212. package/src/Collapsible/Collapsible/Collapsible.tsx +160 -0
  213. package/src/Collapsible/Collapsible/_docs/Collapsible.mdx +45 -0
  214. package/src/Collapsible/Collapsible/_docs/Collapsible.stickersheet.stories.tsx +72 -0
  215. package/src/Collapsible/Collapsible/_docs/Collapsible.stories.tsx +117 -0
  216. package/src/Collapsible/Collapsible/index.ts +1 -0
  217. package/src/Collapsible/CollapsibleGroup/CollapsibleGroup.module.scss +10 -0
  218. package/src/Collapsible/CollapsibleGroup/CollapsibleGroup.spec.tsx +31 -0
  219. package/src/Collapsible/CollapsibleGroup/CollapsibleGroup.tsx +46 -0
  220. package/src/Collapsible/CollapsibleGroup/_docs/CollapsibleGroup.mdx +41 -0
  221. package/src/Collapsible/CollapsibleGroup/_docs/CollapsibleGroup.stickersheet.stories.tsx +75 -0
  222. package/src/Collapsible/CollapsibleGroup/_docs/CollapsibleGroup.stories.tsx +68 -0
  223. package/src/Collapsible/CollapsibleGroup/index.ts +1 -0
  224. package/src/Collapsible/ExpertAdviceCollapsible/ExpertAdviceCollapsible.module.scss +50 -0
  225. package/src/Collapsible/ExpertAdviceCollapsible/ExpertAdviceCollapsible.tsx +50 -0
  226. package/src/Collapsible/ExpertAdviceCollapsible/_docs/ExpertAdviceCollapsible.mdx +28 -0
  227. package/src/Collapsible/ExpertAdviceCollapsible/_docs/ExpertAdviceCollapsible.stickersheets.stories.tsx +55 -0
  228. package/src/Collapsible/ExpertAdviceCollapsible/_docs/ExpertAdviceCollapsible.stories.tsx +32 -0
  229. package/src/Collapsible/ExpertAdviceCollapsible/index.ts +1 -0
  230. package/src/Collapsible/index.ts +3 -0
  231. package/src/Collapsible/types.ts +3 -0
  232. package/src/Container/Container.module.scss +13 -0
  233. package/src/Container/Container.tsx +23 -0
  234. package/src/Container/_docs/Container.mdx +32 -0
  235. package/src/Container/_docs/Container.stories.tsx +65 -0
  236. package/src/Container/index.ts +1 -0
  237. package/src/Content/Content.module.scss +12 -0
  238. package/src/Content/Content.tsx +52 -0
  239. package/src/Content/_docs/Content.mdx +31 -0
  240. package/src/Content/_docs/Content.stories.tsx +63 -0
  241. package/src/Content/_variables.scss +3 -0
  242. package/src/Content/index.ts +1 -0
  243. package/src/DateInput/DateInput/DateInput.module.scss +9 -0
  244. package/src/DateInput/DateInput/DateInput.tsx +48 -0
  245. package/src/DateInput/DateInput/index.ts +1 -0
  246. package/src/DateInput/DateInputDescription/DateInputDescription.module.scss +19 -0
  247. package/src/DateInput/DateInputDescription/DateInputDescription.spec.tsx +43 -0
  248. package/src/DateInput/DateInputDescription/DateInputDescription.tsx +51 -0
  249. package/src/DateInput/DateInputDescription/index.ts +1 -0
  250. package/src/DateInput/DateInputDescription/utils/formatDescriptionInputFormat.spec.ts +12 -0
  251. package/src/DateInput/DateInputDescription/utils/formatDescriptionInputFormat.ts +2 -0
  252. package/src/DateInput/DateInputWithIconButton/DateInputWithIconButton.module.scss +52 -0
  253. package/src/DateInput/DateInputWithIconButton/DateInputWithIconButton.spec.tsx +96 -0
  254. package/src/DateInput/DateInputWithIconButton/DateInputWithIconButton.tsx +57 -0
  255. package/src/DateInput/DateInputWithIconButton/index.ts +1 -0
  256. package/src/DateInput/index.ts +3 -0
  257. package/src/DatePicker/DatePicker.module.scss +9 -0
  258. package/src/DatePicker/DatePicker.spec.tsx +483 -0
  259. package/src/DatePicker/DatePicker.tsx +324 -0
  260. package/src/DatePicker/_docs/DatePicker.mdx +77 -0
  261. package/src/DatePicker/_docs/DatePicker.stickersheet.stories.tsx +201 -0
  262. package/src/DatePicker/_docs/DatePicker.stories.tsx +251 -0
  263. package/src/DatePicker/_docs/controls/datePickerLocaleControls.ts +8 -0
  264. package/src/DatePicker/_docs/controls/disabledDayMatchersControls.ts +96 -0
  265. package/src/DatePicker/index.ts +2 -0
  266. package/src/DatePicker/subcomponents/DateInputField/DateInputField.module.scss +5 -0
  267. package/src/DatePicker/subcomponents/DateInputField/DateInputField.spec.tsx +134 -0
  268. package/src/DatePicker/subcomponents/DateInputField/DateInputField.tsx +87 -0
  269. package/src/DatePicker/subcomponents/DateInputField/index.ts +1 -0
  270. package/src/DatePicker/types.ts +12 -0
  271. package/src/DatePicker/utils/getLocale.spec.ts +8 -0
  272. package/src/DatePicker/utils/getLocale.ts +16 -0
  273. package/src/DatePicker/utils/validateDate.spec.ts +122 -0
  274. package/src/DatePicker/utils/validateDate.ts +78 -0
  275. package/src/DateRangePicker/DateRangePicker.module.scss +124 -0
  276. package/src/DateRangePicker/DateRangePicker.spec.tsx +75 -0
  277. package/src/DateRangePicker/DateRangePicker.tsx +197 -0
  278. package/src/DateRangePicker/_docs/DateRangePicker.mdx +30 -0
  279. package/src/DateRangePicker/_docs/DateRangePicker.stickersheet.stories.tsx +130 -0
  280. package/src/DateRangePicker/_docs/DateRangePicker.stories.tsx +58 -0
  281. package/src/DateRangePicker/index.ts +2 -0
  282. package/src/DateRangePicker/utils/formatDateRangeValue.spec.ts +35 -0
  283. package/src/DateRangePicker/utils/formatDateRangeValue.ts +36 -0
  284. package/src/Divider/Divider.module.scss +37 -0
  285. package/src/Divider/Divider.tsx +33 -0
  286. package/src/Divider/_docs/Divider.mdx +32 -0
  287. package/src/Divider/_docs/Divider.stickersheet.stories.tsx +46 -0
  288. package/src/Divider/_docs/Divider.stories.tsx +61 -0
  289. package/src/Divider/index.ts +1 -0
  290. package/src/EmptyState/EmptyState.module.scss +157 -0
  291. package/src/EmptyState/EmptyState.spec.tsx +48 -0
  292. package/src/EmptyState/EmptyState.tsx +108 -0
  293. package/src/EmptyState/_docs/EmptyState.mdx +28 -0
  294. package/src/EmptyState/_docs/EmptyState.stickersheet.stories.tsx +162 -0
  295. package/src/EmptyState/_docs/EmptyState.stories.module.scss +15 -0
  296. package/src/EmptyState/_docs/EmptyState.stories.tsx +52 -0
  297. package/src/EmptyState/_mixins.scss +44 -0
  298. package/src/EmptyState/illustrations/action.png +0 -0
  299. package/src/EmptyState/illustrations/informative.png +0 -0
  300. package/src/EmptyState/illustrations/negative.png +0 -0
  301. package/src/EmptyState/illustrations/neutral.png +0 -0
  302. package/src/EmptyState/illustrations/positive.png +0 -0
  303. package/src/EmptyState/index.ts +1 -0
  304. package/src/ErrorPage/ErrorPage.module.scss +5 -0
  305. package/src/ErrorPage/ErrorPage.tsx +95 -0
  306. package/src/ErrorPage/_docs/ErrorPage.stickersheet.stories.tsx +90 -0
  307. package/src/ErrorPage/_docs/ErrorPage.stories.tsx +45 -0
  308. package/src/ErrorPage/hooks/index.ts +1 -0
  309. package/src/ErrorPage/hooks/useErrorMessages.ts +162 -0
  310. package/src/ErrorPage/index.ts +1 -0
  311. package/src/FieldGroup/FieldGroup.module.scss +10 -0
  312. package/src/FieldGroup/FieldGroup.tsx +29 -0
  313. package/src/FieldGroup/_docs/FieldGroup.mdx +41 -0
  314. package/src/FieldGroup/_docs/FieldGroup.stickersheet.stories.tsx +70 -0
  315. package/src/FieldGroup/_docs/FieldGroup.stories.tsx +86 -0
  316. package/src/FieldGroup/index.ts +1 -0
  317. package/src/FieldMessage/FieldMessage.module.scss +74 -0
  318. package/src/FieldMessage/FieldMessage.spec.tsx +64 -0
  319. package/src/FieldMessage/FieldMessage.tsx +76 -0
  320. package/src/FieldMessage/_docs/FieldMessage.mdx +63 -0
  321. package/src/FieldMessage/_docs/FieldMessage.stickersheet.stories.tsx +63 -0
  322. package/src/FieldMessage/_docs/FieldMessage.stories.tsx +83 -0
  323. package/src/FieldMessage/index.ts +1 -0
  324. package/src/Filter/Filter/Filter.spec.tsx +61 -0
  325. package/src/Filter/Filter/Filter.tsx +71 -0
  326. package/src/Filter/Filter/_docs/Filter.mdx +103 -0
  327. package/src/Filter/Filter/_docs/Filter.stickersheet.stories.tsx +69 -0
  328. package/src/Filter/Filter/_docs/Filter.stories.tsx +56 -0
  329. package/src/Filter/Filter/index.ts +3 -0
  330. package/src/Filter/Filter/subcomponents/FilterContents/FilterContents.module.scss +5 -0
  331. package/src/Filter/Filter/subcomponents/FilterContents/FilterContents.tsx +23 -0
  332. package/src/Filter/Filter/subcomponents/FilterContents/index.ts +1 -0
  333. package/src/Filter/Filter/subcomponents/FilterPopover/FilterPopover.module.scss +11 -0
  334. package/src/Filter/Filter/subcomponents/FilterPopover/FilterPopover.tsx +57 -0
  335. package/src/Filter/Filter/subcomponents/FilterPopover/index.ts +1 -0
  336. package/src/Filter/Filter/types.ts +3 -0
  337. package/src/Filter/FilterBar/FilterBar.module.scss +19 -0
  338. package/src/Filter/FilterBar/FilterBar.spec.tsx +965 -0
  339. package/src/Filter/FilterBar/FilterBar.tsx +54 -0
  340. package/src/Filter/FilterBar/_docs/FilterBar.mdx +388 -0
  341. package/src/Filter/FilterBar/_docs/FilterBar.stickersheet.stories.tsx +194 -0
  342. package/src/Filter/FilterBar/_docs/FilterBar.stories.tsx +759 -0
  343. package/src/Filter/FilterBar/context/FilterBarContext.tsx +151 -0
  344. package/src/Filter/FilterBar/context/reducer/filterBarStateReducer.spec.ts +86 -0
  345. package/src/Filter/FilterBar/context/reducer/filterBarStateReducer.ts +50 -0
  346. package/src/Filter/FilterBar/context/reducer/setupFilterBarState.spec.tsx +68 -0
  347. package/src/Filter/FilterBar/context/reducer/setupFilterBarState.ts +42 -0
  348. package/src/Filter/FilterBar/context/reducer/updateSingleFilter.spec.ts +64 -0
  349. package/src/Filter/FilterBar/context/reducer/updateSingleFilter.ts +15 -0
  350. package/src/Filter/FilterBar/context/reducer/updateValues.spec.ts +168 -0
  351. package/src/Filter/FilterBar/context/reducer/updateValues.ts +16 -0
  352. package/src/Filter/FilterBar/context/types.ts +39 -0
  353. package/src/Filter/FilterBar/context/utils/checkShouldUpdateValues.spec.ts +70 -0
  354. package/src/Filter/FilterBar/context/utils/checkShouldUpdateValues.ts +22 -0
  355. package/src/Filter/FilterBar/context/utils/getInactiveFilters.spec.ts +68 -0
  356. package/src/Filter/FilterBar/context/utils/getInactiveFilters.ts +10 -0
  357. package/src/Filter/FilterBar/context/utils/getIsUsableWhenArgs.spec.ts +51 -0
  358. package/src/Filter/FilterBar/context/utils/getIsUsableWhenArgs.ts +20 -0
  359. package/src/Filter/FilterBar/context/utils/getMappedFilters.spec.tsx +32 -0
  360. package/src/Filter/FilterBar/context/utils/getMappedFilters.ts +10 -0
  361. package/src/Filter/FilterBar/context/utils/getValidValue.spec.ts +32 -0
  362. package/src/Filter/FilterBar/context/utils/getValidValue.ts +8 -0
  363. package/src/Filter/FilterBar/context/utils/updateDependentFilters.spec.ts +189 -0
  364. package/src/Filter/FilterBar/context/utils/updateDependentFilters.ts +38 -0
  365. package/src/Filter/FilterBar/index.ts +4 -0
  366. package/src/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.spec.tsx +84 -0
  367. package/src/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.tsx +35 -0
  368. package/src/Filter/FilterBar/subcomponents/AddFiltersMenu/index.ts +1 -0
  369. package/src/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.module.scss +3 -0
  370. package/src/Filter/FilterBar/subcomponents/ClearAllButton/ClearAllButton.tsx +20 -0
  371. package/src/Filter/FilterBar/subcomponents/ClearAllButton/index.ts +1 -0
  372. package/src/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.spec.tsx +65 -0
  373. package/src/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.tsx +32 -0
  374. package/src/Filter/FilterBar/subcomponents/FilterBarButton/index.ts +1 -0
  375. package/src/Filter/FilterBar/subcomponents/FilterBarDatePicker/FilterBarDatePicker.spec.tsx +168 -0
  376. package/src/Filter/FilterBar/subcomponents/FilterBarDatePicker/FilterBarDatePicker.tsx +62 -0
  377. package/src/Filter/FilterBar/subcomponents/FilterBarDatePicker/index.ts +1 -0
  378. package/src/Filter/FilterBar/subcomponents/FilterBarDateRangePicker/FilterBarDateRangePicker.spec.tsx +183 -0
  379. package/src/Filter/FilterBar/subcomponents/FilterBarDateRangePicker/FilterBarDateRangePicker.tsx +63 -0
  380. package/src/Filter/FilterBar/subcomponents/FilterBarDateRangePicker/index.ts +1 -0
  381. package/src/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.spec.tsx +297 -0
  382. package/src/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.tsx +116 -0
  383. package/src/Filter/FilterBar/subcomponents/FilterBarMultiSelect/index.ts +1 -0
  384. package/src/Filter/FilterBar/subcomponents/FilterBarSelect/FilterBarSelect.spec.tsx +249 -0
  385. package/src/Filter/FilterBar/subcomponents/FilterBarSelect/FilterBarSelect.tsx +72 -0
  386. package/src/Filter/FilterBar/subcomponents/FilterBarSelect/index.ts +1 -0
  387. package/src/Filter/FilterBar/subcomponents/index.ts +4 -0
  388. package/src/Filter/FilterBar/types.ts +42 -0
  389. package/src/Filter/FilterBar/utils/checkArraysMatch.spec.ts +18 -0
  390. package/src/Filter/FilterBar/utils/checkArraysMatch.ts +4 -0
  391. package/src/Filter/FilterButton/FilterButton/FilterButton.module.scss +22 -0
  392. package/src/Filter/FilterButton/FilterButton/FilterButton.spec.tsx +42 -0
  393. package/src/Filter/FilterButton/FilterButton/FilterButton.tsx +58 -0
  394. package/src/Filter/FilterButton/FilterButton/index.ts +1 -0
  395. package/src/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.spec.tsx +84 -0
  396. package/src/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.tsx +47 -0
  397. package/src/Filter/FilterButton/FilterButtonRemovable/index.ts +1 -0
  398. package/src/Filter/FilterButton/_docs/FilterButton.stories.tsx +58 -0
  399. package/src/Filter/FilterButton/_docs/FilterButtonRemovable.stories.tsx +46 -0
  400. package/src/Filter/FilterButton/_docs/filter-buttons.mdx +46 -0
  401. package/src/Filter/FilterButton/_docs/filter-buttons.stickersheet.stories.tsx +102 -0
  402. package/src/Filter/FilterButton/index.ts +2 -0
  403. package/src/Filter/FilterButton/subcomponents/FilterButtonBase/FilterButtonBase.module.scss +57 -0
  404. package/src/Filter/FilterButton/subcomponents/FilterButtonBase/FilterButtonBase.tsx +24 -0
  405. package/src/Filter/FilterButton/subcomponents/FilterButtonBase/_variables.scss +7 -0
  406. package/src/Filter/FilterButton/subcomponents/FilterButtonBase/index.ts +1 -0
  407. package/src/Filter/FilterDatePicker/FilterDatePicker.spec.stories.tsx +74 -0
  408. package/src/Filter/FilterDatePicker/FilterDatePicker.spec.tsx +251 -0
  409. package/src/Filter/FilterDatePicker/FilterDatePicker.tsx +56 -0
  410. package/src/Filter/FilterDatePicker/_docs/FilterDatePicker.mdx +45 -0
  411. package/src/Filter/FilterDatePicker/_docs/FilterDatePicker.stickersheet.stories.tsx +132 -0
  412. package/src/Filter/FilterDatePicker/_docs/FilterDatePicker.stories.tsx +341 -0
  413. package/src/Filter/FilterDatePicker/_docs/controls/disabledDaysControls.ts +42 -0
  414. package/src/Filter/FilterDatePicker/_docs/controls/validationControls.ts +82 -0
  415. package/src/Filter/FilterDatePicker/hooks/useDateInputHandlers.spec.ts +355 -0
  416. package/src/Filter/FilterDatePicker/hooks/useDateInputHandlers.ts +99 -0
  417. package/src/Filter/FilterDatePicker/hooks/useDateValidation.spec.tsx +81 -0
  418. package/src/Filter/FilterDatePicker/hooks/useDateValidation.ts +58 -0
  419. package/src/Filter/FilterDatePicker/index.ts +6 -0
  420. package/src/Filter/FilterDatePicker/subcomponents/DateInputField/DateInputField.module.scss +3 -0
  421. package/src/Filter/FilterDatePicker/subcomponents/DateInputField/DateInputField.tsx +93 -0
  422. package/src/Filter/FilterDatePicker/subcomponents/DateInputField/index.ts +1 -0
  423. package/src/Filter/FilterDatePicker/subcomponents/FilterDatePickerField/FilterDatePickerField.module.scss +7 -0
  424. package/src/Filter/FilterDatePicker/subcomponents/FilterDatePickerField/FilterDatePickerField.spec.tsx +337 -0
  425. package/src/Filter/FilterDatePicker/subcomponents/FilterDatePickerField/FilterDatePickerField.tsx +206 -0
  426. package/src/Filter/FilterDatePicker/subcomponents/FilterDatePickerField/filterDatePickerFieldReducer.tsx +54 -0
  427. package/src/Filter/FilterDatePicker/subcomponents/FilterDatePickerField/index.ts +1 -0
  428. package/src/Filter/FilterDatePicker/types.ts +17 -0
  429. package/src/Filter/FilterDatePicker/utils/getDateValidationHandler.spec.tsx +90 -0
  430. package/src/Filter/FilterDatePicker/utils/getDateValidationHandler.tsx +41 -0
  431. package/src/Filter/FilterDatePicker/utils/transformDateToInputValue.ts +7 -0
  432. package/src/Filter/FilterDatePicker/utils/validateDate.spec.ts +128 -0
  433. package/src/Filter/FilterDatePicker/utils/validateDate.ts +27 -0
  434. package/src/Filter/FilterDateRangePicker/FilterDateRangePicker.spec.tsx +122 -0
  435. package/src/Filter/FilterDateRangePicker/FilterDateRangePicker.tsx +65 -0
  436. package/src/Filter/FilterDateRangePicker/_docs/FilterDateRangePicker.mdx +49 -0
  437. package/src/Filter/FilterDateRangePicker/_docs/FilterDateRangePicker.stickersheet.stories.tsx +193 -0
  438. package/src/Filter/FilterDateRangePicker/_docs/FilterDateRangePicker.stories.tsx +448 -0
  439. package/src/Filter/FilterDateRangePicker/_docs/controls/disabledDaysControls.ts +42 -0
  440. package/src/Filter/FilterDateRangePicker/_docs/controls/validationControls.ts +82 -0
  441. package/src/Filter/FilterDateRangePicker/index.ts +2 -0
  442. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeDisplayLabel/DateRangeDisplayLabel.module.scss +6 -0
  443. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeDisplayLabel/DateRangeDisplayLabel.tsx +26 -0
  444. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeDisplayLabel/index.ts +1 -0
  445. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeInputField/DateRangeInputField.module.scss +45 -0
  446. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeInputField/DateRangeInputField.spec.tsx +116 -0
  447. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeInputField/DateRangeInputField.tsx +147 -0
  448. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeInputField/index.ts +1 -0
  449. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeValidationMessage/DateRangeValidationMessage.module.scss +6 -0
  450. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeValidationMessage/DateRangeValidationMessage.spec.tsx +91 -0
  451. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeValidationMessage/DateRangeValidationMessage.tsx +83 -0
  452. package/src/Filter/FilterDateRangePicker/subcomponents/DateRangeValidationMessage/index.ts +1 -0
  453. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.module.scss +9 -0
  454. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.spec.tsx +701 -0
  455. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/FilterDateRangePickerField.tsx +323 -0
  456. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/filterDateRangePickerFieldReducer.tsx +77 -0
  457. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/useEndDateValidation.spec.tsx +68 -0
  458. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/useEndDateValidation.ts +71 -0
  459. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/useStartDateValidation.spec.tsx +35 -0
  460. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/hooks/useStartDateValidation.ts +36 -0
  461. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/index.ts +1 -0
  462. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/types.ts +6 -0
  463. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/utils/isValidRange.spec.ts +51 -0
  464. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/utils/isValidRange.ts +7 -0
  465. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/utils/validateEndDateBeforeStartDate.spec.ts +105 -0
  466. package/src/Filter/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/utils/validateEndDateBeforeStartDate.ts +53 -0
  467. package/src/Filter/FilterDateRangePicker/utils/isCompleteDateRange.spec.ts +23 -0
  468. package/src/Filter/FilterDateRangePicker/utils/isCompleteDateRange.ts +6 -0
  469. package/src/Filter/FilterMultiSelect/FilterMultiSelect.spec.tsx +215 -0
  470. package/src/Filter/FilterMultiSelect/FilterMultiSelect.tsx +110 -0
  471. package/src/Filter/FilterMultiSelect/_docs/FilterMultiSelect.stories.scss +24 -0
  472. package/src/Filter/FilterMultiSelect/_docs/FilterMultiSelect.stories.tsx +574 -0
  473. package/src/Filter/FilterMultiSelect/_docs/MockData.ts +60 -0
  474. package/src/Filter/FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.spec.tsx +189 -0
  475. package/src/Filter/FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.tsx +67 -0
  476. package/src/Filter/FilterMultiSelect/context/MenuTriggerProvider/index.ts +1 -0
  477. package/src/Filter/FilterMultiSelect/context/SelectionProvider/SelectionProvider.spec.tsx +589 -0
  478. package/src/Filter/FilterMultiSelect/context/SelectionProvider/SelectionProvider.tsx +108 -0
  479. package/src/Filter/FilterMultiSelect/context/SelectionProvider/index.ts +1 -0
  480. package/src/Filter/FilterMultiSelect/context/index.ts +2 -0
  481. package/src/Filter/FilterMultiSelect/index.ts +5 -0
  482. package/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.module.scss +23 -0
  483. package/src/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.tsx +97 -0
  484. package/src/Filter/FilterMultiSelect/subcomponents/ListBox/index.ts +1 -0
  485. package/src/Filter/FilterMultiSelect/subcomponents/ListBoxSection/ListBoxSection.module.scss +18 -0
  486. package/src/Filter/FilterMultiSelect/subcomponents/ListBoxSection/ListBoxSection.spec.tsx +50 -0
  487. package/src/Filter/FilterMultiSelect/subcomponents/ListBoxSection/ListBoxSection.tsx +69 -0
  488. package/src/Filter/FilterMultiSelect/subcomponents/ListBoxSection/index.ts +1 -0
  489. package/src/Filter/FilterMultiSelect/subcomponents/LoadMoreButton/LoadMoreButton.module.scss +5 -0
  490. package/src/Filter/FilterMultiSelect/subcomponents/LoadMoreButton/LoadMoreButton.tsx +13 -0
  491. package/src/Filter/FilterMultiSelect/subcomponents/LoadMoreButton/index.ts +1 -0
  492. package/src/Filter/FilterMultiSelect/subcomponents/MenuLayout/MenuFooter/MenuFooter.module.scss +9 -0
  493. package/src/Filter/FilterMultiSelect/subcomponents/MenuLayout/MenuFooter/MenuFooter.tsx +12 -0
  494. package/src/Filter/FilterMultiSelect/subcomponents/MenuLayout/MenuFooter/index.ts +1 -0
  495. package/src/Filter/FilterMultiSelect/subcomponents/MenuLayout/MenuLoadingSkeleton/MenuLoadingSkeleton.module.scss +10 -0
  496. package/src/Filter/FilterMultiSelect/subcomponents/MenuLayout/MenuLoadingSkeleton/MenuLoadingSkeleton.tsx +32 -0
  497. package/src/Filter/FilterMultiSelect/subcomponents/MenuLayout/MenuLoadingSkeleton/index.ts +1 -0
  498. package/src/Filter/FilterMultiSelect/subcomponents/MenuLayout/index.ts +2 -0
  499. package/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.module.scss +26 -0
  500. package/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/MenuPopup.tsx +61 -0
  501. package/src/Filter/FilterMultiSelect/subcomponents/MenuPopup/index.ts +1 -0
  502. package/src/Filter/FilterMultiSelect/subcomponents/MultiSelectOption/MultiSelectOption.module.scss +113 -0
  503. package/src/Filter/FilterMultiSelect/subcomponents/MultiSelectOption/MultiSelectOption.spec.tsx +100 -0
  504. package/src/Filter/FilterMultiSelect/subcomponents/MultiSelectOption/MultiSelectOption.tsx +67 -0
  505. package/src/Filter/FilterMultiSelect/subcomponents/MultiSelectOption/index.ts +1 -0
  506. package/src/Filter/FilterMultiSelect/subcomponents/NoResults/NoResults.module.scss +3 -0
  507. package/src/Filter/FilterMultiSelect/subcomponents/NoResults/NoResults.tsx +20 -0
  508. package/src/Filter/FilterMultiSelect/subcomponents/NoResults/index.ts +1 -0
  509. package/src/Filter/FilterMultiSelect/subcomponents/SearchInput/SearchInput.module.scss +6 -0
  510. package/src/Filter/FilterMultiSelect/subcomponents/SearchInput/SearchInput.spec.tsx +52 -0
  511. package/src/Filter/FilterMultiSelect/subcomponents/SearchInput/SearchInput.tsx +44 -0
  512. package/src/Filter/FilterMultiSelect/subcomponents/SearchInput/index.ts +1 -0
  513. package/src/Filter/FilterMultiSelect/subcomponents/SectionDivider/SectionDivider.module.scss +3 -0
  514. package/src/Filter/FilterMultiSelect/subcomponents/SectionDivider/SectionDivider.tsx +9 -0
  515. package/src/Filter/FilterMultiSelect/subcomponents/SectionDivider/index.ts +1 -0
  516. package/src/Filter/FilterMultiSelect/subcomponents/SelectionControlButton/ClearButton/ClearButton.spec.tsx +69 -0
  517. package/src/Filter/FilterMultiSelect/subcomponents/SelectionControlButton/ClearButton/ClearButton.tsx +43 -0
  518. package/src/Filter/FilterMultiSelect/subcomponents/SelectionControlButton/ClearButton/index.ts +1 -0
  519. package/src/Filter/FilterMultiSelect/subcomponents/SelectionControlButton/SelectAllButton/SelectAllButton.spec.tsx +113 -0
  520. package/src/Filter/FilterMultiSelect/subcomponents/SelectionControlButton/SelectAllButton/SelectAllButton.tsx +41 -0
  521. package/src/Filter/FilterMultiSelect/subcomponents/SelectionControlButton/SelectAllButton/index.ts +1 -0
  522. package/src/Filter/FilterMultiSelect/subcomponents/SelectionControlButton/SelectionControlButton.module.scss +71 -0
  523. package/src/Filter/FilterMultiSelect/subcomponents/SelectionControlButton/index.ts +2 -0
  524. package/src/Filter/FilterMultiSelect/subcomponents/Trigger/FilterTriggerButton/FilterTriggerButton.tsx +42 -0
  525. package/src/Filter/FilterMultiSelect/subcomponents/Trigger/FilterTriggerButton/index.ts +1 -0
  526. package/src/Filter/FilterMultiSelect/subcomponents/Trigger/RemovableFilterTrigger/RemovableFilterTrigger.tsx +42 -0
  527. package/src/Filter/FilterMultiSelect/subcomponents/Trigger/RemovableFilterTrigger/index.ts +1 -0
  528. package/src/Filter/FilterMultiSelect/subcomponents/Trigger/index.ts +2 -0
  529. package/src/Filter/FilterMultiSelect/subcomponents/index.ts +12 -0
  530. package/src/Filter/FilterMultiSelect/types.ts +10 -0
  531. package/src/Filter/FilterMultiSelect/utils/getSelectedOptionKeys.spec.ts +51 -0
  532. package/src/Filter/FilterMultiSelect/utils/getSelectedOptionKeys.ts +17 -0
  533. package/src/Filter/FilterMultiSelect/utils/getSelectedOptionLabels.spec.ts +51 -0
  534. package/src/Filter/FilterMultiSelect/utils/getSelectedOptionLabels.ts +19 -0
  535. package/src/Filter/FilterMultiSelect/utils/getTruncatedLabel.ts +19 -0
  536. package/src/Filter/FilterMultiSelect/utils/getTruncatedLabels.spec.ts +52 -0
  537. package/src/Filter/FilterMultiSelect/utils/index.ts +3 -0
  538. package/src/Filter/FilterSelect/FilterSelect.module.scss +10 -0
  539. package/src/Filter/FilterSelect/FilterSelect.spec.tsx +216 -0
  540. package/src/Filter/FilterSelect/FilterSelect.tsx +116 -0
  541. package/src/Filter/FilterSelect/_docs/FilterSelect.mdx +38 -0
  542. package/src/Filter/FilterSelect/_docs/FilterSelect.stickersheet.stories.tsx +348 -0
  543. package/src/Filter/FilterSelect/_docs/FilterSelect.stories.tsx +104 -0
  544. package/src/Filter/FilterSelect/_docs/mockData.ts +94 -0
  545. package/src/Filter/FilterSelect/index.ts +2 -0
  546. package/src/Filter/FilterSelect/types.ts +3 -0
  547. package/src/Filter/_docs/controls/renderTriggerControls.tsx +30 -0
  548. package/src/Filter/index.ts +7 -0
  549. package/src/GuidanceBlock/GuidanceBlock.module.scss +370 -0
  550. package/src/GuidanceBlock/GuidanceBlock.spec.tsx +82 -0
  551. package/src/GuidanceBlock/GuidanceBlock.tsx +258 -0
  552. package/src/GuidanceBlock/_docs/GuidanceBlock.mdx +43 -0
  553. package/src/GuidanceBlock/_docs/GuidanceBlock.stickersheet.stories.tsx +120 -0
  554. package/src/GuidanceBlock/_docs/GuidanceBlock.stories.tsx +154 -0
  555. package/src/GuidanceBlock/index.ts +1 -0
  556. package/src/GuidanceBlock/types.ts +11 -0
  557. package/src/Heading/Heading.module.scss +104 -0
  558. package/src/Heading/Heading.spec.tsx +82 -0
  559. package/src/Heading/Heading.tsx +101 -0
  560. package/src/Heading/__snapshots__/Heading.spec.tsx.snap +85 -0
  561. package/src/Heading/_docs/Heading.mdx +38 -0
  562. package/src/Heading/_docs/Heading.stickersheet.stories.tsx +158 -0
  563. package/src/Heading/_docs/Heading.stories.tsx +36 -0
  564. package/src/Heading/index.ts +1 -0
  565. package/src/Icon/AcademyIcon.tsx +21 -0
  566. package/src/Icon/ActionOffIcon.tsx +21 -0
  567. package/src/Icon/ActionOffWhiteIcon.tsx +27 -0
  568. package/src/Icon/ActionOnIcon.tsx +21 -0
  569. package/src/Icon/AddIcon.tsx +21 -0
  570. package/src/Icon/AddLinkIcon.tsx +17 -0
  571. package/src/Icon/AddWhiteIcon.tsx +27 -0
  572. package/src/Icon/AiIcon.tsx +17 -0
  573. package/src/Icon/ArchivedIcon.tsx +21 -0
  574. package/src/Icon/ArchivedWhiteIcon.tsx +27 -0
  575. package/src/Icon/ArrowBackwardIcon.tsx +21 -0
  576. package/src/Icon/ArrowDownIcon.tsx +21 -0
  577. package/src/Icon/ArrowForwardIcon.tsx +21 -0
  578. package/src/Icon/ArrowLeftIcon.tsx +21 -0
  579. package/src/Icon/ArrowRightIcon.tsx +21 -0
  580. package/src/Icon/ArrowUpIcon.tsx +21 -0
  581. package/src/Icon/BlankIcon.tsx +21 -0
  582. package/src/Icon/BoldIcon.tsx +17 -0
  583. package/src/Icon/BookmarkOffIcon.tsx +17 -0
  584. package/src/Icon/BookmarkOnIcon.tsx +17 -0
  585. package/src/Icon/BranchingIcon.tsx +21 -0
  586. package/src/Icon/BullettedListIcon.tsx +17 -0
  587. package/src/Icon/CaMonogramIcon.tsx +21 -0
  588. package/src/Icon/CameraIcon.tsx +26 -0
  589. package/src/Icon/CautionIcon.tsx +19 -0
  590. package/src/Icon/CautionWhiteIcon.tsx +23 -0
  591. package/src/Icon/CheckIcon.tsx +21 -0
  592. package/src/Icon/ChevronDownIcon.tsx +21 -0
  593. package/src/Icon/ChevronLeftIcon.tsx +21 -0
  594. package/src/Icon/ChevronRightIcon.tsx +21 -0
  595. package/src/Icon/ChevronUpIcon.tsx +21 -0
  596. package/src/Icon/ClearIcon.tsx +21 -0
  597. package/src/Icon/ClearWhiteIcon.tsx +27 -0
  598. package/src/Icon/CloseIcon.tsx +19 -0
  599. package/src/Icon/ClosedIcon.tsx +21 -0
  600. package/src/Icon/ClosedWhiteIcon.tsx +27 -0
  601. package/src/Icon/CommentAddIcon.tsx +21 -0
  602. package/src/Icon/CommentAddWhiteIcon.tsx +27 -0
  603. package/src/Icon/CommentBankIcon.tsx +21 -0
  604. package/src/Icon/CommentDisabledIcon.tsx +21 -0
  605. package/src/Icon/CommentDisabledWhiteIcon.tsx +27 -0
  606. package/src/Icon/CommentIcon.tsx +21 -0
  607. package/src/Icon/CommentWhiteIcon.tsx +27 -0
  608. package/src/Icon/CommunicationsIcon.tsx +21 -0
  609. package/src/Icon/CompetencyLibraryIcon.tsx +24 -0
  610. package/src/Icon/ConfigureIcon.tsx +21 -0
  611. package/src/Icon/ConnectIcon.tsx +17 -0
  612. package/src/Icon/ConnectLineIcon.tsx +14 -0
  613. package/src/Icon/CustomIcon.tsx +21 -0
  614. package/src/Icon/DashboardIcon.tsx +26 -0
  615. package/src/Icon/DateEndIcon.tsx +21 -0
  616. package/src/Icon/DateEndWhiteIcon.tsx +25 -0
  617. package/src/Icon/DateRangeIcon.tsx +21 -0
  618. package/src/Icon/DateRangeWhiteIcon.tsx +28 -0
  619. package/src/Icon/DateStartIcon.tsx +21 -0
  620. package/src/Icon/DateStartWhiteIcon.tsx +25 -0
  621. package/src/Icon/DecreaseIndentIcon.tsx +17 -0
  622. package/src/Icon/DeltaBareIcon.tsx +21 -0
  623. package/src/Icon/DeltaBareWhiteIcon.tsx +21 -0
  624. package/src/Icon/DeltaFlatIcon.tsx +14 -0
  625. package/src/Icon/DeltaIcon.tsx +24 -0
  626. package/src/Icon/DeltaNegativeIcon.tsx +19 -0
  627. package/src/Icon/DeltaPositiveIcon.tsx +19 -0
  628. package/src/Icon/DeltaWhiteIcon.tsx +25 -0
  629. package/src/Icon/DemographicsIcon.tsx +21 -0
  630. package/src/Icon/DepartmentIcon.tsx +21 -0
  631. package/src/Icon/DraftIcon.tsx +21 -0
  632. package/src/Icon/DraftWhiteIcon.tsx +27 -0
  633. package/src/Icon/DragIcon.tsx +26 -0
  634. package/src/Icon/DuplicateIcon.tsx +21 -0
  635. package/src/Icon/EditIcon.tsx +21 -0
  636. package/src/Icon/EffectivenessIcon.tsx +21 -0
  637. package/src/Icon/EllipsisIcon.tsx +21 -0
  638. package/src/Icon/EmailIcon.tsx +21 -0
  639. package/src/Icon/EmptyIcon.tsx +21 -0
  640. package/src/Icon/EmptyWhiteIcon.tsx +23 -0
  641. package/src/Icon/EndIcon.tsx +17 -0
  642. package/src/Icon/EngagementIcon.tsx +21 -0
  643. package/src/Icon/EngagementWhiteIcon.tsx +27 -0
  644. package/src/Icon/EqualIcon.tsx +18 -0
  645. package/src/Icon/EqualWhiteIcon.tsx +27 -0
  646. package/src/Icon/ExclamationIcon.tsx +21 -0
  647. package/src/Icon/ExclamationOctagonIcon.tsx +21 -0
  648. package/src/Icon/ExclamationOctagonWhiteIcon.tsx +27 -0
  649. package/src/Icon/ExclamationWhiteIcon.tsx +21 -0
  650. package/src/Icon/ExperienceIcon.tsx +21 -0
  651. package/src/Icon/ExportIcon.tsx +21 -0
  652. package/src/Icon/ExportWhiteIcon.tsx +27 -0
  653. package/src/Icon/ExternalLinkIcon.tsx +21 -0
  654. package/src/Icon/FaceDissatisfiedIcon.tsx +21 -0
  655. package/src/Icon/FaceDissatisfiedWhiteIcon.tsx +27 -0
  656. package/src/Icon/FaceNeutralIcon.tsx +21 -0
  657. package/src/Icon/FaceNeutralWhiteIcon.tsx +36 -0
  658. package/src/Icon/FaceSatisfiedIcon.tsx +21 -0
  659. package/src/Icon/FaceSatisfiedWhiteIcon.tsx +31 -0
  660. package/src/Icon/FaceVeryDissatisfiedIcon.tsx +21 -0
  661. package/src/Icon/FaceVeryDissatisfiedWhiteIcon.tsx +33 -0
  662. package/src/Icon/FaceVerySatisfiedIcon.tsx +21 -0
  663. package/src/Icon/FaceVerySatisfiedWhiteIcon.tsx +31 -0
  664. package/src/Icon/FactorsIcon.tsx +21 -0
  665. package/src/Icon/FavoriteOffIcon.tsx +21 -0
  666. package/src/Icon/FavoriteOnIcon.tsx +21 -0
  667. package/src/Icon/FeedbackClassifyIcon.tsx +21 -0
  668. package/src/Icon/FeedbackClassifyWhiteIcon.tsx +27 -0
  669. package/src/Icon/FeedbackCompletedIcon.tsx +21 -0
  670. package/src/Icon/FeedbackCompletedWhiteIcon.tsx +27 -0
  671. package/src/Icon/FeedbackReportIcon.tsx +21 -0
  672. package/src/Icon/FeedbackReportWhiteIcon.tsx +27 -0
  673. package/src/Icon/FeedbackReviewIcon.tsx +21 -0
  674. package/src/Icon/FeedbackReviewWhiteIcon.tsx +27 -0
  675. package/src/Icon/FeedbackShareIcon.tsx +21 -0
  676. package/src/Icon/FeedbackShareWhiteIcon.tsx +27 -0
  677. package/src/Icon/FileIcon.tsx +21 -0
  678. package/src/Icon/FileWhiteIcon.tsx +27 -0
  679. package/src/Icon/FilterIcon.tsx +21 -0
  680. package/src/Icon/FlagOffIcon.tsx +21 -0
  681. package/src/Icon/FlagOffWhiteIcon.tsx +23 -0
  682. package/src/Icon/FlagOnIcon.tsx +21 -0
  683. package/src/Icon/FullIcon.tsx +19 -0
  684. package/src/Icon/GridViewIcon.tsx +21 -0
  685. package/src/Icon/GuidanceIcon.tsx +21 -0
  686. package/src/Icon/HamburgerIcon.tsx +18 -0
  687. package/src/Icon/HeatmapIcon.tsx +21 -0
  688. package/src/Icon/HeatmapWhiteIcon.tsx +27 -0
  689. package/src/Icon/HierarchyIcon.tsx +21 -0
  690. package/src/Icon/HomeIcon.tsx +21 -0
  691. package/src/Icon/ImportIcon.tsx +21 -0
  692. package/src/Icon/ImportWhiteIcon.tsx +27 -0
  693. package/src/Icon/IncreaseIndentIcon.tsx +17 -0
  694. package/src/Icon/IndicatorActiveIcon.tsx +14 -0
  695. package/src/Icon/IndicatorInactiveIcon.tsx +12 -0
  696. package/src/Icon/InformationIcon.tsx +21 -0
  697. package/src/Icon/InformationWhiteIcon.tsx +24 -0
  698. package/src/Icon/InsightIcon.tsx +26 -0
  699. package/src/Icon/InsightsIcon.tsx +14 -0
  700. package/src/Icon/InvisibleIcon.tsx +18 -0
  701. package/src/Icon/ItalicsIcon.tsx +17 -0
  702. package/src/Icon/KebabIcon.tsx +26 -0
  703. package/src/Icon/KioskIcon.tsx +21 -0
  704. package/src/Icon/KioskWhiteIcon.tsx +27 -0
  705. package/src/Icon/LaunchIcon.tsx +18 -0
  706. package/src/Icon/LaunchWhiteIcon.tsx +24 -0
  707. package/src/Icon/LeaderboardIcon.tsx +21 -0
  708. package/src/Icon/ListViewIcon.tsx +21 -0
  709. package/src/Icon/LiveIcon.tsx +28 -0
  710. package/src/Icon/LockIcon.tsx +21 -0
  711. package/src/Icon/LockWhiteIcon.tsx +27 -0
  712. package/src/Icon/LogOutIcon.tsx +21 -0
  713. package/src/Icon/MaximizeIcon.tsx +17 -0
  714. package/src/Icon/MeatballsIcon.tsx +21 -0
  715. package/src/Icon/MinimizeIcon.tsx +17 -0
  716. package/src/Icon/MinusIcon.tsx +18 -0
  717. package/src/Icon/NavigatorIcon.tsx +21 -0
  718. package/src/Icon/NotificationIcon.tsx +21 -0
  719. package/src/Icon/NumberedListIcon.tsx +17 -0
  720. package/src/Icon/NumberedListRtlIcon.tsx +17 -0
  721. package/src/Icon/OpenIcon.tsx +21 -0
  722. package/src/Icon/OpenWhiteIcon.tsx +23 -0
  723. package/src/Icon/OrganizationIcon.tsx +17 -0
  724. package/src/Icon/ParticipationIcon.tsx +26 -0
  725. package/src/Icon/ParticipationWhiteIcon.tsx +27 -0
  726. package/src/Icon/PauseIcon.tsx +21 -0
  727. package/src/Icon/PauseWhiteIcon.tsx +24 -0
  728. package/src/Icon/PercentageIcon.tsx +19 -0
  729. package/src/Icon/PermissionsIcon.tsx +21 -0
  730. package/src/Icon/PersonIcon.tsx +21 -0
  731. package/src/Icon/PhotoUploadIcon.tsx +17 -0
  732. package/src/Icon/PowerIcon.tsx +21 -0
  733. package/src/Icon/PrintIcon.tsx +21 -0
  734. package/src/Icon/PrintWhiteIcon.tsx +23 -0
  735. package/src/Icon/ProcessManagerIcon.tsx +21 -0
  736. package/src/Icon/PromotionIcon.tsx +18 -0
  737. package/src/Icon/PromotionWhiteIcon.tsx +27 -0
  738. package/src/Icon/QuestionIcon.tsx +18 -0
  739. package/src/Icon/QuestionWhiteIcon.tsx +27 -0
  740. package/src/Icon/QuestionsIcon.tsx +21 -0
  741. package/src/Icon/RedoIcon.tsx +21 -0
  742. package/src/Icon/RefreshIcon.tsx +21 -0
  743. package/src/Icon/RemoveLinkIcon.tsx +17 -0
  744. package/src/Icon/RepeatsIcon.tsx +22 -0
  745. package/src/Icon/ReportIcon.tsx +18 -0
  746. package/src/Icon/ReportSharingIcon.tsx +26 -0
  747. package/src/Icon/RestoreIcon.tsx +18 -0
  748. package/src/Icon/SaveIcon.tsx +21 -0
  749. package/src/Icon/SearchIcon.tsx +21 -0
  750. package/src/Icon/SearchWhiteIcon.tsx +27 -0
  751. package/src/Icon/SecurityTipIcon.tsx +17 -0
  752. package/src/Icon/SendIcon.tsx +21 -0
  753. package/src/Icon/SendRtlIcon.tsx +26 -0
  754. package/src/Icon/SettingsIcon.tsx +21 -0
  755. package/src/Icon/SettingsWhiteIcon.tsx +27 -0
  756. package/src/Icon/ShareIcon.tsx +21 -0
  757. package/src/Icon/SkipIcon.tsx +18 -0
  758. package/src/Icon/SkipWhiteIcon.tsx +27 -0
  759. package/src/Icon/SortAscendingIcon.tsx +18 -0
  760. package/src/Icon/SortDescendingIcon.tsx +18 -0
  761. package/src/Icon/SpinnerIcon.tsx +266 -0
  762. package/src/Icon/StarOffIcon.tsx +21 -0
  763. package/src/Icon/StarOnIcon.tsx +21 -0
  764. package/src/Icon/StartIcon.tsx +17 -0
  765. package/src/Icon/SubtractIcon.tsx +21 -0
  766. package/src/Icon/SubtractWhiteIcon.tsx +24 -0
  767. package/src/Icon/SuccessIcon.tsx +21 -0
  768. package/src/Icon/SuccessWhiteIcon.tsx +27 -0
  769. package/src/Icon/SupportIcon.tsx +21 -0
  770. package/src/Icon/SurveysIcon.tsx +21 -0
  771. package/src/Icon/SurveysWhiteIcon.tsx +27 -0
  772. package/src/Icon/SyncIcon.tsx +21 -0
  773. package/src/Icon/TagIcon.tsx +21 -0
  774. package/src/Icon/TasksIcon.tsx +21 -0
  775. package/src/Icon/TasksWhiteIcon.tsx +27 -0
  776. package/src/Icon/TemplateIcon.tsx +21 -0
  777. package/src/Icon/TemplateWhiteIcon.tsx +27 -0
  778. package/src/Icon/TextAnalyticsIcon.tsx +18 -0
  779. package/src/Icon/TextAnalyticsWhiteIcon.tsx +26 -0
  780. package/src/Icon/ThumbsDownIcon.tsx +21 -0
  781. package/src/Icon/ThumbsUpIcon.tsx +21 -0
  782. package/src/Icon/TimeIcon.tsx +18 -0
  783. package/src/Icon/TimeWhiteIcon.tsx +24 -0
  784. package/src/Icon/TranslationIcon.tsx +21 -0
  785. package/src/Icon/TrashIcon.tsx +21 -0
  786. package/src/Icon/UnattributedIcon.tsx +21 -0
  787. package/src/Icon/UnattributedWhiteIcon.tsx +27 -0
  788. package/src/Icon/UnderlineIcon.tsx +17 -0
  789. package/src/Icon/UndoIcon.tsx +21 -0
  790. package/src/Icon/UserAddIcon.tsx +21 -0
  791. package/src/Icon/UserDeleteIcon.tsx +21 -0
  792. package/src/Icon/UserExitIcon.tsx +21 -0
  793. package/src/Icon/UserIcon.tsx +21 -0
  794. package/src/Icon/UserSelectIcon.tsx +21 -0
  795. package/src/Icon/UserSettingsIcon.tsx +21 -0
  796. package/src/Icon/UserUpdateIcon.tsx +21 -0
  797. package/src/Icon/UsersIcon.tsx +21 -0
  798. package/src/Icon/VisibleIcon.tsx +21 -0
  799. package/src/Icon/WritingIcon.tsx +21 -0
  800. package/src/Icon/ZoomInIcon.tsx +17 -0
  801. package/src/Icon/ZoomOutIcon.tsx +17 -0
  802. package/src/Icon/_docs/Icon.mdx +53 -0
  803. package/src/Icon/_docs/Icon.stickersheet.stories.tsx +46 -0
  804. package/src/Icon/_docs/Icon.stories.tsx +114 -0
  805. package/src/Icon/_docs/icon.stories.scss +36 -0
  806. package/src/Icon/bin/Template.tsx +8 -0
  807. package/src/Icon/bin/update-icons.sh +7 -0
  808. package/src/Icon/bin/utils/insertSvgData.spec.ts +25 -0
  809. package/src/Icon/bin/utils/insertSvgData.ts +26 -0
  810. package/src/Icon/bin/utils/svgToComponentTitle.spec.ts +15 -0
  811. package/src/Icon/bin/utils/svgToComponentTitle.ts +7 -0
  812. package/src/Icon/bin/wrapSVGs.ts +74 -0
  813. package/src/Icon/index.ts +240 -0
  814. package/src/Icon/subcomponents/SVG/SVG.module.scss +32 -0
  815. package/src/Icon/subcomponents/SVG/SVG.spec.tsx +18 -0
  816. package/src/Icon/subcomponents/SVG/SVG.tsx +63 -0
  817. package/src/Icon/subcomponents/SVG/index.ts +1 -0
  818. package/src/Illustration/Scene/BrandMomentCaptureIntro/BrandMomentCaptureIntro.tsx +56 -0
  819. package/src/Illustration/Scene/BrandMomentCaptureIntro/_docs/BrandMomentCaptureIntro.mdx +45 -0
  820. package/src/Illustration/Scene/BrandMomentCaptureIntro/_docs/BrandMomentCaptureIntro.stickersheet.stories.tsx +39 -0
  821. package/src/Illustration/Scene/BrandMomentCaptureIntro/_docs/BrandMomentCaptureIntro.stories.tsx +43 -0
  822. package/src/Illustration/Scene/BrandMomentCaptureIntro/index.ts +1 -0
  823. package/src/Illustration/Scene/Scene.tsx +700 -0
  824. package/src/Illustration/Scene/_docs/Scene.mdx +26 -0
  825. package/src/Illustration/Scene/_docs/Scene.stickersheet.stories.tsx +258 -0
  826. package/src/Illustration/Scene/_docs/Scene.stories.tsx +22 -0
  827. package/src/Illustration/Scene/index.ts +2 -0
  828. package/src/Illustration/Spot/Spot.tsx +191 -0
  829. package/src/Illustration/Spot/_docs/Spot.mdx +47 -0
  830. package/src/Illustration/Spot/_docs/Spot.stickersheet.stories.tsx +781 -0
  831. package/src/Illustration/Spot/_docs/Spot.stories.tsx +48 -0
  832. package/src/Illustration/Spot/index.ts +1 -0
  833. package/src/Illustration/index.ts +2 -0
  834. package/src/Illustration/subcomponents/Base/Base.module.scss +125 -0
  835. package/src/Illustration/subcomponents/Base/Base.tsx +54 -0
  836. package/src/Illustration/subcomponents/Base/index.ts +1 -0
  837. package/src/Illustration/subcomponents/VideoPlayer/VideoPlayer.spec.tsx +178 -0
  838. package/src/Illustration/subcomponents/VideoPlayer/VideoPlayer.tsx +193 -0
  839. package/src/Illustration/subcomponents/VideoPlayer/index.ts +1 -0
  840. package/src/Illustration/utils/canPlayWebm.ts +19 -0
  841. package/src/Illustration/utils/usePausePlay.spec.tsx +86 -0
  842. package/src/Illustration/utils/usePausePlay.tsx +34 -0
  843. package/src/Input/Input/Input.module.scss +359 -0
  844. package/src/Input/Input/Input.tsx +72 -0
  845. package/src/Input/Input/_docs/Input.mdx +41 -0
  846. package/src/Input/Input/_docs/Input.stickersheet.stories.tsx +126 -0
  847. package/src/Input/Input/_docs/Input.stories.tsx +118 -0
  848. package/src/Input/Input/index.ts +2 -0
  849. package/src/Input/Input/types.ts +2 -0
  850. package/src/Input/InputRange/InputRange.module.scss +170 -0
  851. package/src/Input/InputRange/InputRange.spec.tsx +39 -0
  852. package/src/Input/InputRange/InputRange.tsx +104 -0
  853. package/src/Input/InputRange/_docs/InputRange.mdx +36 -0
  854. package/src/Input/InputRange/_docs/InputRange.stickersheet.stories.tsx +68 -0
  855. package/src/Input/InputRange/_docs/InputRange.stories.tsx +67 -0
  856. package/src/Input/InputRange/index.ts +1 -0
  857. package/src/Input/InputSearch/InputSearch.module.scss +226 -0
  858. package/src/Input/InputSearch/InputSearch.spec.tsx +50 -0
  859. package/src/Input/InputSearch/InputSearch.tsx +88 -0
  860. package/src/Input/InputSearch/_docs/InputSearch.mdx +50 -0
  861. package/src/Input/InputSearch/_docs/InputSearch.stickersheet.stories.tsx +209 -0
  862. package/src/Input/InputSearch/_docs/InputSearch.stories.tsx +78 -0
  863. package/src/Input/InputSearch/index.ts +1 -0
  864. package/src/Input/index.ts +3 -0
  865. package/src/KaizenProvider/KaizenProvider.spec.tsx +29 -0
  866. package/src/KaizenProvider/KaizenProvider.tsx +22 -0
  867. package/src/KaizenProvider/_docs/KaizenProvider.mdx +51 -0
  868. package/src/KaizenProvider/_docs/code-diffs/migration-bonus.diff +12 -0
  869. package/src/KaizenProvider/_docs/code-diffs/migration-fe-template-bonus.diff +17 -0
  870. package/src/KaizenProvider/_docs/code-diffs/migration-fe-template-to-v1.diff +20 -0
  871. package/src/KaizenProvider/_docs/code-diffs/migration-to-v1.diff +14 -0
  872. package/src/KaizenProvider/_docs/internationalization-in-kaizen.mdx +62 -0
  873. package/src/KaizenProvider/index.ts +1 -0
  874. package/src/KaizenProvider/subcomponents/FontDefinitions/FontDefinitions.tsx +41 -0
  875. package/src/KaizenProvider/subcomponents/FontDefinitions/index.ts +1 -0
  876. package/src/KaizenProvider/subcomponents/OptionalIntlProvider/OptionalIntlProvider.spec.tsx +39 -0
  877. package/src/KaizenProvider/subcomponents/OptionalIntlProvider/OptionalIntlProvider.tsx +19 -0
  878. package/src/KaizenProvider/subcomponents/OptionalIntlProvider/index.ts +1 -0
  879. package/src/Label/Label.module.scss +120 -0
  880. package/src/Label/Label.tsx +52 -0
  881. package/src/Label/_docs/Label.mdx +59 -0
  882. package/src/Label/_docs/Label.stickersheet.stories.tsx +214 -0
  883. package/src/Label/_docs/Label.stories.tsx +116 -0
  884. package/src/Label/index.ts +1 -0
  885. package/src/Label/types.ts +3 -0
  886. package/src/LabelledMessage/LabelledMessage.module.scss +10 -0
  887. package/src/LabelledMessage/LabelledMessage.tsx +27 -0
  888. package/src/LabelledMessage/_docs/LabelledMessage.stickersheet.stories.tsx +38 -0
  889. package/src/LabelledMessage/_docs/LabelledMessage.stories.tsx +42 -0
  890. package/src/LabelledMessage/index.ts +1 -0
  891. package/src/LikertScaleLegacy/LikertScaleLegacy.module.scss +369 -0
  892. package/src/LikertScaleLegacy/LikertScaleLegacy.spec.tsx +63 -0
  893. package/src/LikertScaleLegacy/LikertScaleLegacy.tsx +202 -0
  894. package/src/LikertScaleLegacy/_docs/LikertScaleLegacy.mdx +28 -0
  895. package/src/LikertScaleLegacy/_docs/LikertScaleLegacy.stickersheet.stories.tsx +139 -0
  896. package/src/LikertScaleLegacy/_docs/LikertScaleLegacy.stories.tsx +90 -0
  897. package/src/LikertScaleLegacy/index.ts +1 -0
  898. package/src/LikertScaleLegacy/types.ts +8 -0
  899. package/src/LikertScaleLegacy/utils/determineSelectionFromKeyPress.ts +71 -0
  900. package/src/Loading/LoadingGraphic/LoadingGraphic.module.scss +17 -0
  901. package/src/Loading/LoadingGraphic/LoadingGraphic.tsx +56 -0
  902. package/src/Loading/LoadingGraphic/_docs/LoadingGraphic.mdx +40 -0
  903. package/src/Loading/LoadingGraphic/_docs/LoadingGraphic.stickersheet.stories.tsx +56 -0
  904. package/src/Loading/LoadingGraphic/_docs/LoadingGraphic.stories.tsx +98 -0
  905. package/src/Loading/LoadingGraphic/index.ts +1 -0
  906. package/src/Loading/LoadingHeading/LoadingHeading.module.scss +74 -0
  907. package/src/Loading/LoadingHeading/LoadingHeading.tsx +45 -0
  908. package/src/Loading/LoadingHeading/_docs/LoadingHeading.mdx +45 -0
  909. package/src/Loading/LoadingHeading/_docs/LoadingHeading.stickersheet.stories.tsx +65 -0
  910. package/src/Loading/LoadingHeading/_docs/LoadingHeading.stories.tsx +75 -0
  911. package/src/Loading/LoadingHeading/index.ts +1 -0
  912. package/src/Loading/LoadingInput/LoadingInput.module.scss +16 -0
  913. package/src/Loading/LoadingInput/LoadingInput.tsx +43 -0
  914. package/src/Loading/LoadingInput/_docs/LoadingInput.mdx +41 -0
  915. package/src/Loading/LoadingInput/_docs/LoadingInput.stories.tsx +56 -0
  916. package/src/Loading/LoadingInput/index.ts +1 -0
  917. package/src/Loading/LoadingParagraph/LoadingParagraph.module.scss +50 -0
  918. package/src/Loading/LoadingParagraph/LoadingParagraph.tsx +53 -0
  919. package/src/Loading/LoadingParagraph/_docs/LoadingParagraph.mdx +42 -0
  920. package/src/Loading/LoadingParagraph/_docs/LoadingParagraph.stickersheet.stories.tsx +56 -0
  921. package/src/Loading/LoadingParagraph/_docs/LoadingParagraph.stories.tsx +68 -0
  922. package/src/Loading/LoadingParagraph/index.ts +1 -0
  923. package/src/Loading/LoadingSpinner/LoadingSpinner.module.scss +16 -0
  924. package/src/Loading/LoadingSpinner/LoadingSpinner.tsx +84 -0
  925. package/src/Loading/LoadingSpinner/_docs/LoadingSpinner.mdx +52 -0
  926. package/src/Loading/LoadingSpinner/_docs/LoadingSpinner.stickersheet.stories.tsx +40 -0
  927. package/src/Loading/LoadingSpinner/_docs/LoadingSpinner.stories.tsx +45 -0
  928. package/src/Loading/LoadingSpinner/index.ts +1 -0
  929. package/src/Loading/_mixins.scss +28 -0
  930. package/src/Loading/index.ts +5 -0
  931. package/src/Menu/Menu.spec.tsx +63 -0
  932. package/src/Menu/Menu.tsx +77 -0
  933. package/src/Menu/_docs/Menu.mdx +32 -0
  934. package/src/Menu/_docs/Menu.stickersheet.stories.tsx +80 -0
  935. package/src/Menu/_docs/Menu.stories.tsx +57 -0
  936. package/src/Menu/_docs/MenuContentExample.tsx +100 -0
  937. package/src/Menu/_docs/examples.tsx +42 -0
  938. package/src/Menu/index.ts +5 -0
  939. package/src/Menu/subcomponents/MenuDropdown/MenuDropdown.module.scss +28 -0
  940. package/src/Menu/subcomponents/MenuDropdown/MenuDropdown.tsx +128 -0
  941. package/src/Menu/subcomponents/MenuDropdown/index.ts +1 -0
  942. package/src/Menu/subcomponents/MenuHeading/MenuHeading.module.scss +11 -0
  943. package/src/Menu/subcomponents/MenuHeading/MenuHeading.tsx +24 -0
  944. package/src/Menu/subcomponents/MenuHeading/index.ts +1 -0
  945. package/src/Menu/subcomponents/MenuItem/MenuItem.module.scss +106 -0
  946. package/src/Menu/subcomponents/MenuItem/MenuItem.tsx +98 -0
  947. package/src/Menu/subcomponents/MenuItem/index.ts +1 -0
  948. package/src/Menu/subcomponents/MenuList/MenuList.module.scss +18 -0
  949. package/src/Menu/subcomponents/MenuList/MenuList.spec.tsx +44 -0
  950. package/src/Menu/subcomponents/MenuList/MenuList.tsx +29 -0
  951. package/src/Menu/subcomponents/MenuList/index.ts +1 -0
  952. package/src/Menu/subcomponents/StatelessMenu/StatelessMenu.module.scss +3 -0
  953. package/src/Menu/subcomponents/StatelessMenu/StatelessMenu.tsx +126 -0
  954. package/src/Menu/subcomponents/StatelessMenu/index.ts +1 -0
  955. package/src/Modal/ConfirmationModal/ConfirmationModal.module.scss +172 -0
  956. package/src/Modal/ConfirmationModal/ConfirmationModal.spec.tsx +83 -0
  957. package/src/Modal/ConfirmationModal/ConfirmationModal.tsx +185 -0
  958. package/src/Modal/ConfirmationModal/_docs/ConfirmationModal.mdx +45 -0
  959. package/src/Modal/ConfirmationModal/_docs/ConfirmationModal.stories.tsx +113 -0
  960. package/src/Modal/ConfirmationModal/index.ts +1 -0
  961. package/src/Modal/ContextModal/ContextModal.module.scss +106 -0
  962. package/src/Modal/ContextModal/ContextModal.spec.tsx +60 -0
  963. package/src/Modal/ContextModal/ContextModal.tsx +149 -0
  964. package/src/Modal/ContextModal/_docs/ContextModal.mdx +42 -0
  965. package/src/Modal/ContextModal/_docs/ContextModal.stories.tsx +147 -0
  966. package/src/Modal/ContextModal/index.ts +1 -0
  967. package/src/Modal/GenericModal/GenericModal.module.scss +114 -0
  968. package/src/Modal/GenericModal/GenericModal.spec.tsx +100 -0
  969. package/src/Modal/GenericModal/GenericModal.tsx +173 -0
  970. package/src/Modal/GenericModal/_docs/GenericModal.mdx +30 -0
  971. package/src/Modal/GenericModal/_docs/GenericModal.stories.tsx +48 -0
  972. package/src/Modal/GenericModal/context/ModalContext.ts +11 -0
  973. package/src/Modal/GenericModal/index.ts +7 -0
  974. package/src/Modal/GenericModal/subcomponents/ModalAccessibleDescription/ModalAccessibleDescription.module.scss +3 -0
  975. package/src/Modal/GenericModal/subcomponents/ModalAccessibleDescription/ModalAccessibleDescription.tsx +21 -0
  976. package/src/Modal/GenericModal/subcomponents/ModalAccessibleDescription/index.ts +1 -0
  977. package/src/Modal/GenericModal/subcomponents/ModalAccessibleLabel/ModalAccessibleLabel.module.scss +51 -0
  978. package/src/Modal/GenericModal/subcomponents/ModalAccessibleLabel/ModalAccessibleLabel.tsx +31 -0
  979. package/src/Modal/GenericModal/subcomponents/ModalAccessibleLabel/index.ts +1 -0
  980. package/src/Modal/GenericModal/subcomponents/ModalBody/ModalBody.module.scss +7 -0
  981. package/src/Modal/GenericModal/subcomponents/ModalBody/ModalBody.tsx +17 -0
  982. package/src/Modal/GenericModal/subcomponents/ModalBody/index.ts +1 -0
  983. package/src/Modal/GenericModal/subcomponents/ModalFooter/ModalFooter.module.scss +75 -0
  984. package/src/Modal/GenericModal/subcomponents/ModalFooter/ModalFooter.tsx +67 -0
  985. package/src/Modal/GenericModal/subcomponents/ModalFooter/index.ts +1 -0
  986. package/src/Modal/GenericModal/subcomponents/ModalHeader/ModalHeader.module.scss +24 -0
  987. package/src/Modal/GenericModal/subcomponents/ModalHeader/ModalHeader.tsx +33 -0
  988. package/src/Modal/GenericModal/subcomponents/ModalHeader/index.ts +1 -0
  989. package/src/Modal/InputEditModal/InputEditModal.module.scss +56 -0
  990. package/src/Modal/InputEditModal/InputEditModal.spec.tsx +74 -0
  991. package/src/Modal/InputEditModal/InputEditModal.tsx +118 -0
  992. package/src/Modal/InputEditModal/_docs/InputEditModal.mdx +46 -0
  993. package/src/Modal/InputEditModal/_docs/InputEditModal.stories.tsx +126 -0
  994. package/src/Modal/InputEditModal/index.ts +1 -0
  995. package/src/Modal/index.ts +4 -0
  996. package/src/Modal/util/console.ts +15 -0
  997. package/src/MultiSelect/MultiSelect.module.scss +9 -0
  998. package/src/MultiSelect/MultiSelect.spec.tsx +333 -0
  999. package/src/MultiSelect/MultiSelect.tsx +130 -0
  1000. package/src/MultiSelect/_docs/MultiSelect.mdx +66 -0
  1001. package/src/MultiSelect/_docs/MultiSelect.stickersheet.stories.tsx +110 -0
  1002. package/src/MultiSelect/_docs/MultiSelect.stories.tsx +152 -0
  1003. package/src/MultiSelect/index.ts +1 -0
  1004. package/src/MultiSelect/subcomponents/Checkbox/Checkbox.module.scss +78 -0
  1005. package/src/MultiSelect/subcomponents/Checkbox/Checkbox.spec.tsx +76 -0
  1006. package/src/MultiSelect/subcomponents/Checkbox/Checkbox.tsx +79 -0
  1007. package/src/MultiSelect/subcomponents/Checkbox/_docs/Checkbox.stickersheet.stories.tsx +68 -0
  1008. package/src/MultiSelect/subcomponents/Checkbox/_docs/Checkbox.stories.tsx +61 -0
  1009. package/src/MultiSelect/subcomponents/Checkbox/index.ts +1 -0
  1010. package/src/MultiSelect/subcomponents/MultiSelectOptionField/MultiSelectOptionField.module.scss +71 -0
  1011. package/src/MultiSelect/subcomponents/MultiSelectOptionField/MultiSelectOptionField.spec.tsx +86 -0
  1012. package/src/MultiSelect/subcomponents/MultiSelectOptionField/MultiSelectOptionField.tsx +42 -0
  1013. package/src/MultiSelect/subcomponents/MultiSelectOptionField/_docs/MultiSelectOptionField.stickersheet.stories.tsx +114 -0
  1014. package/src/MultiSelect/subcomponents/MultiSelectOptionField/_docs/MultiSelectOptionField.stories.tsx +62 -0
  1015. package/src/MultiSelect/subcomponents/MultiSelectOptionField/index.ts +1 -0
  1016. package/src/MultiSelect/subcomponents/MultiSelectOptions/MultiSelectOptions.module.scss +9 -0
  1017. package/src/MultiSelect/subcomponents/MultiSelectOptions/MultiSelectOptions.spec.tsx +123 -0
  1018. package/src/MultiSelect/subcomponents/MultiSelectOptions/MultiSelectOptions.tsx +70 -0
  1019. package/src/MultiSelect/subcomponents/MultiSelectOptions/_docs/MultiSelectOptions.stickersheet.stories.tsx +75 -0
  1020. package/src/MultiSelect/subcomponents/MultiSelectOptions/_docs/MultiSelectOptions.stories.tsx +59 -0
  1021. package/src/MultiSelect/subcomponents/MultiSelectOptions/index.ts +1 -0
  1022. package/src/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.module.scss +80 -0
  1023. package/src/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.spec.tsx +111 -0
  1024. package/src/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.tsx +114 -0
  1025. package/src/MultiSelect/subcomponents/MultiSelectToggle/_docs/MultiSelectToggle.stickersheet.stories.tsx +172 -0
  1026. package/src/MultiSelect/subcomponents/MultiSelectToggle/index.ts +1 -0
  1027. package/src/MultiSelect/subcomponents/Popover/Popover.module.scss +11 -0
  1028. package/src/MultiSelect/subcomponents/Popover/Popover.spec.tsx +59 -0
  1029. package/src/MultiSelect/subcomponents/Popover/Popover.tsx +79 -0
  1030. package/src/MultiSelect/subcomponents/Popover/_docs/Popover.stickersheet.stories.tsx +215 -0
  1031. package/src/MultiSelect/subcomponents/Popover/_docs/Popover.stories.tsx +81 -0
  1032. package/src/MultiSelect/subcomponents/Popover/index.ts +2 -0
  1033. package/src/MultiSelect/types.ts +5 -0
  1034. package/src/Notification/GlobalNotification/GlobalNotification.spec.tsx +26 -0
  1035. package/src/Notification/GlobalNotification/GlobalNotification.tsx +24 -0
  1036. package/src/Notification/GlobalNotification/_docs/GlobalNotification.mdx +36 -0
  1037. package/src/Notification/GlobalNotification/_docs/GlobalNotification.stickersheet.stories.tsx +110 -0
  1038. package/src/Notification/GlobalNotification/_docs/GlobalNotification.stories.tsx +47 -0
  1039. package/src/Notification/GlobalNotification/index.ts +1 -0
  1040. package/src/Notification/InlineNotification/InlineNotification.spec.tsx +25 -0
  1041. package/src/Notification/InlineNotification/InlineNotification.tsx +44 -0
  1042. package/src/Notification/InlineNotification/_docs/InlineNotification.mdx +45 -0
  1043. package/src/Notification/InlineNotification/_docs/InlineNotification.stickersheet.stories.tsx +185 -0
  1044. package/src/Notification/InlineNotification/_docs/InlineNotification.stories.tsx +77 -0
  1045. package/src/Notification/InlineNotification/index.ts +1 -0
  1046. package/src/Notification/ToastNotification/ToastNotification.spec.tsx +31 -0
  1047. package/src/Notification/ToastNotification/ToastNotification.tsx +43 -0
  1048. package/src/Notification/ToastNotification/_docs/ToastNotification.mdx +67 -0
  1049. package/src/Notification/ToastNotification/_docs/ToastNotification.stickersheet.stories.tsx +98 -0
  1050. package/src/Notification/ToastNotification/_docs/ToastNotification.stories.tsx +142 -0
  1051. package/src/Notification/ToastNotification/index.ts +3 -0
  1052. package/src/Notification/ToastNotification/subcomponents/ToastNotificationManager/ToastNotificationManager.spec.tsx +144 -0
  1053. package/src/Notification/ToastNotification/subcomponents/ToastNotificationManager/ToastNotificationManager.tsx +135 -0
  1054. package/src/Notification/ToastNotification/subcomponents/ToastNotificationManager/index.ts +1 -0
  1055. package/src/Notification/ToastNotification/subcomponents/ToastNotificationsList/ToastNotificationsList.module.scss +26 -0
  1056. package/src/Notification/ToastNotification/subcomponents/ToastNotificationsList/ToastNotificationsList.tsx +40 -0
  1057. package/src/Notification/ToastNotification/subcomponents/ToastNotificationsList/index.ts +1 -0
  1058. package/src/Notification/ToastNotification/subcomponents/ToastNotificationsListContainer/ToastNotificationsListContainer.spec.tsx +73 -0
  1059. package/src/Notification/ToastNotification/subcomponents/ToastNotificationsListContainer/ToastNotificationsListContainer.tsx +31 -0
  1060. package/src/Notification/ToastNotification/subcomponents/ToastNotificationsListContainer/index.ts +1 -0
  1061. package/src/Notification/ToastNotification/types.ts +32 -0
  1062. package/src/Notification/index.ts +2 -0
  1063. package/src/Notification/subcomponents/CancelButton/CancelButton.tsx +21 -0
  1064. package/src/Notification/subcomponents/CancelButton/index.ts +1 -0
  1065. package/src/Notification/subcomponents/GenericNotification/GenericNotification.module.scss +125 -0
  1066. package/src/Notification/subcomponents/GenericNotification/GenericNotification.spec.tsx +76 -0
  1067. package/src/Notification/subcomponents/GenericNotification/GenericNotification.tsx +103 -0
  1068. package/src/Notification/subcomponents/GenericNotification/_mixins.scss +399 -0
  1069. package/src/Notification/subcomponents/GenericNotification/index.ts +1 -0
  1070. package/src/Notification/subcomponents/NotificationHeading/NotificationHeading.tsx +43 -0
  1071. package/src/Notification/subcomponents/NotificationHeading/index.ts +1 -0
  1072. package/src/Notification/subcomponents/NotificationIcon/NotificationIcon.tsx +32 -0
  1073. package/src/Notification/subcomponents/NotificationIcon/index.ts +1 -0
  1074. package/src/Notification/types.ts +6 -0
  1075. package/src/Pagination/Pagination.module.scss +65 -0
  1076. package/src/Pagination/Pagination.spec.tsx +30 -0
  1077. package/src/Pagination/Pagination.tsx +163 -0
  1078. package/src/Pagination/_docs/Pagination.mdx +28 -0
  1079. package/src/Pagination/_docs/Pagination.stickersheet.stories.tsx +109 -0
  1080. package/src/Pagination/_docs/Pagination.stories.tsx +31 -0
  1081. package/src/Pagination/index.ts +3 -0
  1082. package/src/Pagination/subcomponents/DirectionalLink/DirectionalLink.module.scss +24 -0
  1083. package/src/Pagination/subcomponents/DirectionalLink/DirectionalLink.tsx +41 -0
  1084. package/src/Pagination/subcomponents/DirectionalLink/_docs/DirectionalLink.mdx +28 -0
  1085. package/src/Pagination/subcomponents/DirectionalLink/_docs/DirectionalLink.stickersheet.stories.tsx +111 -0
  1086. package/src/Pagination/subcomponents/DirectionalLink/_docs/DirectionalLink.stories.tsx +25 -0
  1087. package/src/Pagination/subcomponents/DirectionalLink/index.ts +1 -0
  1088. package/src/Pagination/subcomponents/PaginationLink/PaginationLink.module.scss +89 -0
  1089. package/src/Pagination/subcomponents/PaginationLink/PaginationLink.tsx +27 -0
  1090. package/src/Pagination/subcomponents/PaginationLink/_docs/PaginationLink.mdx +29 -0
  1091. package/src/Pagination/subcomponents/PaginationLink/_docs/PaginationLink.stickersheet.stories.tsx +102 -0
  1092. package/src/Pagination/subcomponents/PaginationLink/_docs/PaginationLink.stories.tsx +25 -0
  1093. package/src/Pagination/subcomponents/PaginationLink/index.ts +1 -0
  1094. package/src/Pagination/subcomponents/TruncateIndicator/TruncateIndicator.module.scss +12 -0
  1095. package/src/Pagination/subcomponents/TruncateIndicator/TruncateIndicator.tsx +12 -0
  1096. package/src/Pagination/subcomponents/TruncateIndicator/index.ts +1 -0
  1097. package/src/Pagination/utils/createRange.spec.ts +9 -0
  1098. package/src/Pagination/utils/createRange.ts +9 -0
  1099. package/src/Popover/Popover.module.scss +262 -0
  1100. package/src/Popover/Popover.tsx +214 -0
  1101. package/src/Popover/_docs/Popover.mdx +54 -0
  1102. package/src/Popover/_docs/Popover.stickersheet.stories.tsx +99 -0
  1103. package/src/Popover/_docs/Popover.stories.tsx +92 -0
  1104. package/src/Popover/index.ts +1 -0
  1105. package/src/Popover/types.ts +21 -0
  1106. package/src/Popover/utils/classMappers.tsx +83 -0
  1107. package/src/ProgressBar/ProgressBar.module.scss +88 -0
  1108. package/src/ProgressBar/ProgressBar.spec.tsx +25 -0
  1109. package/src/ProgressBar/ProgressBar.tsx +74 -0
  1110. package/src/ProgressBar/_docs/ProgressBar.mdx +56 -0
  1111. package/src/ProgressBar/_docs/ProgressBar.stickersheet.stories.tsx +101 -0
  1112. package/src/ProgressBar/_docs/ProgressBar.stories.tsx +90 -0
  1113. package/src/ProgressBar/index.ts +1 -0
  1114. package/src/ProgressBar/subcomponents/Label/Label.module.scss +8 -0
  1115. package/src/ProgressBar/subcomponents/Label/Label.tsx +18 -0
  1116. package/src/ProgressBar/subcomponents/Label/index.ts +1 -0
  1117. package/src/ProgressBar/utils/calculatePercentage.spec.ts +9 -0
  1118. package/src/ProgressBar/utils/calculatePercentage.ts +7 -0
  1119. package/src/Radio/Radio/Radio.module.scss +93 -0
  1120. package/src/Radio/Radio/Radio.tsx +65 -0
  1121. package/src/Radio/Radio/_docs/Radio.mdx +29 -0
  1122. package/src/Radio/Radio/_docs/Radio.stickersheet.stories.tsx +107 -0
  1123. package/src/Radio/Radio/_docs/Radio.stories.tsx +39 -0
  1124. package/src/Radio/Radio/index.ts +1 -0
  1125. package/src/Radio/RadioField/RadioField.module.scss +49 -0
  1126. package/src/Radio/RadioField/RadioField.tsx +64 -0
  1127. package/src/Radio/RadioField/_docs/RadioField.mdx +28 -0
  1128. package/src/Radio/RadioField/_docs/RadioField.stickersheet.stories.tsx +101 -0
  1129. package/src/Radio/RadioField/_docs/RadioField.stories.tsx +46 -0
  1130. package/src/Radio/RadioField/index.ts +1 -0
  1131. package/src/Radio/RadioGroup/RadioGroup.module.scss +27 -0
  1132. package/src/Radio/RadioGroup/RadioGroup.spec.tsx +32 -0
  1133. package/src/Radio/RadioGroup/RadioGroup.tsx +57 -0
  1134. package/src/Radio/RadioGroup/_docs/RadioGroup.mdx +28 -0
  1135. package/src/Radio/RadioGroup/_docs/RadioGroup.stickersheet.stories.tsx +128 -0
  1136. package/src/Radio/RadioGroup/_docs/RadioGroup.stories.tsx +63 -0
  1137. package/src/Radio/RadioGroup/index.ts +1 -0
  1138. package/src/Radio/index.ts +3 -0
  1139. package/src/RichTextEditor/EditableRichTextContent/EditableRichTextContent.module.scss +26 -0
  1140. package/src/RichTextEditor/EditableRichTextContent/EditableRichTextContent.spec.tsx +35 -0
  1141. package/src/RichTextEditor/EditableRichTextContent/EditableRichTextContent.tsx +60 -0
  1142. package/src/RichTextEditor/EditableRichTextContent/_docs/EditableRichTextContent.mdx +54 -0
  1143. package/src/RichTextEditor/EditableRichTextContent/_docs/EditableRichTextContent.stories.tsx +92 -0
  1144. package/src/RichTextEditor/EditableRichTextContent/_docs/dummyContent.json +158 -0
  1145. package/src/RichTextEditor/EditableRichTextContent/index.ts +1 -0
  1146. package/src/RichTextEditor/RichTextContent/RichTextContent.module.scss +5 -0
  1147. package/src/RichTextEditor/RichTextContent/RichTextContent.tsx +41 -0
  1148. package/src/RichTextEditor/RichTextContent/_docs/RichTextContent.mdx +26 -0
  1149. package/src/RichTextEditor/RichTextContent/_docs/RichTextContent.stories.tsx +24 -0
  1150. package/src/RichTextEditor/RichTextContent/_docs/dummyContent.json +158 -0
  1151. package/src/RichTextEditor/RichTextContent/index.ts +1 -0
  1152. package/src/RichTextEditor/RichTextEditor/RichTextEditor.module.scss +103 -0
  1153. package/src/RichTextEditor/RichTextEditor/RichTextEditor.spec.stories.tsx +150 -0
  1154. package/src/RichTextEditor/RichTextEditor/RichTextEditor.spec.tsx +167 -0
  1155. package/src/RichTextEditor/RichTextEditor/RichTextEditor.tsx +240 -0
  1156. package/src/RichTextEditor/RichTextEditor/_docs/RichTextEditor.mdx +51 -0
  1157. package/src/RichTextEditor/RichTextEditor/_docs/RichTextEditor.stories.tsx +138 -0
  1158. package/src/RichTextEditor/RichTextEditor/index.ts +4 -0
  1159. package/src/RichTextEditor/RichTextEditor/schema.ts +77 -0
  1160. package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/ToggleIconButton.module.scss +128 -0
  1161. package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/ToggleIconButton.tsx +62 -0
  1162. package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/_docs/ToggleIconButton.mdx +26 -0
  1163. package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/_docs/ToggleIconButton.stickersheet.stories.tsx +84 -0
  1164. package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/_docs/ToggleIconButton.stories.tsx +30 -0
  1165. package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/index.ts +1 -0
  1166. package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/types.ts +9 -0
  1167. package/src/RichTextEditor/RichTextEditor/subcomponents/Toolbar/Toolbar.module.scss +6 -0
  1168. package/src/RichTextEditor/RichTextEditor/subcomponents/Toolbar/Toolbar.spec.tsx +84 -0
  1169. package/src/RichTextEditor/RichTextEditor/subcomponents/Toolbar/Toolbar.tsx +113 -0
  1170. package/src/RichTextEditor/RichTextEditor/subcomponents/Toolbar/_docs/Toolbar.mdx +26 -0
  1171. package/src/RichTextEditor/RichTextEditor/subcomponents/Toolbar/_docs/Toolbar.stories.tsx +76 -0
  1172. package/src/RichTextEditor/RichTextEditor/subcomponents/Toolbar/index.ts +1 -0
  1173. package/src/RichTextEditor/RichTextEditor/subcomponents/ToolbarSection/ToolbarSection.module.scss +15 -0
  1174. package/src/RichTextEditor/RichTextEditor/subcomponents/ToolbarSection/ToolbarSection.tsx +12 -0
  1175. package/src/RichTextEditor/RichTextEditor/subcomponents/ToolbarSection/index.ts +1 -0
  1176. package/src/RichTextEditor/RichTextEditor/utils/controlmap.tsx +298 -0
  1177. package/src/RichTextEditor/RichTextEditor/utils/inputrules.ts +22 -0
  1178. package/src/RichTextEditor/RichTextEditor/utils/keymap.ts +101 -0
  1179. package/src/RichTextEditor/_mixins.scss +83 -0
  1180. package/src/RichTextEditor/constants.ts +10 -0
  1181. package/src/RichTextEditor/index.ts +9 -0
  1182. package/src/RichTextEditor/types.ts +39 -0
  1183. package/src/RichTextEditor/utils/commands/addMark.spec.ts +59 -0
  1184. package/src/RichTextEditor/utils/commands/addMark.ts +19 -0
  1185. package/src/RichTextEditor/utils/commands/fixtures/data.json +102 -0
  1186. package/src/RichTextEditor/utils/commands/fixtures/helpers.ts +148 -0
  1187. package/src/RichTextEditor/utils/commands/fixtures/test-state.ts +39 -0
  1188. package/src/RichTextEditor/utils/commands/getMarkAttrs.spec.ts +58 -0
  1189. package/src/RichTextEditor/utils/commands/getMarkAttrs.ts +23 -0
  1190. package/src/RichTextEditor/utils/commands/getMarkRange.spec.ts +87 -0
  1191. package/src/RichTextEditor/utils/commands/getMarkRange.ts +48 -0
  1192. package/src/RichTextEditor/utils/commands/index.ts +9 -0
  1193. package/src/RichTextEditor/utils/commands/listIsActive.spec.ts +57 -0
  1194. package/src/RichTextEditor/utils/commands/listIsActive.ts +16 -0
  1195. package/src/RichTextEditor/utils/commands/markContainsSelection.spec.ts +80 -0
  1196. package/src/RichTextEditor/utils/commands/markContainsSelection.ts +22 -0
  1197. package/src/RichTextEditor/utils/commands/markIsActive.spec.ts +87 -0
  1198. package/src/RichTextEditor/utils/commands/markIsActive.ts +12 -0
  1199. package/src/RichTextEditor/utils/commands/removeMark.spec.ts +88 -0
  1200. package/src/RichTextEditor/utils/commands/removeMark.ts +32 -0
  1201. package/src/RichTextEditor/utils/commands/updateMark.spec.ts +92 -0
  1202. package/src/RichTextEditor/utils/commands/updateMark.ts +32 -0
  1203. package/src/RichTextEditor/utils/commands/validateAndRemoveMarks.spec.ts +34 -0
  1204. package/src/RichTextEditor/utils/commands/validateAndRemoveMarks.ts +55 -0
  1205. package/src/RichTextEditor/utils/core/createRichTextEditor.spec.ts +235 -0
  1206. package/src/RichTextEditor/utils/core/createRichTextEditor.ts +68 -0
  1207. package/src/RichTextEditor/utils/core/fixtures/testState.ts +42 -0
  1208. package/src/RichTextEditor/utils/core/hooks/useRichTextEditor.spec.tsx +156 -0
  1209. package/src/RichTextEditor/utils/core/hooks/useRichTextEditor.ts +102 -0
  1210. package/src/RichTextEditor/utils/core/index.ts +5 -0
  1211. package/src/RichTextEditor/utils/core/inputrules.ts +20 -0
  1212. package/src/RichTextEditor/utils/core/state.spec.ts +44 -0
  1213. package/src/RichTextEditor/utils/core/state.ts +30 -0
  1214. package/src/RichTextEditor/utils/core/types.ts +35 -0
  1215. package/src/RichTextEditor/utils/plugins/LinkManager/LinkManager.tsx +179 -0
  1216. package/src/RichTextEditor/utils/plugins/LinkManager/components/LinkEditor/LinkEditor.tsx +76 -0
  1217. package/src/RichTextEditor/utils/plugins/LinkManager/components/LinkEditor/index.ts +1 -0
  1218. package/src/RichTextEditor/utils/plugins/LinkManager/components/LinkModal/LinkModal.tsx +65 -0
  1219. package/src/RichTextEditor/utils/plugins/LinkManager/components/LinkModal/index.ts +1 -0
  1220. package/src/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.module.scss +28 -0
  1221. package/src/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/LinkPopover.tsx +60 -0
  1222. package/src/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/Positioner.tsx +47 -0
  1223. package/src/RichTextEditor/utils/plugins/LinkManager/components/LinkPopover/index.ts +1 -0
  1224. package/src/RichTextEditor/utils/plugins/LinkManager/components/index.ts +3 -0
  1225. package/src/RichTextEditor/utils/plugins/LinkManager/createReactTooltipWrapper.tsx +67 -0
  1226. package/src/RichTextEditor/utils/plugins/LinkManager/index.ts +2 -0
  1227. package/src/RichTextEditor/utils/plugins/LinkManager/types.ts +17 -0
  1228. package/src/RichTextEditor/utils/plugins/LinkManager/validation.ts +19 -0
  1229. package/src/RichTextEditor/utils/plugins/index.ts +1 -0
  1230. package/src/RichTextEditor/utils/prosemirror/index.ts +7 -0
  1231. package/src/RichTextEditor/utils/schema/index.ts +2 -0
  1232. package/src/RichTextEditor/utils/schema/marks.ts +58 -0
  1233. package/src/RichTextEditor/utils/schema/nodes.ts +39 -0
  1234. package/src/SearchField/SearchField.module.scss +6 -0
  1235. package/src/SearchField/SearchField.tsx +54 -0
  1236. package/src/SearchField/_docs/SearchField.mdx +40 -0
  1237. package/src/SearchField/_docs/SearchField.stickersheet.stories.tsx +109 -0
  1238. package/src/SearchField/_docs/SearchField.stories.tsx +66 -0
  1239. package/src/SearchField/index.ts +1 -0
  1240. package/src/Select/Select.module.scss +398 -0
  1241. package/src/Select/Select.tsx +255 -0
  1242. package/src/Select/_docs/Select.mdx +46 -0
  1243. package/src/Select/_docs/Select.stickersheet.stories.tsx +195 -0
  1244. package/src/Select/_docs/Select.stories.tsx +115 -0
  1245. package/src/Select/index.ts +2 -0
  1246. package/src/Skirt/Skirt.module.scss +32 -0
  1247. package/src/Skirt/Skirt.tsx +76 -0
  1248. package/src/Skirt/_docs/Skirt.mdx +28 -0
  1249. package/src/Skirt/_docs/Skirt.stories.tsx +50 -0
  1250. package/src/Skirt/index.ts +1 -0
  1251. package/src/Skirt/subcomponents/SkirtCard/SkirtCard.module.scss +17 -0
  1252. package/src/Skirt/subcomponents/SkirtCard/SkirtCard.tsx +18 -0
  1253. package/src/Skirt/subcomponents/SkirtCard/index.ts +1 -0
  1254. package/src/Slider/Slider.module.scss +42 -0
  1255. package/src/Slider/Slider.spec.tsx +48 -0
  1256. package/src/Slider/Slider.tsx +81 -0
  1257. package/src/Slider/_docs/Slider.mdx +42 -0
  1258. package/src/Slider/_docs/Slider.stickersheet.stories.tsx +128 -0
  1259. package/src/Slider/_docs/Slider.stories.tsx +56 -0
  1260. package/src/Slider/index.ts +1 -0
  1261. package/src/SplitButton/SplitButton.module.scss +4 -0
  1262. package/src/SplitButton/SplitButton.spec.tsx +52 -0
  1263. package/src/SplitButton/SplitButton.tsx +88 -0
  1264. package/src/SplitButton/_docs/SplitButton.mdx +45 -0
  1265. package/src/SplitButton/_docs/SplitButton.stickersheet.stories.tsx +143 -0
  1266. package/src/SplitButton/_docs/SplitButton.stories.tsx +71 -0
  1267. package/src/SplitButton/index.ts +1 -0
  1268. package/src/SplitButton/subcomponents/ActionButton/ActionButton.module.scss +8 -0
  1269. package/src/SplitButton/subcomponents/ActionButton/ActionButton.tsx +18 -0
  1270. package/src/SplitButton/subcomponents/ActionButton/index.ts +1 -0
  1271. package/src/SplitButton/subcomponents/BaseButton/BaseButton.module.scss +85 -0
  1272. package/src/SplitButton/subcomponents/BaseButton/BaseButton.spec.tsx +40 -0
  1273. package/src/SplitButton/subcomponents/BaseButton/BaseButton.tsx +61 -0
  1274. package/src/SplitButton/subcomponents/BaseButton/index.ts +1 -0
  1275. package/src/SplitButton/subcomponents/DropdownButton/DropdownButton.module.scss +23 -0
  1276. package/src/SplitButton/subcomponents/DropdownButton/DropdownButton.spec.tsx +22 -0
  1277. package/src/SplitButton/subcomponents/DropdownButton/DropdownButton.tsx +22 -0
  1278. package/src/SplitButton/subcomponents/DropdownButton/index.ts +1 -0
  1279. package/src/Table/Table.module.scss +245 -0
  1280. package/src/Table/Table.spec.tsx +70 -0
  1281. package/src/Table/Table.tsx +409 -0
  1282. package/src/Table/_docs/Table.mdx +57 -0
  1283. package/src/Table/_docs/Table.stories.tsx +312 -0
  1284. package/src/Table/index.ts +1 -0
  1285. package/src/Tabs/Tabs.tsx +44 -0
  1286. package/src/Tabs/_docs/Tabs.mdx +43 -0
  1287. package/src/Tabs/_docs/Tabs.stories.tsx +84 -0
  1288. package/src/Tabs/index.ts +2 -0
  1289. package/src/Tabs/subcomponents/Tab.module.scss +103 -0
  1290. package/src/Tabs/subcomponents/Tab.tsx +85 -0
  1291. package/src/Tabs/subcomponents/TabList.module.scss +11 -0
  1292. package/src/Tabs/subcomponents/TabList.tsx +38 -0
  1293. package/src/Tabs/subcomponents/TabPanel.module.scss +15 -0
  1294. package/src/Tabs/subcomponents/TabPanel.tsx +23 -0
  1295. package/src/Tabs/subcomponents/TabPanels.tsx +15 -0
  1296. package/src/Tabs/subcomponents/index.ts +5 -0
  1297. package/src/Tag/Tag.module.scss +303 -0
  1298. package/src/Tag/Tag.tsx +187 -0
  1299. package/src/Tag/_docs/Tag.mdx +77 -0
  1300. package/src/Tag/_docs/Tag.stickersheet.stories.tsx +115 -0
  1301. package/src/Tag/_docs/Tag.stories.tsx +162 -0
  1302. package/src/Tag/index.ts +1 -0
  1303. package/src/Tag/types.ts +27 -0
  1304. package/src/Text/Text.module.scss +70 -0
  1305. package/src/Text/Text.spec.tsx +107 -0
  1306. package/src/Text/Text.tsx +70 -0
  1307. package/src/Text/__snapshots__/Text.spec.tsx.snap +49 -0
  1308. package/src/Text/_docs/Text.mdx +35 -0
  1309. package/src/Text/_docs/Text.stickersheet.stories.tsx +98 -0
  1310. package/src/Text/_docs/Text.stories.tsx +28 -0
  1311. package/src/Text/index.ts +1 -0
  1312. package/src/TextArea/TextArea.module.scss +137 -0
  1313. package/src/TextArea/TextArea.spec.tsx +34 -0
  1314. package/src/TextArea/TextArea.tsx +101 -0
  1315. package/src/TextArea/_docs/TextArea.mdx +51 -0
  1316. package/src/TextArea/_docs/TextArea.stickersheet.stories.tsx +86 -0
  1317. package/src/TextArea/_docs/TextArea.stories.tsx +34 -0
  1318. package/src/TextArea/index.ts +1 -0
  1319. package/src/TextAreaField/TextAreaField.module.scss +20 -0
  1320. package/src/TextAreaField/TextAreaField.spec.tsx +25 -0
  1321. package/src/TextAreaField/TextAreaField.tsx +109 -0
  1322. package/src/TextAreaField/_docs/TextAreaField.mdx +47 -0
  1323. package/src/TextAreaField/_docs/TextAreaField.stickersheet.stories.tsx +140 -0
  1324. package/src/TextAreaField/_docs/TextAreaField.stories.tsx +88 -0
  1325. package/src/TextAreaField/index.ts +1 -0
  1326. package/src/TextField/TextField.module.scss +49 -0
  1327. package/src/TextField/TextField.spec.tsx +81 -0
  1328. package/src/TextField/TextField.tsx +130 -0
  1329. package/src/TextField/_docs/TextField.mdx +48 -0
  1330. package/src/TextField/_docs/TextField.stickersheet.stories.tsx +111 -0
  1331. package/src/TextField/_docs/TextField.stories.tsx +99 -0
  1332. package/src/TextField/index.ts +1 -0
  1333. package/src/Tile/InformationTile/InformationTile.tsx +14 -0
  1334. package/src/Tile/InformationTile/_docs/InformationTile.mdx +36 -0
  1335. package/src/Tile/InformationTile/_docs/InformationTile.stickersheet.stories.tsx +41 -0
  1336. package/src/Tile/InformationTile/_docs/InformationTile.stories.tsx +44 -0
  1337. package/src/Tile/InformationTile/index.ts +1 -0
  1338. package/src/Tile/MultiActionTile/MultiActionTile.module.scss +3 -0
  1339. package/src/Tile/MultiActionTile/MultiActionTile.tsx +47 -0
  1340. package/src/Tile/MultiActionTile/_docs/MultiActionTile.mdx +39 -0
  1341. package/src/Tile/MultiActionTile/_docs/MultiActionTile.stickersheet.stories.tsx +46 -0
  1342. package/src/Tile/MultiActionTile/_docs/MultiActionTile.stories.tsx +54 -0
  1343. package/src/Tile/MultiActionTile/index.ts +1 -0
  1344. package/src/Tile/TileGrid/TileGrid.module.scss +23 -0
  1345. package/src/Tile/TileGrid/TileGrid.tsx +35 -0
  1346. package/src/Tile/TileGrid/_docs/TileGrid.mdx +27 -0
  1347. package/src/Tile/TileGrid/_docs/TileGrid.stickersheet.stories.tsx +126 -0
  1348. package/src/Tile/TileGrid/_docs/TileGrid.stories.tsx +47 -0
  1349. package/src/Tile/TileGrid/index.ts +1 -0
  1350. package/src/Tile/index.ts +3 -0
  1351. package/src/Tile/subcomponents/GenericTile/Action.tsx +41 -0
  1352. package/src/Tile/subcomponents/GenericTile/GenericTile.module.scss +134 -0
  1353. package/src/Tile/subcomponents/GenericTile/GenericTile.spec.stories.tsx +31 -0
  1354. package/src/Tile/subcomponents/GenericTile/GenericTile.tsx +173 -0
  1355. package/src/Tile/subcomponents/GenericTile/_docs/GenericTile.stickersheet.stories.tsx +41 -0
  1356. package/src/Tile/subcomponents/GenericTile/_variables.scss +2 -0
  1357. package/src/Tile/subcomponents/GenericTile/index.ts +1 -0
  1358. package/src/Tile/subcomponents/GenericTile/types.ts +10 -0
  1359. package/src/TimeField/TimeField.module.scss +70 -0
  1360. package/src/TimeField/TimeField.spec.tsx +182 -0
  1361. package/src/TimeField/TimeField.tsx +137 -0
  1362. package/src/TimeField/_docs/TimeField.mdx +32 -0
  1363. package/src/TimeField/_docs/TimeField.stickersheet.stories.tsx +147 -0
  1364. package/src/TimeField/_docs/TimeField.stories.tsx +44 -0
  1365. package/src/TimeField/index.ts +1 -0
  1366. package/src/TimeField/subcomponents/TimeSegment/TimeSegment.module.scss +43 -0
  1367. package/src/TimeField/subcomponents/TimeSegment/TimeSegment.tsx +44 -0
  1368. package/src/TimeField/subcomponents/TimeSegment/index.ts +1 -0
  1369. package/src/TimeField/subcomponents/TimeSegment/utils/generateSegmentDisplayText.spec.ts +36 -0
  1370. package/src/TimeField/subcomponents/TimeSegment/utils/generateSegmentDisplayText.ts +4 -0
  1371. package/src/TimeField/types.ts +18 -0
  1372. package/src/TitleBlockZen/TitleBlockZen.module.scss +725 -0
  1373. package/src/TitleBlockZen/TitleBlockZen.spec.tsx +1158 -0
  1374. package/src/TitleBlockZen/TitleBlockZen.tsx +437 -0
  1375. package/src/TitleBlockZen/_docs/TitleBlockZen.mdx +79 -0
  1376. package/src/TitleBlockZen/_docs/TitleBlockZen.stories.tsx +174 -0
  1377. package/src/TitleBlockZen/_mixins.scss +37 -0
  1378. package/src/TitleBlockZen/_variables.scss +10 -0
  1379. package/src/TitleBlockZen/index.ts +2 -0
  1380. package/src/TitleBlockZen/subcomponents/MainActions.module.scss +16 -0
  1381. package/src/TitleBlockZen/subcomponents/MainActions.tsx +193 -0
  1382. package/src/TitleBlockZen/subcomponents/MobileActions.module.scss +206 -0
  1383. package/src/TitleBlockZen/subcomponents/MobileActions.spec.tsx +139 -0
  1384. package/src/TitleBlockZen/subcomponents/MobileActions.tsx +506 -0
  1385. package/src/TitleBlockZen/subcomponents/NavigationTabs.module.scss +109 -0
  1386. package/src/TitleBlockZen/subcomponents/NavigationTabs.spec.tsx +61 -0
  1387. package/src/TitleBlockZen/subcomponents/NavigationTabs.tsx +57 -0
  1388. package/src/TitleBlockZen/subcomponents/SecondaryActions.tsx +130 -0
  1389. package/src/TitleBlockZen/subcomponents/TitleBlockMenuItem.module.scss +108 -0
  1390. package/src/TitleBlockZen/subcomponents/TitleBlockMenuItem.tsx +42 -0
  1391. package/src/TitleBlockZen/subcomponents/Toolbar.module.scss +44 -0
  1392. package/src/TitleBlockZen/subcomponents/Toolbar.tsx +46 -0
  1393. package/src/TitleBlockZen/types.ts +209 -0
  1394. package/src/TitleBlockZen/utils.ts +83 -0
  1395. package/src/ToggleSwitch/ToggleSwitch/ToggleSwitch.module.scss +141 -0
  1396. package/src/ToggleSwitch/ToggleSwitch/ToggleSwitch.spec.tsx +35 -0
  1397. package/src/ToggleSwitch/ToggleSwitch/ToggleSwitch.tsx +49 -0
  1398. package/src/ToggleSwitch/ToggleSwitch/_docs/ToggleSwitch.mdx +30 -0
  1399. package/src/ToggleSwitch/ToggleSwitch/_docs/ToggleSwitch.stickersheet.stories.tsx +90 -0
  1400. package/src/ToggleSwitch/ToggleSwitch/_docs/ToggleSwitch.stories.tsx +39 -0
  1401. package/src/ToggleSwitch/ToggleSwitch/index.ts +1 -0
  1402. package/src/ToggleSwitch/ToggleSwitchField/ToggleSwitchField.module.scss +15 -0
  1403. package/src/ToggleSwitch/ToggleSwitchField/ToggleSwitchField.tsx +73 -0
  1404. package/src/ToggleSwitch/ToggleSwitchField/_docs/ToggleSwitchField.mdx +31 -0
  1405. package/src/ToggleSwitch/ToggleSwitchField/_docs/ToggleSwitchField.stickersheet.stories.tsx +103 -0
  1406. package/src/ToggleSwitch/ToggleSwitchField/_docs/ToggleSwitchField.stories.tsx +29 -0
  1407. package/src/ToggleSwitch/ToggleSwitchField/index.ts +1 -0
  1408. package/src/ToggleSwitch/index.ts +2 -0
  1409. package/src/Tooltip/Tooltip.module.scss +188 -0
  1410. package/src/Tooltip/Tooltip.spec.tsx +86 -0
  1411. package/src/Tooltip/Tooltip.tsx +258 -0
  1412. package/src/Tooltip/_docs/Tooltip.mdx +68 -0
  1413. package/src/Tooltip/_docs/Tooltip.stickersheet.stories.tsx +147 -0
  1414. package/src/Tooltip/_docs/Tooltip.stories.tsx +145 -0
  1415. package/src/Tooltip/_variables.scss +3 -0
  1416. package/src/Tooltip/index.ts +1 -0
  1417. package/src/Tooltip/subcomponents/AppearanceAnim.spec.tsx +39 -0
  1418. package/src/Tooltip/subcomponents/AppearanceAnim.tsx +85 -0
  1419. package/src/Tooltip/utils/isSemanticElement.spec.tsx +67 -0
  1420. package/src/Tooltip/utils/isSemanticElement.tsx +35 -0
  1421. package/src/VisuallyHidden/VisuallyHidden.module.scss +9 -0
  1422. package/src/VisuallyHidden/VisuallyHidden.spec.tsx +16 -0
  1423. package/src/VisuallyHidden/VisuallyHidden.tsx +20 -0
  1424. package/src/VisuallyHidden/_docs/VisuallyHidden.mdx +40 -0
  1425. package/src/VisuallyHidden/_docs/VisuallyHidden.stories.tsx +31 -0
  1426. package/src/VisuallyHidden/index.ts +1 -0
  1427. package/src/Well/Well.module.scss +71 -0
  1428. package/src/Well/Well.tsx +40 -0
  1429. package/src/Well/_docs/Well.mdx +39 -0
  1430. package/src/Well/_docs/Well.stickersheet.stories.tsx +74 -0
  1431. package/src/Well/_docs/Well.stories.tsx +91 -0
  1432. package/src/Well/index.ts +1 -0
  1433. package/src/Well/types.ts +15 -0
  1434. package/src/Workflow/Workflow.tsx +55 -0
  1435. package/src/Workflow/_docs/ProgressStepper.stories.tsx +105 -0
  1436. package/src/Workflow/_docs/Workflow.mdx +174 -0
  1437. package/src/Workflow/_docs/Workflow.stories.tsx +176 -0
  1438. package/src/Workflow/_docs/WorkflowFooter.stories.tsx +105 -0
  1439. package/src/Workflow/_docs/WorkflowHeader.stories.tsx +82 -0
  1440. package/src/Workflow/_docs/controls/controls.tsx +77 -0
  1441. package/src/Workflow/_docs/controls/index.tsx +1 -0
  1442. package/src/Workflow/index.ts +1 -0
  1443. package/src/Workflow/subcomponents/Footer/Footer.tsx +37 -0
  1444. package/src/Workflow/subcomponents/Footer/components/FooterActions/FooterActions.module.scss +15 -0
  1445. package/src/Workflow/subcomponents/Footer/components/FooterActions/FooterActions.tsx +28 -0
  1446. package/src/Workflow/subcomponents/Footer/components/FooterActions/index.ts +1 -0
  1447. package/src/Workflow/subcomponents/Footer/components/ProgressStepper/ProgressStepper.module.scss +105 -0
  1448. package/src/Workflow/subcomponents/Footer/components/ProgressStepper/ProgressStepper.tsx +136 -0
  1449. package/src/Workflow/subcomponents/Footer/components/ProgressStepper/index.ts +1 -0
  1450. package/src/Workflow/subcomponents/Footer/components/Root/FooterRoot.module.scss +22 -0
  1451. package/src/Workflow/subcomponents/Footer/components/Root/Root.tsx +23 -0
  1452. package/src/Workflow/subcomponents/Footer/components/Root/index.ts +1 -0
  1453. package/src/Workflow/subcomponents/Footer/components/index.ts +3 -0
  1454. package/src/Workflow/subcomponents/Footer/index.ts +2 -0
  1455. package/src/Workflow/subcomponents/Header/Header.tsx +27 -0
  1456. package/src/Workflow/subcomponents/Header/components/Actions/Actions.module.scss +17 -0
  1457. package/src/Workflow/subcomponents/Header/components/Actions/Actions.tsx +24 -0
  1458. package/src/Workflow/subcomponents/Header/components/Actions/index.ts +1 -0
  1459. package/src/Workflow/subcomponents/Header/components/Branding/Branding.module.scss +17 -0
  1460. package/src/Workflow/subcomponents/Header/components/Branding/Branding.tsx +20 -0
  1461. package/src/Workflow/subcomponents/Header/components/Branding/index.ts +1 -0
  1462. package/src/Workflow/subcomponents/Header/components/Root/Root.module.scss +24 -0
  1463. package/src/Workflow/subcomponents/Header/components/Root/Root.tsx +20 -0
  1464. package/src/Workflow/subcomponents/Header/components/Root/index.tsx +1 -0
  1465. package/src/Workflow/subcomponents/Header/components/Titles/Titles.module.scss +23 -0
  1466. package/src/Workflow/subcomponents/Header/components/Titles/Titles.tsx +54 -0
  1467. package/src/Workflow/subcomponents/Header/components/Titles/index.ts +1 -0
  1468. package/src/Workflow/subcomponents/Header/components/index.ts +4 -0
  1469. package/src/Workflow/subcomponents/Header/index.ts +2 -0
  1470. package/src/Workflow/subcomponents/Main/Main.module.scss +4 -0
  1471. package/src/Workflow/subcomponents/Main/Main.tsx +22 -0
  1472. package/src/Workflow/subcomponents/Main/index.tsx +1 -0
  1473. package/src/Workflow/subcomponents/Wrapper/Wrapper.module.scss +9 -0
  1474. package/src/Workflow/subcomponents/Wrapper/Wrapper.tsx +22 -0
  1475. package/src/Workflow/subcomponents/Wrapper/index.ts +1 -0
  1476. package/src/Workflow/subcomponents/index.ts +4 -0
  1477. package/src/__future__/Select/Select.module.scss +13 -0
  1478. package/src/__future__/Select/Select.spec.tsx +340 -0
  1479. package/src/__future__/Select/Select.tsx +209 -0
  1480. package/src/__future__/Select/_docs/Select.mdx +100 -0
  1481. package/src/__future__/Select/_docs/Select.stickersheet.stories.tsx +452 -0
  1482. package/src/__future__/Select/_docs/Select.stories.tsx +163 -0
  1483. package/src/__future__/Select/_docs/mockData.ts +94 -0
  1484. package/src/__future__/Select/context/SelectContext.tsx +37 -0
  1485. package/src/__future__/Select/context/index.ts +1 -0
  1486. package/src/__future__/Select/index.ts +2 -0
  1487. package/src/__future__/Select/subcomponents/ListBox/ListBox.module.scss +12 -0
  1488. package/src/__future__/Select/subcomponents/ListBox/ListBox.tsx +43 -0
  1489. package/src/__future__/Select/subcomponents/ListBox/index.ts +1 -0
  1490. package/src/__future__/Select/subcomponents/ListBoxSection/ListBoxSection.module.scss +20 -0
  1491. package/src/__future__/Select/subcomponents/ListBoxSection/ListBoxSection.tsx +43 -0
  1492. package/src/__future__/Select/subcomponents/ListBoxSection/index.ts +1 -0
  1493. package/src/__future__/Select/subcomponents/ListItem/ListItem.tsx +19 -0
  1494. package/src/__future__/Select/subcomponents/ListItem/index.ts +1 -0
  1495. package/src/__future__/Select/subcomponents/ListItems/ListItems.tsx +22 -0
  1496. package/src/__future__/Select/subcomponents/ListItems/index.ts +1 -0
  1497. package/src/__future__/Select/subcomponents/Option/Option.module.scss +84 -0
  1498. package/src/__future__/Select/subcomponents/Option/Option.tsx +54 -0
  1499. package/src/__future__/Select/subcomponents/Option/index.ts +1 -0
  1500. package/src/__future__/Select/subcomponents/Overlay/Overlay.tsx +48 -0
  1501. package/src/__future__/Select/subcomponents/Overlay/index.ts +1 -0
  1502. package/src/__future__/Select/subcomponents/SectionDivider/SectionDivider.module.scss +11 -0
  1503. package/src/__future__/Select/subcomponents/SectionDivider/SectionDivider.tsx +9 -0
  1504. package/src/__future__/Select/subcomponents/SectionDivider/index.ts +1 -0
  1505. package/src/__future__/Select/subcomponents/SelectPopoverContents/SelectPopoverContents.module.scss +5 -0
  1506. package/src/__future__/Select/subcomponents/SelectPopoverContents/SelectPopoverContents.tsx +44 -0
  1507. package/src/__future__/Select/subcomponents/SelectPopoverContents/index.ts +1 -0
  1508. package/src/__future__/Select/subcomponents/SelectToggle/SelectToggle.module.scss +148 -0
  1509. package/src/__future__/Select/subcomponents/SelectToggle/SelectToggle.tsx +81 -0
  1510. package/src/__future__/Select/subcomponents/SelectToggle/index.ts +1 -0
  1511. package/src/__future__/Select/subcomponents/index.ts +9 -0
  1512. package/src/__future__/Select/types.ts +34 -0
  1513. package/src/__future__/Select/utils/getDisabledKeysFromItems.ts +19 -0
  1514. package/src/__future__/Select/utils/isSelectOptionGroup.ts +6 -0
  1515. package/src/__future__/Select/utils/transformSelectItemToCollectionElement.tsx +18 -0
  1516. package/src/__future__/Tag/RemovableTag/RemovableTag.module.scss +7 -0
  1517. package/src/__future__/Tag/RemovableTag/RemovableTag.tsx +36 -0
  1518. package/src/__future__/Tag/RemovableTag/_docs/RemovableTag.mdx +57 -0
  1519. package/src/__future__/Tag/RemovableTag/_docs/RemovableTag.stickersheet.stories.tsx +93 -0
  1520. package/src/__future__/Tag/RemovableTag/_docs/RemovableTag.stories.tsx +115 -0
  1521. package/src/__future__/Tag/RemovableTag/index.ts +1 -0
  1522. package/src/__future__/Tag/RemovableTag/subcomponents/RemoveButton.module.scss +102 -0
  1523. package/src/__future__/Tag/RemovableTag/subcomponents/RemoveButton.tsx +44 -0
  1524. package/src/__future__/Tag/RemovableTag/subcomponents/RemoveTagIcon.tsx +20 -0
  1525. package/src/__future__/Tag/Tag/Tag.module.scss +79 -0
  1526. package/src/__future__/Tag/Tag/Tag.tsx +29 -0
  1527. package/src/__future__/Tag/Tag/_docs/Tag.mdx +59 -0
  1528. package/src/__future__/Tag/Tag/_docs/Tag.stickersheet.stories.tsx +53 -0
  1529. package/src/__future__/Tag/Tag/_docs/Tag.stories.tsx +73 -0
  1530. package/src/__future__/Tag/Tag/index.ts +1 -0
  1531. package/src/__future__/Tag/Tag/types.ts +11 -0
  1532. package/src/__future__/Tag/index.ts +2 -0
  1533. package/src/__future__/Workflow/Workflow.tsx +55 -0
  1534. package/src/__future__/Workflow/_docs/ProgressStepper.mdx +42 -0
  1535. package/src/__future__/Workflow/_docs/ProgressStepper.stories.tsx +94 -0
  1536. package/src/__future__/Workflow/_docs/Workflow.mdx +169 -0
  1537. package/src/__future__/Workflow/_docs/Workflow.stories.tsx +174 -0
  1538. package/src/__future__/Workflow/_docs/WorkflowFooter.mdx +42 -0
  1539. package/src/__future__/Workflow/_docs/WorkflowFooter.stories.tsx +96 -0
  1540. package/src/__future__/Workflow/_docs/WorkflowHeader.mdx +32 -0
  1541. package/src/__future__/Workflow/_docs/WorkflowHeader.stories.tsx +70 -0
  1542. package/src/__future__/Workflow/_docs/controls/controls.tsx +77 -0
  1543. package/src/__future__/Workflow/_docs/controls/index.tsx +1 -0
  1544. package/src/__future__/Workflow/index.ts +1 -0
  1545. package/src/__future__/Workflow/subcomponents/Footer/Footer.tsx +38 -0
  1546. package/src/__future__/Workflow/subcomponents/Footer/components/FooterActions/FooterActions.module.scss +15 -0
  1547. package/src/__future__/Workflow/subcomponents/Footer/components/FooterActions/FooterActions.tsx +28 -0
  1548. package/src/__future__/Workflow/subcomponents/Footer/components/FooterActions/index.ts +1 -0
  1549. package/src/__future__/Workflow/subcomponents/Footer/components/ProgressStepper/ProgressStepper.module.scss +105 -0
  1550. package/src/__future__/Workflow/subcomponents/Footer/components/ProgressStepper/ProgressStepper.spec.tsx +45 -0
  1551. package/src/__future__/Workflow/subcomponents/Footer/components/ProgressStepper/ProgressStepper.tsx +147 -0
  1552. package/src/__future__/Workflow/subcomponents/Footer/components/ProgressStepper/index.ts +1 -0
  1553. package/src/__future__/Workflow/subcomponents/Footer/components/Root/FooterRoot.module.scss +22 -0
  1554. package/src/__future__/Workflow/subcomponents/Footer/components/Root/Root.tsx +23 -0
  1555. package/src/__future__/Workflow/subcomponents/Footer/components/Root/index.ts +1 -0
  1556. package/src/__future__/Workflow/subcomponents/Footer/components/index.ts +3 -0
  1557. package/src/__future__/Workflow/subcomponents/Footer/index.ts +2 -0
  1558. package/src/__future__/Workflow/subcomponents/Header/Header.tsx +27 -0
  1559. package/src/__future__/Workflow/subcomponents/Header/components/Actions/Actions.module.scss +17 -0
  1560. package/src/__future__/Workflow/subcomponents/Header/components/Actions/Actions.tsx +24 -0
  1561. package/src/__future__/Workflow/subcomponents/Header/components/Actions/index.ts +1 -0
  1562. package/src/__future__/Workflow/subcomponents/Header/components/Branding/Branding.module.scss +17 -0
  1563. package/src/__future__/Workflow/subcomponents/Header/components/Branding/Branding.tsx +20 -0
  1564. package/src/__future__/Workflow/subcomponents/Header/components/Branding/index.ts +1 -0
  1565. package/src/__future__/Workflow/subcomponents/Header/components/Root/Root.module.scss +24 -0
  1566. package/src/__future__/Workflow/subcomponents/Header/components/Root/Root.tsx +20 -0
  1567. package/src/__future__/Workflow/subcomponents/Header/components/Root/index.tsx +1 -0
  1568. package/src/__future__/Workflow/subcomponents/Header/components/Titles/Titles.module.scss +23 -0
  1569. package/src/__future__/Workflow/subcomponents/Header/components/Titles/Titles.tsx +54 -0
  1570. package/src/__future__/Workflow/subcomponents/Header/components/Titles/index.ts +1 -0
  1571. package/src/__future__/Workflow/subcomponents/Header/components/index.ts +4 -0
  1572. package/src/__future__/Workflow/subcomponents/Header/index.ts +2 -0
  1573. package/src/__future__/Workflow/subcomponents/Main/Main.module.scss +4 -0
  1574. package/src/__future__/Workflow/subcomponents/Main/Main.tsx +22 -0
  1575. package/src/__future__/Workflow/subcomponents/Main/index.tsx +1 -0
  1576. package/src/__future__/Workflow/subcomponents/Wrapper/Wrapper.module.scss +9 -0
  1577. package/src/__future__/Workflow/subcomponents/Wrapper/Wrapper.tsx +22 -0
  1578. package/src/__future__/Workflow/subcomponents/Wrapper/index.ts +1 -0
  1579. package/src/__future__/Workflow/subcomponents/index.ts +4 -0
  1580. package/src/__future__/index.ts +3 -0
  1581. package/src/index.ts +60 -0
  1582. package/src/types/DataAttributes.ts +1 -0
  1583. package/src/types/OverrideClassName.ts +7 -0
  1584. package/src/types/StringSuggestions.ts +4 -0
  1585. package/src/utils/AppearanceAnim.module.scss +15 -0
  1586. package/src/utils/AppearanceAnim.tsx +80 -0
  1587. package/src/utils/getNodeText.spec.tsx +31 -0
  1588. package/src/utils/getNodeText.ts +10 -0
  1589. package/src/utils/isRefObject.ts +3 -0
  1590. package/src/utils/useMediaQueries.spec.tsx +90 -0
  1591. package/src/utils/useMediaQueries.tsx +223 -0
  1592. package/src/utils/useResizeObserver.spec.tsx +49 -0
  1593. package/src/utils/useResizeObserver.ts +75 -0
@@ -0,0 +1,1158 @@
1
+ import React from "react"
2
+ import { render, waitFor, screen, within } from "@testing-library/react"
3
+ import userEvent from "@testing-library/user-event"
4
+ import { mockMatchMedia } from "~utils/useMediaQueries.spec"
5
+ import { CustomBreadcrumbProps, SectionTitleRenderProps } from "./types"
6
+ import { TitleBlockZen } from "./index"
7
+
8
+ const user = userEvent.setup()
9
+
10
+ describe("<TitleBlockZen />", () => {
11
+ beforeEach(() => {
12
+ mockMatchMedia()
13
+ })
14
+ describe("when the primary action is a button with only an href", () => {
15
+ const primaryActionAsLink = {
16
+ label: "primaryActionLabel",
17
+ href: "#primaryActionHref",
18
+ primary: true,
19
+ }
20
+
21
+ it("renders the primary action button label and href", () => {
22
+ const { getByTestId } = render(
23
+ <TitleBlockZen title="Test Title" primaryAction={primaryActionAsLink}>
24
+ Example
25
+ </TitleBlockZen>
26
+ )
27
+ const btn = getByTestId("title-block-primary-action-button")
28
+ expect(btn.textContent).toEqual(primaryActionAsLink.label)
29
+ expect(btn.getAttribute("href")).toEqual(primaryActionAsLink.href)
30
+ })
31
+
32
+ it("passes the href to the mobile action drawer button", () => {
33
+ const { getByTestId } = render(
34
+ <TitleBlockZen title="Test Title" primaryAction={primaryActionAsLink}>
35
+ Example
36
+ </TitleBlockZen>
37
+ )
38
+ const btn = getByTestId("title-block-mobile-actions-primary-button")
39
+ expect(btn.getAttribute("href")).toEqual(primaryActionAsLink.href)
40
+ })
41
+ })
42
+
43
+ describe("when the primary action is a button with only an onClick", () => {
44
+ const testOnClickFn = jest.fn()
45
+ const primaryActionAsButton = {
46
+ label: "primaryActionLabel",
47
+ onClick: testOnClickFn,
48
+ primary: true,
49
+ }
50
+
51
+ beforeEach(() => {
52
+ testOnClickFn.mockClear()
53
+ })
54
+
55
+ it("renders the primary action button label and onClick", async () => {
56
+ const { getByTestId } = render(
57
+ <TitleBlockZen title="Test Title" primaryAction={primaryActionAsButton}>
58
+ Example
59
+ </TitleBlockZen>
60
+ )
61
+ const btn = getByTestId("title-block-primary-action-button")
62
+ expect(btn.textContent).toEqual(primaryActionAsButton.label)
63
+ await user.click(btn)
64
+
65
+ await waitFor(() => {
66
+ expect(testOnClickFn).toHaveBeenCalled()
67
+ })
68
+ })
69
+
70
+ it("creates a mobile actions primary button", async () => {
71
+ const { getByTestId } = render(
72
+ <TitleBlockZen title="Test Title" primaryAction={primaryActionAsButton}>
73
+ Example
74
+ </TitleBlockZen>
75
+ )
76
+
77
+ const btn = getByTestId("title-block-mobile-actions-primary-button")
78
+ expect(btn.textContent).toEqual(primaryActionAsButton.label)
79
+ await user.click(btn)
80
+ await waitFor(() => {
81
+ expect(testOnClickFn).toHaveBeenCalled()
82
+ })
83
+ })
84
+ })
85
+
86
+ describe("when the primary action is disabled", () => {
87
+ const testOnClickFn = jest.fn()
88
+ const primaryActionAsButton = {
89
+ label: "primaryActionLabel",
90
+ onClick: testOnClickFn,
91
+ disabled: true,
92
+ primary: true,
93
+ }
94
+ const primaryActionAsLink = {
95
+ label: "primaryActionLabel",
96
+ href: "#primaryActionHref",
97
+ disabled: true,
98
+ primary: true,
99
+ }
100
+ beforeEach(() => {
101
+ testOnClickFn.mockClear()
102
+ })
103
+
104
+ it("renders a disabled primary action button", async () => {
105
+ const { getByTestId } = render(
106
+ <TitleBlockZen title="Test Title" primaryAction={primaryActionAsButton}>
107
+ Example
108
+ </TitleBlockZen>
109
+ )
110
+ const btn = getByTestId(
111
+ "title-block-primary-action-button"
112
+ ) as HTMLButtonElement
113
+ expect(btn.textContent).toEqual(primaryActionAsButton.label)
114
+ expect(btn.disabled).toBeTruthy()
115
+ await user.click(btn)
116
+
117
+ await waitFor(() => {
118
+ expect(testOnClickFn).not.toHaveBeenCalled()
119
+ })
120
+ })
121
+
122
+ it("renders a disabled primary action link button", () => {
123
+ const { getByTestId } = render(
124
+ <TitleBlockZen title="Test Title" primaryAction={primaryActionAsLink}>
125
+ Example
126
+ </TitleBlockZen>
127
+ )
128
+ const btn = getByTestId(
129
+ "title-block-primary-action-button"
130
+ ) as HTMLButtonElement
131
+ expect(btn.textContent).toEqual(primaryActionAsLink.label)
132
+ expect(btn.getAttribute("href")).not.toEqual(primaryActionAsLink.href)
133
+ })
134
+
135
+ it("creates a mobile actions primary button with disabled styles and no onClick", async () => {
136
+ const { getByTestId } = render(
137
+ <TitleBlockZen title="Test Title" primaryAction={primaryActionAsButton}>
138
+ Example
139
+ </TitleBlockZen>
140
+ )
141
+
142
+ const btn = getByTestId(
143
+ "title-block-mobile-actions-primary-button"
144
+ ) as HTMLButtonElement
145
+ expect(btn.textContent).toEqual(primaryActionAsButton.label)
146
+ await user.click(btn)
147
+
148
+ await waitFor(() => {
149
+ expect(testOnClickFn).not.toHaveBeenCalled()
150
+ })
151
+ })
152
+
153
+ it("creates a mobile actions primary button with disabled styles and no href", () => {
154
+ const { getByTestId } = render(
155
+ <TitleBlockZen title="Test Title" primaryAction={primaryActionAsLink}>
156
+ Example
157
+ </TitleBlockZen>
158
+ )
159
+
160
+ const btn = getByTestId(
161
+ "title-block-mobile-actions-primary-button"
162
+ ) as HTMLButtonElement
163
+ expect(btn.textContent).toEqual(primaryActionAsLink.label)
164
+ expect(btn.getAttribute("href")).not.toEqual(primaryActionAsLink.href)
165
+ })
166
+ })
167
+
168
+ describe("when the primary action is a button with both an href and an onClick", () => {
169
+ const testOnClickFn = jest.fn()
170
+ const primaryActionAsLinkAndOnClick = {
171
+ label: "primaryActionLabel",
172
+ href: "#primaryActionHref",
173
+ onClick: testOnClickFn,
174
+ primary: true,
175
+ }
176
+
177
+ beforeEach(() => {
178
+ testOnClickFn.mockClear()
179
+ })
180
+
181
+ it("renders the primary action button label, href and onClick", async () => {
182
+ const { getByTestId } = render(
183
+ <TitleBlockZen
184
+ title="Test Title"
185
+ primaryAction={primaryActionAsLinkAndOnClick}
186
+ >
187
+ Example
188
+ </TitleBlockZen>
189
+ )
190
+ const btn = getByTestId("title-block-primary-action-button")
191
+ expect(btn.textContent).toEqual(primaryActionAsLinkAndOnClick.label)
192
+ expect(btn.getAttribute("href")).toEqual(
193
+ primaryActionAsLinkAndOnClick.href
194
+ )
195
+ await user.click(btn)
196
+
197
+ await waitFor(() => {
198
+ expect(testOnClickFn).toHaveBeenCalled()
199
+ })
200
+ })
201
+
202
+ it("passes both the href and onClick to the mobile action drawer button", async () => {
203
+ const { getByTestId } = render(
204
+ <TitleBlockZen
205
+ title="Test Title"
206
+ primaryAction={primaryActionAsLinkAndOnClick}
207
+ >
208
+ Example
209
+ </TitleBlockZen>
210
+ )
211
+ const btn = getByTestId("title-block-mobile-actions-primary-button")
212
+ expect(btn.getAttribute("href")).toEqual(
213
+ primaryActionAsLinkAndOnClick.href
214
+ )
215
+ await user.click(btn)
216
+
217
+ await waitFor(() => {
218
+ expect(testOnClickFn).toHaveBeenCalled()
219
+ })
220
+ })
221
+ })
222
+
223
+ describe("when the primary action is a menu", () => {
224
+ const primaryActionAsMenu = {
225
+ label: "primaryActionLabel",
226
+ menuItems: [
227
+ {
228
+ label: "Menu item 1",
229
+ href: "#",
230
+ },
231
+ {
232
+ label: "Menu item 1",
233
+ href: "#",
234
+ },
235
+ ],
236
+ }
237
+
238
+ it("renders the primary action menu button with label and menu items", async () => {
239
+ const { getByTestId, getAllByTestId } = render(
240
+ <TitleBlockZen title="Test Title" primaryAction={primaryActionAsMenu}>
241
+ Example
242
+ </TitleBlockZen>
243
+ )
244
+ const btn = getByTestId("title-block-primary-action-button")
245
+ expect(btn.textContent).toEqual(primaryActionAsMenu.label)
246
+ await user.click(btn)
247
+
248
+ await waitFor(() => {
249
+ const menuItems = getAllByTestId(/^main-action-primary-menu-item-/)
250
+ expect(menuItems.length).toEqual(2)
251
+ })
252
+ })
253
+
254
+ it("passes the primary menu items to the mobile actions drawer", () => {
255
+ const { getAllByTestId } = render(
256
+ <TitleBlockZen title="Test Title" primaryAction={primaryActionAsMenu}>
257
+ Example
258
+ </TitleBlockZen>
259
+ )
260
+ const menuItems = getAllByTestId(
261
+ /^title-block-mobile-actions-primary-link-/
262
+ )
263
+ expect(menuItems.length).toEqual(2)
264
+ })
265
+ })
266
+
267
+ describe("when the default action is a button with only an href", () => {
268
+ const defaultActionAsLink = {
269
+ label: "defaultActionLabel",
270
+ href: "#defaultActionHref",
271
+ }
272
+
273
+ it("renders the default action button label and href", () => {
274
+ const { getByTestId } = render(
275
+ <TitleBlockZen title="Test Title" defaultAction={defaultActionAsLink}>
276
+ Example
277
+ </TitleBlockZen>
278
+ )
279
+ const btn = getByTestId("title-block-default-action-button")
280
+ expect(btn.textContent).toEqual(defaultActionAsLink.label)
281
+ expect(btn.getAttribute("href")).toEqual(defaultActionAsLink.href)
282
+ })
283
+
284
+ it("creates a mobile actions default action menu item", () => {
285
+ const { getByTestId } = render(
286
+ <TitleBlockZen title="Test Title" defaultAction={defaultActionAsLink}>
287
+ Example
288
+ </TitleBlockZen>
289
+ )
290
+
291
+ const menuItem = getByTestId("title-block-mobile-actions-default-link")
292
+ expect(menuItem.getAttribute("href")).toEqual(defaultActionAsLink.href)
293
+ expect(menuItem.textContent).toEqual(defaultActionAsLink.label)
294
+ })
295
+
296
+ it("renders the mobile actions menu drawer handle even with no primary action", () => {
297
+ const { getByTestId } = render(
298
+ <TitleBlockZen title="Test Title" defaultAction={defaultActionAsLink}>
299
+ Example
300
+ </TitleBlockZen>
301
+ )
302
+
303
+ expect(
304
+ getByTestId("title-block-mobile-actions-drawer-handle")
305
+ ).toBeTruthy()
306
+ })
307
+ })
308
+
309
+ describe("when the default action is a button with only an onClick", () => {
310
+ const testOnClickFn = jest.fn()
311
+ const defaultActionAsButton = {
312
+ label: "defaultActionLabel",
313
+ onClick: testOnClickFn,
314
+ "data-testid": "title-block-mobile-actions-default-action",
315
+ }
316
+
317
+ beforeEach(() => {
318
+ testOnClickFn.mockClear()
319
+ })
320
+
321
+ it("renders the default action button label and onClick", async () => {
322
+ const { getByTestId } = render(
323
+ <TitleBlockZen title="Test Title" defaultAction={defaultActionAsButton}>
324
+ Example
325
+ </TitleBlockZen>
326
+ )
327
+ const btn = getByTestId("title-block-default-action-button")
328
+ expect(btn.textContent).toEqual(defaultActionAsButton.label)
329
+ await user.click(btn)
330
+
331
+ await waitFor(() => {
332
+ expect(testOnClickFn).toHaveBeenCalled()
333
+ })
334
+ })
335
+
336
+ it("creates a mobile actions default action menu item", async () => {
337
+ const { getByTestId } = render(
338
+ <TitleBlockZen title="Test Title" defaultAction={defaultActionAsButton}>
339
+ Example
340
+ </TitleBlockZen>
341
+ )
342
+
343
+ const menuItem = getByTestId("title-block-mobile-actions-default-action")
344
+ expect(menuItem.textContent).toEqual(defaultActionAsButton.label)
345
+ await user.click(menuItem)
346
+
347
+ await waitFor(() => {
348
+ expect(testOnClickFn).toHaveBeenCalled()
349
+ })
350
+ })
351
+
352
+ it("renders the mobile actions menu drawer handle even with no primary action", () => {
353
+ const { getByTestId } = render(
354
+ <TitleBlockZen title="Test Title" defaultAction={defaultActionAsButton}>
355
+ Example
356
+ </TitleBlockZen>
357
+ )
358
+
359
+ expect(
360
+ getByTestId("title-block-mobile-actions-drawer-handle")
361
+ ).toBeTruthy()
362
+ })
363
+ })
364
+
365
+ describe("when the default action is a button with both an href and an onClick", () => {
366
+ const testOnClickFn = jest.fn()
367
+ const defaultActionAsLinkAndOnClick = {
368
+ label: "defaultActionLabel",
369
+ href: "#defaultActionHref",
370
+ onClick: testOnClickFn,
371
+ }
372
+
373
+ beforeEach(() => {
374
+ testOnClickFn.mockClear()
375
+ })
376
+
377
+ it("renders the default action button label, href and onClick", async () => {
378
+ const { getByTestId } = render(
379
+ <TitleBlockZen
380
+ title="Test Title"
381
+ defaultAction={defaultActionAsLinkAndOnClick}
382
+ >
383
+ Example
384
+ </TitleBlockZen>
385
+ )
386
+ const btn = getByTestId("title-block-default-action-button")
387
+ expect(btn.textContent).toEqual(defaultActionAsLinkAndOnClick.label)
388
+ expect(btn.getAttribute("href")).toEqual(
389
+ defaultActionAsLinkAndOnClick.href
390
+ )
391
+ await user.click(btn)
392
+
393
+ await waitFor(() => {
394
+ expect(testOnClickFn).toHaveBeenCalled()
395
+ })
396
+ })
397
+
398
+ it("creates a single mobile actions default link menu item with both href and onClick", async () => {
399
+ const { getByTestId, queryByTestId } = render(
400
+ <TitleBlockZen
401
+ title="Test Title"
402
+ defaultAction={defaultActionAsLinkAndOnClick}
403
+ >
404
+ Example
405
+ </TitleBlockZen>
406
+ )
407
+
408
+ const menuItem = getByTestId("title-block-mobile-actions-default-link")
409
+ const defaultAction = queryByTestId(
410
+ "title-block-mobile-actions-default-action"
411
+ )
412
+ expect(defaultAction).toBeFalsy()
413
+ expect(menuItem.getAttribute("href")).toEqual(
414
+ defaultActionAsLinkAndOnClick.href
415
+ )
416
+ expect(menuItem.textContent).toEqual(defaultActionAsLinkAndOnClick.label)
417
+ await user.click(menuItem)
418
+
419
+ await waitFor(() => {
420
+ expect(testOnClickFn).not.toHaveBeenCalled()
421
+ })
422
+ })
423
+ })
424
+
425
+ describe("when the default action is disabled", () => {
426
+ const testOnClickFn = jest.fn()
427
+ const defaultActionAsButton = {
428
+ label: "defaultActionLabel",
429
+ onClick: testOnClickFn,
430
+ disabled: true,
431
+ }
432
+ const defaultActionAsLink = {
433
+ label: "defaultActionLabel",
434
+ href: "#defaultActionHref",
435
+ disabled: true,
436
+ }
437
+
438
+ beforeEach(() => {
439
+ testOnClickFn.mockClear()
440
+ })
441
+
442
+ it("renders a disabled default action button", async () => {
443
+ const { getByTestId } = render(
444
+ <TitleBlockZen title="Test Title" defaultAction={defaultActionAsButton}>
445
+ Example
446
+ </TitleBlockZen>
447
+ )
448
+ const btn = getByTestId(
449
+ "title-block-default-action-button"
450
+ ) as HTMLButtonElement
451
+ expect(btn.textContent).toEqual(defaultActionAsButton.label)
452
+ expect(btn.disabled).toBeTruthy()
453
+ await user.click(btn)
454
+
455
+ await waitFor(() => {
456
+ expect(testOnClickFn).not.toHaveBeenCalled()
457
+ })
458
+ })
459
+
460
+ it("renders a disabled default action link button", () => {
461
+ const { getByTestId } = render(
462
+ <TitleBlockZen title="Test Title" defaultAction={defaultActionAsLink}>
463
+ Example
464
+ </TitleBlockZen>
465
+ )
466
+ const btn = getByTestId(
467
+ "title-block-default-action-button"
468
+ ) as HTMLButtonElement
469
+ expect(btn.textContent).toEqual(defaultActionAsLink.label)
470
+ expect(btn.getAttribute("href")).not.toEqual(defaultActionAsLink.href)
471
+ })
472
+
473
+ it("creates a mobile actions default action menu item with disabled styles and no onClick", async () => {
474
+ const { getByTestId } = render(
475
+ <TitleBlockZen title="Test Title" defaultAction={defaultActionAsButton}>
476
+ Example
477
+ </TitleBlockZen>
478
+ )
479
+
480
+ const btn = getByTestId(
481
+ "title-block-mobile-actions-default-action"
482
+ ) as HTMLButtonElement
483
+ expect(btn.textContent).toEqual(defaultActionAsButton.label)
484
+ await user.click(btn)
485
+
486
+ await waitFor(() => {
487
+ expect(testOnClickFn).not.toHaveBeenCalled()
488
+ })
489
+ })
490
+
491
+ it("creates a mobile actions default link menu item with disabled styles and no href", () => {
492
+ const { getByTestId } = render(
493
+ <TitleBlockZen title="Test Title" defaultAction={defaultActionAsLink}>
494
+ Example
495
+ </TitleBlockZen>
496
+ )
497
+
498
+ const btn = getByTestId(
499
+ "title-block-mobile-actions-default-link"
500
+ ) as HTMLButtonElement
501
+ expect(btn.textContent).toEqual(defaultActionAsLink.label)
502
+ expect(btn.getAttribute("href")).not.toEqual(defaultActionAsLink.href)
503
+ })
504
+ })
505
+
506
+ describe("when a secondary action is passed with both an href and an onClick", () => {
507
+ const testOnClickFn = jest.fn()
508
+ const secondaryActionWithLinkAndOnClick = {
509
+ label: "secondaryActionLabel",
510
+ href: "#secondaryActionHref",
511
+ onClick: testOnClickFn,
512
+ }
513
+
514
+ beforeEach(() => {
515
+ testOnClickFn.mockClear()
516
+ })
517
+
518
+ it("renders the secondary action with both the href and onClick", async () => {
519
+ const mockWarnFn = jest.fn()
520
+ const spy = jest
521
+ .spyOn(global.console, "warn")
522
+ .mockImplementation(mockWarnFn)
523
+ const { getByTestId } = render(
524
+ <TitleBlockZen
525
+ title="Test Title"
526
+ secondaryActions={[secondaryActionWithLinkAndOnClick]}
527
+ >
528
+ Example
529
+ </TitleBlockZen>
530
+ )
531
+ const btn = getByTestId("title-block-secondary-actions-button")
532
+ expect(btn).toBeTruthy()
533
+ expect(mockWarnFn).toBeCalled()
534
+ expect(btn.textContent).toEqual(secondaryActionWithLinkAndOnClick.label)
535
+ expect(btn.getAttribute("href")).toEqual(
536
+ secondaryActionWithLinkAndOnClick.href
537
+ )
538
+ await user.click(btn)
539
+ await waitFor(() => {
540
+ expect(testOnClickFn).toHaveBeenCalled()
541
+ })
542
+ spy.mockRestore()
543
+ })
544
+
545
+ it("renders the action as a single mobile actions drawer item with an onClick", async () => {
546
+ const mockWarnFn = jest.fn()
547
+ const spy = jest
548
+ .spyOn(global.console, "warn")
549
+ .mockImplementation(mockWarnFn)
550
+ const { getAllByTestId } = render(
551
+ <TitleBlockZen
552
+ title="Test Title"
553
+ secondaryActions={[secondaryActionWithLinkAndOnClick]}
554
+ >
555
+ Example
556
+ </TitleBlockZen>
557
+ )
558
+ const btn = getAllByTestId("title-block-mobile-actions-secondary-action")
559
+ expect(btn.length).toEqual(1)
560
+ expect(btn[0].getAttribute("href")).not.toEqual(
561
+ secondaryActionWithLinkAndOnClick.href
562
+ )
563
+ await user.click(btn[0])
564
+
565
+ await waitFor(() => {
566
+ expect(testOnClickFn).toHaveBeenCalled()
567
+ })
568
+ spy.mockRestore()
569
+ })
570
+ })
571
+
572
+ describe("when a custom compent is provided for section title", () => {
573
+ it("renders a custom element in section title", async () => {
574
+ const expectedText = "This is a button"
575
+ const CustomComponent = (props: SectionTitleRenderProps): JSX.Element => (
576
+ <button type="button">{props.sectionTitle}</button>
577
+ )
578
+ render(
579
+ <TitleBlockZen
580
+ title="Test title"
581
+ sectionTitle={expectedText}
582
+ renderSectionTitle={CustomComponent}
583
+ />
584
+ )
585
+ const el = await screen.findByRole("button")
586
+ expect(el.textContent).toBe(expectedText)
587
+ })
588
+
589
+ it("renders a heading when no render prop is provided", async () => {
590
+ const expectedText = "My expected text"
591
+ render(<TitleBlockZen title="Test title" sectionTitle={expectedText} />)
592
+ const el = await screen.findByRole("heading", { level: 2 })
593
+ expect(el.textContent).toBe(expectedText)
594
+ })
595
+ })
596
+
597
+ describe("when a secondary action is passed with only an href", () => {
598
+ const secondaryActionWithLink = {
599
+ label: "secondaryActionLabel",
600
+ href: "#secondaryActionHref",
601
+ }
602
+
603
+ it("renders the action as a single mobile actions drawer item with the correct href", () => {
604
+ const { getAllByTestId } = render(
605
+ <TitleBlockZen
606
+ title="Test Title"
607
+ secondaryActions={[secondaryActionWithLink]}
608
+ >
609
+ Example
610
+ </TitleBlockZen>
611
+ )
612
+ const btn = getAllByTestId("title-block-mobile-actions-secondary-action")
613
+ expect(btn.length).toEqual(1)
614
+ expect(btn[0].getAttribute("href")).toEqual(secondaryActionWithLink.href)
615
+ })
616
+ })
617
+
618
+ describe("when a disabled secondary action is passed with only an href", () => {
619
+ const secondaryActionWithLink = {
620
+ label: "secondaryActionLabel",
621
+ href: "#secondaryActionHref",
622
+ disabled: true,
623
+ }
624
+
625
+ it("renders the action as a single disabled mobile actions drawer item with no href", () => {
626
+ const { getAllByTestId } = render(
627
+ <TitleBlockZen
628
+ title="Test Title"
629
+ secondaryActions={[secondaryActionWithLink]}
630
+ >
631
+ Example
632
+ </TitleBlockZen>
633
+ )
634
+ const btn = getAllByTestId("title-block-mobile-actions-secondary-action")
635
+ expect(btn.length).toEqual(1)
636
+ expect(btn[0].getAttribute("href")).not.toEqual(
637
+ secondaryActionWithLink.href
638
+ )
639
+ })
640
+ })
641
+
642
+ describe("when a disabled secondary action is passed with only an onClick", () => {
643
+ const testOnClickFn = jest.fn()
644
+ const secondaryActionWithOnClick = {
645
+ label: "secondaryActionLabel",
646
+ onClick: testOnClickFn,
647
+ disabled: true,
648
+ }
649
+
650
+ it("renders the action as a single disabled mobile actions drawer item with no onClick", async () => {
651
+ const { getAllByTestId } = render(
652
+ <TitleBlockZen
653
+ title="Test Title"
654
+ secondaryActions={[secondaryActionWithOnClick]}
655
+ >
656
+ Example
657
+ </TitleBlockZen>
658
+ )
659
+ const btn = getAllByTestId("title-block-mobile-actions-secondary-action")
660
+ expect(btn.length).toEqual(1)
661
+ await user.click(btn[0])
662
+
663
+ await waitFor(() => {
664
+ expect(testOnClickFn).not.toHaveBeenCalled()
665
+ })
666
+ })
667
+ })
668
+
669
+ describe("when a disabled secondary overflow menu item is passed with only an onClick for the action", () => {
670
+ const testOnClickFn = jest.fn()
671
+ const secondaryOverflowMenuItemWithOnClick = {
672
+ label: "secondaryActionOverflowMenuItemLabel",
673
+ action: testOnClickFn,
674
+ disabled: true,
675
+ }
676
+
677
+ it("renders the action as a single disabled mobile actions drawer item with no onClick", async () => {
678
+ const { getAllByTestId } = render(
679
+ <TitleBlockZen
680
+ title="Test Title"
681
+ secondaryActions={[]}
682
+ secondaryOverflowMenuItems={[secondaryOverflowMenuItemWithOnClick]}
683
+ >
684
+ Example
685
+ </TitleBlockZen>
686
+ )
687
+ const btn = getAllByTestId(
688
+ "title-block-mobile-actions-overflow-menu-item"
689
+ )
690
+ expect(btn.length).toEqual(1)
691
+ await user.click(btn[0])
692
+
693
+ await waitFor(() => {
694
+ expect(testOnClickFn).not.toHaveBeenCalled()
695
+ })
696
+ })
697
+ })
698
+
699
+ describe("survey status", () => {
700
+ it("doesn't render tag when field is omitted", async () => {
701
+ render(<TitleBlockZen title="Test Title">Example</TitleBlockZen>)
702
+
703
+ await waitFor(() => {
704
+ expect(
705
+ screen.queryByTestId("survey-status-tag")
706
+ ).not.toBeInTheDocument()
707
+ })
708
+ })
709
+
710
+ it.each([
711
+ ["draft", "statusDraft"],
712
+ ["live", "statusLive"],
713
+ ["closed", "statusClosed"],
714
+ ["scheduled", "statusClosed"],
715
+ ])(
716
+ "renders tag with correct text and variant when %s status",
717
+ async (status, expectedClassName) => {
718
+ render(
719
+ <TitleBlockZen
720
+ title="Test Title"
721
+ surveyStatus={{
722
+ text: `${status} text`,
723
+ status: `${status}` as
724
+ | "draft"
725
+ | "live"
726
+ | "scheduled"
727
+ | "closed"
728
+ | "default",
729
+ }}
730
+ >
731
+ Example
732
+ </TitleBlockZen>
733
+ )
734
+
735
+ const tagElement = (await screen.findByTestId("survey-status-tag"))
736
+ .firstChild
737
+
738
+ expect(tagElement).toHaveTextContent(`${status} text`)
739
+ expect(tagElement).toHaveClass(expectedClassName)
740
+ }
741
+ )
742
+ })
743
+
744
+ describe("automation ID behaviour", () => {
745
+ describe("when default automation IDs are not provided alongside required conditional renders", () => {
746
+ it("renders the default automation IDs", () => {
747
+ const automationdIds = {
748
+ titleAutomationId: "TitleBlock__Title",
749
+ avatarAutomationId: "TitleBlock__Avatar",
750
+ subtitleAutomationId: "TitleBlock__Subtitle",
751
+ sectionTitleAutomationId: "TitleBlock__SectionTitle",
752
+ sectionTitleDescriptionAutomationId:
753
+ "TitleBlock__SectionTitleDescription",
754
+ breadcrumbAutomationId: "TitleBlock__Breadcrumb",
755
+ breadcrumbTextAutomationId: "TitleBlock__BreadcrumbText",
756
+ }
757
+
758
+ const { container } = render(
759
+ <TitleBlockZen
760
+ title="Test Title"
761
+ subtitle="Test Subtitle"
762
+ avatar={<div>Test JSX Avatar Component</div>}
763
+ breadcrumb={{
764
+ text: "Test Breadcrumb",
765
+ path: "/",
766
+ handleClick: jest.fn(),
767
+ }}
768
+ sectionTitle="Test Section Title"
769
+ sectionTitleDescription="Test Section Title Description"
770
+ >
771
+ Example
772
+ </TitleBlockZen>
773
+ )
774
+
775
+ for (const automationId of Object.values(automationdIds)) {
776
+ expect(
777
+ container.querySelector(`[data-automation-id="${automationId}"]`)
778
+ ).toBeTruthy()
779
+ }
780
+ })
781
+ })
782
+
783
+ describe("when default automation IDs are provided alongside required conditional renders", () => {
784
+ it("renders the provided automation IDs", () => {
785
+ const automationdIds = {
786
+ titleAutomationId: "titleBlockTitle",
787
+ avatarAutomationId: "titleBlockAvatar",
788
+ subtitleAutomationId: "titleBlockSubtitle",
789
+ sectionTitleAutomationId: "titleBlockSectionTitle",
790
+ sectionTitleDescriptionAutomationId:
791
+ "titleBlockSectionTitleDescription",
792
+ breadcrumbAutomationId: "breadcrumbAutomationId",
793
+ breadcrumbTextAutomationId: "breadcrumbTextAutomationId",
794
+ }
795
+
796
+ const { container } = render(
797
+ <TitleBlockZen
798
+ title="Test Title"
799
+ subtitle="Test Subtitle"
800
+ avatar={<div>Test JSX Avatar Component</div>}
801
+ breadcrumb={{
802
+ text: "Test Breadcrumb",
803
+ path: "/",
804
+ handleClick: jest.fn(),
805
+ }}
806
+ sectionTitle="Test Section Title"
807
+ sectionTitleDescription="Test Section Title Description"
808
+ titleAutomationId={automationdIds.titleAutomationId}
809
+ avatarAutomationId={automationdIds.avatarAutomationId}
810
+ subtitleAutomationId={automationdIds.subtitleAutomationId}
811
+ sectionTitleAutomationId={automationdIds.sectionTitleAutomationId}
812
+ sectionTitleDescriptionAutomationId={
813
+ automationdIds.sectionTitleDescriptionAutomationId
814
+ }
815
+ breadcrumbAutomationId={automationdIds.breadcrumbAutomationId}
816
+ breadcrumbTextAutomationId={
817
+ automationdIds.breadcrumbTextAutomationId
818
+ }
819
+ >
820
+ Example
821
+ </TitleBlockZen>
822
+ )
823
+
824
+ for (const automationId of Object.values(automationdIds)) {
825
+ expect(
826
+ container.querySelector(`[data-automation-id="${automationId}"]`)
827
+ ).toBeTruthy()
828
+ }
829
+ })
830
+ })
831
+ })
832
+
833
+ describe("breadcrumb", () => {
834
+ it("renders a link when you pass a path prop", () => {
835
+ render(
836
+ <TitleBlockZen
837
+ title="Test Title"
838
+ breadcrumb={{
839
+ text: "Back",
840
+ path: "/path/to/somewhere",
841
+ handleClick: (): void => undefined,
842
+ }}
843
+ >
844
+ Example
845
+ </TitleBlockZen>
846
+ )
847
+
848
+ expect(screen.getByRole("link", { name: "Back" })).toBeInTheDocument()
849
+ })
850
+
851
+ it("renders a button when you don't pass a path prop", () => {
852
+ render(
853
+ <TitleBlockZen
854
+ title="Test Title"
855
+ breadcrumb={{
856
+ text: "Back",
857
+ handleClick: (): void => undefined,
858
+ }}
859
+ >
860
+ Example
861
+ </TitleBlockZen>
862
+ )
863
+
864
+ expect(screen.getByRole("button", { name: "Back" })).toBeInTheDocument()
865
+ })
866
+
867
+ it("renders a custom component when you pass a 'render' prop", async () => {
868
+ const mockFn = jest.fn()
869
+
870
+ const CustomComponent = (props: CustomBreadcrumbProps): JSX.Element => (
871
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
872
+ <div
873
+ data-automation-id="custom-component"
874
+ data-testid="custom-component"
875
+ onClick={props.breadcrumb.handleClick}
876
+ >
877
+ {props.children}
878
+ </div>
879
+ )
880
+
881
+ render(
882
+ <TitleBlockZen
883
+ title="Test Title"
884
+ breadcrumb={{
885
+ text: "Back",
886
+ handleClick: mockFn,
887
+ render: CustomComponent,
888
+ }}
889
+ >
890
+ Example
891
+ </TitleBlockZen>
892
+ )
893
+
894
+ const customElement = screen.getByTestId("custom-component")
895
+ expect(customElement).toHaveTextContent("Back")
896
+ await user.click(customElement)
897
+
898
+ await waitFor(() => {
899
+ expect(mockFn).toBeCalled()
900
+ })
901
+ })
902
+ })
903
+
904
+ describe("renders a custom component when you pass a 'component' prop to a action", () => {
905
+ const MockLinkComponent = (props: any): JSX.Element => (
906
+ <a
907
+ className={props.className}
908
+ href={props.href}
909
+ data-testid={props["data-testid"]}
910
+ >
911
+ {props.children}
912
+ </a>
913
+ )
914
+ const MockButtonComponent = (props: any): JSX.Element => (
915
+ <button
916
+ type="button"
917
+ className={props.className}
918
+ onClick={props.onClick}
919
+ data-testid={props["data-testid"]}
920
+ >
921
+ {props.children}
922
+ </button>
923
+ )
924
+
925
+ describe("primaryAction", () => {
926
+ it("will render a custom anchor component in the main action toolbar", () => {
927
+ render(
928
+ <TitleBlockZen
929
+ title="Test Title"
930
+ primaryAction={{
931
+ label: "Primary action",
932
+ href: "#test-primary",
933
+ component: MockLinkComponent,
934
+ }}
935
+ >
936
+ Example
937
+ </TitleBlockZen>
938
+ )
939
+ const toolbar = screen.getByTestId("title-block-main-actions-toolbar")
940
+ within(toolbar).getByRole("link", {
941
+ name: "Primary action",
942
+ })
943
+ expect(
944
+ within(toolbar).getByRole("link", {
945
+ name: "Primary action",
946
+ })
947
+ ).toHaveAttribute("href", "#test-primary")
948
+ })
949
+
950
+ it("will render a custom anchor component in the mobile drawer", () => {
951
+ render(
952
+ <TitleBlockZen
953
+ title="Test Title"
954
+ primaryAction={{
955
+ label: "Primary action",
956
+ href: "#test-primary",
957
+ component: MockLinkComponent,
958
+ }}
959
+ >
960
+ Example
961
+ </TitleBlockZen>
962
+ )
963
+ const drawer = screen.getByTestId(
964
+ "title-block-mobile-actions-drawer-handle"
965
+ )
966
+ within(drawer).getByRole("link", {
967
+ name: "Primary action",
968
+ })
969
+ expect(
970
+ within(drawer).getByRole("link", {
971
+ name: "Primary action",
972
+ })
973
+ ).toHaveAttribute("href", "#test-primary")
974
+ })
975
+
976
+ it("will render custom button with functional onClick", async () => {
977
+ const testClickFunc = jest.fn()
978
+ render(
979
+ <TitleBlockZen
980
+ title="Test Title"
981
+ primaryAction={{
982
+ label: "Primary action",
983
+ onClick: testClickFunc,
984
+ component: MockButtonComponent,
985
+ }}
986
+ >
987
+ Example
988
+ </TitleBlockZen>
989
+ )
990
+ const drawer = screen.getByTestId(
991
+ "title-block-mobile-actions-drawer-handle"
992
+ )
993
+ const drawerBtn = within(drawer).getByRole("button", {
994
+ name: "Primary action",
995
+ })
996
+ await user.click(drawerBtn)
997
+
998
+ await waitFor(() => {
999
+ expect(testClickFunc).toBeCalledTimes(1)
1000
+ })
1001
+ })
1002
+
1003
+ it("will render custom button with children and not label", () => {
1004
+ const testClickFunc = jest.fn()
1005
+ render(
1006
+ <TitleBlockZen
1007
+ title="Test Title"
1008
+ primaryAction={{
1009
+ label: "Primary action",
1010
+ onClick: testClickFunc,
1011
+ component: (props): JSX.Element => (
1012
+ <MockButtonComponent {...props}>
1013
+ This will replace label
1014
+ </MockButtonComponent>
1015
+ ),
1016
+ }}
1017
+ >
1018
+ Example
1019
+ </TitleBlockZen>
1020
+ )
1021
+ const drawer = screen.getByTestId(
1022
+ "title-block-mobile-actions-drawer-handle"
1023
+ )
1024
+ within(drawer).getByRole("button", {
1025
+ name: "This will replace label",
1026
+ })
1027
+ expect(
1028
+ within(drawer).queryByRole("button", {
1029
+ name: "Primary action",
1030
+ })
1031
+ ).toBeFalsy()
1032
+ })
1033
+ })
1034
+
1035
+ describe("secondaryActions", () => {
1036
+ it("will render multiple custom anchor components in the secondary actions toolbar", () => {
1037
+ render(
1038
+ <TitleBlockZen
1039
+ title="Test Title"
1040
+ secondaryActions={[
1041
+ {
1042
+ label: "Secondary action 1",
1043
+ href: "#test-secondary",
1044
+ component: MockLinkComponent,
1045
+ },
1046
+ {
1047
+ label: "Secondary action 2",
1048
+ href: "#test-secondary-2",
1049
+ component: MockLinkComponent,
1050
+ },
1051
+ ]}
1052
+ >
1053
+ Example
1054
+ </TitleBlockZen>
1055
+ )
1056
+ const toolbar = screen.getByTestId(
1057
+ "title-block-secondary-actions-toolbar"
1058
+ )
1059
+ const links = within(toolbar).getAllByRole("link")
1060
+ expect(links.length).toBe(2)
1061
+ expect(links[0]).toHaveAttribute("href", "#test-secondary")
1062
+ expect(links[1]).toHaveAttribute("href", "#test-secondary-2")
1063
+ })
1064
+
1065
+ it("will render multiple custom anchor components in the secondary actions mobile Drawer", () => {
1066
+ render(
1067
+ <TitleBlockZen
1068
+ title="Test Title"
1069
+ secondaryActions={[
1070
+ {
1071
+ label: "Secondary action 1",
1072
+ href: "#test-secondary",
1073
+ component: MockLinkComponent,
1074
+ },
1075
+ {
1076
+ label: "Secondary action 2",
1077
+ href: "#test-secondary-2",
1078
+ component: MockLinkComponent,
1079
+ },
1080
+ ]}
1081
+ >
1082
+ Example
1083
+ </TitleBlockZen>
1084
+ )
1085
+ const links = screen.getAllByTestId(
1086
+ "title-block-mobile-actions-secondary-action"
1087
+ )
1088
+ expect(links.length).toBe(2)
1089
+ expect(links[0]).toHaveAttribute("href", "#test-secondary")
1090
+ expect(links[1]).toHaveAttribute("href", "#test-secondary-2")
1091
+ })
1092
+ })
1093
+
1094
+ describe("defaultAction", () => {
1095
+ it("will render a custom anchor components in the main action toolbar", () => {
1096
+ render(
1097
+ <TitleBlockZen
1098
+ title="Test Title"
1099
+ defaultAction={{
1100
+ label: "Default action",
1101
+ href: "#test-default",
1102
+ component: MockLinkComponent,
1103
+ }}
1104
+ >
1105
+ Example
1106
+ </TitleBlockZen>
1107
+ )
1108
+ const toolbar = screen.getByTestId("title-block-main-actions-toolbar")
1109
+ const defaultActionAnchor = within(toolbar).getByRole("link", {
1110
+ name: "Default action",
1111
+ })
1112
+ expect(defaultActionAnchor).toHaveAttribute("href", "#test-default")
1113
+ })
1114
+
1115
+ it("will render the component above primary action in the Drawer content if it is a link", () => {
1116
+ render(
1117
+ <TitleBlockZen
1118
+ title="Test Title"
1119
+ defaultAction={{
1120
+ label: "Default action",
1121
+ href: "#test-default",
1122
+ component: MockLinkComponent,
1123
+ }}
1124
+ >
1125
+ Example
1126
+ </TitleBlockZen>
1127
+ )
1128
+ const mobileActionLink = screen.getByTestId(
1129
+ "title-block-mobile-actions-default-link"
1130
+ )
1131
+
1132
+ expect(mobileActionLink).toBeInTheDocument()
1133
+ })
1134
+
1135
+ it("will render the component in the top list of the Drawer content if it is a clickable button", () => {
1136
+ const testClickFunc = jest.fn()
1137
+ render(
1138
+ <TitleBlockZen
1139
+ title="Test Title"
1140
+ defaultAction={{
1141
+ label: "Default action",
1142
+ onClick: testClickFunc,
1143
+ component: MockButtonComponent,
1144
+ }}
1145
+ >
1146
+ Example
1147
+ </TitleBlockZen>
1148
+ )
1149
+ expect(
1150
+ screen.queryByTestId("title-block-mobile-actions-default-link")
1151
+ ).toBeFalsy()
1152
+ expect(
1153
+ screen.getByTestId("title-block-mobile-actions-default-action")
1154
+ ).toBeInTheDocument()
1155
+ })
1156
+ })
1157
+ })
1158
+ })