@dxc-technology/halstack-react 0.0.0-9b341c0 → 0.0.0-9bd9511

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 (465) 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 +44 -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 -8
  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 -283
  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 -1069
  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/switch/Switch.js +0 -222
  388. package/dist/switch/index.d.ts +0 -24
  389. package/dist/table/index.d.ts +0 -13
  390. package/dist/tabs/Tabs.js +0 -343
  391. package/dist/tabs/index.d.ts +0 -19
  392. package/dist/tag/Tag.js +0 -282
  393. package/dist/tag/index.d.ts +0 -24
  394. package/dist/text-input/TextInput.js +0 -974
  395. package/dist/text-input/index.d.ts +0 -135
  396. package/dist/textarea/index.d.ts +0 -117
  397. package/dist/toggle/Toggle.js +0 -220
  398. package/dist/toggle/index.d.ts +0 -21
  399. package/dist/toggle-group/index.d.ts +0 -21
  400. package/dist/upload/Upload.js +0 -205
  401. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  402. package/dist/upload/buttons-upload/Icons.js +0 -40
  403. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  404. package/dist/upload/dragAndDropArea/Icons.js +0 -39
  405. package/dist/upload/file-upload/FileToUpload.js +0 -189
  406. package/dist/upload/file-upload/Icons.js +0 -66
  407. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  408. package/dist/upload/index.d.ts +0 -15
  409. package/dist/upload/transaction/Icons.js +0 -160
  410. package/dist/upload/transaction/Transaction.js +0 -148
  411. package/dist/upload/transactions/Transactions.js +0 -138
  412. package/dist/wizard/Icons.js +0 -65
  413. package/dist/wizard/Wizard.js +0 -405
  414. package/dist/wizard/index.d.ts +0 -18
  415. package/test/Accordion.test.js +0 -33
  416. package/test/AccordionGroup.test.js +0 -125
  417. package/test/Alert.test.js +0 -53
  418. package/test/Box.test.js +0 -10
  419. package/test/Button.test.js +0 -18
  420. package/test/Card.test.js +0 -30
  421. package/test/Checkbox.test.js +0 -45
  422. package/test/Chip.test.js +0 -25
  423. package/test/Date.test.js +0 -395
  424. package/test/DateInput.test.js +0 -242
  425. package/test/Dialog.test.js +0 -23
  426. package/test/Dropdown.test.js +0 -145
  427. package/test/FileInput.test.js +0 -201
  428. package/test/Footer.test.js +0 -94
  429. package/test/Header.test.js +0 -34
  430. package/test/Heading.test.js +0 -83
  431. package/test/InputText.test.js +0 -240
  432. package/test/Link.test.js +0 -43
  433. package/test/NumberInput.test.js +0 -259
  434. package/test/Paginator.test.js +0 -177
  435. package/test/PasswordInput.test.js +0 -83
  436. package/test/ProgressBar.test.js +0 -35
  437. package/test/Radio.test.js +0 -37
  438. package/test/ResultsetTable.test.js +0 -329
  439. package/test/Sidenav.test.js +0 -45
  440. package/test/Slider.test.js +0 -74
  441. package/test/Spinner.test.js +0 -32
  442. package/test/Switch.test.js +0 -45
  443. package/test/Table.test.js +0 -36
  444. package/test/Tabs.test.js +0 -109
  445. package/test/Tag.test.js +0 -32
  446. package/test/TextInput.test.js +0 -732
  447. package/test/Textarea.test.js +0 -193
  448. package/test/ToggleGroup.test.js +0 -85
  449. package/test/Upload.test.js +0 -60
  450. package/test/V3Select.test.js +0 -212
  451. package/test/V3TextArea.test.js +0 -51
  452. package/test/Wizard.test.js +0 -130
  453. package/test/mocks/pngMock.js +0 -1
  454. package/test/mocks/svgMock.js +0 -1
  455. /package/{dist/common → common}/OpenSans.css +0 -0
  456. /package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  457. /package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  458. /package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  459. /package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  460. /package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  461. /package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  462. /package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  463. /package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  464. /package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  465. /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
+ };