@dxc-technology/halstack-react 0.0.0-d3554d7 → 0.0.0-d3624d0

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 (421) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1246 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +1 -1
  8. package/accordion/Accordion.js +105 -181
  9. package/accordion/Accordion.stories.tsx +83 -149
  10. package/accordion/Accordion.test.js +32 -33
  11. package/accordion/types.d.ts +10 -17
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +3 -3
  14. package/accordion-group/AccordionGroup.js +38 -107
  15. package/accordion-group/AccordionGroup.stories.tsx +95 -68
  16. package/accordion-group/AccordionGroup.test.js +55 -90
  17. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  18. package/accordion-group/AccordionGroupAccordion.js +31 -0
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +16 -17
  22. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  23. package/action-icon/ActionIcon.d.ts +4 -0
  24. package/action-icon/ActionIcon.js +48 -0
  25. package/action-icon/ActionIcon.stories.tsx +41 -0
  26. package/action-icon/ActionIcon.test.js +64 -0
  27. package/action-icon/types.d.ts +26 -0
  28. package/alert/Alert.accessibility.test.js +95 -0
  29. package/alert/Alert.js +40 -127
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +29 -46
  32. package/alert/types.d.ts +5 -5
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +1 -1
  35. package/badge/Badge.js +142 -40
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +52 -2
  39. package/bleed/Bleed.js +14 -55
  40. package/bleed/Bleed.stories.tsx +95 -95
  41. package/bleed/types.d.ts +26 -2
  42. package/box/Box.accessibility.test.js +33 -0
  43. package/box/Box.d.ts +1 -1
  44. package/box/Box.js +30 -81
  45. package/box/Box.stories.tsx +38 -51
  46. package/box/Box.test.js +2 -7
  47. package/box/types.d.ts +3 -14
  48. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  49. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  50. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  51. package/breadcrumbs/Breadcrumbs.js +79 -0
  52. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  53. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  54. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  55. package/breadcrumbs/Item.d.ts +4 -0
  56. package/breadcrumbs/Item.js +52 -0
  57. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  58. package/breadcrumbs/dropdownTheme.js +62 -0
  59. package/breadcrumbs/types.d.ts +16 -0
  60. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  61. package/bulleted-list/BulletedList.d.ts +7 -0
  62. package/bulleted-list/BulletedList.js +92 -0
  63. package/bulleted-list/BulletedList.stories.tsx +115 -0
  64. package/bulleted-list/types.d.ts +38 -0
  65. package/button/Button.accessibility.test.js +127 -0
  66. package/button/Button.d.ts +1 -1
  67. package/button/Button.js +63 -113
  68. package/button/Button.stories.tsx +151 -100
  69. package/button/Button.test.js +20 -17
  70. package/button/types.d.ts +12 -8
  71. package/card/Card.accessibility.test.js +36 -0
  72. package/card/Card.d.ts +1 -1
  73. package/card/Card.js +59 -102
  74. package/card/Card.stories.tsx +12 -42
  75. package/card/Card.test.js +11 -22
  76. package/card/types.d.ts +6 -11
  77. package/checkbox/Checkbox.accessibility.test.js +87 -0
  78. package/checkbox/Checkbox.d.ts +2 -2
  79. package/checkbox/Checkbox.js +143 -181
  80. package/checkbox/Checkbox.stories.tsx +166 -136
  81. package/checkbox/Checkbox.test.js +163 -29
  82. package/checkbox/types.d.ts +18 -6
  83. package/chip/Chip.accessibility.test.js +67 -0
  84. package/chip/Chip.js +45 -80
  85. package/chip/Chip.stories.tsx +107 -27
  86. package/chip/Chip.test.js +18 -33
  87. package/chip/types.d.ts +4 -4
  88. package/common/coreTokens.d.ts +237 -0
  89. package/common/coreTokens.js +184 -0
  90. package/common/utils.d.ts +1 -0
  91. package/common/utils.js +6 -12
  92. package/common/variables.d.ts +1392 -0
  93. package/common/variables.js +1081 -1190
  94. package/container/Container.d.ts +4 -0
  95. package/container/Container.js +194 -0
  96. package/container/Container.stories.tsx +214 -0
  97. package/container/types.d.ts +74 -0
  98. package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
  99. package/contextual-menu/ContextualMenu.d.ts +5 -0
  100. package/contextual-menu/ContextualMenu.js +88 -0
  101. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  102. package/contextual-menu/ContextualMenu.test.js +205 -0
  103. package/contextual-menu/GroupItem.d.ts +4 -0
  104. package/contextual-menu/GroupItem.js +67 -0
  105. package/contextual-menu/ItemAction.d.ts +4 -0
  106. package/contextual-menu/ItemAction.js +51 -0
  107. package/contextual-menu/MenuItem.d.ts +4 -0
  108. package/contextual-menu/MenuItem.js +29 -0
  109. package/contextual-menu/SingleItem.d.ts +4 -0
  110. package/contextual-menu/SingleItem.js +38 -0
  111. package/contextual-menu/types.d.ts +58 -0
  112. package/date-input/Calendar.d.ts +4 -0
  113. package/date-input/Calendar.js +214 -0
  114. package/date-input/DateInput.accessibility.test.js +228 -0
  115. package/date-input/DateInput.js +170 -306
  116. package/date-input/DateInput.stories.tsx +210 -56
  117. package/date-input/DateInput.test.js +708 -369
  118. package/date-input/DatePicker.d.ts +4 -0
  119. package/date-input/DatePicker.js +121 -0
  120. package/date-input/YearPicker.d.ts +4 -0
  121. package/date-input/YearPicker.js +100 -0
  122. package/date-input/types.d.ts +86 -22
  123. package/dialog/Dialog.accessibility.test.js +69 -0
  124. package/dialog/Dialog.d.ts +1 -1
  125. package/dialog/Dialog.js +56 -129
  126. package/dialog/Dialog.stories.tsx +326 -167
  127. package/dialog/Dialog.test.js +287 -20
  128. package/dialog/types.d.ts +18 -25
  129. package/divider/Divider.accessibility.test.js +33 -0
  130. package/divider/Divider.d.ts +4 -0
  131. package/divider/Divider.js +36 -0
  132. package/divider/Divider.stories.tsx +223 -0
  133. package/divider/Divider.test.js +38 -0
  134. package/divider/types.d.ts +21 -0
  135. package/dropdown/Dropdown.accessibility.test.js +180 -0
  136. package/dropdown/Dropdown.d.ts +1 -1
  137. package/dropdown/Dropdown.js +233 -307
  138. package/dropdown/Dropdown.stories.tsx +235 -57
  139. package/dropdown/Dropdown.test.js +575 -165
  140. package/dropdown/DropdownMenu.d.ts +4 -0
  141. package/dropdown/DropdownMenu.js +63 -0
  142. package/dropdown/DropdownMenuItem.d.ts +4 -0
  143. package/dropdown/DropdownMenuItem.js +71 -0
  144. package/dropdown/types.d.ts +35 -19
  145. package/file-input/FileInput.accessibility.test.js +160 -0
  146. package/file-input/FileInput.d.ts +2 -2
  147. package/file-input/FileInput.js +246 -393
  148. package/file-input/FileInput.stories.tsx +123 -12
  149. package/file-input/FileInput.test.js +292 -367
  150. package/file-input/FileItem.d.ts +4 -14
  151. package/file-input/FileItem.js +61 -120
  152. package/file-input/types.d.ts +25 -8
  153. package/flex/Flex.d.ts +4 -0
  154. package/flex/Flex.js +57 -0
  155. package/flex/Flex.stories.tsx +112 -0
  156. package/flex/types.d.ts +97 -0
  157. package/flex/types.js +5 -0
  158. package/footer/Footer.accessibility.test.js +125 -0
  159. package/footer/Footer.d.ts +1 -1
  160. package/footer/Footer.js +73 -191
  161. package/footer/Footer.stories.tsx +99 -21
  162. package/footer/Footer.test.js +33 -57
  163. package/footer/Icons.d.ts +3 -2
  164. package/footer/Icons.js +54 -23
  165. package/footer/types.d.ts +26 -27
  166. package/grid/Grid.d.ts +7 -0
  167. package/grid/Grid.js +76 -0
  168. package/grid/Grid.stories.tsx +219 -0
  169. package/grid/types.d.ts +115 -0
  170. package/grid/types.js +5 -0
  171. package/header/Header.accessibility.test.js +93 -0
  172. package/header/Header.d.ts +4 -3
  173. package/header/Header.js +104 -218
  174. package/header/Header.stories.tsx +168 -63
  175. package/header/Header.test.js +31 -28
  176. package/header/Icons.d.ts +2 -2
  177. package/header/Icons.js +5 -15
  178. package/header/types.d.ts +7 -21
  179. package/heading/Heading.accessibility.test.js +33 -0
  180. package/heading/Heading.js +10 -32
  181. package/heading/Heading.test.js +71 -88
  182. package/heading/types.d.ts +7 -7
  183. package/icon/Icon.accessibility.test.js +30 -0
  184. package/icon/Icon.d.ts +4 -0
  185. package/icon/Icon.js +33 -0
  186. package/icon/Icon.stories.tsx +28 -0
  187. package/icon/types.d.ts +4 -0
  188. package/icon/types.js +5 -0
  189. package/image/Image.accessibility.test.js +56 -0
  190. package/image/Image.d.ts +4 -0
  191. package/image/Image.js +70 -0
  192. package/image/Image.stories.tsx +129 -0
  193. package/image/types.d.ts +72 -0
  194. package/image/types.js +5 -0
  195. package/inset/Inset.js +14 -55
  196. package/inset/Inset.stories.tsx +37 -36
  197. package/inset/types.d.ts +26 -2
  198. package/layout/ApplicationLayout.d.ts +16 -6
  199. package/layout/ApplicationLayout.js +88 -182
  200. package/layout/ApplicationLayout.stories.tsx +85 -94
  201. package/layout/Icons.d.ts +7 -0
  202. package/layout/Icons.js +41 -48
  203. package/layout/types.d.ts +19 -35
  204. package/link/Link.accessibility.test.js +108 -0
  205. package/link/Link.d.ts +3 -2
  206. package/link/Link.js +65 -101
  207. package/link/Link.stories.tsx +157 -55
  208. package/link/Link.test.js +25 -53
  209. package/link/types.d.ts +15 -31
  210. package/main.d.ts +17 -13
  211. package/main.js +86 -101
  212. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  213. package/nav-tabs/NavTabs.d.ts +7 -0
  214. package/nav-tabs/NavTabs.js +93 -0
  215. package/nav-tabs/NavTabs.stories.tsx +279 -0
  216. package/nav-tabs/NavTabs.test.js +77 -0
  217. package/nav-tabs/NavTabsContext.d.ts +3 -0
  218. package/nav-tabs/NavTabsContext.js +8 -0
  219. package/nav-tabs/Tab.d.ts +4 -0
  220. package/nav-tabs/Tab.js +117 -0
  221. package/nav-tabs/types.d.ts +52 -0
  222. package/nav-tabs/types.js +5 -0
  223. package/number-input/NumberInput.accessibility.test.js +228 -0
  224. package/number-input/NumberInput.js +47 -44
  225. package/number-input/NumberInput.stories.tsx +44 -28
  226. package/number-input/NumberInput.test.js +862 -381
  227. package/number-input/NumberInputContext.d.ts +3 -4
  228. package/number-input/NumberInputContext.js +3 -14
  229. package/number-input/types.d.ts +34 -15
  230. package/package.json +54 -53
  231. package/paginator/Paginator.accessibility.test.js +79 -0
  232. package/paginator/Paginator.js +46 -100
  233. package/paginator/Paginator.stories.tsx +24 -0
  234. package/paginator/Paginator.test.js +280 -211
  235. package/paginator/types.d.ts +3 -3
  236. package/paragraph/Paragraph.accessibility.test.js +28 -0
  237. package/paragraph/Paragraph.d.ts +5 -0
  238. package/paragraph/Paragraph.js +22 -0
  239. package/paragraph/Paragraph.stories.tsx +27 -0
  240. package/password-input/PasswordInput.accessibility.test.js +153 -0
  241. package/password-input/PasswordInput.js +58 -124
  242. package/password-input/PasswordInput.stories.tsx +1 -33
  243. package/password-input/PasswordInput.test.js +162 -147
  244. package/password-input/types.d.ts +21 -17
  245. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  246. package/progress-bar/ProgressBar.js +68 -92
  247. package/progress-bar/ProgressBar.stories.tsx +93 -0
  248. package/progress-bar/ProgressBar.test.js +72 -44
  249. package/progress-bar/types.d.ts +3 -3
  250. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  251. package/quick-nav/QuickNav.d.ts +4 -0
  252. package/quick-nav/QuickNav.js +94 -0
  253. package/quick-nav/QuickNav.stories.tsx +356 -0
  254. package/quick-nav/types.d.ts +21 -0
  255. package/quick-nav/types.js +5 -0
  256. package/radio-group/Radio.d.ts +1 -1
  257. package/radio-group/Radio.js +59 -76
  258. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  259. package/radio-group/RadioGroup.js +73 -116
  260. package/radio-group/RadioGroup.stories.tsx +135 -17
  261. package/radio-group/RadioGroup.test.js +529 -467
  262. package/radio-group/types.d.ts +86 -9
  263. package/resultset-table/Icons.d.ts +7 -0
  264. package/resultset-table/Icons.js +47 -0
  265. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  266. package/resultset-table/ResultsetTable.d.ts +7 -0
  267. package/resultset-table/ResultsetTable.js +171 -0
  268. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
  269. package/resultset-table/ResultsetTable.test.js +381 -0
  270. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  271. package/resultset-table/types.js +5 -0
  272. package/select/Listbox.d.ts +4 -0
  273. package/select/Listbox.js +155 -0
  274. package/select/Option.d.ts +4 -0
  275. package/select/Option.js +89 -0
  276. package/select/Select.accessibility.test.js +228 -0
  277. package/select/Select.js +237 -504
  278. package/select/Select.stories.tsx +533 -196
  279. package/select/Select.test.js +1953 -1588
  280. package/select/types.d.ts +65 -26
  281. package/sidenav/Sidenav.accessibility.test.js +59 -0
  282. package/sidenav/Sidenav.d.ts +6 -5
  283. package/sidenav/Sidenav.js +136 -71
  284. package/sidenav/Sidenav.stories.tsx +246 -151
  285. package/sidenav/Sidenav.test.js +26 -45
  286. package/sidenav/SidenavContext.d.ts +5 -0
  287. package/sidenav/SidenavContext.js +13 -0
  288. package/sidenav/types.d.ts +52 -26
  289. package/slider/Slider.accessibility.test.js +104 -0
  290. package/slider/Slider.d.ts +2 -2
  291. package/slider/Slider.js +149 -180
  292. package/slider/Slider.test.js +198 -73
  293. package/slider/types.d.ts +11 -3
  294. package/spinner/Spinner.accessibility.test.js +96 -0
  295. package/spinner/Spinner.js +34 -74
  296. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  297. package/spinner/Spinner.test.js +26 -35
  298. package/spinner/types.d.ts +3 -3
  299. package/status-light/StatusLight.accessibility.test.js +157 -0
  300. package/status-light/StatusLight.d.ts +4 -0
  301. package/status-light/StatusLight.js +51 -0
  302. package/status-light/StatusLight.stories.tsx +74 -0
  303. package/status-light/StatusLight.test.js +25 -0
  304. package/status-light/types.d.ts +17 -0
  305. package/status-light/types.js +5 -0
  306. package/switch/Switch.accessibility.test.js +98 -0
  307. package/switch/Switch.d.ts +2 -2
  308. package/switch/Switch.js +149 -114
  309. package/switch/Switch.stories.tsx +56 -67
  310. package/switch/Switch.test.js +146 -39
  311. package/switch/types.d.ts +13 -5
  312. package/table/DropdownTheme.js +62 -0
  313. package/table/Table.accessibility.test.js +93 -0
  314. package/table/Table.d.ts +6 -2
  315. package/table/Table.js +78 -35
  316. package/table/Table.stories.tsx +663 -0
  317. package/table/Table.test.js +95 -8
  318. package/table/types.d.ts +34 -6
  319. package/tabs/Tab.d.ts +4 -0
  320. package/tabs/Tab.js +117 -0
  321. package/tabs/Tabs.accessibility.test.js +56 -0
  322. package/tabs/Tabs.d.ts +1 -1
  323. package/tabs/Tabs.js +305 -145
  324. package/tabs/Tabs.stories.tsx +124 -14
  325. package/tabs/Tabs.test.js +220 -67
  326. package/tabs/types.d.ts +31 -17
  327. package/tag/Tag.accessibility.test.js +69 -0
  328. package/tag/Tag.js +42 -79
  329. package/tag/Tag.stories.tsx +24 -10
  330. package/tag/Tag.test.js +18 -37
  331. package/tag/types.d.ts +9 -9
  332. package/text-input/Suggestion.d.ts +4 -0
  333. package/text-input/Suggestion.js +67 -0
  334. package/text-input/Suggestions.d.ts +4 -0
  335. package/text-input/Suggestions.js +94 -0
  336. package/text-input/TextInput.accessibility.test.js +321 -0
  337. package/text-input/TextInput.js +332 -557
  338. package/text-input/TextInput.stories.tsx +282 -282
  339. package/text-input/TextInput.test.js +1442 -1377
  340. package/text-input/types.d.ts +70 -24
  341. package/textarea/Textarea.accessibility.test.js +155 -0
  342. package/textarea/Textarea.js +83 -134
  343. package/textarea/Textarea.stories.tsx +174 -0
  344. package/textarea/Textarea.test.js +168 -198
  345. package/textarea/types.d.ts +27 -16
  346. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  347. package/toggle-group/ToggleGroup.d.ts +2 -2
  348. package/toggle-group/ToggleGroup.js +94 -106
  349. package/toggle-group/ToggleGroup.stories.tsx +56 -11
  350. package/toggle-group/ToggleGroup.test.js +78 -66
  351. package/toggle-group/types.d.ts +36 -19
  352. package/typography/Typography.accessibility.test.js +339 -0
  353. package/typography/Typography.d.ts +4 -0
  354. package/typography/Typography.js +23 -0
  355. package/typography/Typography.stories.tsx +198 -0
  356. package/typography/types.d.ts +18 -0
  357. package/typography/types.js +5 -0
  358. package/useTheme.d.ts +1144 -1
  359. package/useTheme.js +4 -11
  360. package/useTranslatedLabels.d.ts +85 -0
  361. package/useTranslatedLabels.js +14 -0
  362. package/utils/BaseTypography.d.ts +21 -0
  363. package/utils/BaseTypography.js +94 -0
  364. package/utils/FocusLock.d.ts +13 -0
  365. package/utils/FocusLock.js +124 -0
  366. package/wizard/Wizard.accessibility.test.js +55 -0
  367. package/wizard/Wizard.d.ts +1 -1
  368. package/wizard/Wizard.js +78 -120
  369. package/wizard/Wizard.stories.tsx +67 -19
  370. package/wizard/Wizard.test.js +73 -87
  371. package/wizard/types.d.ts +14 -10
  372. package/ThemeContext.d.ts +0 -10
  373. package/ThemeContext.js +0 -243
  374. package/card/ice-cream.jpg +0 -0
  375. package/common/OpenSans.css +0 -81
  376. package/common/RequiredComponent.js +0 -32
  377. package/common/fonts/OpenSans-Bold.ttf +0 -0
  378. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  379. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  380. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  381. package/common/fonts/OpenSans-Italic.ttf +0 -0
  382. package/common/fonts/OpenSans-Light.ttf +0 -0
  383. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  384. package/common/fonts/OpenSans-Regular.ttf +0 -0
  385. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  386. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  387. package/list/List.d.ts +0 -4
  388. package/list/List.js +0 -47
  389. package/list/List.stories.tsx +0 -95
  390. package/list/types.d.ts +0 -7
  391. package/number-input/numberInputContextTypes.d.ts +0 -19
  392. package/paginator/Icons.js +0 -66
  393. package/progress-bar/ProgressBar.stories.jsx +0 -58
  394. package/radio/Radio.d.ts +0 -4
  395. package/radio/Radio.js +0 -174
  396. package/radio/Radio.stories.tsx +0 -192
  397. package/radio/Radio.test.js +0 -71
  398. package/radio/types.d.ts +0 -54
  399. package/resultsetTable/ResultsetTable.d.ts +0 -4
  400. package/resultsetTable/ResultsetTable.js +0 -254
  401. package/resultsetTable/ResultsetTable.test.js +0 -306
  402. package/row/Row.d.ts +0 -3
  403. package/row/Row.js +0 -127
  404. package/row/Row.stories.tsx +0 -237
  405. package/row/types.d.ts +0 -10
  406. package/slider/Slider.stories.tsx +0 -177
  407. package/stack/Stack.d.ts +0 -3
  408. package/stack/Stack.js +0 -97
  409. package/stack/Stack.stories.tsx +0 -164
  410. package/stack/types.d.ts +0 -9
  411. package/table/Table.stories.jsx +0 -277
  412. package/text/Text.d.ts +0 -7
  413. package/text/Text.js +0 -30
  414. package/text/Text.stories.tsx +0 -19
  415. package/textarea/Textarea.stories.jsx +0 -157
  416. /package/{list → action-icon}/types.js +0 -0
  417. /package/{radio → breadcrumbs}/types.js +0 -0
  418. /package/{resultsetTable → bulleted-list}/types.js +0 -0
  419. /package/{row → container}/types.js +0 -0
  420. /package/{stack → contextual-menu}/types.js +0 -0
  421. /package/{number-input/numberInputContextTypes.js → divider/types.js} +0 -0
@@ -0,0 +1,194 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
4
+ import DxcBreadcrumbs from "./Breadcrumbs";
5
+ import DxcContainer from "../container/Container";
6
+ import { HalstackProvider } from "../HalstackContext";
7
+ import { userEvent, within } from "@storybook/testing-library";
8
+ import { disabledRules } from "../../test/accessibility/rules/specific/breadcrumbs/disabledRules";
9
+ import preview from "../../.storybook/preview";
10
+
11
+ export default {
12
+ title: "Breadcrumbs",
13
+ component: DxcBreadcrumbs,
14
+ parameters: {
15
+ a11y: {
16
+ config: {
17
+ rules: [
18
+ ...disabledRules.map((ruleId) => ({ id: ruleId, enabled: false })),
19
+ ...preview?.parameters?.a11y?.config?.rules,
20
+ ],
21
+ },
22
+ },
23
+ },
24
+ };
25
+
26
+ const items = [
27
+ {
28
+ label: "Home",
29
+ href: "/",
30
+ },
31
+ {
32
+ label: "User Menu",
33
+ href: "",
34
+ },
35
+ {
36
+ label: "Preferences",
37
+ href: "",
38
+ },
39
+ {
40
+ label: "Customization",
41
+ href: "",
42
+ },
43
+ {
44
+ label: "Dark Mode",
45
+ href: "",
46
+ },
47
+ ];
48
+
49
+ const Breadcrumbs = () => (
50
+ <>
51
+ <Title title="Default" theme="light" level={3} />
52
+ <ExampleContainer>
53
+ <DxcBreadcrumbs
54
+ items={[
55
+ {
56
+ label: "Home",
57
+ href: "/",
58
+ },
59
+ {
60
+ label: "User Menu",
61
+ href: "",
62
+ },
63
+ {
64
+ label: "Preferences",
65
+ href: "",
66
+ },
67
+ {
68
+ label: "Dark Mode",
69
+ href: "",
70
+ },
71
+ ]}
72
+ />
73
+ </ExampleContainer>
74
+ <Title title="Collapsed variant" theme="light" level={3} />
75
+ <ExampleContainer>
76
+ <DxcBreadcrumbs items={items} />
77
+ </ExampleContainer>
78
+ <Title title="Collapsed variant without root" theme="light" level={3} />
79
+ <ExampleContainer>
80
+ <DxcBreadcrumbs items={items} showRoot={false} />
81
+ </ExampleContainer>
82
+ <Title title="Collapsed variant with dropdown menu opened" theme="light" level={3} />
83
+ <ExampleContainer>
84
+ <DxcContainer height="150px">
85
+ <DxcBreadcrumbs items={items} />
86
+ </DxcContainer>
87
+ </ExampleContainer>
88
+ <Title title="Focus state" theme="light" level={3} />
89
+ <ExampleContainer pseudoState="pseudo-focus">
90
+ <DxcBreadcrumbs items={items} />
91
+ </ExampleContainer>
92
+ <Title title="Hover state" theme="light" level={3} />
93
+ <ExampleContainer pseudoState="pseudo-hover">
94
+ <DxcBreadcrumbs items={items} />
95
+ </ExampleContainer>
96
+ <Title title="Active state" theme="light" level={3} />
97
+ <ExampleContainer pseudoState="pseudo-active">
98
+ <DxcBreadcrumbs items={items} />
99
+ </ExampleContainer>
100
+ <Title title="Truncation and text ellipsis with tooltip (only when collapsed)" theme="light" level={3} />
101
+ <ExampleContainer>
102
+ <DxcContainer width="200px">
103
+ <DxcBreadcrumbs
104
+ items={[
105
+ {
106
+ label: "Root",
107
+ href: "/",
108
+ },
109
+ {
110
+ label: "Main folder",
111
+ href: "",
112
+ },
113
+ {
114
+ label: "User",
115
+ href: "",
116
+ },
117
+ {
118
+ label: "Very long label for the link",
119
+ href: "",
120
+ },
121
+ ]}
122
+ itemsBeforeCollapse={3}
123
+ />
124
+ </DxcContainer>
125
+ </ExampleContainer>
126
+ <Title title="Truncation, text ellipsis with tooltip and without root" theme="light" level={3} />
127
+ <ExampleContainer>
128
+ <DxcContainer width="200px">
129
+ <DxcBreadcrumbs
130
+ items={[
131
+ {
132
+ label: "Root",
133
+ href: "/",
134
+ },
135
+ {
136
+ label: "Main folder",
137
+ href: "",
138
+ },
139
+ {
140
+ label: "User",
141
+ href: "",
142
+ },
143
+ {
144
+ label: "Very long label for the link",
145
+ href: "",
146
+ },
147
+ ]}
148
+ itemsBeforeCollapse={3}
149
+ showRoot={false}
150
+ />
151
+ </DxcContainer>
152
+ </ExampleContainer>
153
+ <Title title="Dropdown theming doesn't affect the collapsed trigger" theme="light" level={3} />
154
+ <ExampleContainer>
155
+ <Title title="Opinionated theming" theme="light" level={4} />
156
+ <ExampleContainer>
157
+ <HalstackProvider
158
+ theme={{
159
+ dropdown: {
160
+ baseColor: "#fabada",
161
+ fontColor: "#999",
162
+ optionFontColor: "#4d4d4d",
163
+ },
164
+ }}
165
+ >
166
+ <DxcBreadcrumbs items={items} itemsBeforeCollapse={3} />
167
+ </HalstackProvider>
168
+ </ExampleContainer>
169
+ <Title title="Advanced theming" theme="light" level={4} />
170
+ <ExampleContainer>
171
+ <HalstackProvider
172
+ advancedTheme={{
173
+ dropdown: {
174
+ buttonBackgroundColor: "#fabada",
175
+ buttonHeight: "100px",
176
+ buttonBorderThickness: "2px",
177
+ buttonBorderStyle: "solid",
178
+ buttonBorderColor: "#000",
179
+ },
180
+ }}
181
+ >
182
+ <DxcBreadcrumbs items={items} itemsBeforeCollapse={3} />
183
+ </HalstackProvider>
184
+ </ExampleContainer>
185
+ </ExampleContainer>
186
+ </>
187
+ );
188
+
189
+ export const Chromatic = Breadcrumbs.bind({});
190
+ Chromatic.play = async ({ canvasElement }) => {
191
+ const canvas = within(canvasElement);
192
+ const dropdowns = canvas.getAllByRole("button");
193
+ await userEvent.click(dropdowns[2]);
194
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _react2 = require("@testing-library/react");
10
+ var _Breadcrumbs = _interopRequireDefault(require("./Breadcrumbs"));
11
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
12
+ global.ResizeObserver = /*#__PURE__*/function () {
13
+ function ResizeObserver() {
14
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
15
+ }
16
+ (0, _createClass2["default"])(ResizeObserver, [{
17
+ key: "observe",
18
+ value: function observe() {}
19
+ }, {
20
+ key: "unobserve",
21
+ value: function unobserve() {}
22
+ }, {
23
+ key: "disconnect",
24
+ value: function disconnect() {}
25
+ }]);
26
+ return ResizeObserver;
27
+ }();
28
+ var items = [{
29
+ label: "Home",
30
+ href: "/"
31
+ }, {
32
+ label: "User Menu",
33
+ href: ""
34
+ }, {
35
+ label: "Preferences",
36
+ href: ""
37
+ }, {
38
+ label: "Dark Mode",
39
+ href: ""
40
+ }];
41
+ describe("Breadcrumbs component tests", function () {
42
+ test("Renders with correct aria accessibility attributes", function () {
43
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], {
44
+ items: items,
45
+ ariaLabel: "example"
46
+ })),
47
+ getByText = _render.getByText,
48
+ getByRole = _render.getByRole;
49
+ var breadcrumbs = getByRole("navigation");
50
+ expect(breadcrumbs.getAttribute("aria-label")).toBe("example");
51
+ expect(getByText("Dark Mode").parentElement.getAttribute("aria-current")).toBe("page");
52
+ });
53
+ test("Collapsed variant renders all the items inside the dropdown menu except the root and the current page", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
54
+ var _render2, queryByText, getByText, getByRole, dropdown;
55
+ return _regenerator["default"].wrap(function _callee$(_context) {
56
+ while (1) switch (_context.prev = _context.next) {
57
+ case 0:
58
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], {
59
+ items: items,
60
+ itemsBeforeCollapse: 3
61
+ })), queryByText = _render2.queryByText, getByText = _render2.getByText, getByRole = _render2.getByRole;
62
+ dropdown = getByRole("button");
63
+ expect(queryByText("User Menu")).toBeFalsy();
64
+ expect(queryByText("Preferences")).toBeFalsy();
65
+ _context.next = 6;
66
+ return _userEvent["default"].click(dropdown);
67
+ case 6:
68
+ expect(getByText("User Menu")).toBeTruthy();
69
+ expect(getByText("Preferences")).toBeTruthy();
70
+ case 8:
71
+ case "end":
72
+ return _context.stop();
73
+ }
74
+ }, _callee);
75
+ })));
76
+ test("Collapsed variant, with show root set to false, renders all the items inside the dropdown menu except the current page", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
77
+ var _render3, queryByText, getByText, getByRole, dropdown;
78
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
79
+ while (1) switch (_context2.prev = _context2.next) {
80
+ case 0:
81
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], {
82
+ items: items,
83
+ itemsBeforeCollapse: 3,
84
+ showRoot: false
85
+ })), queryByText = _render3.queryByText, getByText = _render3.getByText, getByRole = _render3.getByRole;
86
+ dropdown = getByRole("button");
87
+ expect(queryByText("Home")).toBeFalsy();
88
+ expect(queryByText("User Menu")).toBeFalsy();
89
+ expect(queryByText("Preferences")).toBeFalsy();
90
+ _context2.next = 7;
91
+ return _userEvent["default"].click(dropdown);
92
+ case 7:
93
+ expect(getByText("Home")).toBeTruthy();
94
+ expect(getByText("User Menu")).toBeTruthy();
95
+ expect(getByText("Preferences")).toBeTruthy();
96
+ case 10:
97
+ case "end":
98
+ return _context2.stop();
99
+ }
100
+ }, _callee2);
101
+ })));
102
+ test("If itemsBeforeCollapse value is below two, ignores it and renders a collapsed variant", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
103
+ var _render4, getByText, getByRole;
104
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
105
+ while (1) switch (_context3.prev = _context3.next) {
106
+ case 0:
107
+ _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], {
108
+ items: items,
109
+ itemsBeforeCollapse: -1
110
+ })), getByText = _render4.getByText, getByRole = _render4.getByRole;
111
+ expect(getByText("Home")).toBeTruthy();
112
+ expect(getByRole("button")).toBeTruthy();
113
+ expect(getByText("Dark Mode")).toBeTruthy();
114
+ case 4:
115
+ case "end":
116
+ return _context3.stop();
117
+ }
118
+ }, _callee3);
119
+ })));
120
+ test("The onClick prop from an item is properly called", function () {
121
+ var onItemClick = jest.fn();
122
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], {
123
+ onItemClick: onItemClick,
124
+ items: [{
125
+ label: "Home",
126
+ href: "/home"
127
+ }, {
128
+ label: "Preferences",
129
+ href: "/preferences"
130
+ }]
131
+ })),
132
+ getByText = _render5.getByText;
133
+ _userEvent["default"].click(getByText("Home"));
134
+ expect(onItemClick).toHaveBeenCalledWith("/home");
135
+ });
136
+ test("The onClick prop from an item is properly called (collapsed)", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
137
+ var onItemClick, _render6, getByText, getByRole;
138
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
139
+ while (1) switch (_context4.prev = _context4.next) {
140
+ case 0:
141
+ onItemClick = jest.fn();
142
+ _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], {
143
+ onItemClick: onItemClick,
144
+ items: [{
145
+ label: "Home",
146
+ href: "/"
147
+ }, {
148
+ label: "Preferences",
149
+ href: "/"
150
+ }, {
151
+ label: "Dark Mode",
152
+ href: "/"
153
+ }],
154
+ itemsBeforeCollapse: 2
155
+ })), getByText = _render6.getByText, getByRole = _render6.getByRole;
156
+ _context4.next = 4;
157
+ return _userEvent["default"].click(getByRole("button"));
158
+ case 4:
159
+ _context4.next = 6;
160
+ return _userEvent["default"].click(getByText("Preferences"));
161
+ case 6:
162
+ expect(onItemClick).toHaveBeenCalledWith("/");
163
+ case 7:
164
+ case "end":
165
+ return _context4.stop();
166
+ }
167
+ }, _callee4);
168
+ })));
169
+ });
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { ItemPropsType } from "./types";
3
+ declare const Item: ({ isCurrentPage, href, label, onClick }: ItemPropsType) => React.JSX.Element;
4
+ export default Item;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
12
+ var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
13
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
16
+ var Item = function Item(_ref) {
17
+ var _ref$isCurrentPage = _ref.isCurrentPage,
18
+ isCurrentPage = _ref$isCurrentPage === void 0 ? false : _ref$isCurrentPage,
19
+ href = _ref.href,
20
+ label = _ref.label,
21
+ onClick = _ref.onClick;
22
+ var currentItemRef = (0, _react.useRef)(null);
23
+ var handleOnMouseEnter = function handleOnMouseEnter(event) {
24
+ var labelContainer = event.currentTarget;
25
+ var optionElement = currentItemRef === null || currentItemRef === void 0 ? void 0 : currentItemRef.current;
26
+ if (optionElement.title === "" && labelContainer.scrollWidth > labelContainer.clientWidth) optionElement.title = label;
27
+ };
28
+ var handleOnClick = function handleOnClick(event) {
29
+ if (onClick) {
30
+ event.preventDefault();
31
+ onClick(href);
32
+ }
33
+ };
34
+ return /*#__PURE__*/_react["default"].createElement(ListItem, {
35
+ "aria-current": isCurrentPage ? "page" : undefined,
36
+ isCurrentPage: isCurrentPage
37
+ }, isCurrentPage ? /*#__PURE__*/_react["default"].createElement(CurrentPage, {
38
+ ref: currentItemRef,
39
+ onMouseEnter: handleOnMouseEnter
40
+ }, label) : /*#__PURE__*/_react["default"].createElement(Link, {
41
+ href: href,
42
+ onClick: handleOnClick
43
+ }, /*#__PURE__*/_react["default"].createElement(Text, null, label)));
44
+ };
45
+ var ListItem = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n font-family: ", ";\n font-size: ", ";\n color: ", ";\n ", "\n"])), _coreTokens["default"].type_sans, _coreTokens["default"].type_scale_02, _coreTokens["default"].color_black, function (_ref2) {
46
+ var isCurrentPage = _ref2.isCurrentPage;
47
+ return isCurrentPage && "overflow: hidden;";
48
+ });
49
+ var CurrentPage = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: default;\n"])), _coreTokens["default"].type_semibold);
50
+ var Link = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n border-radius: ", ";\n padding: ", " ", ";\n display: inline-flex;\n align-items: center;\n height: 24px;\n color: ", ";\n text-decoration: ", ";\n cursor: pointer;\n\n &:focus {\n outline: ", " solid ", ";\n }\n"])), _coreTokens["default"].border_radius_small, _coreTokens["default"].spacing_0, _coreTokens["default"].spacing_2, _coreTokens["default"].color_black, _coreTokens["default"].type_no_line, _coreTokens["default"].border_width_2, _coreTokens["default"].color_blue_600);
51
+ var Text = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n border: ", " solid ", ";\n &:hover {\n border-bottom-color: ", ";\n }\n"])), _coreTokens["default"].border_width_1, _coreTokens["default"].color_transparent, _coreTokens["default"].color_black);
52
+ var _default = exports["default"] = Item;
@@ -0,0 +1,53 @@
1
+ declare const _default: {
2
+ dropdown: {
3
+ buttonIconSize: string;
4
+ buttonPaddingTop: string;
5
+ buttonPaddingBottom: string;
6
+ buttonPaddingLeft: string;
7
+ buttonPaddingRight: string;
8
+ buttonHeight: string;
9
+ buttonBorderRadius: string;
10
+ buttonBorderColor: string;
11
+ optionFontSize: string;
12
+ optionPaddingTop: string;
13
+ optionPaddingBottom: string;
14
+ optionPaddingLeft: string;
15
+ optionPaddingRight: string;
16
+ buttonBackgroundColor: string;
17
+ hoverButtonBackgroundColor: string;
18
+ activeButtonBackgroundColor: string;
19
+ buttonFontFamily: string;
20
+ buttonFontSize: string;
21
+ buttonFontStyle: string;
22
+ buttonFontWeight: string;
23
+ buttonFontColor: string;
24
+ buttonIconSpacing: string;
25
+ buttonIconColor: string;
26
+ buttonBorderStyle: string;
27
+ buttonBorderThickness: string;
28
+ disabledColor: string;
29
+ disabledButtonBackgroundColor: string;
30
+ disabledButtonBorderColor: string;
31
+ optionBackgroundColor: string;
32
+ hoverOptionBackgroundColor: string;
33
+ activeOptionBackgroundColor: string;
34
+ optionFontFamily: string;
35
+ optionFontStyle: string;
36
+ optionFontWeight: string;
37
+ optionFontColor: string;
38
+ optionIconSize: string;
39
+ optionIconSpacing: string;
40
+ optionIconColor: string;
41
+ caretIconSize: string;
42
+ caretIconColor: string;
43
+ caretIconSpacing: string;
44
+ borderRadius: string;
45
+ borderStyle: string;
46
+ borderThickness: string;
47
+ borderColor: string;
48
+ scrollBarThumbColor: string;
49
+ scrollBarTrackColor: string;
50
+ focusColor: string;
51
+ };
52
+ };
53
+ export default _default;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
9
+ var _default = exports["default"] = {
10
+ dropdown: {
11
+ // Breadcrumbs tokens
12
+ buttonIconSize: _coreTokens["default"].spacing_16,
13
+ buttonPaddingTop: _coreTokens["default"].spacing_4,
14
+ buttonPaddingBottom: _coreTokens["default"].spacing_4,
15
+ buttonPaddingLeft: _coreTokens["default"].spacing_4,
16
+ buttonPaddingRight: _coreTokens["default"].spacing_4,
17
+ buttonHeight: "24px",
18
+ buttonBorderRadius: "2px",
19
+ buttonBorderColor: _coreTokens["default"].color_transparent,
20
+ optionFontSize: "14px",
21
+ optionPaddingTop: _coreTokens["default"].spacing_0,
22
+ optionPaddingBottom: _coreTokens["default"].spacing_0,
23
+ optionPaddingLeft: _coreTokens["default"].spacing_16,
24
+ optionPaddingRight: _coreTokens["default"].spacing_16,
25
+ // Dropdown tokens
26
+ buttonBackgroundColor: _coreTokens["default"].color_white,
27
+ hoverButtonBackgroundColor: _coreTokens["default"].color_grey_100,
28
+ activeButtonBackgroundColor: _coreTokens["default"].color_grey_300,
29
+ buttonFontFamily: _coreTokens["default"].type_sans,
30
+ buttonFontSize: _coreTokens["default"].type_scale_03,
31
+ buttonFontStyle: _coreTokens["default"].type_normal,
32
+ buttonFontWeight: _coreTokens["default"].type_regular,
33
+ buttonFontColor: _coreTokens["default"].color_black,
34
+ buttonIconSpacing: "10px",
35
+ buttonIconColor: _coreTokens["default"].color_black,
36
+ buttonBorderStyle: _coreTokens["default"].border_none,
37
+ buttonBorderThickness: _coreTokens["default"].border_width_0,
38
+ disabledColor: _coreTokens["default"].color_grey_500,
39
+ disabledButtonBackgroundColor: _coreTokens["default"].color_transparent,
40
+ disabledButtonBorderColor: _coreTokens["default"].color_transparent,
41
+ optionBackgroundColor: _coreTokens["default"].color_white,
42
+ hoverOptionBackgroundColor: _coreTokens["default"].color_grey_100,
43
+ activeOptionBackgroundColor: _coreTokens["default"].color_grey_300,
44
+ optionFontFamily: _coreTokens["default"].type_sans,
45
+ optionFontStyle: _coreTokens["default"].type_normal,
46
+ optionFontWeight: _coreTokens["default"].type_regular,
47
+ optionFontColor: _coreTokens["default"].color_black,
48
+ optionIconSize: "20px",
49
+ optionIconSpacing: "10px",
50
+ optionIconColor: _coreTokens["default"].color_black,
51
+ caretIconSize: "24px",
52
+ caretIconColor: _coreTokens["default"].color_black,
53
+ caretIconSpacing: "12px",
54
+ borderRadius: "4px",
55
+ borderStyle: _coreTokens["default"].border_none,
56
+ borderThickness: _coreTokens["default"].border_width_0,
57
+ borderColor: _coreTokens["default"].color_transparent,
58
+ scrollBarThumbColor: _coreTokens["default"].color_grey_700,
59
+ scrollBarTrackColor: _coreTokens["default"].color_grey_300,
60
+ focusColor: _coreTokens["default"].color_blue_600
61
+ }
62
+ };
@@ -0,0 +1,16 @@
1
+ type Item = {
2
+ href?: string;
3
+ label: string;
4
+ };
5
+ type Props = {
6
+ ariaLabel?: string;
7
+ items: Item[];
8
+ itemsBeforeCollapse?: number;
9
+ onItemClick?: (href: string) => void;
10
+ showRoot?: boolean;
11
+ };
12
+ export type ItemPropsType = Item & {
13
+ isCurrentPage?: boolean;
14
+ onClick?: (href: string) => void;
15
+ };
16
+ export default Props;