@dxc-technology/halstack-react 0.0.0-2c8be25 → 0.0.0-2d5bb6f

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 (484) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +37 -0
  3. package/HalstackContext.d.ts +13 -0
  4. package/HalstackContext.js +318 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +203 -0
  7. package/accordion/Accordion.stories.tsx +395 -0
  8. package/accordion/Accordion.test.js +56 -0
  9. package/accordion/types.d.ts +69 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +121 -0
  13. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  14. package/accordion-group/AccordionGroup.test.js +108 -0
  15. package/accordion-group/types.d.ts +79 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/{dist/alert → alert}/Alert.js +57 -198
  19. package/alert/Alert.stories.tsx +198 -0
  20. package/alert/Alert.test.js +75 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +49 -0
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +43 -0
  29. package/bleed/Bleed.stories.tsx +341 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/box/Box.js +97 -0
  34. package/box/Box.stories.tsx +147 -0
  35. package/box/Box.test.js +13 -0
  36. package/box/types.d.ts +44 -0
  37. package/box/types.js +5 -0
  38. package/bulleted-list/BulletedList.d.ts +7 -0
  39. package/bulleted-list/BulletedList.js +98 -0
  40. package/bulleted-list/BulletedList.stories.tsx +200 -0
  41. package/bulleted-list/types.d.ts +11 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +4 -0
  44. package/button/Button.js +132 -0
  45. package/button/Button.stories.tsx +425 -0
  46. package/button/Button.test.js +26 -0
  47. package/button/types.d.ts +53 -0
  48. package/button/types.js +5 -0
  49. package/card/Card.d.ts +4 -0
  50. package/card/Card.js +138 -0
  51. package/card/Card.stories.tsx +201 -0
  52. package/card/Card.test.js +39 -0
  53. package/card/ice-cream.jpg +0 -0
  54. package/card/types.d.ts +68 -0
  55. package/card/types.js +5 -0
  56. package/checkbox/Checkbox.d.ts +4 -0
  57. package/checkbox/Checkbox.js +206 -0
  58. package/checkbox/Checkbox.stories.tsx +260 -0
  59. package/checkbox/Checkbox.test.js +128 -0
  60. package/checkbox/types.d.ts +68 -0
  61. package/checkbox/types.js +5 -0
  62. package/chip/Chip.d.ts +4 -0
  63. package/chip/Chip.js +137 -0
  64. package/chip/Chip.stories.tsx +206 -0
  65. package/chip/Chip.test.js +42 -0
  66. package/chip/types.d.ts +45 -0
  67. package/chip/types.js +5 -0
  68. package/{dist/common → common}/utils.js +1 -6
  69. package/common/variables.d.ts +1431 -0
  70. package/{dist/common → common}/variables.js +588 -624
  71. package/date-input/Calendar.d.ts +4 -0
  72. package/date-input/Calendar.js +215 -0
  73. package/date-input/DateInput.d.ts +4 -0
  74. package/date-input/DateInput.js +222 -0
  75. package/date-input/DateInput.stories.tsx +304 -0
  76. package/date-input/DateInput.test.js +648 -0
  77. package/date-input/DatePicker.d.ts +4 -0
  78. package/date-input/DatePicker.js +116 -0
  79. package/date-input/Icons.d.ts +6 -0
  80. package/date-input/Icons.js +63 -0
  81. package/date-input/YearPicker.d.ts +4 -0
  82. package/date-input/YearPicker.js +101 -0
  83. package/date-input/types.d.ts +158 -0
  84. package/date-input/types.js +5 -0
  85. package/dialog/Dialog.d.ts +4 -0
  86. package/dialog/Dialog.js +134 -0
  87. package/dialog/Dialog.stories.tsx +289 -0
  88. package/dialog/Dialog.test.js +56 -0
  89. package/dialog/types.d.ts +44 -0
  90. package/dialog/types.js +5 -0
  91. package/dropdown/Dropdown.d.ts +4 -0
  92. package/dropdown/Dropdown.js +334 -0
  93. package/dropdown/Dropdown.stories.tsx +438 -0
  94. package/dropdown/Dropdown.test.js +479 -0
  95. package/dropdown/DropdownMenu.d.ts +4 -0
  96. package/dropdown/DropdownMenu.js +60 -0
  97. package/dropdown/DropdownMenuItem.d.ts +4 -0
  98. package/dropdown/DropdownMenuItem.js +70 -0
  99. package/dropdown/types.d.ts +100 -0
  100. package/dropdown/types.js +5 -0
  101. package/file-input/FileInput.d.ts +4 -0
  102. package/file-input/FileInput.js +463 -0
  103. package/file-input/FileInput.stories.tsx +618 -0
  104. package/file-input/FileInput.test.js +445 -0
  105. package/file-input/FileItem.d.ts +4 -0
  106. package/file-input/FileItem.js +135 -0
  107. package/file-input/types.d.ts +129 -0
  108. package/file-input/types.js +5 -0
  109. package/flex/Flex.d.ts +4 -0
  110. package/flex/Flex.js +57 -0
  111. package/flex/Flex.stories.tsx +103 -0
  112. package/flex/types.d.ts +32 -0
  113. package/flex/types.js +5 -0
  114. package/footer/Footer.d.ts +4 -0
  115. package/footer/Footer.js +153 -0
  116. package/footer/Footer.stories.tsx +228 -0
  117. package/footer/Footer.test.js +92 -0
  118. package/footer/Icons.d.ts +2 -0
  119. package/{dist/footer → footer}/Icons.js +16 -20
  120. package/footer/types.d.ts +66 -0
  121. package/footer/types.js +5 -0
  122. package/header/Header.d.ts +7 -0
  123. package/header/Header.js +259 -0
  124. package/header/Header.stories.tsx +315 -0
  125. package/header/Header.test.js +66 -0
  126. package/header/Icons.d.ts +2 -0
  127. package/{dist/header → header}/Icons.js +9 -38
  128. package/header/types.d.ts +48 -0
  129. package/header/types.js +5 -0
  130. package/heading/Heading.d.ts +4 -0
  131. package/{dist/heading → heading}/Heading.js +31 -123
  132. package/heading/Heading.stories.tsx +54 -0
  133. package/heading/Heading.test.js +169 -0
  134. package/heading/types.d.ts +33 -0
  135. package/heading/types.js +5 -0
  136. package/inset/Inset.d.ts +3 -0
  137. package/inset/Inset.js +43 -0
  138. package/inset/Inset.stories.tsx +229 -0
  139. package/inset/types.d.ts +37 -0
  140. package/inset/types.js +5 -0
  141. package/layout/ApplicationLayout.d.ts +20 -0
  142. package/layout/ApplicationLayout.js +132 -0
  143. package/layout/ApplicationLayout.stories.tsx +162 -0
  144. package/layout/Icons.d.ts +5 -0
  145. package/{dist/layout → layout}/Icons.js +17 -16
  146. package/layout/SidenavContext.d.ts +5 -0
  147. package/layout/SidenavContext.js +15 -0
  148. package/layout/types.d.ts +42 -0
  149. package/layout/types.js +5 -0
  150. package/link/Link.d.ts +4 -0
  151. package/link/Link.js +116 -0
  152. package/link/Link.stories.tsx +253 -0
  153. package/link/Link.test.js +65 -0
  154. package/link/types.d.ts +54 -0
  155. package/link/types.js +5 -0
  156. package/main.d.ts +44 -0
  157. package/{dist/main.js → main.js} +102 -139
  158. package/nav-tabs/NavTabs.d.ts +8 -0
  159. package/nav-tabs/NavTabs.js +95 -0
  160. package/nav-tabs/NavTabs.stories.tsx +260 -0
  161. package/nav-tabs/NavTabs.test.js +75 -0
  162. package/nav-tabs/Tab.d.ts +4 -0
  163. package/nav-tabs/Tab.js +120 -0
  164. package/nav-tabs/types.d.ts +53 -0
  165. package/nav-tabs/types.js +5 -0
  166. package/number-input/NumberInput.d.ts +4 -0
  167. package/number-input/NumberInput.js +66 -0
  168. package/number-input/NumberInput.stories.tsx +115 -0
  169. package/number-input/NumberInput.test.js +406 -0
  170. package/number-input/NumberInputContext.d.ts +4 -0
  171. package/{dist/number-input → number-input}/NumberInputContext.js +4 -6
  172. package/number-input/numberInputContextTypes.d.ts +19 -0
  173. package/number-input/numberInputContextTypes.js +5 -0
  174. package/number-input/types.d.ts +124 -0
  175. package/number-input/types.js +5 -0
  176. package/package.json +36 -34
  177. package/paginator/Icons.d.ts +5 -0
  178. package/paginator/Icons.js +44 -0
  179. package/paginator/Paginator.d.ts +4 -0
  180. package/paginator/Paginator.js +141 -0
  181. package/paginator/Paginator.stories.tsx +87 -0
  182. package/paginator/Paginator.test.js +266 -0
  183. package/paginator/types.d.ts +38 -0
  184. package/paginator/types.js +5 -0
  185. package/paragraph/Paragraph.d.ts +6 -0
  186. package/paragraph/Paragraph.js +28 -0
  187. package/paragraph/Paragraph.stories.tsx +44 -0
  188. package/password-input/PasswordInput.d.ts +4 -0
  189. package/password-input/PasswordInput.js +137 -0
  190. package/password-input/PasswordInput.stories.tsx +131 -0
  191. package/password-input/PasswordInput.test.js +138 -0
  192. package/password-input/types.d.ts +110 -0
  193. package/password-input/types.js +5 -0
  194. package/progress-bar/ProgressBar.d.ts +4 -0
  195. package/progress-bar/ProgressBar.js +151 -0
  196. package/progress-bar/ProgressBar.stories.jsx +93 -0
  197. package/progress-bar/ProgressBar.test.js +93 -0
  198. package/progress-bar/types.d.ts +36 -0
  199. package/progress-bar/types.js +5 -0
  200. package/quick-nav/QuickNav.d.ts +4 -0
  201. package/quick-nav/QuickNav.js +95 -0
  202. package/quick-nav/QuickNav.stories.tsx +356 -0
  203. package/quick-nav/types.d.ts +21 -0
  204. package/quick-nav/types.js +5 -0
  205. package/radio-group/Radio.d.ts +4 -0
  206. package/radio-group/Radio.js +125 -0
  207. package/radio-group/RadioGroup.d.ts +4 -0
  208. package/radio-group/RadioGroup.js +238 -0
  209. package/radio-group/RadioGroup.stories.tsx +214 -0
  210. package/radio-group/RadioGroup.test.js +620 -0
  211. package/radio-group/types.d.ts +114 -0
  212. package/radio-group/types.js +5 -0
  213. package/resultsetTable/Icons.d.ts +7 -0
  214. package/resultsetTable/Icons.js +48 -0
  215. package/resultsetTable/ResultsetTable.d.ts +4 -0
  216. package/resultsetTable/ResultsetTable.js +160 -0
  217. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  218. package/resultsetTable/ResultsetTable.test.js +292 -0
  219. package/resultsetTable/types.d.ts +67 -0
  220. package/resultsetTable/types.js +5 -0
  221. package/select/Icons.d.ts +10 -0
  222. package/select/Icons.js +90 -0
  223. package/select/Listbox.d.ts +4 -0
  224. package/select/Listbox.js +144 -0
  225. package/select/Option.d.ts +4 -0
  226. package/select/Option.js +81 -0
  227. package/select/Select.d.ts +4 -0
  228. package/select/Select.js +579 -0
  229. package/select/Select.stories.tsx +971 -0
  230. package/select/Select.test.js +1845 -0
  231. package/select/types.d.ts +210 -0
  232. package/select/types.js +5 -0
  233. package/sidenav/Sidenav.d.ts +10 -0
  234. package/sidenav/Sidenav.js +226 -0
  235. package/sidenav/Sidenav.stories.tsx +282 -0
  236. package/sidenav/Sidenav.test.js +37 -0
  237. package/sidenav/types.d.ts +73 -0
  238. package/sidenav/types.js +5 -0
  239. package/slider/Slider.d.ts +4 -0
  240. package/slider/Slider.js +296 -0
  241. package/slider/Slider.stories.tsx +240 -0
  242. package/slider/Slider.test.js +222 -0
  243. package/slider/types.d.ts +86 -0
  244. package/slider/types.js +5 -0
  245. package/spinner/Spinner.d.ts +4 -0
  246. package/spinner/Spinner.js +221 -0
  247. package/spinner/Spinner.stories.jsx +129 -0
  248. package/spinner/Spinner.test.js +55 -0
  249. package/spinner/types.d.ts +32 -0
  250. package/spinner/types.js +5 -0
  251. package/switch/Switch.d.ts +4 -0
  252. package/switch/Switch.js +220 -0
  253. package/switch/Switch.stories.tsx +171 -0
  254. package/switch/Switch.test.js +180 -0
  255. package/switch/types.d.ts +66 -0
  256. package/switch/types.js +5 -0
  257. package/table/Table.d.ts +4 -0
  258. package/{dist/table → table}/Table.js +15 -47
  259. package/table/Table.stories.jsx +356 -0
  260. package/table/Table.test.js +21 -0
  261. package/table/types.d.ts +21 -0
  262. package/table/types.js +5 -0
  263. package/tabs/Tab.d.ts +4 -0
  264. package/tabs/Tab.js +115 -0
  265. package/tabs/Tabs.d.ts +4 -0
  266. package/tabs/Tabs.js +392 -0
  267. package/tabs/Tabs.stories.tsx +226 -0
  268. package/tabs/Tabs.test.js +295 -0
  269. package/tabs/types.d.ts +92 -0
  270. package/tabs/types.js +5 -0
  271. package/tag/Tag.d.ts +4 -0
  272. package/tag/Tag.js +154 -0
  273. package/tag/Tag.stories.tsx +155 -0
  274. package/tag/Tag.test.js +49 -0
  275. package/tag/types.d.ts +69 -0
  276. package/tag/types.js +5 -0
  277. package/text-input/Icons.d.ts +8 -0
  278. package/text-input/Icons.js +57 -0
  279. package/text-input/Suggestion.d.ts +4 -0
  280. package/text-input/Suggestion.js +68 -0
  281. package/text-input/Suggestions.d.ts +4 -0
  282. package/text-input/Suggestions.js +109 -0
  283. package/text-input/TextInput.d.ts +4 -0
  284. package/text-input/TextInput.js +588 -0
  285. package/text-input/TextInput.stories.tsx +569 -0
  286. package/text-input/TextInput.test.js +1404 -0
  287. package/text-input/types.d.ts +197 -0
  288. package/text-input/types.js +5 -0
  289. package/textarea/Textarea.d.ts +4 -0
  290. package/{dist/textarea → textarea}/Textarea.js +79 -207
  291. package/textarea/Textarea.stories.jsx +216 -0
  292. package/textarea/Textarea.test.js +360 -0
  293. package/textarea/types.d.ts +137 -0
  294. package/textarea/types.js +5 -0
  295. package/toggle-group/ToggleGroup.d.ts +4 -0
  296. package/{dist/toggle-group → toggle-group}/ToggleGroup.js +52 -199
  297. package/toggle-group/ToggleGroup.stories.tsx +215 -0
  298. package/toggle-group/ToggleGroup.test.js +124 -0
  299. package/toggle-group/types.d.ts +105 -0
  300. package/toggle-group/types.js +5 -0
  301. package/translatedLabelsType.d.ts +82 -0
  302. package/translatedLabelsType.js +5 -0
  303. package/typography/Typography.d.ts +4 -0
  304. package/typography/Typography.js +119 -0
  305. package/typography/Typography.stories.tsx +198 -0
  306. package/typography/types.d.ts +18 -0
  307. package/typography/types.js +5 -0
  308. package/useTheme.d.ts +2 -0
  309. package/{dist/useTheme.js → useTheme.js} +3 -9
  310. package/useTranslatedLabels.d.ts +3 -0
  311. package/useTranslatedLabels.js +15 -0
  312. package/wizard/Wizard.d.ts +4 -0
  313. package/wizard/Wizard.js +251 -0
  314. package/wizard/Wizard.stories.tsx +253 -0
  315. package/wizard/Wizard.test.js +114 -0
  316. package/wizard/types.d.ts +65 -0
  317. package/wizard/types.js +5 -0
  318. package/README.md +0 -66
  319. package/babel.config.js +0 -7
  320. package/dist/BackgroundColorContext.js +0 -46
  321. package/dist/ThemeContext.js +0 -250
  322. package/dist/V3Select/V3Select.js +0 -549
  323. package/dist/V3Select/index.d.ts +0 -27
  324. package/dist/V3Textarea/V3Textarea.js +0 -264
  325. package/dist/V3Textarea/index.d.ts +0 -27
  326. package/dist/accordion/Accordion.js +0 -353
  327. package/dist/accordion/index.d.ts +0 -28
  328. package/dist/accordion-group/AccordionGroup.js +0 -186
  329. package/dist/accordion-group/index.d.ts +0 -16
  330. package/dist/alert/index.d.ts +0 -51
  331. package/dist/badge/Badge.js +0 -63
  332. package/dist/box/Box.js +0 -156
  333. package/dist/box/index.d.ts +0 -25
  334. package/dist/button/Button.js +0 -238
  335. package/dist/button/index.d.ts +0 -24
  336. package/dist/card/Card.js +0 -254
  337. package/dist/card/index.d.ts +0 -22
  338. package/dist/checkbox/Checkbox.js +0 -299
  339. package/dist/checkbox/index.d.ts +0 -24
  340. package/dist/chip/Chip.js +0 -265
  341. package/dist/chip/index.d.ts +0 -22
  342. package/dist/common/RequiredComponent.js +0 -40
  343. package/dist/date/Date.js +0 -379
  344. package/dist/date/index.d.ts +0 -27
  345. package/dist/date-input/DateInput.js +0 -400
  346. package/dist/date-input/index.d.ts +0 -95
  347. package/dist/dialog/Dialog.js +0 -218
  348. package/dist/dialog/index.d.ts +0 -18
  349. package/dist/dropdown/Dropdown.js +0 -544
  350. package/dist/dropdown/index.d.ts +0 -26
  351. package/dist/file-input/FileInput.js +0 -644
  352. package/dist/file-input/FileItem.js +0 -287
  353. package/dist/file-input/index.d.ts +0 -81
  354. package/dist/footer/Footer.js +0 -421
  355. package/dist/footer/index.d.ts +0 -25
  356. package/dist/header/Header.js +0 -470
  357. package/dist/header/index.d.ts +0 -25
  358. package/dist/heading/index.d.ts +0 -17
  359. package/dist/input-text/Icons.js +0 -22
  360. package/dist/input-text/InputText.js +0 -705
  361. package/dist/input-text/index.d.ts +0 -36
  362. package/dist/layout/ApplicationLayout.js +0 -327
  363. package/dist/link/Link.js +0 -237
  364. package/dist/link/index.d.ts +0 -23
  365. package/dist/main.d.ts +0 -40
  366. package/dist/number-input/NumberInput.js +0 -136
  367. package/dist/number-input/index.d.ts +0 -113
  368. package/dist/paginator/Icons.js +0 -66
  369. package/dist/paginator/Paginator.js +0 -305
  370. package/dist/paginator/index.d.ts +0 -20
  371. package/dist/password-input/PasswordInput.js +0 -203
  372. package/dist/password-input/index.d.ts +0 -94
  373. package/dist/progress-bar/ProgressBar.js +0 -242
  374. package/dist/progress-bar/index.d.ts +0 -18
  375. package/dist/radio/Radio.js +0 -209
  376. package/dist/radio/index.d.ts +0 -23
  377. package/dist/resultsetTable/ResultsetTable.js +0 -358
  378. package/dist/resultsetTable/index.d.ts +0 -19
  379. package/dist/select/Select.js +0 -1096
  380. package/dist/select/index.d.ts +0 -53
  381. package/dist/sidenav/Sidenav.js +0 -179
  382. package/dist/sidenav/index.d.ts +0 -13
  383. package/dist/slider/Slider.js +0 -404
  384. package/dist/slider/index.d.ts +0 -29
  385. package/dist/spinner/Spinner.js +0 -381
  386. package/dist/spinner/index.d.ts +0 -17
  387. package/dist/stories/Button.js +0 -71
  388. package/dist/stories/Button.stories.js +0 -55
  389. package/dist/stories/Header.js +0 -67
  390. package/dist/stories/Header.stories.js +0 -31
  391. package/dist/stories/Introduction.stories.mdx +0 -211
  392. package/dist/stories/Page.js +0 -68
  393. package/dist/stories/Page.stories.js +0 -39
  394. package/dist/stories/assets/code-brackets.svg +0 -1
  395. package/dist/stories/assets/colors.svg +0 -1
  396. package/dist/stories/assets/comments.svg +0 -1
  397. package/dist/stories/assets/direction.svg +0 -1
  398. package/dist/stories/assets/flow.svg +0 -1
  399. package/dist/stories/assets/plugin.svg +0 -1
  400. package/dist/stories/assets/repo.svg +0 -1
  401. package/dist/stories/assets/stackalt.svg +0 -1
  402. package/dist/stories/button.css +0 -30
  403. package/dist/stories/header.css +0 -26
  404. package/dist/stories/page.css +0 -69
  405. package/dist/switch/Switch.js +0 -222
  406. package/dist/switch/index.d.ts +0 -24
  407. package/dist/table/index.d.ts +0 -13
  408. package/dist/tabs/Tabs.js +0 -343
  409. package/dist/tabs/index.d.ts +0 -19
  410. package/dist/tag/Tag.js +0 -282
  411. package/dist/tag/index.d.ts +0 -24
  412. package/dist/text-input/TextInput.js +0 -974
  413. package/dist/text-input/index.d.ts +0 -135
  414. package/dist/textarea/index.d.ts +0 -117
  415. package/dist/toggle/Toggle.js +0 -220
  416. package/dist/toggle/index.d.ts +0 -21
  417. package/dist/toggle-group/index.d.ts +0 -21
  418. package/dist/upload/Upload.js +0 -205
  419. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  420. package/dist/upload/buttons-upload/Icons.js +0 -40
  421. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  422. package/dist/upload/dragAndDropArea/Icons.js +0 -39
  423. package/dist/upload/file-upload/FileToUpload.js +0 -189
  424. package/dist/upload/file-upload/Icons.js +0 -66
  425. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  426. package/dist/upload/index.d.ts +0 -15
  427. package/dist/upload/transaction/Icons.js +0 -160
  428. package/dist/upload/transaction/Transaction.js +0 -148
  429. package/dist/upload/transactions/Transactions.js +0 -138
  430. package/dist/wizard/Icons.js +0 -65
  431. package/dist/wizard/Wizard.js +0 -405
  432. package/dist/wizard/index.d.ts +0 -18
  433. package/test/Accordion.test.js +0 -33
  434. package/test/AccordionGroup.test.js +0 -125
  435. package/test/Alert.test.js +0 -53
  436. package/test/Box.test.js +0 -10
  437. package/test/Button.test.js +0 -18
  438. package/test/Card.test.js +0 -30
  439. package/test/Checkbox.test.js +0 -45
  440. package/test/Chip.test.js +0 -25
  441. package/test/Date.test.js +0 -395
  442. package/test/DateInput.test.js +0 -242
  443. package/test/Dialog.test.js +0 -23
  444. package/test/Dropdown.test.js +0 -145
  445. package/test/FileInput.test.js +0 -201
  446. package/test/Footer.test.js +0 -94
  447. package/test/Header.test.js +0 -34
  448. package/test/Heading.test.js +0 -83
  449. package/test/InputText.test.js +0 -239
  450. package/test/Link.test.js +0 -43
  451. package/test/NumberInput.test.js +0 -259
  452. package/test/Paginator.test.js +0 -181
  453. package/test/PasswordInput.test.js +0 -83
  454. package/test/ProgressBar.test.js +0 -35
  455. package/test/Radio.test.js +0 -37
  456. package/test/ResultsetTable.test.js +0 -330
  457. package/test/Select.test.js +0 -415
  458. package/test/Sidenav.test.js +0 -45
  459. package/test/Slider.test.js +0 -74
  460. package/test/Spinner.test.js +0 -32
  461. package/test/Switch.test.js +0 -45
  462. package/test/Table.test.js +0 -36
  463. package/test/Tabs.test.js +0 -109
  464. package/test/Tag.test.js +0 -32
  465. package/test/TextInput.test.js +0 -732
  466. package/test/Textarea.test.js +0 -193
  467. package/test/ToggleGroup.test.js +0 -85
  468. package/test/Upload.test.js +0 -60
  469. package/test/V3Select.test.js +0 -212
  470. package/test/V3TextArea.test.js +0 -51
  471. package/test/Wizard.test.js +0 -130
  472. package/test/mocks/pngMock.js +0 -1
  473. package/test/mocks/svgMock.js +0 -1
  474. /package/{dist/common → common}/OpenSans.css +0 -0
  475. /package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  476. /package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  477. /package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  478. /package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  479. /package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  480. /package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  481. /package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  482. /package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  483. /package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  484. /package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
package/tabs/Tabs.js ADDED
@@ -0,0 +1,392 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
14
+ var _variables = require("../common/variables");
15
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
16
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
17
+ var _Tab = _interopRequireDefault(require("./Tab"));
18
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
19
+ 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); }
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
21
+ var arrowIcons = {
22
+ left: /*#__PURE__*/_react["default"].createElement("svg", {
23
+ focusable: "false",
24
+ viewBox: "0 0 24 24",
25
+ "aria-hidden": "true"
26
+ }, /*#__PURE__*/_react["default"].createElement("path", {
27
+ d: "M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"
28
+ })),
29
+ right: /*#__PURE__*/_react["default"].createElement("svg", {
30
+ focusable: "false",
31
+ viewBox: "0 0 24 24",
32
+ "aria-hidden": "true"
33
+ }, /*#__PURE__*/_react["default"].createElement("path", {
34
+ d: "M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"
35
+ }))
36
+ };
37
+ var useResize = function useResize(refTabList) {
38
+ var _useState = (0, _react.useState)(0),
39
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
40
+ viewWidth = _useState2[0],
41
+ setViewWidth = _useState2[1];
42
+ var handleWindowSizeChange = (0, _react.useCallback)(function () {
43
+ var _refTabList$current;
44
+ setViewWidth(refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current = refTabList.current) === null || _refTabList$current === void 0 ? void 0 : _refTabList$current.offsetWidth);
45
+ }, [refTabList]);
46
+ (0, _react.useEffect)(function () {
47
+ window.addEventListener("load", handleWindowSizeChange);
48
+ window.addEventListener("resize", handleWindowSizeChange);
49
+ return function () {
50
+ window.removeEventListener("load", handleWindowSizeChange);
51
+ window.removeEventListener("resize", handleWindowSizeChange);
52
+ };
53
+ }, [handleWindowSizeChange]);
54
+ return viewWidth;
55
+ };
56
+ var DxcTabs = function DxcTabs(_ref) {
57
+ var defaultActiveTabIndex = _ref.defaultActiveTabIndex,
58
+ activeTabIndex = _ref.activeTabIndex,
59
+ tabs = _ref.tabs,
60
+ onTabClick = _ref.onTabClick,
61
+ onTabHover = _ref.onTabHover,
62
+ margin = _ref.margin,
63
+ _ref$iconPosition = _ref.iconPosition,
64
+ iconPosition = _ref$iconPosition === void 0 ? "top" : _ref$iconPosition,
65
+ _ref$tabIndex = _ref.tabIndex,
66
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
67
+ var colorsTheme = (0, _useTheme["default"])();
68
+ var hasLabelAndIcon = tabs && tabs.filter(function (tab) {
69
+ return tab.label && tab.icon;
70
+ }).length > 0;
71
+ var firstFocus = tabs && tabs.findIndex(function (tab) {
72
+ return !tab.isDisabled;
73
+ });
74
+ var _useState3 = (0, _react.useState)(tabs && defaultActiveTabIndex && !tabs[defaultActiveTabIndex].isDisabled ? defaultActiveTabIndex : firstFocus),
75
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
76
+ innerActiveTabIndex = _useState4[0],
77
+ setInnerActiveTabIndex = _useState4[1];
78
+ var _useState5 = (0, _react.useState)(0),
79
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
80
+ activeIndicatorWidth = _useState6[0],
81
+ setActiveIndicatorWidth = _useState6[1];
82
+ var _useState7 = (0, _react.useState)(0),
83
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
84
+ activeIndicatorLeft = _useState8[0],
85
+ setActiveIndicatorLeft = _useState8[1];
86
+ var _useState9 = (0, _react.useState)(0),
87
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
88
+ translateScroll = _useState10[0],
89
+ setTranslateScroll = _useState10[1];
90
+ var _useState11 = (0, _react.useState)(true),
91
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
92
+ scrollRightEnabled = _useState12[0],
93
+ setScrollRightEnabled = _useState12[1];
94
+ var _useState13 = (0, _react.useState)(false),
95
+ _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
96
+ scrollLeftEnabled = _useState14[0],
97
+ setScrollLeftEnabled = _useState14[1];
98
+ var _useState15 = (0, _react.useState)(0),
99
+ _useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
100
+ countClick = _useState16[0],
101
+ setCountClick = _useState16[1];
102
+ var _useState17 = (0, _react.useState)(0),
103
+ _useState18 = (0, _slicedToArray2["default"])(_useState17, 2),
104
+ totalTabsWidth = _useState18[0],
105
+ setTotalTabsWidth = _useState18[1];
106
+ var _useState19 = (0, _react.useState)(activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : innerActiveTabIndex),
107
+ _useState20 = (0, _slicedToArray2["default"])(_useState19, 2),
108
+ currentFocusIndex = _useState20[0],
109
+ setCurrentFocusIndex = _useState20[1];
110
+ var _useState21 = (0, _react.useState)(activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : innerActiveTabIndex),
111
+ _useState22 = (0, _slicedToArray2["default"])(_useState21, 2),
112
+ temporalFocusIndex = _useState22[0],
113
+ setTemporalFocusIndex = _useState22[1];
114
+ var _useState23 = (0, _react.useState)(0),
115
+ _useState24 = (0, _slicedToArray2["default"])(_useState23, 2),
116
+ minHeightTabs = _useState24[0],
117
+ setMinHeightTabs = _useState24[1];
118
+ var refTabs = (0, _react.useRef)([]);
119
+ var refTabList = (0, _react.useRef)(null);
120
+ var viewWidth = useResize(refTabList);
121
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
122
+ var enabledIndicator = (0, _react.useMemo)(function () {
123
+ return viewWidth < totalTabsWidth;
124
+ }, [viewWidth]);
125
+ (0, _react.useEffect)(function () {
126
+ var _refTabs$current, _refTabs$current2, _refTabs$current3;
127
+ var sumWidth = refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current = refTabs.current) === null || _refTabs$current === void 0 ? void 0 : _refTabs$current.reduce(function (count, obj) {
128
+ return count + obj.offsetWidth;
129
+ }, 0);
130
+ setTotalTabsWidth(sumWidth);
131
+ setActiveIndicatorWidth(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current2 = refTabs.current[activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : innerActiveTabIndex]) === null || _refTabs$current2 === void 0 ? void 0 : _refTabs$current2.offsetWidth);
132
+ setActiveIndicatorLeft(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current3 = refTabs.current[activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : innerActiveTabIndex]) === null || _refTabs$current3 === void 0 ? void 0 : _refTabs$current3.offsetLeft);
133
+ }, [refTabs]);
134
+ (0, _react.useEffect)(function () {
135
+ var _refTabList$current2;
136
+ setMinHeightTabs((refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current2 = refTabList.current) === null || _refTabList$current2 === void 0 ? void 0 : _refTabList$current2.offsetHeight) + 1);
137
+ }, [refTabList]);
138
+ (0, _react.useEffect)(function () {
139
+ if (activeTabIndex >= 0) {
140
+ var _refTabs$current$acti, _refTabs$current$acti2;
141
+ setActiveIndicatorWidth(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current$acti = refTabs.current[activeTabIndex]) === null || _refTabs$current$acti === void 0 ? void 0 : _refTabs$current$acti.offsetWidth);
142
+ setActiveIndicatorLeft(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current$acti2 = refTabs.current[activeTabIndex]) === null || _refTabs$current$acti2 === void 0 ? void 0 : _refTabs$current$acti2.offsetLeft);
143
+ }
144
+ }, [activeTabIndex]);
145
+ var handleSelected = function handleSelected(newValue) {
146
+ activeTabIndex !== null && activeTabIndex !== void 0 ? activeTabIndex : setInnerActiveTabIndex(newValue);
147
+ onTabClick === null || onTabClick === void 0 ? void 0 : onTabClick(newValue);
148
+ if (activeTabIndex === undefined) {
149
+ var _refTabs$current$newV, _refTabs$current$newV2;
150
+ setActiveIndicatorWidth(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current$newV = refTabs.current[newValue]) === null || _refTabs$current$newV === void 0 ? void 0 : _refTabs$current$newV.offsetWidth);
151
+ setActiveIndicatorLeft(refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current$newV2 = refTabs.current[newValue]) === null || _refTabs$current$newV2 === void 0 ? void 0 : _refTabs$current$newV2.offsetLeft);
152
+ }
153
+ };
154
+ var scrollLeft = function scrollLeft() {
155
+ var _refTabList$current3;
156
+ var scrollWidth = (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current3 = refTabList.current) === null || _refTabList$current3 === void 0 ? void 0 : _refTabList$current3.offsetWidth) * 0.75;
157
+ var moveX;
158
+ if (countClick <= scrollWidth) {
159
+ moveX = 0;
160
+ setScrollLeftEnabled(false);
161
+ setScrollRightEnabled(true);
162
+ } else {
163
+ moveX = countClick - scrollWidth;
164
+ setScrollRightEnabled(true);
165
+ setScrollLeftEnabled(true);
166
+ }
167
+ setTranslateScroll(-moveX);
168
+ setCountClick(moveX);
169
+ };
170
+ var scrollRight = function scrollRight() {
171
+ var _refTabList$current4, _refTabList$current5;
172
+ var scrollWidth = (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current4 = refTabList.current) === null || _refTabList$current4 === void 0 ? void 0 : _refTabList$current4.offsetWidth) * 0.75;
173
+ var moveX;
174
+ if (countClick + scrollWidth + (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current5 = refTabList.current) === null || _refTabList$current5 === void 0 ? void 0 : _refTabList$current5.offsetWidth) >= totalTabsWidth) {
175
+ var _refTabList$current6;
176
+ moveX = totalTabsWidth - (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current6 = refTabList.current) === null || _refTabList$current6 === void 0 ? void 0 : _refTabList$current6.offsetWidth);
177
+ setScrollRightEnabled(false);
178
+ setScrollLeftEnabled(true);
179
+ } else {
180
+ moveX = countClick + scrollWidth;
181
+ setScrollLeftEnabled(true);
182
+ setScrollRightEnabled(true);
183
+ }
184
+ setTranslateScroll(-moveX);
185
+ setCountClick(moveX);
186
+ };
187
+ var setPreviousTabFocus = function setPreviousTabFocus() {
188
+ setTemporalFocusIndex(function (temporalFocusIndex) {
189
+ var index = temporalFocusIndex === 0 ? tabs.length - 1 : temporalFocusIndex - 1;
190
+ while (tabs[index].isDisabled) {
191
+ index = index === 0 ? tabs.length - 1 : index - 1;
192
+ }
193
+ refTabs === null || refTabs === void 0 ? void 0 : refTabs.current[index].focus({
194
+ preventScroll: true
195
+ });
196
+ setScrollFocus(index);
197
+ return index;
198
+ });
199
+ };
200
+ var setNextTabFocus = function setNextTabFocus() {
201
+ setTemporalFocusIndex(function (temporalFocusIndex) {
202
+ var index = temporalFocusIndex === tabs.length - 1 ? 0 : temporalFocusIndex + 1;
203
+ while (tabs[index].isDisabled) {
204
+ index = index === tabs.length - 1 ? 0 : index + 1;
205
+ }
206
+ refTabs === null || refTabs === void 0 ? void 0 : refTabs.current[index].focus({
207
+ preventScroll: true
208
+ });
209
+ setScrollFocus(index);
210
+ return index;
211
+ });
212
+ };
213
+ var setScrollFocus = function setScrollFocus(actualIndex) {
214
+ var _refTabs$current4, _refTabList$current8;
215
+ var sumPrev = 0;
216
+ refTabs === null || refTabs === void 0 ? void 0 : (_refTabs$current4 = refTabs.current) === null || _refTabs$current4 === void 0 ? void 0 : _refTabs$current4.map(function (item, index) {
217
+ if (index <= actualIndex) {
218
+ sumPrev += item.offsetWidth;
219
+ }
220
+ });
221
+ var moveX = 0;
222
+ if (actualIndex === tabs.length - 1) {
223
+ var _refTabList$current7;
224
+ moveX = totalTabsWidth - (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current7 = refTabList.current) === null || _refTabList$current7 === void 0 ? void 0 : _refTabList$current7.offsetWidth);
225
+ setScrollLeftEnabled(true);
226
+ setScrollRightEnabled(false);
227
+ } else if (sumPrev > (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current8 = refTabList.current) === null || _refTabList$current8 === void 0 ? void 0 : _refTabList$current8.offsetWidth)) {
228
+ var _refTabList$current9;
229
+ moveX = sumPrev - (refTabList === null || refTabList === void 0 ? void 0 : (_refTabList$current9 = refTabList.current) === null || _refTabList$current9 === void 0 ? void 0 : _refTabList$current9.offsetWidth) + 1; //plus 1px for the outline
230
+ setScrollLeftEnabled(true);
231
+ setScrollRightEnabled(true);
232
+ } else {
233
+ setScrollLeftEnabled(false);
234
+ setScrollRightEnabled(true);
235
+ }
236
+ setTranslateScroll(-moveX);
237
+ setCountClick(moveX);
238
+ };
239
+ var handleOnKeyDown = function handleOnKeyDown(event) {
240
+ switch (event.key) {
241
+ case "Left":
242
+ case "ArrowLeft":
243
+ event.preventDefault();
244
+ setPreviousTabFocus();
245
+ break;
246
+ case "Right":
247
+ case "ArrowRight":
248
+ event.preventDefault();
249
+ setNextTabFocus();
250
+ break;
251
+ case "Enter":
252
+ case " ":
253
+ event.preventDefault();
254
+ setCurrentFocusIndex(temporalFocusIndex);
255
+ handleSelected(temporalFocusIndex);
256
+ break;
257
+ case "Tab":
258
+ if (temporalFocusIndex !== currentFocusIndex) {
259
+ event.preventDefault();
260
+ setTemporalFocusIndex(currentFocusIndex);
261
+ refTabs === null || refTabs === void 0 ? void 0 : refTabs.current[currentFocusIndex].focus();
262
+ }
263
+ handleSelected(currentFocusIndex);
264
+ break;
265
+ }
266
+ };
267
+ var isTabActive = function isTabActive(index) {
268
+ return activeTabIndex >= 0 ? activeTabIndex === index : innerActiveTabIndex === index;
269
+ };
270
+ var isActiveIndicatorDisabled = firstFocus === -1 || tabs && activeTabIndex >= 0 && tabs[activeTabIndex].isDisabled;
271
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
272
+ theme: colorsTheme["tabs"]
273
+ }, /*#__PURE__*/_react["default"].createElement(TabsContainer, {
274
+ margin: margin
275
+ }, /*#__PURE__*/_react["default"].createElement(Underline, null), /*#__PURE__*/_react["default"].createElement(Tabs, {
276
+ hasLabelAndIcon: hasLabelAndIcon,
277
+ iconPosition: iconPosition
278
+ }, /*#__PURE__*/_react["default"].createElement(ScrollIndicator, {
279
+ onClick: scrollLeft,
280
+ scrollLeftEnabled: scrollLeftEnabled,
281
+ enabled: enabledIndicator,
282
+ "aria-disabled": !scrollLeftEnabled,
283
+ "aria-label": translatedLabels.tabs.scrollLeft,
284
+ tabIndex: scrollLeftEnabled ? tabIndex : -1,
285
+ minHeightTabs: minHeightTabs
286
+ }, arrowIcons.left), /*#__PURE__*/_react["default"].createElement(TabsContent, null, /*#__PURE__*/_react["default"].createElement(TabsContentScroll, {
287
+ translateScroll: translateScroll,
288
+ ref: refTabList,
289
+ enabled: enabledIndicator
290
+ }, /*#__PURE__*/_react["default"].createElement(TabList, {
291
+ role: "tablist",
292
+ onKeyDown: handleOnKeyDown,
293
+ minHeightTabs: minHeightTabs
294
+ }, tabs.map(function (tab, i) {
295
+ return /*#__PURE__*/_react["default"].createElement(_Tab["default"], {
296
+ tab: tab,
297
+ key: "tab".concat(i).concat(tab.label),
298
+ active: isTabActive(i),
299
+ tabIndex: isTabActive(i) && !tab.isDisabled ? tabIndex : -1,
300
+ hasLabelAndIcon: hasLabelAndIcon,
301
+ iconPosition: iconPosition,
302
+ ref: function ref(el) {
303
+ return refTabs.current[i] = el;
304
+ },
305
+ onClick: function onClick() {
306
+ setCurrentFocusIndex(i);
307
+ setTemporalFocusIndex(i);
308
+ handleSelected(i);
309
+ },
310
+ onMouseEnter: function onMouseEnter() {
311
+ onTabHover === null || onTabHover === void 0 ? void 0 : onTabHover(i);
312
+ },
313
+ onMouseLeave: function onMouseLeave() {
314
+ onTabHover === null || onTabHover === void 0 ? void 0 : onTabHover(null);
315
+ }
316
+ });
317
+ })), /*#__PURE__*/_react["default"].createElement(ActiveIndicator, {
318
+ tabWidth: activeIndicatorWidth,
319
+ tabLeft: activeIndicatorLeft,
320
+ "aria-disabled": isActiveIndicatorDisabled
321
+ }))), /*#__PURE__*/_react["default"].createElement(ScrollIndicator, {
322
+ onClick: scrollRight,
323
+ scrollRightEnabled: scrollRightEnabled,
324
+ enabled: enabledIndicator,
325
+ "aria-disabled": !scrollRightEnabled,
326
+ "aria-label": translatedLabels.tabs.scrollRight,
327
+ tabIndex: scrollRightEnabled ? tabIndex : -1,
328
+ minHeightTabs: minHeightTabs
329
+ }, arrowIcons.right))));
330
+ };
331
+ var Underline = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n left: 0;\n bottom: 0;\n width: 100%;\n position: absolute;\n height: ", ";\n background-color: ", ";\n"])), function (props) {
332
+ return props.theme.dividerThickness;
333
+ }, function (props) {
334
+ return props.theme.dividerColor;
335
+ });
336
+ var TabsContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
337
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
338
+ }, function (props) {
339
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
340
+ }, function (props) {
341
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
342
+ }, function (props) {
343
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
344
+ }, function (props) {
345
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
346
+ });
347
+ var Tabs = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: ", ";\n height: ", ";\n display: flex;\n overflow: hidden;\n background-color: ", ";\n"])), function (props) {
348
+ return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "48px" || "72px";
349
+ }, function (props) {
350
+ return (!props.hasLabelAndIcon || props.hasLabelAndIcon && props.iconPosition !== "top") && "48px" || "72px";
351
+ }, function (props) {
352
+ return props.theme.unselectedBackgroundColor;
353
+ });
354
+ var ScrollIndicator = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n background-color: #ffffff;\n font-size: 1.25rem;\n min-width: ", ";\n height: ", "px;\n padding: 0;\n justify-content: center;\n cursor: pointer;\n border-bottom: solid ", " ", ";\n box-sizing: border-box;\n border: none;\n &:hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " solid 1px;\n outline-offset: -1px;\n }\n &:active {\n background-color: ", ";\n }\n svg {\n height: 20px;\n width: 20px;\n align-self: center;\n fill: ", ";\n visibility: visible;\n }\n &[aria-disabled=\"true\"] {\n pointer-events: none;\n cursor: default;\n svg {\n visibility: hidden;\n }\n &:focus {\n outline: none;\n }\n &:hover,\n &:active {\n background-color: transparent !important;\n }\n }\n"])), function (props) {
355
+ return props.enabled ? "flex" : "none";
356
+ }, function (props) {
357
+ return props.theme.scrollButtonsWidth;
358
+ }, function (props) {
359
+ return props.minHeightTabs - 1;
360
+ }, function (props) {
361
+ return props.theme.dividerThickness;
362
+ }, function (props) {
363
+ return props.theme.dividerColor;
364
+ }, function (props) {
365
+ return "".concat(props.theme.hoverBackgroundColor, " !important");
366
+ }, function (props) {
367
+ return props.theme.focusOutline;
368
+ }, function (props) {
369
+ return "".concat(props.theme.pressedBackgroundColor, " !important");
370
+ }, function (props) {
371
+ return props.theme.unselectedFontColor;
372
+ });
373
+ var ActiveIndicator = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n left: ", ";\n width: ", ";\n background-color: ", ";\n bottom: 0;\n height: ", ";\n position: absolute;\n &[aria-disabled=\"true\"] {\n background-color: ", ";\n display: none;\n }\n"])), function (props) {
374
+ return "".concat(props.tabLeft, "px");
375
+ }, function (props) {
376
+ return "".concat(props.tabWidth, "px");
377
+ }, function (props) {
378
+ return props.theme.selectedUnderlineColor;
379
+ }, function (props) {
380
+ return props.theme.selectedUnderlineThickness;
381
+ }, function (props) {
382
+ return props.theme.disabledFontColor;
383
+ });
384
+ var TabsContent = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex: 1 1 auto;\n display: inline-block;\n position: relative;\n white-space: nowrap;\n overflow-x: scroll;\n ::-webkit-scrollbar {\n display: none;\n }\n"])));
385
+ var TabList = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n min-height: ", "px;\n"])), function (props) {
386
+ return props.minHeightTabs;
387
+ });
388
+ var TabsContentScroll = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", ";\n transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n"])), function (props) {
389
+ return props.enabled ? "transform: translateX(".concat(props.translateScroll, "px)") : "transform: translateX(0px)";
390
+ });
391
+ var _default = DxcTabs;
392
+ exports["default"] = _default;
@@ -0,0 +1,226 @@
1
+ import React from "react";
2
+ import DxcTabs from "./Tabs";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { HalstackProvider } from "../HalstackContext";
6
+
7
+ export default {
8
+ title: "Tabs",
9
+ component: DxcTabs,
10
+ };
11
+
12
+ const iconSVG = (
13
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" height="20" width="20" fill="currentColor">
14
+ <path d="m10 17-1.042-.938q-2.083-1.854-3.437-3.177-1.354-1.323-2.136-2.354Q2.604 9.5 2.302 8.646 2 7.792 2 6.896q0-1.854 1.271-3.125T6.396 2.5q1.021 0 1.979.438.958.437 1.625 1.229.667-.792 1.625-1.229.958-.438 1.979-.438 1.854 0 3.125 1.271T18 6.896q0 .896-.292 1.729-.291.833-1.073 1.854-.781 1.021-2.145 2.365-1.365 1.344-3.49 3.26Zm0-2.021q1.938-1.729 3.188-2.948 1.25-1.219 1.989-2.125.74-.906 1.031-1.614.292-.709.292-1.396 0-1.229-.833-2.063Q14.833 4 13.604 4q-.729 0-1.364.302-.636.302-1.094.844L10.417 6h-.834l-.729-.854q-.458-.542-1.114-.844Q7.083 4 6.396 4q-1.229 0-2.063.833-.833.834-.833 2.063 0 .687.271 1.364.271.678.989 1.573.719.896 1.98 2.125Q8 13.188 10 14.979Zm0-5.5Z" />
15
+ </svg>
16
+ );
17
+
18
+ const tabs: any = [
19
+ {
20
+ label: "Tab 1",
21
+ },
22
+ {
23
+ label: "Tab 2",
24
+ },
25
+ {
26
+ label: "Tab 3",
27
+ isDisabled: true,
28
+ },
29
+ {
30
+ label: "Tab 4",
31
+ },
32
+ {
33
+ label: "Tab 5",
34
+ },
35
+ {
36
+ label: "Tab 6",
37
+ },
38
+ {
39
+ label: "Tab 7",
40
+ },
41
+ ];
42
+
43
+ const disabledTabs: any = [
44
+ {
45
+ label: "Tab 1",
46
+ isDisabled: true,
47
+ },
48
+ {
49
+ label: "Tab 2",
50
+ isDisabled: true,
51
+ },
52
+ {
53
+ label: "Tab 3",
54
+ isDisabled: true,
55
+ },
56
+ ];
57
+
58
+ const firstDisabledTabs: any = [
59
+ {
60
+ label: "Tab 1",
61
+ isDisabled: true,
62
+ },
63
+ {
64
+ label: "Tab 2",
65
+ isDisabled: true,
66
+ },
67
+ {
68
+ label: "Tab 3",
69
+ },
70
+ ];
71
+
72
+ const tabsNotification = tabs.map((tab, index) => ({
73
+ ...tab,
74
+ notificationNumber: (index === 0 && true) || (index === 1 && 5) || (index === 2 && 200),
75
+ }));
76
+
77
+ const tabsIcon = tabs.map((tab, index) =>
78
+ index <= tabs.length / 2
79
+ ? { ...tab, icon: "https://cdn-icons-png.flaticon.com/512/5039/5039041.png" }
80
+ : { ...tab, icon: iconSVG }
81
+ );
82
+
83
+ const tabsNotificationIcon = tabsNotification.map((tab) => ({ ...tab, icon: iconSVG }));
84
+
85
+ const opinionatedTheme = {
86
+ tabs: {
87
+ baseColor: "#5f249f",
88
+ },
89
+ };
90
+
91
+ export const Chromatic = () => (
92
+ <>
93
+ <ExampleContainer>
94
+ <Title title="Only label" theme="light" level={4} />
95
+ <DxcTabs tabs={tabs} />
96
+ </ExampleContainer>
97
+ <ExampleContainer>
98
+ <Title title="Disabled tabs" theme="light" level={4} />
99
+ <DxcTabs activeTabIndex={0} tabs={disabledTabs} />
100
+ </ExampleContainer>
101
+ <ExampleContainer>
102
+ <Title title="First two tabs disabled" theme="light" level={4} />
103
+ <DxcTabs tabs={firstDisabledTabs} />
104
+ </ExampleContainer>
105
+ <ExampleContainer pseudoState="pseudo-hover">
106
+ <Title title="Hovered tabs" theme="light" level={4} />
107
+ <DxcTabs tabs={tabs} />
108
+ </ExampleContainer>
109
+ <ExampleContainer pseudoState="pseudo-focus">
110
+ <Title title="Focused tabs" theme="light" level={4} />
111
+ <DxcTabs tabs={tabs} />
112
+ </ExampleContainer>
113
+ <ExampleContainer pseudoState="pseudo-active">
114
+ <Title title="Actived tabs" theme="light" level={4} />
115
+ <DxcTabs tabs={tabs} />
116
+ </ExampleContainer>
117
+ <ExampleContainer>
118
+ <Title title="With notification number" theme="light" level={4} />
119
+ <DxcTabs tabs={tabsNotification} />
120
+ </ExampleContainer>
121
+ <ExampleContainer>
122
+ <Title title="With icon position top" theme="light" level={4} />
123
+ <DxcTabs tabs={tabsIcon} />
124
+ </ExampleContainer>
125
+ <ExampleContainer>
126
+ <Title title="With icon position left" theme="light" level={4} />
127
+ <DxcTabs tabs={tabsIcon} iconPosition="left" />
128
+ </ExampleContainer>
129
+ <ExampleContainer>
130
+ <Title title="With icon and notification number" theme="light" level={4} />
131
+ <DxcTabs tabs={tabsNotificationIcon} />
132
+ </ExampleContainer>
133
+ <ExampleContainer>
134
+ <Title title="With icon on the left and notification number" theme="light" level={4} />
135
+ <DxcTabs tabs={tabsNotificationIcon} iconPosition="left" />
136
+ </ExampleContainer>
137
+ <Title title="Margins" theme="light" level={2} />
138
+ <ExampleContainer>
139
+ <Title title="Xxsmall margin" theme="light" level={4} />
140
+ <DxcTabs tabs={tabs} margin="xxsmall" />
141
+ </ExampleContainer>
142
+ <ExampleContainer>
143
+ <Title title="Xsmall margin" theme="light" level={4} />
144
+ <DxcTabs tabs={tabs} margin="xsmall" />
145
+ </ExampleContainer>
146
+ <ExampleContainer>
147
+ <Title title="Small margin" theme="light" level={4} />
148
+ <DxcTabs tabs={tabs} margin="small" />
149
+ </ExampleContainer>
150
+ <ExampleContainer>
151
+ <Title title="Medium margin" theme="light" level={4} />
152
+ <DxcTabs tabs={tabs} margin="medium" />
153
+ </ExampleContainer>
154
+ <ExampleContainer>
155
+ <Title title="Large margin" theme="light" level={4} />
156
+ <DxcTabs tabs={tabs} margin="large" />
157
+ </ExampleContainer>
158
+ <ExampleContainer>
159
+ <Title title="Xlarge margin" theme="light" level={4} />
160
+ <DxcTabs tabs={tabs} margin="xlarge" />
161
+ </ExampleContainer>
162
+ <ExampleContainer>
163
+ <Title title="Xxlarge margin" theme="light" level={4} />
164
+ <DxcTabs tabs={tabs} margin="xxlarge" />
165
+ </ExampleContainer>
166
+ <Title title="Opinionated theme" theme="light" level={2} />
167
+ <ExampleContainer>
168
+ <Title title="With icon and notification" theme="light" level={4} />
169
+ <HalstackProvider theme={opinionatedTheme}>
170
+ <DxcTabs tabs={tabsNotificationIcon} />
171
+ </HalstackProvider>
172
+ </ExampleContainer>
173
+ <ExampleContainer>
174
+ <Title title="Disabled" theme="light" level={4} />
175
+ <HalstackProvider theme={opinionatedTheme}>
176
+ <DxcTabs activeTabIndex={0} tabs={disabledTabs} />
177
+ </HalstackProvider>
178
+ </ExampleContainer>
179
+ <ExampleContainer pseudoState="pseudo-hover">
180
+ <Title title="Hovered" theme="light" level={4} />
181
+ <HalstackProvider theme={opinionatedTheme}>
182
+ <DxcTabs tabs={tabs} />
183
+ </HalstackProvider>
184
+ </ExampleContainer>
185
+ <ExampleContainer pseudoState="pseudo-focus">
186
+ <Title title="Focused" theme="light" level={4} />
187
+ <HalstackProvider theme={opinionatedTheme}>
188
+ <DxcTabs tabs={tabs} />
189
+ </HalstackProvider>
190
+ </ExampleContainer>
191
+ <ExampleContainer pseudoState="pseudo-active">
192
+ <Title title="Actived" theme="light" level={4} />
193
+ <HalstackProvider theme={opinionatedTheme}>
194
+ <DxcTabs tabs={tabs} />
195
+ </HalstackProvider>
196
+ </ExampleContainer>
197
+ </>
198
+ );
199
+
200
+ export const ScrollableTabs = () => (
201
+ <>
202
+ <ExampleContainer>
203
+ <Title title="Only label" theme="light" level={4} />
204
+ <DxcTabs tabs={tabs} />
205
+ </ExampleContainer>
206
+ <ExampleContainer pseudoState="pseudo-hover">
207
+ <Title title="Hovered tabs" theme="light" level={4} />
208
+ <DxcTabs tabs={tabs} />
209
+ </ExampleContainer>
210
+ <ExampleContainer pseudoState="pseudo-focus">
211
+ <Title title="Focused tabs" theme="light" level={4} />
212
+ <DxcTabs tabs={tabs} />
213
+ </ExampleContainer>
214
+ <ExampleContainer pseudoState="pseudo-active">
215
+ <Title title="Actived tabs" theme="light" level={4} />
216
+ <DxcTabs tabs={tabs} />
217
+ </ExampleContainer>
218
+ </>
219
+ );
220
+
221
+ ScrollableTabs.parameters = {
222
+ viewport: {
223
+ defaultViewport: "iphonex",
224
+ },
225
+ chromatic: { viewports: [375], delay: 5000 },
226
+ };