@dxc-technology/halstack-react 0.0.0-b0616f2 → 0.0.0-b063530

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 (498) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1274 -6
  4. package/HalstackContext.js +135 -110
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  7. package/accordion/Accordion.accessibility.test.js +71 -0
  8. package/accordion/Accordion.d.ts +1 -1
  9. package/accordion/Accordion.js +44 -121
  10. package/accordion/Accordion.stories.tsx +82 -147
  11. package/accordion/Accordion.test.d.ts +1 -0
  12. package/accordion/Accordion.test.js +18 -33
  13. package/accordion/types.d.ts +6 -17
  14. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  15. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  16. package/accordion-group/AccordionGroup.d.ts +2 -2
  17. package/accordion-group/AccordionGroup.js +29 -77
  18. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  19. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  20. package/accordion-group/AccordionGroup.test.js +41 -73
  21. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  22. package/accordion-group/AccordionGroupAccordion.js +31 -0
  23. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  24. package/accordion-group/AccordionGroupContext.js +8 -0
  25. package/accordion-group/types.d.ts +7 -18
  26. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  27. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  28. package/action-icon/ActionIcon.d.ts +4 -0
  29. package/action-icon/ActionIcon.js +48 -0
  30. package/action-icon/ActionIcon.stories.tsx +41 -0
  31. package/action-icon/ActionIcon.test.d.ts +1 -0
  32. package/action-icon/ActionIcon.test.js +64 -0
  33. package/action-icon/types.d.ts +26 -0
  34. package/alert/Alert.accessibility.test.d.ts +1 -0
  35. package/alert/Alert.accessibility.test.js +95 -0
  36. package/alert/Alert.js +36 -126
  37. package/alert/Alert.stories.tsx +28 -0
  38. package/alert/Alert.test.d.ts +1 -0
  39. package/alert/Alert.test.js +28 -45
  40. package/alert/types.d.ts +5 -5
  41. package/badge/Badge.accessibility.test.d.ts +1 -0
  42. package/badge/Badge.accessibility.test.js +129 -0
  43. package/badge/Badge.d.ts +1 -1
  44. package/badge/Badge.js +142 -42
  45. package/badge/Badge.stories.tsx +210 -0
  46. package/badge/Badge.test.d.ts +1 -0
  47. package/badge/Badge.test.js +30 -0
  48. package/badge/types.d.ts +52 -3
  49. package/bar-chart/BarChart.d.ts +4 -0
  50. package/bar-chart/BarChart.js +152 -0
  51. package/bar-chart/BarChart.stories.tsx +281 -0
  52. package/bar-chart/BarChart.test.d.ts +1 -0
  53. package/bar-chart/BarChart.test.js +194 -0
  54. package/bar-chart/theme.d.ts +3 -0
  55. package/bar-chart/theme.js +31 -0
  56. package/bar-chart/types.d.ts +118 -0
  57. package/bleed/Bleed.js +13 -21
  58. package/bleed/Bleed.stories.tsx +1 -1
  59. package/bleed/types.d.ts +2 -2
  60. package/box/Box.accessibility.test.d.ts +1 -0
  61. package/box/Box.accessibility.test.js +33 -0
  62. package/box/Box.d.ts +1 -1
  63. package/box/Box.js +18 -59
  64. package/box/Box.stories.tsx +38 -51
  65. package/box/Box.test.d.ts +1 -0
  66. package/box/Box.test.js +1 -6
  67. package/box/types.d.ts +3 -14
  68. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  69. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  70. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  71. package/breadcrumbs/Breadcrumbs.js +79 -0
  72. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  73. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  74. package/breadcrumbs/Breadcrumbs.test.js +168 -0
  75. package/breadcrumbs/Item.d.ts +4 -0
  76. package/breadcrumbs/Item.js +52 -0
  77. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  78. package/breadcrumbs/dropdownTheme.js +62 -0
  79. package/breadcrumbs/types.d.ts +40 -0
  80. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  81. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  82. package/bulleted-list/BulletedList.js +22 -53
  83. package/bulleted-list/BulletedList.stories.tsx +8 -93
  84. package/bulleted-list/types.d.ts +32 -5
  85. package/button/Button.accessibility.test.d.ts +1 -0
  86. package/button/Button.accessibility.test.js +127 -0
  87. package/button/Button.d.ts +1 -1
  88. package/button/Button.js +71 -106
  89. package/button/Button.stories.tsx +143 -101
  90. package/button/Button.test.d.ts +1 -0
  91. package/button/Button.test.js +19 -16
  92. package/button/types.d.ts +9 -5
  93. package/card/Card.accessibility.test.d.ts +1 -0
  94. package/card/Card.accessibility.test.js +36 -0
  95. package/card/Card.d.ts +1 -1
  96. package/card/Card.js +49 -89
  97. package/card/Card.stories.tsx +13 -43
  98. package/card/Card.test.d.ts +1 -0
  99. package/card/Card.test.js +10 -21
  100. package/card/types.d.ts +6 -11
  101. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  102. package/checkbox/Checkbox.accessibility.test.js +87 -0
  103. package/checkbox/Checkbox.d.ts +2 -2
  104. package/checkbox/Checkbox.js +98 -134
  105. package/checkbox/Checkbox.stories.tsx +128 -94
  106. package/checkbox/Checkbox.test.d.ts +1 -0
  107. package/checkbox/Checkbox.test.js +107 -63
  108. package/checkbox/types.d.ts +11 -3
  109. package/chip/Chip.accessibility.test.d.ts +1 -0
  110. package/chip/Chip.accessibility.test.js +67 -0
  111. package/chip/Chip.js +45 -80
  112. package/chip/Chip.stories.tsx +103 -27
  113. package/chip/Chip.test.d.ts +1 -0
  114. package/chip/Chip.test.js +17 -32
  115. package/chip/types.d.ts +4 -4
  116. package/common/coreTokens.d.ts +236 -0
  117. package/common/coreTokens.js +183 -0
  118. package/common/utils.d.ts +1 -0
  119. package/common/utils.js +6 -12
  120. package/common/variables.d.ts +1432 -0
  121. package/common/variables.js +1010 -1220
  122. package/container/Container.d.ts +4 -0
  123. package/container/Container.js +194 -0
  124. package/container/Container.stories.tsx +214 -0
  125. package/container/types.d.ts +176 -0
  126. package/container/types.js +5 -0
  127. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  128. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  129. package/contextual-menu/ContextualMenu.d.ts +5 -0
  130. package/contextual-menu/ContextualMenu.js +136 -0
  131. package/contextual-menu/ContextualMenu.stories.tsx +231 -0
  132. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  133. package/contextual-menu/ContextualMenu.test.js +247 -0
  134. package/contextual-menu/GroupItem.d.ts +4 -0
  135. package/contextual-menu/GroupItem.js +67 -0
  136. package/contextual-menu/ItemAction.d.ts +4 -0
  137. package/contextual-menu/ItemAction.js +88 -0
  138. package/contextual-menu/MenuItem.d.ts +4 -0
  139. package/contextual-menu/MenuItem.js +29 -0
  140. package/contextual-menu/SingleItem.d.ts +4 -0
  141. package/contextual-menu/SingleItem.js +38 -0
  142. package/contextual-menu/types.d.ts +65 -0
  143. package/contextual-menu/types.js +5 -0
  144. package/date-input/Calendar.d.ts +4 -0
  145. package/date-input/Calendar.js +230 -0
  146. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  147. package/date-input/DateInput.accessibility.test.js +229 -0
  148. package/date-input/DateInput.js +156 -300
  149. package/date-input/DateInput.stories.tsx +210 -57
  150. package/date-input/DateInput.test.d.ts +1 -0
  151. package/date-input/DateInput.test.js +699 -370
  152. package/date-input/DatePicker.d.ts +4 -0
  153. package/date-input/DatePicker.js +121 -0
  154. package/date-input/YearPicker.d.ts +4 -0
  155. package/date-input/YearPicker.js +105 -0
  156. package/date-input/types.d.ts +72 -15
  157. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  158. package/dialog/Dialog.accessibility.test.js +69 -0
  159. package/dialog/Dialog.d.ts +1 -1
  160. package/dialog/Dialog.js +50 -119
  161. package/dialog/Dialog.stories.tsx +324 -166
  162. package/dialog/Dialog.test.d.ts +1 -0
  163. package/dialog/Dialog.test.js +332 -32
  164. package/dialog/types.d.ts +18 -25
  165. package/divider/Divider.accessibility.test.d.ts +1 -0
  166. package/divider/Divider.accessibility.test.js +33 -0
  167. package/divider/Divider.d.ts +4 -0
  168. package/divider/Divider.js +36 -0
  169. package/divider/Divider.stories.tsx +224 -0
  170. package/divider/Divider.test.d.ts +1 -0
  171. package/divider/Divider.test.js +38 -0
  172. package/divider/types.d.ts +21 -0
  173. package/divider/types.js +5 -0
  174. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  175. package/dropdown/Dropdown.accessibility.test.js +183 -0
  176. package/dropdown/Dropdown.js +93 -160
  177. package/dropdown/Dropdown.stories.tsx +210 -95
  178. package/dropdown/Dropdown.test.d.ts +1 -0
  179. package/dropdown/Dropdown.test.js +450 -413
  180. package/dropdown/DropdownMenu.js +23 -40
  181. package/dropdown/DropdownMenuItem.js +18 -39
  182. package/dropdown/types.d.ts +20 -24
  183. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  184. package/file-input/FileInput.accessibility.test.js +167 -0
  185. package/file-input/FileInput.d.ts +2 -2
  186. package/file-input/FileInput.js +238 -393
  187. package/file-input/FileInput.stories.tsx +123 -12
  188. package/file-input/FileInput.test.d.ts +1 -0
  189. package/file-input/FileInput.test.js +314 -367
  190. package/file-input/FileItem.d.ts +4 -14
  191. package/file-input/FileItem.js +56 -117
  192. package/file-input/types.d.ts +24 -11
  193. package/flex/Flex.d.ts +1 -1
  194. package/flex/Flex.js +40 -40
  195. package/flex/Flex.stories.tsx +35 -26
  196. package/flex/types.d.ts +84 -8
  197. package/footer/Footer.accessibility.test.d.ts +1 -0
  198. package/footer/Footer.accessibility.test.js +125 -0
  199. package/footer/Footer.d.ts +1 -1
  200. package/footer/Footer.js +73 -118
  201. package/footer/Footer.stories.tsx +94 -23
  202. package/footer/Footer.test.d.ts +1 -0
  203. package/footer/Footer.test.js +32 -56
  204. package/footer/Icons.d.ts +3 -2
  205. package/footer/Icons.js +53 -22
  206. package/footer/types.d.ts +26 -27
  207. package/grid/Grid.d.ts +7 -0
  208. package/grid/Grid.js +76 -0
  209. package/grid/Grid.stories.tsx +221 -0
  210. package/grid/types.d.ts +115 -0
  211. package/grid/types.js +5 -0
  212. package/header/Header.accessibility.test.d.ts +1 -0
  213. package/header/Header.accessibility.test.js +94 -0
  214. package/header/Header.d.ts +4 -3
  215. package/header/Header.js +55 -150
  216. package/header/Header.stories.tsx +131 -36
  217. package/header/Header.test.d.ts +1 -0
  218. package/header/Header.test.js +12 -25
  219. package/header/Icons.d.ts +2 -2
  220. package/header/Icons.js +3 -13
  221. package/header/types.d.ts +7 -21
  222. package/heading/Heading.accessibility.test.d.ts +1 -0
  223. package/heading/Heading.accessibility.test.js +33 -0
  224. package/heading/Heading.js +10 -32
  225. package/heading/Heading.test.d.ts +1 -0
  226. package/heading/Heading.test.js +64 -94
  227. package/heading/types.d.ts +7 -7
  228. package/icon/Icon.accessibility.test.d.ts +1 -0
  229. package/icon/Icon.accessibility.test.js +30 -0
  230. package/icon/Icon.d.ts +4 -0
  231. package/icon/Icon.js +33 -0
  232. package/icon/Icon.stories.tsx +28 -0
  233. package/icon/types.d.ts +4 -0
  234. package/icon/types.js +5 -0
  235. package/image/Image.accessibility.test.d.ts +1 -0
  236. package/image/Image.accessibility.test.js +56 -0
  237. package/image/Image.d.ts +4 -0
  238. package/image/Image.js +70 -0
  239. package/image/Image.stories.tsx +129 -0
  240. package/image/types.d.ts +72 -0
  241. package/image/types.js +5 -0
  242. package/inset/Inset.js +13 -21
  243. package/inset/Inset.stories.tsx +2 -1
  244. package/inset/types.d.ts +2 -2
  245. package/layout/ApplicationLayout.d.ts +5 -5
  246. package/layout/ApplicationLayout.js +36 -70
  247. package/layout/ApplicationLayout.stories.tsx +1 -1
  248. package/layout/Icons.d.ts +7 -5
  249. package/layout/Icons.js +41 -59
  250. package/layout/types.d.ts +5 -6
  251. package/link/Link.accessibility.test.d.ts +1 -0
  252. package/link/Link.accessibility.test.js +108 -0
  253. package/link/Link.js +32 -51
  254. package/link/Link.stories.tsx +64 -4
  255. package/link/Link.test.d.ts +1 -0
  256. package/link/Link.test.js +23 -43
  257. package/link/types.d.ts +14 -14
  258. package/main.d.ts +12 -5
  259. package/main.js +61 -59
  260. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  261. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  262. package/nav-tabs/NavTabs.d.ts +7 -0
  263. package/nav-tabs/NavTabs.js +108 -0
  264. package/nav-tabs/NavTabs.stories.tsx +294 -0
  265. package/nav-tabs/NavTabs.test.d.ts +1 -0
  266. package/nav-tabs/NavTabs.test.js +77 -0
  267. package/nav-tabs/NavTabsContext.d.ts +3 -0
  268. package/nav-tabs/NavTabsContext.js +8 -0
  269. package/nav-tabs/Tab.js +117 -0
  270. package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
  271. package/nav-tabs/types.js +5 -0
  272. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  273. package/number-input/NumberInput.accessibility.test.js +227 -0
  274. package/number-input/NumberInput.js +50 -37
  275. package/number-input/NumberInput.stories.tsx +37 -26
  276. package/number-input/NumberInput.test.d.ts +1 -0
  277. package/number-input/NumberInput.test.js +858 -376
  278. package/number-input/NumberInputContext.d.ts +3 -4
  279. package/number-input/NumberInputContext.js +3 -14
  280. package/number-input/types.d.ts +17 -5
  281. package/package.json +52 -49
  282. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  283. package/paginator/Paginator.accessibility.test.js +78 -0
  284. package/paginator/Paginator.js +35 -68
  285. package/paginator/Paginator.stories.tsx +24 -0
  286. package/paginator/Paginator.test.d.ts +1 -0
  287. package/paginator/Paginator.test.js +253 -227
  288. package/paginator/types.d.ts +3 -3
  289. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  290. package/paragraph/Paragraph.accessibility.test.js +28 -0
  291. package/paragraph/Paragraph.d.ts +3 -4
  292. package/paragraph/Paragraph.js +6 -22
  293. package/paragraph/Paragraph.stories.tsx +0 -17
  294. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  295. package/password-input/PasswordInput.accessibility.test.js +152 -0
  296. package/password-input/PasswordInput.js +62 -128
  297. package/password-input/PasswordInput.stories.tsx +11 -34
  298. package/password-input/PasswordInput.test.d.ts +1 -0
  299. package/password-input/PasswordInput.test.js +158 -141
  300. package/password-input/types.d.ts +8 -7
  301. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  302. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  303. package/progress-bar/ProgressBar.d.ts +2 -2
  304. package/progress-bar/ProgressBar.js +28 -58
  305. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  306. package/progress-bar/ProgressBar.test.d.ts +1 -0
  307. package/progress-bar/ProgressBar.test.js +35 -52
  308. package/progress-bar/types.d.ts +4 -3
  309. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  310. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  311. package/quick-nav/QuickNav.js +15 -39
  312. package/quick-nav/QuickNav.stories.tsx +112 -20
  313. package/quick-nav/types.d.ts +10 -10
  314. package/radio-group/Radio.d.ts +1 -1
  315. package/radio-group/Radio.js +59 -79
  316. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  317. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  318. package/radio-group/RadioGroup.js +62 -110
  319. package/radio-group/RadioGroup.stories.tsx +132 -18
  320. package/radio-group/RadioGroup.test.d.ts +1 -0
  321. package/radio-group/RadioGroup.test.js +518 -459
  322. package/radio-group/types.d.ts +10 -10
  323. package/resultset-table/Icons.d.ts +7 -0
  324. package/{text-input → resultset-table}/Icons.js +13 -26
  325. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  326. package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
  327. package/resultset-table/ResultsetTable.d.ts +7 -0
  328. package/resultset-table/ResultsetTable.js +195 -0
  329. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +169 -31
  330. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  331. package/resultset-table/ResultsetTable.test.js +450 -0
  332. package/{resultsetTable → resultset-table}/types.d.ts +46 -12
  333. package/resultset-table/types.js +5 -0
  334. package/select/Listbox.d.ts +1 -1
  335. package/select/Listbox.js +40 -87
  336. package/select/Option.js +35 -56
  337. package/select/Select.accessibility.test.d.ts +1 -0
  338. package/select/Select.accessibility.test.js +227 -0
  339. package/select/Select.js +141 -182
  340. package/select/Select.stories.tsx +505 -204
  341. package/select/Select.test.d.ts +1 -0
  342. package/select/Select.test.js +1916 -1923
  343. package/select/types.d.ts +17 -18
  344. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  345. package/sidenav/Sidenav.accessibility.test.js +59 -0
  346. package/sidenav/Sidenav.d.ts +2 -2
  347. package/sidenav/Sidenav.js +90 -157
  348. package/sidenav/Sidenav.stories.tsx +161 -64
  349. package/sidenav/Sidenav.test.d.ts +1 -0
  350. package/sidenav/Sidenav.test.js +4 -11
  351. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  352. package/{layout → sidenav}/SidenavContext.js +3 -9
  353. package/sidenav/types.d.ts +33 -30
  354. package/slider/Slider.accessibility.test.d.ts +1 -0
  355. package/slider/Slider.accessibility.test.js +103 -0
  356. package/slider/Slider.d.ts +2 -2
  357. package/slider/Slider.js +79 -135
  358. package/slider/Slider.stories.tsx +57 -60
  359. package/slider/Slider.test.d.ts +1 -0
  360. package/slider/Slider.test.js +117 -111
  361. package/slider/types.d.ts +7 -3
  362. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  363. package/spinner/Spinner.accessibility.test.js +96 -0
  364. package/spinner/Spinner.d.ts +1 -1
  365. package/spinner/Spinner.js +50 -109
  366. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  367. package/spinner/Spinner.test.d.ts +1 -0
  368. package/spinner/Spinner.test.js +25 -34
  369. package/spinner/types.d.ts +3 -3
  370. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  371. package/status-light/StatusLight.accessibility.test.js +157 -0
  372. package/status-light/StatusLight.d.ts +4 -0
  373. package/status-light/StatusLight.js +51 -0
  374. package/status-light/StatusLight.stories.tsx +74 -0
  375. package/status-light/StatusLight.test.d.ts +1 -0
  376. package/status-light/StatusLight.test.js +25 -0
  377. package/status-light/types.d.ts +17 -0
  378. package/status-light/types.js +5 -0
  379. package/switch/Switch.accessibility.test.d.ts +1 -0
  380. package/switch/Switch.accessibility.test.js +98 -0
  381. package/switch/Switch.d.ts +3 -3
  382. package/switch/Switch.js +112 -152
  383. package/switch/Switch.stories.tsx +45 -34
  384. package/switch/Switch.test.d.ts +1 -0
  385. package/switch/Switch.test.js +69 -101
  386. package/switch/types.d.ts +8 -3
  387. package/table/DropdownTheme.js +62 -0
  388. package/table/Table.accessibility.test.d.ts +1 -0
  389. package/table/Table.accessibility.test.js +92 -0
  390. package/table/Table.d.ts +6 -2
  391. package/table/Table.js +78 -35
  392. package/table/Table.stories.tsx +663 -0
  393. package/table/Table.test.d.ts +1 -0
  394. package/table/Table.test.js +92 -7
  395. package/table/types.d.ts +34 -6
  396. package/tabs/Tab.js +28 -46
  397. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  398. package/tabs/Tabs.accessibility.test.js +56 -0
  399. package/tabs/Tabs.js +69 -163
  400. package/tabs/Tabs.stories.tsx +50 -6
  401. package/tabs/Tabs.test.d.ts +1 -0
  402. package/tabs/Tabs.test.js +60 -135
  403. package/tabs/types.d.ts +21 -21
  404. package/tag/Tag.accessibility.test.d.ts +1 -0
  405. package/tag/Tag.accessibility.test.js +69 -0
  406. package/tag/Tag.js +34 -66
  407. package/tag/Tag.stories.tsx +19 -9
  408. package/tag/Tag.test.d.ts +1 -0
  409. package/tag/Tag.test.js +17 -36
  410. package/tag/types.d.ts +9 -9
  411. package/text-input/Suggestion.js +35 -25
  412. package/text-input/Suggestions.d.ts +1 -1
  413. package/text-input/Suggestions.js +30 -70
  414. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  415. package/text-input/TextInput.accessibility.test.js +320 -0
  416. package/text-input/TextInput.js +285 -377
  417. package/text-input/TextInput.stories.tsx +158 -162
  418. package/text-input/TextInput.test.d.ts +1 -0
  419. package/text-input/TextInput.test.js +1389 -1347
  420. package/text-input/types.d.ts +29 -16
  421. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  422. package/textarea/Textarea.accessibility.test.js +155 -0
  423. package/textarea/Textarea.js +67 -109
  424. package/textarea/Textarea.stories.tsx +174 -0
  425. package/textarea/Textarea.test.d.ts +1 -0
  426. package/textarea/Textarea.test.js +151 -182
  427. package/textarea/types.d.ts +9 -5
  428. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  429. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  430. package/toggle-group/ToggleGroup.d.ts +2 -2
  431. package/toggle-group/ToggleGroup.js +92 -108
  432. package/toggle-group/ToggleGroup.stories.tsx +53 -8
  433. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  434. package/toggle-group/ToggleGroup.test.js +68 -87
  435. package/toggle-group/types.d.ts +28 -19
  436. package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
  437. package/tooltip/Tooltip.accessibility.test.js +144 -0
  438. package/tooltip/Tooltip.d.ts +4 -0
  439. package/tooltip/Tooltip.js +50 -0
  440. package/tooltip/Tooltip.stories.tsx +111 -0
  441. package/tooltip/Tooltip.test.d.ts +1 -0
  442. package/tooltip/Tooltip.test.js +112 -0
  443. package/tooltip/types.d.ts +16 -0
  444. package/tooltip/types.js +5 -0
  445. package/typography/Typography.accessibility.test.d.ts +1 -0
  446. package/typography/Typography.accessibility.test.js +339 -0
  447. package/typography/Typography.d.ts +2 -2
  448. package/typography/Typography.js +15 -123
  449. package/typography/Typography.stories.tsx +1 -3
  450. package/typography/Typography.test.js +23 -0
  451. package/typography/types.d.ts +1 -1
  452. package/useTheme.d.ts +1167 -1
  453. package/useTheme.js +2 -9
  454. package/useTranslatedLabels.d.ts +95 -1
  455. package/useTranslatedLabels.js +1 -7
  456. package/utils/BaseTypography.d.ts +21 -0
  457. package/utils/BaseTypography.js +98 -0
  458. package/utils/FocusLock.d.ts +13 -0
  459. package/utils/FocusLock.js +125 -0
  460. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  461. package/wizard/Wizard.accessibility.test.js +55 -0
  462. package/wizard/Wizard.js +29 -75
  463. package/wizard/Wizard.stories.tsx +40 -1
  464. package/wizard/Wizard.test.d.ts +1 -0
  465. package/wizard/Wizard.test.js +53 -80
  466. package/wizard/types.d.ts +10 -11
  467. package/card/ice-cream.jpg +0 -0
  468. package/common/OpenSans.css +0 -81
  469. package/common/RequiredComponent.js +0 -32
  470. package/common/fonts/OpenSans-Bold.ttf +0 -0
  471. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  472. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  473. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  474. package/common/fonts/OpenSans-Italic.ttf +0 -0
  475. package/common/fonts/OpenSans-Light.ttf +0 -0
  476. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  477. package/common/fonts/OpenSans-Regular.ttf +0 -0
  478. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  479. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  480. package/number-input/numberInputContextTypes.d.ts +0 -19
  481. package/paginator/Icons.js +0 -66
  482. package/resultsetTable/ResultsetTable.d.ts +0 -4
  483. package/resultsetTable/ResultsetTable.js +0 -254
  484. package/resultsetTable/ResultsetTable.test.js +0 -348
  485. package/select/Icons.d.ts +0 -10
  486. package/select/Icons.js +0 -93
  487. package/table/Table.stories.jsx +0 -277
  488. package/tabs-nav/NavTabs.d.ts +0 -8
  489. package/tabs-nav/NavTabs.js +0 -125
  490. package/tabs-nav/NavTabs.stories.tsx +0 -170
  491. package/tabs-nav/NavTabs.test.js +0 -82
  492. package/tabs-nav/Tab.js +0 -130
  493. package/text-input/Icons.d.ts +0 -8
  494. package/textarea/Textarea.stories.jsx +0 -157
  495. /package/{resultsetTable → action-icon}/types.js +0 -0
  496. /package/{tabs-nav → bar-chart}/types.js +0 -0
  497. /package/{number-input/numberInputContextTypes.js → breadcrumbs/types.js} +0 -0
  498. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
package/main.js CHANGED
@@ -1,18 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
- Object.defineProperty(exports, "BackgroundColorProvider", {
11
- enumerable: true,
12
- get: function get() {
13
- return _BackgroundColorContext.BackgroundColorProvider;
14
- }
15
- });
16
8
  Object.defineProperty(exports, "DxcAccordion", {
17
9
  enumerable: true,
18
10
  get: function get() {
@@ -43,6 +35,12 @@ Object.defineProperty(exports, "DxcBadge", {
43
35
  return _Badge["default"];
44
36
  }
45
37
  });
38
+ Object.defineProperty(exports, "DxcBarChart", {
39
+ enumerable: true,
40
+ get: function get() {
41
+ return _BarChart["default"];
42
+ }
43
+ });
46
44
  Object.defineProperty(exports, "DxcBleed", {
47
45
  enumerable: true,
48
46
  get: function get() {
@@ -55,6 +53,12 @@ Object.defineProperty(exports, "DxcBox", {
55
53
  return _Box["default"];
56
54
  }
57
55
  });
56
+ Object.defineProperty(exports, "DxcBreadcrumbs", {
57
+ enumerable: true,
58
+ get: function get() {
59
+ return _Breadcrumbs["default"];
60
+ }
61
+ });
58
62
  Object.defineProperty(exports, "DxcBulletedList", {
59
63
  enumerable: true,
60
64
  get: function get() {
@@ -85,6 +89,18 @@ Object.defineProperty(exports, "DxcChip", {
85
89
  return _Chip["default"];
86
90
  }
87
91
  });
92
+ Object.defineProperty(exports, "DxcContainer", {
93
+ enumerable: true,
94
+ get: function get() {
95
+ return _Container["default"];
96
+ }
97
+ });
98
+ Object.defineProperty(exports, "DxcContextualMenu", {
99
+ enumerable: true,
100
+ get: function get() {
101
+ return _ContextualMenu["default"];
102
+ }
103
+ });
88
104
  Object.defineProperty(exports, "DxcDateInput", {
89
105
  enumerable: true,
90
106
  get: function get() {
@@ -97,6 +113,12 @@ Object.defineProperty(exports, "DxcDialog", {
97
113
  return _Dialog["default"];
98
114
  }
99
115
  });
116
+ Object.defineProperty(exports, "DxcDivider", {
117
+ enumerable: true,
118
+ get: function get() {
119
+ return _Divider["default"];
120
+ }
121
+ });
100
122
  Object.defineProperty(exports, "DxcDropdown", {
101
123
  enumerable: true,
102
124
  get: function get() {
@@ -115,12 +137,24 @@ Object.defineProperty(exports, "DxcFlex", {
115
137
  return _Flex["default"];
116
138
  }
117
139
  });
140
+ Object.defineProperty(exports, "DxcGrid", {
141
+ enumerable: true,
142
+ get: function get() {
143
+ return _Grid["default"];
144
+ }
145
+ });
118
146
  Object.defineProperty(exports, "DxcHeading", {
119
147
  enumerable: true,
120
148
  get: function get() {
121
149
  return _Heading["default"];
122
150
  }
123
151
  });
152
+ Object.defineProperty(exports, "DxcImage", {
153
+ enumerable: true,
154
+ get: function get() {
155
+ return _Image["default"];
156
+ }
157
+ });
124
158
  Object.defineProperty(exports, "DxcInset", {
125
159
  enumerable: true,
126
160
  get: function get() {
@@ -205,6 +239,12 @@ Object.defineProperty(exports, "DxcSpinner", {
205
239
  return _Spinner["default"];
206
240
  }
207
241
  });
242
+ Object.defineProperty(exports, "DxcStatusLight", {
243
+ enumerable: true,
244
+ get: function get() {
245
+ return _StatusLight["default"];
246
+ }
247
+ });
208
248
  Object.defineProperty(exports, "DxcSwitch", {
209
249
  enumerable: true,
210
250
  get: function get() {
@@ -277,93 +317,55 @@ Object.defineProperty(exports, "HalstackProvider", {
277
317
  return _HalstackContext.HalstackProvider;
278
318
  }
279
319
  });
280
-
281
320
  var _Alert = _interopRequireDefault(require("./alert/Alert"));
282
-
283
321
  var _Accordion = _interopRequireDefault(require("./accordion/Accordion"));
284
-
285
322
  var _Button = _interopRequireDefault(require("./button/Button"));
286
-
287
323
  var _Card = _interopRequireDefault(require("./card/Card"));
288
-
289
324
  var _Checkbox = _interopRequireDefault(require("./checkbox/Checkbox"));
290
-
291
325
  var _Dialog = _interopRequireDefault(require("./dialog/Dialog"));
292
-
293
326
  var _Dropdown = _interopRequireDefault(require("./dropdown/Dropdown"));
294
-
295
327
  var _Slider = _interopRequireDefault(require("./slider/Slider"));
296
-
297
328
  var _Switch = _interopRequireDefault(require("./switch/Switch"));
298
-
299
329
  var _Tabs = _interopRequireDefault(require("./tabs/Tabs"));
300
-
301
330
  var _ProgressBar = _interopRequireDefault(require("./progress-bar/ProgressBar"));
302
-
303
331
  var _Spinner = _interopRequireDefault(require("./spinner/Spinner"));
304
-
305
332
  var _Table = _interopRequireDefault(require("./table/Table"));
306
-
307
333
  var _Box = _interopRequireDefault(require("./box/Box"));
308
-
309
334
  var _Tag = _interopRequireDefault(require("./tag/Tag"));
310
-
311
335
  var _Paginator = _interopRequireDefault(require("./paginator/Paginator"));
312
-
313
336
  var _Wizard = _interopRequireDefault(require("./wizard/Wizard"));
314
-
315
337
  var _Link = _interopRequireDefault(require("./link/Link"));
316
-
317
338
  var _Heading = _interopRequireDefault(require("./heading/Heading"));
318
-
319
- var _ResultsetTable = _interopRequireDefault(require("./resultsetTable/ResultsetTable"));
320
-
339
+ var _ResultsetTable = _interopRequireDefault(require("./resultset-table/ResultsetTable"));
321
340
  var _Chip = _interopRequireDefault(require("./chip/Chip"));
322
-
323
341
  var _ApplicationLayout = _interopRequireDefault(require("./layout/ApplicationLayout"));
324
-
325
342
  var _ToggleGroup = _interopRequireDefault(require("./toggle-group/ToggleGroup"));
326
-
327
343
  var _AccordionGroup = _interopRequireDefault(require("./accordion-group/AccordionGroup"));
328
-
329
- var _Badge = _interopRequireDefault(require("./badge/Badge"));
330
-
331
344
  var _TextInput = _interopRequireDefault(require("./text-input/TextInput"));
332
-
333
345
  var _PasswordInput = _interopRequireDefault(require("./password-input/PasswordInput"));
334
-
335
346
  var _DateInput = _interopRequireDefault(require("./date-input/DateInput"));
336
-
337
347
  var _NumberInput = _interopRequireDefault(require("./number-input/NumberInput"));
338
-
339
348
  var _Textarea = _interopRequireDefault(require("./textarea/Textarea"));
340
-
341
349
  var _Select = _interopRequireDefault(require("./select/Select"));
342
-
343
350
  var _FileInput = _interopRequireDefault(require("./file-input/FileInput"));
344
-
345
351
  var _RadioGroup = _interopRequireDefault(require("./radio-group/RadioGroup"));
346
-
347
352
  var _Bleed = _interopRequireDefault(require("./bleed/Bleed"));
348
-
349
353
  var _Inset = _interopRequireDefault(require("./inset/Inset"));
350
-
351
354
  var _QuickNav = _interopRequireDefault(require("./quick-nav/QuickNav"));
352
-
353
- var _NavTabs = _interopRequireDefault(require("./tabs-nav/NavTabs"));
354
-
355
+ var _NavTabs = _interopRequireDefault(require("./nav-tabs/NavTabs"));
355
356
  var _Flex = _interopRequireDefault(require("./flex/Flex"));
356
-
357
357
  var _Typography = _interopRequireDefault(require("./typography/Typography"));
358
-
359
358
  var _Paragraph = _interopRequireDefault(require("./paragraph/Paragraph"));
360
-
361
359
  var _BulletedList = _interopRequireDefault(require("./bulleted-list/BulletedList"));
362
-
360
+ var _Grid = _interopRequireDefault(require("./grid/Grid"));
361
+ var _Image = _interopRequireDefault(require("./image/Image"));
362
+ var _Container = _interopRequireDefault(require("./container/Container"));
363
+ var _Badge = _interopRequireDefault(require("./badge/Badge"));
364
+ var _StatusLight = _interopRequireDefault(require("./status-light/StatusLight"));
365
+ var _ContextualMenu = _interopRequireDefault(require("./contextual-menu/ContextualMenu"));
366
+ var _Divider = _interopRequireDefault(require("./divider/Divider"));
367
+ var _Breadcrumbs = _interopRequireDefault(require("./breadcrumbs/Breadcrumbs"));
368
+ var _BarChart = _interopRequireDefault(require("./bar-chart/BarChart"));
363
369
  var _HalstackContext = _interopRequireWildcard(require("./HalstackContext"));
364
-
365
- var _BackgroundColorContext = require("./BackgroundColorContext");
366
-
367
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
368
-
369
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
370
+ 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); }
371
+ 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; }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,44 @@
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 _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _axeHelper = require("../../test/accessibility/axe-helper.js");
9
+ var _NavTabs = _interopRequireDefault(require("./NavTabs"));
10
+ var favoriteIcon = 'filled_Favorite';
11
+ var pinIcon = 'Location_On';
12
+ describe("Tabs component accessibility tests", function () {
13
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
14
+ var _render, container, results;
15
+ return _regenerator["default"].wrap(function _callee$(_context) {
16
+ while (1) switch (_context.prev = _context.next) {
17
+ case 0:
18
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NavTabs["default"], {
19
+ iconPosition: "left"
20
+ }, /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
21
+ href: "/test1",
22
+ icon: favoriteIcon,
23
+ active: true
24
+ }, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
25
+ href: "/test2",
26
+ icon: favoriteIcon,
27
+ disabled: true
28
+ }, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
29
+ href: "/test3",
30
+ icon: pinIcon,
31
+ notificationNumber: 12
32
+ }, "Tab 3"))), container = _render.container;
33
+ _context.next = 3;
34
+ return (0, _axeHelper.axe)(container);
35
+ case 3:
36
+ results = _context.sent;
37
+ expect(results).toHaveNoViolations();
38
+ case 5:
39
+ case "end":
40
+ return _context.stop();
41
+ }
42
+ }, _callee);
43
+ })));
44
+ });
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import NavTabsPropsType from "./types";
3
+ declare const DxcNavTabs: {
4
+ ({ iconPosition, tabIndex, children }: NavTabsPropsType): JSX.Element;
5
+ Tab: React.ForwardRefExoticComponent<import("./types").TabProps & React.RefAttributes<HTMLAnchorElement>>;
6
+ };
7
+ export default DxcNavTabs;
@@ -0,0 +1,108 @@
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
13
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
14
+ var _Tab = _interopRequireDefault(require("./Tab"));
15
+ var _NavTabsContext = require("./NavTabsContext");
16
+ var _templateObject, _templateObject2;
17
+ 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); }
18
+ 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; }
19
+ var getPropInChild = function getPropInChild(child, propName) {
20
+ return child.props ? child.props[propName] ? child.props[propName] : child.props.children ? getPropInChild(child.props.children, propName) : undefined : undefined;
21
+ };
22
+ var getLabelFromTab = function getLabelFromTab(child) {
23
+ if (typeof child === "string") {
24
+ return child.toString();
25
+ } else if (child.props.children) {
26
+ return Array.isArray(child.props.children) ? getLabelFromTab(child.props.children[0]) : getLabelFromTab(child.props.children);
27
+ }
28
+ };
29
+ var getPreviousTabIndex = function getPreviousTabIndex(array, initialIndex) {
30
+ var index = initialIndex === 0 ? array.length - 1 : initialIndex - 1;
31
+ while (getPropInChild(array[index], "disabled")) {
32
+ index = index === 0 ? array.length - 1 : index - 1;
33
+ }
34
+ return index;
35
+ };
36
+ var getNextTabIndex = function getNextTabIndex(array, initialIndex) {
37
+ var index = initialIndex === array.length - 1 ? 0 : initialIndex + 1;
38
+ while (getPropInChild(array[index], "disabled")) {
39
+ index = index === array.length - 1 ? 0 : index + 1;
40
+ }
41
+ return index;
42
+ };
43
+ var DxcNavTabs = function DxcNavTabs(_ref) {
44
+ var _ref$iconPosition = _ref.iconPosition,
45
+ iconPosition = _ref$iconPosition === void 0 ? "top" : _ref$iconPosition,
46
+ _ref$tabIndex = _ref.tabIndex,
47
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
48
+ children = _ref.children;
49
+ var _useState = (0, _react.useState)(null),
50
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
51
+ innerFocusIndex = _useState2[0],
52
+ setInnerFocusIndex = _useState2[1];
53
+ var _useState3 = (0, _react.useState)(null),
54
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
55
+ underlineWidth = _useState4[0],
56
+ setUnderlineWidth = _useState4[1];
57
+ var refNavTabList = (0, _react.useRef)(null);
58
+ var colorsTheme = (0, _useTheme["default"])();
59
+ (0, _react.useEffect)(function () {
60
+ var _refNavTabList$curren, _refNavTabList$curren2;
61
+ console.log(refNavTabList === null || refNavTabList === void 0 ? void 0 : (_refNavTabList$curren = refNavTabList.current) === null || _refNavTabList$curren === void 0 ? void 0 : _refNavTabList$curren.scrollWidth);
62
+ setUnderlineWidth(refNavTabList === null || refNavTabList === void 0 ? void 0 : (_refNavTabList$curren2 = refNavTabList.current) === null || _refNavTabList$curren2 === void 0 ? void 0 : _refNavTabList$curren2.scrollWidth);
63
+ }, [children]);
64
+ var contextValue = (0, _react.useMemo)(function () {
65
+ return {
66
+ iconPosition: iconPosition,
67
+ tabIndex: tabIndex,
68
+ focusedLabel: innerFocusIndex === null ? undefined : getLabelFromTab(children[innerFocusIndex])
69
+ };
70
+ }, [iconPosition, tabIndex, innerFocusIndex]);
71
+ var handleOnKeyDown = function handleOnKeyDown(event) {
72
+ var activeTab = _react["default"].Children.toArray(children).findIndex(function (child) {
73
+ return getPropInChild(child, "active");
74
+ });
75
+ switch (event.key) {
76
+ case "Left":
77
+ case "ArrowLeft":
78
+ event.preventDefault();
79
+ setInnerFocusIndex(getPreviousTabIndex(children, innerFocusIndex === null ? activeTab : innerFocusIndex));
80
+ break;
81
+ case "Right":
82
+ case "ArrowRight":
83
+ event.preventDefault();
84
+ setInnerFocusIndex(getNextTabIndex(children, innerFocusIndex === null ? activeTab : innerFocusIndex));
85
+ break;
86
+ }
87
+ };
88
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
89
+ theme: colorsTheme.navTabs
90
+ }, /*#__PURE__*/_react["default"].createElement(NavTabsContainer, {
91
+ onKeyDown: handleOnKeyDown,
92
+ ref: refNavTabList,
93
+ role: "tablist",
94
+ "aria-label": "Navigation tabs"
95
+ }, /*#__PURE__*/_react["default"].createElement(_NavTabsContext.NavTabsContext.Provider, {
96
+ value: contextValue
97
+ }, children), /*#__PURE__*/_react["default"].createElement(Underline, {
98
+ underlineWidth: underlineWidth
99
+ })));
100
+ };
101
+ var Underline = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n bottom: 0;\n left: 0;\n height: 2px;\n background-color: ", ";\n z-index: -1;\n width: ", "px;\n"])), function (props) {
102
+ return props.theme.dividerColor;
103
+ }, function (props) {
104
+ return props.underlineWidth;
105
+ });
106
+ DxcNavTabs.Tab = _Tab["default"];
107
+ var NavTabsContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n overflow: auto;\n z-index: 0;\n"])));
108
+ var _default = exports["default"] = DxcNavTabs;
@@ -0,0 +1,294 @@
1
+ import React from "react";
2
+ import DxcNavTabs from "./NavTabs";
3
+ import DxcContainer from "../container/Container";
4
+ import Title from "../../.storybook/components/Title";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import { HalstackProvider } from "../HalstackContext";
7
+
8
+ export default {
9
+ title: "Nav Tabs",
10
+ component: DxcNavTabs,
11
+ };
12
+
13
+ const iconSVG = (
14
+ <svg viewBox="0 0 24 24" fill="currentColor">
15
+ <path d="M0 0h24v24H0z" fill="none" />
16
+ <path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
17
+ </svg>
18
+ );
19
+
20
+ const favoriteIcon = "filled_Favorite";
21
+
22
+ const pinIcon = "Location_On";
23
+
24
+ const opinionatedTheme = {
25
+ navTabs: {
26
+ baseColor: "#666666",
27
+ accentColor: "#5f249f",
28
+ },
29
+ };
30
+
31
+ export const Chromatic = () => (
32
+ <>
33
+ <ExampleContainer>
34
+ <Title title="Only label" theme="light" level={4} />
35
+ <DxcNavTabs>
36
+ <DxcNavTabs.Tab href="#" active>
37
+ Tab 1
38
+ </DxcNavTabs.Tab>
39
+ <DxcNavTabs.Tab href="#" disabled>
40
+ Tab 2
41
+ </DxcNavTabs.Tab>
42
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
43
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
44
+ </DxcNavTabs>
45
+ </ExampleContainer>
46
+ <ExampleContainer pseudoState="pseudo-hover">
47
+ <Title title="Hovered tabs" theme="light" level={4} />
48
+ <DxcNavTabs>
49
+ <DxcNavTabs.Tab href="#" active>
50
+ Tab 1
51
+ </DxcNavTabs.Tab>
52
+ <DxcNavTabs.Tab href="#" disabled>
53
+ Tab 2
54
+ </DxcNavTabs.Tab>
55
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
56
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
57
+ </DxcNavTabs>
58
+ </ExampleContainer>
59
+ <ExampleContainer pseudoState="pseudo-focus">
60
+ <Title title="Focused tabs" theme="light" level={4} />
61
+ <DxcNavTabs>
62
+ <DxcNavTabs.Tab href="#" active>
63
+ Tab 1
64
+ </DxcNavTabs.Tab>
65
+ <DxcNavTabs.Tab href="#" disabled>
66
+ Tab 2
67
+ </DxcNavTabs.Tab>
68
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
69
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
70
+ </DxcNavTabs>
71
+ </ExampleContainer>
72
+ <ExampleContainer pseudoState="pseudo-active">
73
+ <Title title="Actived tabs" theme="light" level={4} />
74
+ <DxcNavTabs>
75
+ <DxcNavTabs.Tab href="#" active>
76
+ Tab 1
77
+ </DxcNavTabs.Tab>
78
+ <DxcNavTabs.Tab href="#" disabled>
79
+ Tab 2
80
+ </DxcNavTabs.Tab>
81
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
82
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
83
+ </DxcNavTabs>
84
+ </ExampleContainer>
85
+ <ExampleContainer>
86
+ <Title title="With notification number" theme="light" level={4} />
87
+ <DxcNavTabs>
88
+ <DxcNavTabs.Tab href="#" active notificationNumber>
89
+ Tab 1
90
+ </DxcNavTabs.Tab>
91
+ <DxcNavTabs.Tab href="#" disabled notificationNumber={5}>
92
+ Tab 2
93
+ </DxcNavTabs.Tab>
94
+ <DxcNavTabs.Tab href="#" notificationNumber={120}>
95
+ Tab 3
96
+ </DxcNavTabs.Tab>
97
+ <DxcNavTabs.Tab href="#" notificationNumber={12}>
98
+ Tab 4
99
+ </DxcNavTabs.Tab>
100
+ </DxcNavTabs>
101
+ </ExampleContainer>
102
+ <ExampleContainer>
103
+ <Title title="With icon position top" theme="light" level={4} />
104
+ <DxcNavTabs>
105
+ <DxcNavTabs.Tab href="#" active icon={iconSVG}>
106
+ Tab 1
107
+ </DxcNavTabs.Tab>
108
+ <DxcNavTabs.Tab href="#" disabled icon={iconSVG}>
109
+ Tab 2
110
+ </DxcNavTabs.Tab>
111
+ <DxcNavTabs.Tab href="#" icon={pinIcon}>
112
+ Tab 3
113
+ </DxcNavTabs.Tab>
114
+ <DxcNavTabs.Tab href="#" icon={pinIcon}>
115
+ Tab 4
116
+ </DxcNavTabs.Tab>
117
+ </DxcNavTabs>
118
+ </ExampleContainer>
119
+ <ExampleContainer>
120
+ <Title title="With icon position left" theme="light" level={4} />
121
+ <DxcNavTabs iconPosition="left">
122
+ <DxcNavTabs.Tab href="#" active icon={pinIcon}>
123
+ Tab 1
124
+ </DxcNavTabs.Tab>
125
+ <DxcNavTabs.Tab href="#" disabled icon={favoriteIcon}>
126
+ Tab 2
127
+ </DxcNavTabs.Tab>
128
+ <DxcNavTabs.Tab href="#" icon={favoriteIcon}>
129
+ Tab 3
130
+ </DxcNavTabs.Tab>
131
+ <DxcNavTabs.Tab href="#" icon={favoriteIcon}>
132
+ Tab 4
133
+ </DxcNavTabs.Tab>
134
+ </DxcNavTabs>
135
+ </ExampleContainer>
136
+ <ExampleContainer>
137
+ <Title title="With icon and notification number" theme="light" level={4} />
138
+ <DxcNavTabs>
139
+ <DxcNavTabs.Tab href="#" active icon={pinIcon} notificationNumber>
140
+ Tab 1
141
+ </DxcNavTabs.Tab>
142
+ <DxcNavTabs.Tab href="#" disabled icon={favoriteIcon} notificationNumber={5}>
143
+ Tab 2
144
+ </DxcNavTabs.Tab>
145
+ <DxcNavTabs.Tab href="#" icon={favoriteIcon} notificationNumber={120}>
146
+ Tab 3
147
+ </DxcNavTabs.Tab>
148
+ <DxcNavTabs.Tab href="#" icon={pinIcon} notificationNumber={12}>
149
+ Tab 4
150
+ </DxcNavTabs.Tab>
151
+ </DxcNavTabs>
152
+ </ExampleContainer>
153
+ <ExampleContainer>
154
+ <Title title="With icon on the left and notification number" theme="light" level={4} />
155
+ <DxcNavTabs iconPosition="left">
156
+ <DxcNavTabs.Tab href="#" active icon={favoriteIcon} notificationNumber>
157
+ Tab 1
158
+ </DxcNavTabs.Tab>
159
+ <DxcNavTabs.Tab href="#" disabled icon={favoriteIcon} notificationNumber={5}>
160
+ Tab 2
161
+ </DxcNavTabs.Tab>
162
+ <DxcNavTabs.Tab href="#" icon={pinIcon} notificationNumber={120}>
163
+ Tab 3
164
+ </DxcNavTabs.Tab>
165
+ <DxcNavTabs.Tab href="#" icon={favoriteIcon} notificationNumber={12}>
166
+ Tab 4
167
+ </DxcNavTabs.Tab>
168
+ </DxcNavTabs>
169
+ </ExampleContainer>
170
+ <ExampleContainer>
171
+ <Title title="With long label" theme="light" level={4} />
172
+ <DxcNavTabs>
173
+ <DxcNavTabs.Tab href="#" active>
174
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit
175
+ </DxcNavTabs.Tab>
176
+ <DxcNavTabs.Tab href="#" icon={favoriteIcon} disabled notificationNumber={3}>
177
+ Tab 2
178
+ </DxcNavTabs.Tab>
179
+ <DxcNavTabs.Tab href="#" icon={favoriteIcon}>
180
+ Tab 3
181
+ </DxcNavTabs.Tab>
182
+ </DxcNavTabs>
183
+ </ExampleContainer>
184
+ <ExampleContainer>
185
+ <Title title="With long label and left icon alignment" theme="light" level={4} />
186
+ <DxcNavTabs iconPosition="left">
187
+ <DxcNavTabs.Tab href="#" active>
188
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit
189
+ </DxcNavTabs.Tab>
190
+ <DxcNavTabs.Tab href="#" icon={favoriteIcon} disabled notificationNumber={3}>
191
+ Tab 2
192
+ </DxcNavTabs.Tab>
193
+ <DxcNavTabs.Tab href="#" icon={favoriteIcon}>
194
+ Tab 3
195
+ </DxcNavTabs.Tab>
196
+ </DxcNavTabs>
197
+ </ExampleContainer>
198
+ <Title title="Opinionated theme" theme="light" level={2} />
199
+ <ExampleContainer>
200
+ <Title title="Only label" theme="light" level={4} />
201
+ <HalstackProvider theme={opinionatedTheme}>
202
+ <DxcNavTabs>
203
+ <DxcNavTabs.Tab href="#" active>
204
+ Tab 1
205
+ </DxcNavTabs.Tab>
206
+ <DxcNavTabs.Tab href="#" disabled>
207
+ Tab 2
208
+ </DxcNavTabs.Tab>
209
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
210
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
211
+ </DxcNavTabs>
212
+ </HalstackProvider>
213
+ </ExampleContainer>
214
+ <ExampleContainer pseudoState="pseudo-hover">
215
+ <Title title="Hovered tabs" theme="light" level={4} />
216
+ <HalstackProvider theme={opinionatedTheme}>
217
+ <DxcNavTabs>
218
+ <DxcNavTabs.Tab href="#" active>
219
+ Tab 1
220
+ </DxcNavTabs.Tab>
221
+ <DxcNavTabs.Tab href="#" disabled>
222
+ Tab 2
223
+ </DxcNavTabs.Tab>
224
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
225
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
226
+ </DxcNavTabs>
227
+ </HalstackProvider>
228
+ </ExampleContainer>
229
+ <ExampleContainer pseudoState="pseudo-focus">
230
+ <Title title="Focused tabs" theme="light" level={4} />
231
+ <HalstackProvider theme={opinionatedTheme}>
232
+ <DxcNavTabs>
233
+ <DxcNavTabs.Tab href="#" active>
234
+ Tab 1
235
+ </DxcNavTabs.Tab>
236
+ <DxcNavTabs.Tab href="#" disabled>
237
+ Tab 2
238
+ </DxcNavTabs.Tab>
239
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
240
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
241
+ </DxcNavTabs>
242
+ </HalstackProvider>
243
+ </ExampleContainer>
244
+ <ExampleContainer pseudoState="pseudo-active">
245
+ <Title title="Actived tabs" theme="light" level={4} />
246
+ <HalstackProvider theme={opinionatedTheme}>
247
+ <DxcNavTabs>
248
+ <DxcNavTabs.Tab href="#" active>
249
+ Tab 1
250
+ </DxcNavTabs.Tab>
251
+ <DxcNavTabs.Tab href="#" disabled>
252
+ Tab 2
253
+ </DxcNavTabs.Tab>
254
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
255
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
256
+ </DxcNavTabs>
257
+ </HalstackProvider>
258
+ </ExampleContainer>
259
+ <ExampleContainer>
260
+ <Title title="With icon and notification number" theme="light" level={4} />
261
+ <HalstackProvider theme={opinionatedTheme}>
262
+ <DxcNavTabs>
263
+ <DxcNavTabs.Tab href="#" active icon={favoriteIcon} notificationNumber>
264
+ Tab 1
265
+ </DxcNavTabs.Tab>
266
+ <DxcNavTabs.Tab href="#" disabled icon={favoriteIcon} notificationNumber={5}>
267
+ Tab 2
268
+ </DxcNavTabs.Tab>
269
+ <DxcNavTabs.Tab href="#" icon={favoriteIcon} notificationNumber={120}>
270
+ Tab 3
271
+ </DxcNavTabs.Tab>
272
+ <DxcNavTabs.Tab href="#" icon={favoriteIcon} notificationNumber={12}>
273
+ Tab 4
274
+ </DxcNavTabs.Tab>
275
+ </DxcNavTabs>
276
+ </HalstackProvider>
277
+ </ExampleContainer>
278
+ <ExampleContainer>
279
+ <Title title="NavTabs in a limited space container" theme="light" level={4} />
280
+ <DxcContainer width="500px">
281
+ <DxcNavTabs>
282
+ <DxcNavTabs.Tab href="#" active>
283
+ Tab 1
284
+ </DxcNavTabs.Tab>
285
+ <DxcNavTabs.Tab href="#" disabled>
286
+ Tab 2
287
+ </DxcNavTabs.Tab>
288
+ <DxcNavTabs.Tab href="#">Tab 3</DxcNavTabs.Tab>
289
+ <DxcNavTabs.Tab href="#">Tab 4</DxcNavTabs.Tab>
290
+ </DxcNavTabs>
291
+ </DxcContainer>
292
+ </ExampleContainer>
293
+ </>
294
+ );