@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,965 @@
1
+ import React, { useEffect, useState } from "react"
2
+ import { render, waitFor, within } from "@testing-library/react"
3
+ import userEvent from "@testing-library/user-event"
4
+ import { FilterMultiSelect } from "../index"
5
+ import { FilterBar, FilterBarProps } from "./FilterBar"
6
+ import { useFilterBarContext } from "./context/FilterBarContext"
7
+ import { Filters, FiltersValues } from "./types"
8
+
9
+ const user = userEvent.setup()
10
+
11
+ const TEST_ID__FILTER = "testid__filter"
12
+
13
+ type ValuesSimple = {
14
+ flavour: string
15
+ sugarLevel: number
16
+ iceLevel: number
17
+ }
18
+
19
+ const simpleFilters = [
20
+ {
21
+ id: "flavour",
22
+ name: "Flavour",
23
+ Component: (
24
+ <FilterBar.Select
25
+ items={[
26
+ { value: "jasmine-milk-tea", label: "Jasmine Milk Tea" },
27
+ { value: "honey-milk-tea", label: "Honey Milk Tea" },
28
+ { value: "lychee-green-tea", label: "Lychee Green Tea" },
29
+ ]}
30
+ data-testid={TEST_ID__FILTER}
31
+ />
32
+ ),
33
+ },
34
+ {
35
+ id: "sugarLevel",
36
+ name: "Sugar Level",
37
+ Component: (
38
+ <FilterBar.Select
39
+ items={[
40
+ { value: 0, label: "0%" },
41
+ { value: 50, label: "50%" },
42
+ { value: 100, label: "100%" },
43
+ ]}
44
+ data-testid={TEST_ID__FILTER}
45
+ />
46
+ ),
47
+ },
48
+ {
49
+ id: "iceLevel",
50
+ name: "Ice Level",
51
+ Component: (
52
+ <FilterBar.Select
53
+ items={[
54
+ { value: 0, label: "0%" },
55
+ { value: 50, label: "50%" },
56
+ { value: 100, label: "100%" },
57
+ ]}
58
+ data-testid={TEST_ID__FILTER}
59
+ />
60
+ ),
61
+ },
62
+ ] satisfies Filters<ValuesSimple>
63
+
64
+ type ValuesRemovable = {
65
+ flavour: string
66
+ topping: string
67
+ }
68
+
69
+ const filtersRemovable = [
70
+ {
71
+ id: "flavour",
72
+ name: "Flavour",
73
+ Component: (
74
+ <FilterBar.Select
75
+ items={[{ value: "jasmine-milk-tea", label: "Jasmine Milk Tea" }]}
76
+ />
77
+ ),
78
+ isRemovable: true,
79
+ },
80
+ {
81
+ id: "topping",
82
+ name: "Topping",
83
+ Component: (
84
+ <FilterBar.Select items={[{ value: "pearls", label: "Pearls" }]} />
85
+ ),
86
+ isRemovable: true,
87
+ },
88
+ ] satisfies Filters<ValuesRemovable>
89
+
90
+ type ValuesDependent = {
91
+ flavour: string
92
+ topping: string
93
+ }
94
+
95
+ const filtersDependent = [
96
+ {
97
+ id: "flavour",
98
+ name: "Flavour",
99
+ Component: (
100
+ <FilterBar.Select
101
+ items={[{ value: "jasmine-milk-tea", label: "Jasmine Milk Tea" }]}
102
+ />
103
+ ),
104
+ },
105
+ {
106
+ id: "topping",
107
+ name: "Topping",
108
+ Component: (
109
+ <FilterBar.Select items={[{ value: "pearls", label: "Pearls" }]} />
110
+ ),
111
+ isUsableWhen: state => state.flavour.value !== undefined,
112
+ },
113
+ ] satisfies Filters<ValuesDependent>
114
+
115
+ const FilterBarWrapper = <T extends FiltersValues>({
116
+ filters,
117
+ defaultValues,
118
+ ...customProps
119
+ }: Partial<FilterBarProps<T>> & {
120
+ filters: FilterBarProps<T>["filters"]
121
+ defaultValues?: FilterBarProps<T>["values"]
122
+ }): JSX.Element => {
123
+ const [activeValues, setActiveValues] = useState<Partial<T>>(
124
+ defaultValues ?? {}
125
+ )
126
+
127
+ return (
128
+ <>
129
+ <FilterBar<T>
130
+ filters={filters}
131
+ values={activeValues}
132
+ onValuesChange={setActiveValues}
133
+ {...customProps}
134
+ />
135
+ <div data-testid="testid__values">{JSON.stringify(activeValues)}</div>
136
+ </>
137
+ )
138
+ }
139
+
140
+ describe("<FilterBar />", () => {
141
+ it("renders filters in the provided order", () => {
142
+ const { getAllByTestId } = render(
143
+ <FilterBarWrapper<ValuesSimple> filters={simpleFilters} />
144
+ )
145
+ const filters = getAllByTestId(TEST_ID__FILTER)
146
+ expect(filters.length).toBe(3)
147
+ expect(filters[0]).toHaveTextContent("Flavour")
148
+ expect(filters[1]).toHaveTextContent("Sugar Level")
149
+ expect(filters[2]).toHaveTextContent("Ice Level")
150
+ })
151
+
152
+ describe("Removable filters", () => {
153
+ it("shows inactive filters in the Add Filters menu only", async () => {
154
+ const { getByRole, queryByText } = render(
155
+ <FilterBarWrapper<ValuesRemovable> filters={filtersRemovable} />
156
+ )
157
+ expect(queryByText("Topping")).not.toBeInTheDocument()
158
+
159
+ const addFiltersButton = getByRole("button", { name: "Add Filters" })
160
+ await user.click(addFiltersButton)
161
+
162
+ const list = getByRole("list")
163
+ const menuOption = within(list).getByRole("button", { name: "Topping" })
164
+
165
+ await waitFor(() => {
166
+ expect(menuOption).toBeVisible()
167
+ })
168
+ })
169
+
170
+ it("shows removable filter as active if there is a default value", () => {
171
+ const { getByRole } = render(
172
+ <FilterBarWrapper<ValuesRemovable>
173
+ filters={filtersRemovable}
174
+ defaultValues={{ topping: "pearls" }}
175
+ />
176
+ )
177
+ expect(getByRole("button", { name: "Topping : Pearls" })).toBeVisible()
178
+ expect(
179
+ getByRole("button", { name: "Remove filter - Topping" })
180
+ ).toBeVisible()
181
+ })
182
+
183
+ it("does not show active removable filters in the Add Filters menu", async () => {
184
+ const { getByRole } = render(
185
+ <FilterBarWrapper<ValuesRemovable>
186
+ filters={filtersRemovable}
187
+ defaultValues={{ topping: "pearls" }}
188
+ />
189
+ )
190
+
191
+ const addFiltersButton = getByRole("button", { name: "Add Filters" })
192
+ await user.click(addFiltersButton)
193
+
194
+ const list = getByRole("list")
195
+ const menuOption = within(list).queryByRole("button", { name: "Topping" })
196
+ await waitFor(() => {
197
+ expect(menuOption).not.toBeInTheDocument()
198
+ })
199
+ })
200
+
201
+ it("clears the value of a filter if it is removed", async () => {
202
+ const { getByRole } = render(
203
+ <FilterBarWrapper<ValuesRemovable>
204
+ filters={filtersRemovable}
205
+ defaultValues={{ topping: "pearls" }}
206
+ />
207
+ )
208
+
209
+ const filterButton = getByRole("button", { name: "Topping : Pearls" })
210
+ expect(filterButton).toBeVisible()
211
+
212
+ await user.click(getByRole("button", { name: "Remove filter - Topping" }))
213
+ await waitFor(() => {
214
+ expect(filterButton).not.toBeInTheDocument()
215
+ })
216
+
217
+ const addFiltersButton = getByRole("button", { name: "Add Filters" })
218
+ await user.click(addFiltersButton)
219
+
220
+ const list = getByRole("list")
221
+ const menuOption = within(list).getByRole("button", { name: "Topping" })
222
+ await waitFor(() => {
223
+ expect(menuOption).toBeVisible()
224
+ })
225
+
226
+ await user.click(menuOption)
227
+ await waitFor(() => {
228
+ expect(list).not.toBeInTheDocument()
229
+ })
230
+ expect(getByRole("button", { name: "Topping" })).toBeVisible()
231
+ })
232
+
233
+ it("adds new filters in the provided order", async () => {
234
+ const { getByRole, getAllByTestId } = render(
235
+ <FilterBarWrapper<ValuesSimple>
236
+ filters={simpleFilters.map(filter => ({
237
+ ...filter,
238
+ isRemovable: true,
239
+ }))}
240
+ />
241
+ )
242
+
243
+ const addFiltersButton = getByRole("button", { name: "Add Filters" })
244
+ await user.click(addFiltersButton)
245
+
246
+ const menuOptionIceLevel = getByRole("button", { name: "Ice Level" })
247
+ await user.click(menuOptionIceLevel)
248
+ await user.click(addFiltersButton)
249
+
250
+ const menuOptionFlavour = getByRole("button", { name: "Flavour" })
251
+ await user.click(menuOptionFlavour)
252
+ await user.click(addFiltersButton)
253
+
254
+ const menuOptionSugarLevel = getByRole("button", { name: "Sugar Level" })
255
+ await user.click(menuOptionSugarLevel)
256
+
257
+ const filters = getAllByTestId(TEST_ID__FILTER)
258
+ expect(filters.length).toBe(3)
259
+ expect(filters[0]).toHaveTextContent("Ice Level")
260
+ expect(filters[1]).toHaveTextContent("Flavour")
261
+ expect(filters[2]).toHaveTextContent("Sugar Level")
262
+ })
263
+ })
264
+
265
+ describe("Dependent filters", () => {
266
+ describe("Condition not met", () => {
267
+ it("does not show a dependent filter", () => {
268
+ const { queryByRole, getByRole } = render(
269
+ <FilterBarWrapper filters={filtersDependent} />
270
+ )
271
+ expect(
272
+ queryByRole("button", { name: "Topping" })
273
+ ).not.toBeInTheDocument()
274
+ expect(getByRole("button", { name: "Add Filters" })).toBeDisabled()
275
+ })
276
+
277
+ it("clears the value if the filter is not usable", () => {
278
+ const { getByTestId } = render(
279
+ <FilterBarWrapper
280
+ filters={filtersDependent}
281
+ defaultValues={{
282
+ topping: "pearls",
283
+ }}
284
+ />
285
+ )
286
+ expect(getByTestId("testid__values").textContent).toEqual(
287
+ JSON.stringify({})
288
+ )
289
+ })
290
+ })
291
+
292
+ describe("Condition met", () => {
293
+ it("shows a non-removable dependent filter in active filters", async () => {
294
+ const { queryByRole, getByRole, findByRole } = render(
295
+ <FilterBarWrapper filters={filtersDependent} />
296
+ )
297
+
298
+ const flavourButton = getByRole("button", { name: "Flavour" })
299
+ expect(
300
+ queryByRole("button", { name: "Topping" })
301
+ ).not.toBeInTheDocument()
302
+
303
+ await user.click(flavourButton)
304
+ const flavourOption = await findByRole("option", {
305
+ name: "Jasmine Milk Tea",
306
+ })
307
+ await user.click(flavourOption)
308
+
309
+ await waitFor(() => {
310
+ expect(getByRole("button", { name: "Topping" })).toBeVisible()
311
+ })
312
+ })
313
+
314
+ it("shows a removable dependent filter in Add Filters menu", async () => {
315
+ const { getByRole, findByRole } = render(
316
+ <FilterBarWrapper
317
+ filters={[
318
+ {
319
+ id: "flavour",
320
+ name: "Flavour",
321
+ Component: (
322
+ <FilterBar.Select
323
+ items={[
324
+ { value: "jasmine-milk-tea", label: "Jasmine Milk Tea" },
325
+ ]}
326
+ />
327
+ ),
328
+ },
329
+ {
330
+ id: "topping",
331
+ name: "Topping",
332
+ Component: (
333
+ <FilterBar.Select
334
+ items={[{ value: "pearls", label: "Pearls" }]}
335
+ />
336
+ ),
337
+ isUsableWhen: state => state.flavour.value !== undefined,
338
+ isRemovable: true,
339
+ },
340
+ ]}
341
+ />
342
+ )
343
+
344
+ const addFiltersButton = getByRole("button", { name: "Add Filters" })
345
+ expect(addFiltersButton).toBeDisabled()
346
+
347
+ const flavourButton = getByRole("button", { name: "Flavour" })
348
+ await user.click(flavourButton)
349
+ const flavourOption = await findByRole("option", {
350
+ name: "Jasmine Milk Tea",
351
+ })
352
+ await user.click(flavourOption)
353
+
354
+ await waitFor(() => {
355
+ expect(addFiltersButton).not.toBeDisabled()
356
+ })
357
+
358
+ await user.click(addFiltersButton)
359
+
360
+ const list = getByRole("list")
361
+ const menuOption = within(list).getByRole("button", { name: "Topping" })
362
+
363
+ await waitFor(() => {
364
+ expect(menuOption).toBeVisible()
365
+ })
366
+ })
367
+ })
368
+
369
+ describe("Condition result change", () => {
370
+ it("clears the value for an unusable filter", async () => {
371
+ const checkValues = jest.fn<void, [Partial<ValuesDependent>]>()
372
+
373
+ const Wrapper = (): JSX.Element => {
374
+ const [values, setValues] = useState<Partial<ValuesDependent>>({
375
+ topping: "pearls",
376
+ })
377
+
378
+ return (
379
+ <div>
380
+ <FilterBar<ValuesDependent>
381
+ filters={filtersDependent}
382
+ values={values}
383
+ onValuesChange={setValues}
384
+ />
385
+ <button type="button" onClick={() => checkValues(values)}>
386
+ Check values
387
+ </button>
388
+ </div>
389
+ )
390
+ }
391
+
392
+ const { queryByRole, getByRole } = render(<Wrapper />)
393
+ expect(
394
+ queryByRole("button", { name: "Topping : Pearls" })
395
+ ).not.toBeInTheDocument()
396
+
397
+ await user.click(getByRole("button", { name: "Check values" }))
398
+ await waitFor(() => {
399
+ expect(checkValues).toHaveBeenCalledWith({})
400
+ })
401
+ })
402
+
403
+ it("clears the value and removes a filter which loses usability", async () => {
404
+ const checkValues = jest.fn<void, [Partial<ValuesDependent>]>()
405
+
406
+ const Wrapper = (): JSX.Element => {
407
+ const [values, setValues] = useState<Partial<ValuesDependent>>({
408
+ flavour: "jasmine-milk-tea",
409
+ topping: "pearls",
410
+ })
411
+
412
+ return (
413
+ <div>
414
+ <FilterBar<ValuesDependent>
415
+ filters={filtersDependent}
416
+ values={values}
417
+ onValuesChange={setValues}
418
+ />
419
+ <button
420
+ type="button"
421
+ onClick={() => setValues({ ...values, flavour: undefined })}
422
+ >
423
+ Clear Flavour
424
+ </button>
425
+ <button type="button" onClick={() => checkValues(values)}>
426
+ Check values
427
+ </button>
428
+ </div>
429
+ )
430
+ }
431
+
432
+ const { getByRole } = render(<Wrapper />)
433
+ expect(
434
+ getByRole("button", { name: "Flavour : Jasmine Milk Tea" })
435
+ ).toBeVisible()
436
+ const toppingsButton = getByRole("button", { name: "Topping : Pearls" })
437
+ expect(toppingsButton).toBeVisible()
438
+
439
+ await user.click(getByRole("button", { name: "Clear Flavour" }))
440
+ await user.click(getByRole("button", { name: "Check values" }))
441
+
442
+ await waitFor(() => {
443
+ expect(checkValues).toHaveBeenCalledWith({})
444
+ expect(toppingsButton).not.toBeInTheDocument()
445
+ })
446
+ })
447
+ })
448
+
449
+ describe("Multiple dependencies", () => {
450
+ it("handles complex dependencies", async () => {
451
+ type ValuesComplexDeps = {
452
+ coffee: string
453
+ milk: string
454
+ syrup: string
455
+ sugar: string
456
+ ice: string
457
+ }
458
+
459
+ const filters = [
460
+ {
461
+ id: "coffee",
462
+ name: "Coffee",
463
+ Component: (
464
+ <FilterBar.Select
465
+ items={[
466
+ { value: "long-black", label: "Long Black" },
467
+ { value: "latte", label: "Latte" },
468
+ ]}
469
+ />
470
+ ),
471
+ },
472
+ {
473
+ id: "milk",
474
+ name: "Milk",
475
+ Component: (
476
+ <FilterBar.Select
477
+ items={[
478
+ { value: "full-cream", label: "Full Cream" },
479
+ { value: "oat", label: "Oat" },
480
+ ]}
481
+ />
482
+ ),
483
+ isUsableWhen: state => state.coffee.value === "latte",
484
+ },
485
+ {
486
+ id: "syrup",
487
+ name: "Syrup",
488
+ Component: (
489
+ <FilterBar.Select
490
+ items={[
491
+ { value: "vanilla", label: "Vanilla" },
492
+ { value: "caramel", label: "Caramel" },
493
+ ]}
494
+ />
495
+ ),
496
+ isRemovable: true,
497
+ isUsableWhen: state =>
498
+ state.milk.value !== undefined && !state.sugar.isActive,
499
+ },
500
+ {
501
+ id: "sugar",
502
+ name: "Sugar",
503
+ Component: (
504
+ <FilterBar.Select items={[{ value: "yes", label: "Yes" }]} />
505
+ ),
506
+ isRemovable: true,
507
+ isUsableWhen: state =>
508
+ state.milk.value !== undefined && !state.syrup.isActive,
509
+ },
510
+ {
511
+ id: "ice",
512
+ name: "Ice",
513
+ Component: (
514
+ <FilterBar.Select
515
+ items={[
516
+ { value: "yes", label: "Yes" },
517
+ { value: "no", label: "No" },
518
+ ]}
519
+ />
520
+ ),
521
+ isUsableWhen: state => state.coffee.value !== undefined,
522
+ },
523
+ ] satisfies Filters<ValuesComplexDeps>
524
+
525
+ const { queryByRole, getByRole } = render(
526
+ <FilterBarWrapper
527
+ filters={filters}
528
+ defaultValues={{ milk: "full-cream" }}
529
+ />
530
+ )
531
+
532
+ const coffeeButton = getByRole("button", { name: "Coffee" })
533
+ expect(coffeeButton).toBeVisible()
534
+ expect(queryByRole("button", { name: "Milk" })).not.toBeInTheDocument()
535
+ expect(queryByRole("button", { name: "Syrup" })).not.toBeInTheDocument()
536
+ expect(queryByRole("button", { name: "Sugar" })).not.toBeInTheDocument()
537
+ expect(queryByRole("button", { name: "Ice" })).not.toBeInTheDocument()
538
+
539
+ const addFiltersButton = getByRole("button", { name: "Add Filters" })
540
+ expect(addFiltersButton).toBeDisabled()
541
+
542
+ await user.click(coffeeButton)
543
+ await user.click(getByRole("option", { name: "Long Black" }))
544
+
545
+ await waitFor(() => {
546
+ expect(coffeeButton.textContent).toBe("Coffee:Long Black")
547
+ })
548
+ const iceButton = getByRole("button", { name: "Ice" })
549
+ expect(iceButton).toBeVisible()
550
+ expect(addFiltersButton).toBeDisabled()
551
+
552
+ await user.click(coffeeButton)
553
+ await user.click(getByRole("option", { name: "Latte" }))
554
+
555
+ await waitFor(() => {
556
+ expect(coffeeButton.textContent).toBe("Coffee:Latte")
557
+ })
558
+ const milkButton = getByRole("button", { name: "Milk" })
559
+ expect(milkButton).toBeVisible()
560
+ expect(addFiltersButton).toBeDisabled()
561
+
562
+ await user.click(milkButton)
563
+ await user.click(getByRole("option", { name: "Oat" }))
564
+
565
+ await waitFor(() => {
566
+ expect(milkButton.textContent).toBe("Milk:Oat")
567
+ })
568
+ expect(addFiltersButton).not.toBeDisabled()
569
+
570
+ await user.click(addFiltersButton)
571
+
572
+ const list = getByRole("list")
573
+ const menuOptionSugar = within(list).getByRole("button", {
574
+ name: "Sugar",
575
+ })
576
+ const menuOptionSyrup = within(list).getByRole("button", {
577
+ name: "Syrup",
578
+ })
579
+ expect(menuOptionSugar).toBeVisible()
580
+ expect(menuOptionSyrup).toBeVisible()
581
+
582
+ await user.click(menuOptionSugar)
583
+
584
+ await waitFor(() => {
585
+ expect(list).not.toBeInTheDocument()
586
+ })
587
+ const sugarButton = getByRole("button", { name: "Sugar" })
588
+ expect(sugarButton).toBeVisible()
589
+ expect(addFiltersButton).toBeDisabled()
590
+
591
+ await user.click(getByRole("button", { name: "Remove filter - Sugar" }))
592
+
593
+ await waitFor(() => {
594
+ expect(sugarButton).not.toBeInTheDocument()
595
+ })
596
+ expect(addFiltersButton).not.toBeDisabled()
597
+ })
598
+ })
599
+ })
600
+
601
+ describe("Clear all", () => {
602
+ it("clears all the values of all the filters", async () => {
603
+ const { getByRole } = render(
604
+ <FilterBarWrapper<ValuesSimple>
605
+ filters={simpleFilters}
606
+ defaultValues={{
607
+ flavour: "jasmine-milk-tea",
608
+ sugarLevel: 50,
609
+ iceLevel: 100,
610
+ }}
611
+ />
612
+ )
613
+
614
+ const flavourButton = getByRole("button", {
615
+ name: "Flavour : Jasmine Milk Tea",
616
+ })
617
+ const sugarLevelButton = getByRole("button", {
618
+ name: "Sugar Level : 50%",
619
+ })
620
+ const iceLevelButton = getByRole("button", { name: "Ice Level : 100%" })
621
+
622
+ expect(flavourButton.textContent).toBe("Flavour:Jasmine Milk Tea")
623
+ expect(sugarLevelButton.textContent).toBe("Sugar Level:50%")
624
+ expect(iceLevelButton.textContent).toBe("Ice Level:100%")
625
+
626
+ await user.click(getByRole("button", { name: "Clear all filters" }))
627
+
628
+ await waitFor(() => {
629
+ expect(flavourButton.textContent).toBe("Flavour")
630
+ expect(sugarLevelButton.textContent).toBe("Sugar Level")
631
+ expect(iceLevelButton.textContent).toBe("Ice Level")
632
+ })
633
+ })
634
+
635
+ it("removes all removable filters", async () => {
636
+ const { getByRole } = render(
637
+ <FilterBarWrapper<ValuesRemovable>
638
+ filters={filtersRemovable}
639
+ defaultValues={{
640
+ flavour: "jasmine-milk-tea",
641
+ topping: "pearls",
642
+ }}
643
+ />
644
+ )
645
+
646
+ const flavourButton = getByRole("button", {
647
+ name: "Flavour : Jasmine Milk Tea",
648
+ })
649
+ const toppingButton = getByRole("button", { name: "Topping : Pearls" })
650
+
651
+ expect(flavourButton).toBeVisible()
652
+ expect(toppingButton).toBeVisible()
653
+
654
+ await user.click(getByRole("button", { name: "Clear all filters" }))
655
+
656
+ await waitFor(() => {
657
+ expect(flavourButton).not.toBeInTheDocument()
658
+ expect(toppingButton).not.toBeInTheDocument()
659
+ })
660
+ })
661
+ })
662
+
663
+ describe("External events", () => {
664
+ it("allows updating the values via an external event", async () => {
665
+ const Wrapper = (): JSX.Element => {
666
+ type ExternalEventValues = {
667
+ flavour: string
668
+ }
669
+
670
+ const [values, setValues] = useState<Partial<ExternalEventValues>>({})
671
+
672
+ const filters = [
673
+ {
674
+ id: "flavour",
675
+ name: "Flavour",
676
+ Component: (
677
+ <FilterBar.Select
678
+ items={[
679
+ { value: "honey-milk-tea", label: "Honey Milk Tea" },
680
+ { value: "lychee-green-tea", label: "Lychee Green Tea" },
681
+ ]}
682
+ />
683
+ ),
684
+ },
685
+ ] satisfies Filters<ExternalEventValues>
686
+
687
+ return (
688
+ <div>
689
+ <FilterBar
690
+ filters={filters}
691
+ values={values}
692
+ onValuesChange={setValues}
693
+ />
694
+ <button
695
+ type="button"
696
+ onClick={() => setValues({ flavour: "honey-milk-tea" })}
697
+ >
698
+ Update Flavour to honey-milk-tea
699
+ </button>
700
+ </div>
701
+ )
702
+ }
703
+
704
+ const { getByRole } = render(<Wrapper />)
705
+
706
+ const flavourButton = getByRole("button", { name: "Flavour" })
707
+ expect(flavourButton.textContent).toEqual("Flavour")
708
+
709
+ await user.click(
710
+ getByRole("button", { name: "Update Flavour to honey-milk-tea" })
711
+ )
712
+
713
+ await waitFor(() => {
714
+ expect(flavourButton.textContent).toEqual("Flavour:Honey Milk Tea")
715
+ })
716
+ })
717
+
718
+ it("shows a removable filter when a value is set", async () => {
719
+ const Wrapper = (): JSX.Element => {
720
+ type ExternalEventValues = {
721
+ flavour: string
722
+ }
723
+
724
+ const [values, setValues] = useState<Partial<ExternalEventValues>>({})
725
+
726
+ const filters = [
727
+ {
728
+ id: "flavour",
729
+ name: "Flavour",
730
+ Component: (
731
+ <FilterBar.Select
732
+ items={[
733
+ { value: "honey-milk-tea", label: "Honey Milk Tea" },
734
+ { value: "lychee-green-tea", label: "Lychee Green Tea" },
735
+ ]}
736
+ />
737
+ ),
738
+ isRemovable: true,
739
+ },
740
+ ] satisfies Filters<ExternalEventValues>
741
+
742
+ return (
743
+ <div>
744
+ <FilterBar
745
+ filters={filters}
746
+ values={values}
747
+ onValuesChange={setValues}
748
+ />
749
+ <button
750
+ type="button"
751
+ onClick={() => setValues({ flavour: "honey-milk-tea" })}
752
+ >
753
+ Update Flavour to honey-milk-tea
754
+ </button>
755
+ </div>
756
+ )
757
+ }
758
+
759
+ const { getByRole, queryByRole } = render(<Wrapper />)
760
+
761
+ expect(queryByRole("button", { name: "Flavour" })).not.toBeInTheDocument()
762
+
763
+ await user.click(
764
+ getByRole("button", { name: "Update Flavour to honey-milk-tea" })
765
+ )
766
+
767
+ await waitFor(() => {
768
+ expect(
769
+ getByRole("button", { name: "Flavour : Honey Milk Tea" })
770
+ ).toBeVisible()
771
+ })
772
+ })
773
+ })
774
+
775
+ describe("Context use cases", () => {
776
+ describe("getActiveFilterValues()", () => {
777
+ type Items = Array<{ value: string; label: string }>
778
+
779
+ type AsyncValues = {
780
+ city: string[]
781
+ hero: string[]
782
+ }
783
+
784
+ const MockFilterAsyncComponent = ({
785
+ id,
786
+ fetcher,
787
+ }: {
788
+ id: string
789
+ fetcher: (args: Partial<AsyncValues>) => Promise<Items>
790
+ }): JSX.Element => {
791
+ const [items, setItems] = useState<Items>([])
792
+ const { getActiveFilterValues } = useFilterBarContext()
793
+ const activeFilterVals = getActiveFilterValues()
794
+
795
+ useEffect(() => {
796
+ fetcher(activeFilterVals).then(fetchedItems => {
797
+ if (JSON.stringify(fetchedItems) !== JSON.stringify(items)) {
798
+ setItems(fetchedItems)
799
+ }
800
+ })
801
+ }, [JSON.stringify(activeFilterVals)])
802
+
803
+ return (
804
+ <FilterBar.MultiSelect id={id} items={items}>
805
+ {() => (
806
+ <FilterMultiSelect.ListBox>
807
+ {({ allItems }) => (
808
+ <FilterMultiSelect.ListBoxSection
809
+ items={allItems}
810
+ sectionName="All Items"
811
+ >
812
+ {item => (
813
+ <FilterMultiSelect.Option key={item.key} item={item} />
814
+ )}
815
+ </FilterMultiSelect.ListBoxSection>
816
+ )}
817
+ </FilterMultiSelect.ListBox>
818
+ )}
819
+ </FilterBar.MultiSelect>
820
+ )
821
+ }
822
+
823
+ const fetchCityOptions = jest.fn((filterValues: Partial<AsyncValues>) => {
824
+ const isSupermanInFilterValue = filterValues.hero?.includes("superman")
825
+ const isBatmanInFilterValue = filterValues.hero?.includes("batman")
826
+
827
+ if (isBatmanInFilterValue && !isSupermanInFilterValue) {
828
+ return Promise.resolve([{ value: "gotham", label: "Gotham" }])
829
+ }
830
+
831
+ return Promise.resolve([
832
+ { value: "gotham", label: "Gotham" },
833
+ { value: "metro", label: "Metropolis" },
834
+ ])
835
+ })
836
+
837
+ const fetchHeroOptions = jest.fn((filterValues: Partial<AsyncValues>) => {
838
+ const isGothamInFilterValue = filterValues.city?.includes("gotham")
839
+ const isMetroInFilterValue = filterValues.city?.includes("metro")
840
+
841
+ if (isGothamInFilterValue && !isMetroInFilterValue) {
842
+ return Promise.resolve([{ value: "batman", label: "Batman" }])
843
+ }
844
+
845
+ return Promise.resolve([
846
+ { value: "superman", label: "Superman" },
847
+ { value: "batman", label: "Batman" },
848
+ ])
849
+ })
850
+
851
+ const config = [
852
+ {
853
+ id: "city",
854
+ name: "City",
855
+ Component: (
856
+ <MockFilterAsyncComponent id="city" fetcher={fetchCityOptions} />
857
+ ),
858
+ },
859
+ {
860
+ id: "hero",
861
+ name: "Hero",
862
+ Component: (
863
+ <MockFilterAsyncComponent id="Hero" fetcher={fetchHeroOptions} />
864
+ ),
865
+ },
866
+ ] satisfies Filters<AsyncValues>
867
+
868
+ it("can re-fetch options with all active filter values pulled off of the FilterBarContext", async () => {
869
+ const { getByRole, queryByRole } = render(
870
+ <FilterBarWrapper<AsyncValues> filters={config} defaultValues={{}} />
871
+ )
872
+
873
+ await user.click(getByRole("button", { name: "City" }))
874
+
875
+ await waitFor(() => {
876
+ expect(getByRole("option", { name: "Gotham" })).toBeVisible()
877
+ expect(getByRole("option", { name: "Metropolis" })).toBeVisible()
878
+ })
879
+
880
+ await user.click(getByRole("option", { name: "Gotham" }))
881
+
882
+ // close city filter
883
+ await user.click(document.body)
884
+
885
+ await user.click(getByRole("button", { name: "Hero" }))
886
+
887
+ await waitFor(() => {
888
+ expect(getByRole("option", { name: "Batman" })).toBeVisible()
889
+ expect(
890
+ queryByRole("option", { name: "Superman" })
891
+ ).not.toBeInTheDocument()
892
+ })
893
+
894
+ await user.click(getByRole("option", { name: "Batman" }))
895
+
896
+ await user.click(document.body)
897
+
898
+ await user.click(getByRole("button", { name: "City : Gotham" }))
899
+
900
+ await waitFor(() => {
901
+ expect(getByRole("option", { name: "Gotham" })).toBeVisible()
902
+ expect(
903
+ queryByRole("option", { name: "Metropolis" })
904
+ ).not.toBeInTheDocument()
905
+ })
906
+ })
907
+ })
908
+
909
+ describe("openFilter()", () => {
910
+ type CycleFilterValues = {
911
+ cycle: string
912
+ customDate: Date
913
+ }
914
+
915
+ const CycleFilter = ({ id }: { id?: string }): JSX.Element => {
916
+ const { openFilter } = useFilterBarContext<string, CycleFilterValues>()
917
+
918
+ return (
919
+ <FilterBar.Select
920
+ id={id}
921
+ items={[{ value: "custom", label: "Custom Date" }]}
922
+ onSelectionChange={key => {
923
+ if (key === "custom") openFilter("customDate")
924
+ }}
925
+ />
926
+ )
927
+ }
928
+
929
+ const cycleFilters = [
930
+ {
931
+ id: "cycle",
932
+ name: "Cycle",
933
+ Component: <CycleFilter />,
934
+ },
935
+ {
936
+ id: "customDate",
937
+ name: "Custom Date",
938
+ Component: <FilterBar.DatePicker />,
939
+ },
940
+ ] satisfies Filters<CycleFilterValues>
941
+
942
+ it("opens the Custom Date filter when Cycle's 'custom' value is selected", async () => {
943
+ const { getByRole } = render(
944
+ <FilterBarWrapper<CycleFilterValues> filters={cycleFilters} />
945
+ )
946
+
947
+ const customDateButton = getByRole("button", { name: "Custom Date" })
948
+ expect(customDateButton).toHaveAttribute("aria-expanded", "false")
949
+
950
+ await user.click(getByRole("button", { name: "Cycle" }))
951
+
952
+ const customDateOption = getByRole("option", { name: "Custom Date" })
953
+ await waitFor(() => {
954
+ expect(customDateOption).toBeVisible()
955
+ })
956
+
957
+ await user.click(customDateOption)
958
+
959
+ await waitFor(() => {
960
+ expect(customDateButton).toHaveAttribute("aria-expanded", "true")
961
+ })
962
+ })
963
+ })
964
+ })
965
+ })