@dxc-technology/halstack-react 0.0.0-da224ae → 0.0.0-da3a230

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 (437) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +6 -26
  3. package/HalstackContext.d.ts +1249 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +1 -1
  8. package/accordion/Accordion.js +105 -194
  9. package/accordion/Accordion.stories.tsx +251 -0
  10. package/accordion/Accordion.test.js +56 -0
  11. package/accordion/types.d.ts +12 -23
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +3 -3
  14. package/accordion-group/AccordionGroup.js +39 -108
  15. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  16. package/accordion-group/AccordionGroup.test.js +98 -0
  17. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  18. package/accordion-group/AccordionGroupAccordion.js +31 -0
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +18 -23
  22. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  23. package/action-icon/ActionIcon.d.ts +4 -0
  24. package/action-icon/ActionIcon.js +48 -0
  25. package/action-icon/ActionIcon.stories.tsx +41 -0
  26. package/action-icon/ActionIcon.test.js +64 -0
  27. package/action-icon/types.d.ts +26 -0
  28. package/alert/Alert.accessibility.test.js +95 -0
  29. package/alert/Alert.js +36 -126
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +75 -0
  32. package/alert/types.d.ts +6 -6
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +4 -0
  35. package/badge/Badge.js +142 -40
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +54 -0
  39. package/badge/types.js +5 -0
  40. package/bleed/Bleed.d.ts +3 -0
  41. package/bleed/Bleed.js +43 -0
  42. package/bleed/Bleed.stories.tsx +342 -0
  43. package/bleed/types.d.ts +37 -0
  44. package/bleed/types.js +5 -0
  45. package/box/Box.accessibility.test.js +33 -0
  46. package/box/Box.d.ts +1 -1
  47. package/box/Box.js +32 -86
  48. package/box/Box.stories.tsx +38 -51
  49. package/box/Box.test.js +13 -0
  50. package/box/types.d.ts +3 -18
  51. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  52. package/bulleted-list/BulletedList.d.ts +7 -0
  53. package/bulleted-list/BulletedList.js +92 -0
  54. package/bulleted-list/BulletedList.stories.tsx +115 -0
  55. package/bulleted-list/types.d.ts +38 -0
  56. package/bulleted-list/types.js +5 -0
  57. package/button/Button.accessibility.test.js +127 -0
  58. package/button/Button.d.ts +1 -1
  59. package/button/Button.js +65 -121
  60. package/button/Button.stories.tsx +155 -106
  61. package/button/Button.test.js +38 -0
  62. package/button/types.d.ts +14 -14
  63. package/card/Card.accessibility.test.js +36 -0
  64. package/card/Card.d.ts +1 -1
  65. package/card/Card.js +59 -104
  66. package/card/Card.stories.tsx +171 -0
  67. package/card/Card.test.js +39 -0
  68. package/card/types.d.ts +8 -15
  69. package/checkbox/Checkbox.accessibility.test.js +87 -0
  70. package/checkbox/Checkbox.d.ts +2 -2
  71. package/checkbox/Checkbox.js +145 -183
  72. package/checkbox/Checkbox.stories.tsx +166 -136
  73. package/checkbox/Checkbox.test.js +199 -0
  74. package/checkbox/types.d.ts +20 -8
  75. package/chip/Chip.accessibility.test.js +67 -0
  76. package/chip/Chip.d.ts +4 -0
  77. package/chip/Chip.js +49 -146
  78. package/chip/Chip.stories.tsx +104 -30
  79. package/chip/Chip.test.js +41 -0
  80. package/chip/types.d.ts +45 -0
  81. package/chip/types.js +5 -0
  82. package/common/coreTokens.d.ts +237 -0
  83. package/common/coreTokens.js +184 -0
  84. package/common/utils.d.ts +1 -0
  85. package/common/utils.js +6 -12
  86. package/common/variables.d.ts +1395 -0
  87. package/common/variables.js +1034 -1344
  88. package/container/Container.d.ts +4 -0
  89. package/container/Container.js +194 -0
  90. package/container/Container.stories.tsx +214 -0
  91. package/container/types.d.ts +74 -0
  92. package/container/types.js +5 -0
  93. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  94. package/contextual-menu/ContextualMenu.d.ts +7 -0
  95. package/contextual-menu/ContextualMenu.js +71 -0
  96. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  97. package/contextual-menu/ContextualMenu.test.js +71 -0
  98. package/contextual-menu/MenuItemAction.d.ts +4 -0
  99. package/contextual-menu/MenuItemAction.js +46 -0
  100. package/contextual-menu/types.d.ts +22 -0
  101. package/contextual-menu/types.js +5 -0
  102. package/date-input/Calendar.d.ts +4 -0
  103. package/date-input/Calendar.js +214 -0
  104. package/date-input/DateInput.accessibility.test.js +216 -0
  105. package/date-input/DateInput.js +174 -313
  106. package/date-input/DateInput.stories.tsx +203 -56
  107. package/date-input/DateInput.test.js +808 -0
  108. package/date-input/DatePicker.d.ts +4 -0
  109. package/date-input/DatePicker.js +121 -0
  110. package/date-input/YearPicker.d.ts +4 -0
  111. package/date-input/YearPicker.js +100 -0
  112. package/date-input/types.d.ts +86 -22
  113. package/dialog/Dialog.accessibility.test.js +69 -0
  114. package/dialog/Dialog.d.ts +1 -1
  115. package/dialog/Dialog.js +69 -130
  116. package/dialog/Dialog.stories.tsx +320 -167
  117. package/dialog/Dialog.test.js +307 -0
  118. package/dialog/types.d.ts +18 -25
  119. package/divider/Divider.accessibility.test.js +33 -0
  120. package/divider/Divider.d.ts +4 -0
  121. package/divider/Divider.js +36 -0
  122. package/divider/Divider.stories.tsx +223 -0
  123. package/divider/Divider.test.js +38 -0
  124. package/divider/types.d.ts +21 -0
  125. package/divider/types.js +5 -0
  126. package/dropdown/Dropdown.accessibility.test.js +180 -0
  127. package/dropdown/Dropdown.d.ts +1 -1
  128. package/dropdown/Dropdown.js +232 -330
  129. package/dropdown/Dropdown.stories.tsx +427 -0
  130. package/dropdown/Dropdown.test.js +599 -0
  131. package/dropdown/DropdownMenu.d.ts +4 -0
  132. package/dropdown/DropdownMenu.js +63 -0
  133. package/dropdown/DropdownMenuItem.d.ts +4 -0
  134. package/dropdown/DropdownMenuItem.js +70 -0
  135. package/dropdown/types.d.ts +38 -31
  136. package/file-input/FileInput.accessibility.test.js +160 -0
  137. package/file-input/FileInput.d.ts +4 -0
  138. package/file-input/FileInput.js +274 -363
  139. package/file-input/FileInput.stories.tsx +618 -0
  140. package/file-input/FileInput.test.js +382 -0
  141. package/file-input/FileItem.d.ts +4 -0
  142. package/file-input/FileItem.js +61 -133
  143. package/file-input/types.d.ts +129 -0
  144. package/file-input/types.js +5 -0
  145. package/flex/Flex.d.ts +4 -0
  146. package/flex/Flex.js +57 -0
  147. package/flex/Flex.stories.tsx +112 -0
  148. package/flex/types.d.ts +97 -0
  149. package/flex/types.js +5 -0
  150. package/footer/Footer.accessibility.test.js +117 -0
  151. package/footer/Footer.d.ts +1 -1
  152. package/footer/Footer.js +74 -200
  153. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +84 -39
  154. package/footer/Footer.test.js +85 -0
  155. package/footer/Icons.d.ts +3 -0
  156. package/footer/Icons.js +67 -8
  157. package/footer/types.d.ts +41 -38
  158. package/grid/Grid.d.ts +7 -0
  159. package/grid/Grid.js +76 -0
  160. package/grid/Grid.stories.tsx +219 -0
  161. package/grid/types.d.ts +115 -0
  162. package/grid/types.js +5 -0
  163. package/header/Header.accessibility.test.js +84 -0
  164. package/header/Header.d.ts +4 -3
  165. package/header/Header.js +103 -218
  166. package/header/Header.stories.tsx +251 -0
  167. package/header/Header.test.js +66 -0
  168. package/header/Icons.d.ts +2 -0
  169. package/header/Icons.js +4 -9
  170. package/header/types.d.ts +6 -18
  171. package/heading/Heading.accessibility.test.js +33 -0
  172. package/heading/Heading.js +11 -33
  173. package/heading/Heading.stories.tsx +54 -0
  174. package/heading/Heading.test.js +169 -0
  175. package/heading/types.d.ts +7 -7
  176. package/icon/Icon.accessibility.test.js +30 -0
  177. package/icon/Icon.d.ts +4 -0
  178. package/icon/Icon.js +33 -0
  179. package/icon/Icon.stories.tsx +28 -0
  180. package/icon/types.d.ts +4 -0
  181. package/icon/types.js +5 -0
  182. package/image/Image.accessibility.test.js +56 -0
  183. package/image/Image.d.ts +4 -0
  184. package/image/Image.js +70 -0
  185. package/image/Image.stories.tsx +129 -0
  186. package/image/types.d.ts +72 -0
  187. package/image/types.js +5 -0
  188. package/inset/Inset.d.ts +3 -0
  189. package/inset/Inset.js +43 -0
  190. package/inset/Inset.stories.tsx +230 -0
  191. package/inset/types.d.ts +37 -0
  192. package/inset/types.js +5 -0
  193. package/layout/ApplicationLayout.d.ts +20 -0
  194. package/layout/ApplicationLayout.js +83 -184
  195. package/layout/ApplicationLayout.stories.tsx +162 -0
  196. package/layout/Icons.d.ts +8 -0
  197. package/layout/Icons.js +49 -48
  198. package/layout/types.d.ts +41 -0
  199. package/layout/types.js +5 -0
  200. package/link/Link.accessibility.test.js +112 -0
  201. package/link/Link.d.ts +3 -2
  202. package/link/Link.js +65 -109
  203. package/link/Link.stories.tsx +199 -16
  204. package/link/Link.test.js +63 -0
  205. package/link/types.d.ts +15 -35
  206. package/main.d.ts +19 -14
  207. package/main.js +92 -98
  208. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  209. package/nav-tabs/NavTabs.d.ts +7 -0
  210. package/nav-tabs/NavTabs.js +93 -0
  211. package/nav-tabs/NavTabs.stories.tsx +279 -0
  212. package/nav-tabs/NavTabs.test.js +75 -0
  213. package/nav-tabs/NavTabsContext.d.ts +3 -0
  214. package/nav-tabs/NavTabsContext.js +8 -0
  215. package/nav-tabs/Tab.d.ts +4 -0
  216. package/nav-tabs/Tab.js +117 -0
  217. package/nav-tabs/types.d.ts +52 -0
  218. package/nav-tabs/types.js +5 -0
  219. package/number-input/NumberInput.accessibility.test.js +228 -0
  220. package/number-input/NumberInput.js +48 -48
  221. package/number-input/NumberInput.stories.tsx +44 -28
  222. package/number-input/NumberInput.test.js +989 -0
  223. package/number-input/NumberInputContext.d.ts +3 -0
  224. package/number-input/NumberInputContext.js +3 -11
  225. package/number-input/types.d.ts +34 -15
  226. package/package.json +52 -51
  227. package/paginator/Icons.d.ts +5 -0
  228. package/paginator/Icons.js +21 -47
  229. package/paginator/Paginator.accessibility.test.js +79 -0
  230. package/paginator/Paginator.js +35 -98
  231. package/paginator/Paginator.stories.tsx +24 -0
  232. package/paginator/Paginator.test.js +335 -0
  233. package/paginator/types.d.ts +3 -3
  234. package/paragraph/Paragraph.accessibility.test.js +28 -0
  235. package/paragraph/Paragraph.d.ts +5 -0
  236. package/paragraph/Paragraph.js +22 -0
  237. package/paragraph/Paragraph.stories.tsx +27 -0
  238. package/password-input/Icons.d.ts +6 -0
  239. package/password-input/Icons.js +35 -0
  240. package/password-input/PasswordInput.accessibility.test.js +153 -0
  241. package/password-input/PasswordInput.js +60 -125
  242. package/password-input/PasswordInput.stories.tsx +3 -35
  243. package/password-input/PasswordInput.test.js +198 -0
  244. package/password-input/types.d.ts +35 -24
  245. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  246. package/progress-bar/ProgressBar.js +66 -92
  247. package/progress-bar/ProgressBar.stories.tsx +93 -0
  248. package/progress-bar/ProgressBar.test.js +93 -0
  249. package/progress-bar/types.d.ts +3 -3
  250. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  251. package/quick-nav/QuickNav.d.ts +4 -0
  252. package/quick-nav/QuickNav.js +94 -0
  253. package/quick-nav/QuickNav.stories.tsx +356 -0
  254. package/quick-nav/types.d.ts +21 -0
  255. package/quick-nav/types.js +5 -0
  256. package/radio-group/Radio.d.ts +4 -0
  257. package/radio-group/Radio.js +124 -0
  258. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  259. package/radio-group/RadioGroup.d.ts +4 -0
  260. package/radio-group/RadioGroup.js +235 -0
  261. package/radio-group/RadioGroup.stories.tsx +214 -0
  262. package/radio-group/RadioGroup.test.js +756 -0
  263. package/radio-group/types.d.ts +114 -0
  264. package/radio-group/types.js +5 -0
  265. package/resultset-table/Icons.d.ts +7 -0
  266. package/resultset-table/Icons.js +47 -0
  267. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  268. package/resultset-table/ResultsetTable.d.ts +7 -0
  269. package/resultset-table/ResultsetTable.js +170 -0
  270. package/resultset-table/ResultsetTable.stories.tsx +401 -0
  271. package/resultset-table/ResultsetTable.test.js +381 -0
  272. package/resultset-table/types.d.ts +100 -0
  273. package/resultset-table/types.js +5 -0
  274. package/select/Icons.d.ts +10 -0
  275. package/select/Icons.js +89 -0
  276. package/select/Listbox.d.ts +4 -0
  277. package/select/Listbox.js +143 -0
  278. package/select/Option.d.ts +4 -0
  279. package/select/Option.js +87 -0
  280. package/select/Select.accessibility.test.js +217 -0
  281. package/select/Select.d.ts +4 -0
  282. package/select/Select.js +240 -515
  283. package/select/Select.stories.tsx +602 -204
  284. package/select/Select.test.js +2370 -0
  285. package/select/types.d.ts +209 -0
  286. package/select/types.js +5 -0
  287. package/sidenav/Sidenav.accessibility.test.js +59 -0
  288. package/sidenav/Sidenav.d.ts +6 -5
  289. package/sidenav/Sidenav.js +137 -72
  290. package/sidenav/Sidenav.stories.tsx +277 -0
  291. package/sidenav/Sidenav.test.js +37 -0
  292. package/sidenav/SidenavContext.d.ts +5 -0
  293. package/sidenav/SidenavContext.js +13 -0
  294. package/sidenav/types.d.ts +52 -26
  295. package/slider/Slider.accessibility.test.js +104 -0
  296. package/slider/Slider.d.ts +2 -2
  297. package/slider/Slider.js +150 -182
  298. package/slider/Slider.test.js +254 -0
  299. package/slider/types.d.ts +11 -3
  300. package/spinner/Spinner.accessibility.test.js +96 -0
  301. package/spinner/Spinner.js +32 -76
  302. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
  303. package/spinner/Spinner.test.js +55 -0
  304. package/spinner/types.d.ts +3 -3
  305. package/status-light/StatusLight.accessibility.test.js +157 -0
  306. package/status-light/StatusLight.d.ts +4 -0
  307. package/status-light/StatusLight.js +51 -0
  308. package/status-light/StatusLight.stories.tsx +74 -0
  309. package/status-light/StatusLight.test.js +25 -0
  310. package/status-light/types.d.ts +17 -0
  311. package/status-light/types.js +5 -0
  312. package/switch/Switch.accessibility.test.js +89 -0
  313. package/switch/Switch.d.ts +2 -2
  314. package/switch/Switch.js +150 -115
  315. package/switch/Switch.stories.tsx +45 -68
  316. package/switch/Switch.test.js +180 -0
  317. package/switch/types.d.ts +13 -5
  318. package/table/DropdownTheme.js +62 -0
  319. package/table/Table.accessibility.test.js +82 -0
  320. package/table/Table.d.ts +6 -2
  321. package/table/Table.js +80 -37
  322. package/table/Table.stories.tsx +651 -0
  323. package/table/Table.test.js +113 -0
  324. package/table/types.d.ts +34 -6
  325. package/tabs/Tab.d.ts +4 -0
  326. package/tabs/Tab.js +117 -0
  327. package/tabs/Tabs.accessibility.test.js +56 -0
  328. package/tabs/Tabs.d.ts +1 -1
  329. package/tabs/Tabs.js +307 -145
  330. package/tabs/Tabs.stories.tsx +224 -0
  331. package/tabs/Tabs.test.js +276 -0
  332. package/tabs/types.d.ts +48 -27
  333. package/tag/Tag.accessibility.test.js +69 -0
  334. package/tag/Tag.d.ts +1 -1
  335. package/tag/Tag.js +44 -86
  336. package/tag/Tag.stories.tsx +37 -30
  337. package/tag/Tag.test.js +41 -0
  338. package/tag/types.d.ts +25 -16
  339. package/text-input/Suggestion.d.ts +4 -0
  340. package/text-input/Suggestion.js +67 -0
  341. package/text-input/Suggestions.d.ts +4 -0
  342. package/text-input/Suggestions.js +86 -0
  343. package/text-input/TextInput.accessibility.test.js +321 -0
  344. package/text-input/TextInput.d.ts +4 -0
  345. package/text-input/TextInput.js +335 -593
  346. package/text-input/TextInput.stories.tsx +465 -0
  347. package/text-input/TextInput.test.js +1756 -0
  348. package/text-input/types.d.ts +205 -0
  349. package/text-input/types.js +5 -0
  350. package/textarea/Textarea.accessibility.test.js +155 -0
  351. package/textarea/Textarea.d.ts +4 -0
  352. package/textarea/Textarea.js +98 -181
  353. package/textarea/Textarea.stories.tsx +174 -0
  354. package/textarea/Textarea.test.js +406 -0
  355. package/textarea/types.d.ts +141 -0
  356. package/textarea/types.js +5 -0
  357. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  358. package/toggle-group/ToggleGroup.d.ts +4 -0
  359. package/toggle-group/ToggleGroup.js +101 -142
  360. package/toggle-group/ToggleGroup.stories.tsx +79 -39
  361. package/toggle-group/ToggleGroup.test.js +137 -0
  362. package/toggle-group/types.d.ts +114 -0
  363. package/toggle-group/types.js +5 -0
  364. package/typography/Typography.accessibility.test.js +339 -0
  365. package/typography/Typography.d.ts +4 -0
  366. package/typography/Typography.js +23 -0
  367. package/typography/Typography.stories.tsx +198 -0
  368. package/typography/types.d.ts +18 -0
  369. package/typography/types.js +5 -0
  370. package/useTheme.d.ts +1148 -0
  371. package/useTheme.js +4 -11
  372. package/useTranslatedLabels.d.ts +85 -0
  373. package/useTranslatedLabels.js +14 -0
  374. package/utils/BaseTypography.d.ts +21 -0
  375. package/utils/BaseTypography.js +94 -0
  376. package/utils/FocusLock.d.ts +13 -0
  377. package/utils/FocusLock.js +124 -0
  378. package/wizard/Wizard.accessibility.test.js +55 -0
  379. package/wizard/Wizard.d.ts +1 -1
  380. package/wizard/Wizard.js +123 -104
  381. package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +48 -19
  382. package/wizard/Wizard.test.js +114 -0
  383. package/wizard/types.d.ts +15 -15
  384. package/ThemeContext.js +0 -246
  385. package/V3Select/V3Select.js +0 -455
  386. package/V3Select/index.d.ts +0 -27
  387. package/V3Textarea/V3Textarea.js +0 -260
  388. package/V3Textarea/index.d.ts +0 -27
  389. package/chip/index.d.ts +0 -22
  390. package/common/OpenSans.css +0 -81
  391. package/common/RequiredComponent.js +0 -32
  392. package/common/fonts/OpenSans-Bold.ttf +0 -0
  393. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  394. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  395. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  396. package/common/fonts/OpenSans-Italic.ttf +0 -0
  397. package/common/fonts/OpenSans-Light.ttf +0 -0
  398. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  399. package/common/fonts/OpenSans-Regular.ttf +0 -0
  400. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  401. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  402. package/date/Date.js +0 -373
  403. package/date/index.d.ts +0 -27
  404. package/file-input/index.d.ts +0 -81
  405. package/input-text/Icons.js +0 -22
  406. package/input-text/InputText.js +0 -611
  407. package/input-text/index.d.ts +0 -36
  408. package/progress-bar/ProgressBar.stories.jsx +0 -58
  409. package/radio/Radio.d.ts +0 -4
  410. package/radio/Radio.js +0 -174
  411. package/radio/Radio.stories.tsx +0 -192
  412. package/radio/types.d.ts +0 -54
  413. package/resultsetTable/ResultsetTable.js +0 -274
  414. package/resultsetTable/index.d.ts +0 -19
  415. package/select/index.d.ts +0 -131
  416. package/slider/Slider.stories.tsx +0 -177
  417. package/table/Table.stories.jsx +0 -276
  418. package/text-input/index.d.ts +0 -135
  419. package/textarea/Textarea.stories.jsx +0 -135
  420. package/textarea/index.d.ts +0 -117
  421. package/toggle/Toggle.js +0 -186
  422. package/toggle/index.d.ts +0 -21
  423. package/toggle-group/index.d.ts +0 -21
  424. package/upload/Upload.js +0 -201
  425. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  426. package/upload/buttons-upload/Icons.js +0 -40
  427. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  428. package/upload/dragAndDropArea/Icons.js +0 -39
  429. package/upload/file-upload/FileToUpload.js +0 -115
  430. package/upload/file-upload/Icons.js +0 -66
  431. package/upload/files-upload/FilesToUpload.js +0 -109
  432. package/upload/index.d.ts +0 -15
  433. package/upload/transaction/Icons.js +0 -160
  434. package/upload/transaction/Transaction.js +0 -104
  435. package/upload/transactions/Transactions.js +0 -94
  436. package/wizard/Icons.js +0 -65
  437. /package/{radio → action-icon}/types.js +0 -0
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _jestAxe = require("jest-axe");
9
+ var _Switch = _interopRequireDefault(require("./Switch.tsx"));
10
+ describe("Switch component accessibility tests", function () {
11
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
12
+ var _render, container, results;
13
+ return _regenerator["default"].wrap(function _callee$(_context) {
14
+ while (1) switch (_context.prev = _context.next) {
15
+ case 0:
16
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
17
+ label: "Default label",
18
+ defaultChecked: true,
19
+ value: "test-defaultChecked",
20
+ name: "test",
21
+ labelPosition: "after",
22
+ margin: "medium",
23
+ size: "medium",
24
+ checked: true
25
+ })), container = _render.container;
26
+ _context.next = 3;
27
+ return (0, _jestAxe.axe)(container);
28
+ case 3:
29
+ results = _context.sent;
30
+ expect(results).toHaveNoViolations();
31
+ case 5:
32
+ case "end":
33
+ return _context.stop();
34
+ }
35
+ }, _callee);
36
+ })));
37
+ it("Should not have basic accessibility issues for optional mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
38
+ var _render2, container, results;
39
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
40
+ while (1) switch (_context2.prev = _context2.next) {
41
+ case 0:
42
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
43
+ label: "Default label",
44
+ defaultChecked: true,
45
+ value: "test-defaultChecked",
46
+ name: "test",
47
+ labelPosition: "after",
48
+ margin: "medium",
49
+ size: "medium",
50
+ optional: true
51
+ })), container = _render2.container;
52
+ _context2.next = 3;
53
+ return (0, _jestAxe.axe)(container);
54
+ case 3:
55
+ results = _context2.sent;
56
+ expect(results).toHaveNoViolations();
57
+ case 5:
58
+ case "end":
59
+ return _context2.stop();
60
+ }
61
+ }, _callee2);
62
+ })));
63
+ it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
64
+ var _render3, container, results;
65
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
66
+ while (1) switch (_context3.prev = _context3.next) {
67
+ case 0:
68
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
69
+ label: "Default label",
70
+ defaultChecked: true,
71
+ value: "test-defaultChecked",
72
+ name: "test",
73
+ labelPosition: "after",
74
+ margin: "medium",
75
+ size: "medium",
76
+ disabled: true
77
+ })), container = _render3.container;
78
+ _context3.next = 3;
79
+ return (0, _jestAxe.axe)(container);
80
+ case 3:
81
+ results = _context3.sent;
82
+ expect(results).toHaveNoViolations();
83
+ case 5:
84
+ case "end":
85
+ return _context3.stop();
86
+ }
87
+ }, _callee3);
88
+ })));
89
+ });
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
2
  import SwitchPropsType from "./types";
3
- declare const DxcSwitch: ({ checked, value, label, labelPosition, name, disabled, onChange, required, margin, size, tabIndex, }: SwitchPropsType) => JSX.Element;
3
+ declare const DxcSwitch: React.ForwardRefExoticComponent<SwitchPropsType & React.RefAttributes<HTMLDivElement>>;
4
4
  export default DxcSwitch;
package/switch/Switch.js CHANGED
@@ -1,122 +1,165 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
- var _core = require("@material-ui/core");
23
-
24
- var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
25
-
26
- var _variables = require("../common/variables.js");
27
-
28
- var _utils = require("../common/utils.js");
29
-
30
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
31
-
32
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
33
-
34
- var _templateObject, _templateObject2;
35
-
36
- 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); }
37
-
38
- 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; }
39
-
40
- var DxcSwitch = function DxcSwitch(_ref) {
41
- var checked = _ref.checked,
42
- value = _ref.value,
43
- _ref$label = _ref.label,
44
- label = _ref$label === void 0 ? "" : _ref$label,
45
- _ref$labelPosition = _ref.labelPosition,
46
- labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
47
- _ref$name = _ref.name,
48
- name = _ref$name === void 0 ? "" : _ref$name,
49
- _ref$disabled = _ref.disabled,
50
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
51
- onChange = _ref.onChange,
52
- _ref$required = _ref.required,
53
- required = _ref$required === void 0 ? false : _ref$required,
54
- margin = _ref.margin,
55
- _ref$size = _ref.size,
56
- size = _ref$size === void 0 ? "fitContent" : _ref$size,
57
- _ref$tabIndex = _ref.tabIndex,
58
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
59
-
60
- var _useState = (0, _react.useState)(false),
61
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
62
- innerChecked = _useState2[0],
63
- setInnerChecked = _useState2[1];
64
-
14
+ var _uuid = require("uuid");
15
+ var _variables = require("../common/variables");
16
+ var _utils = require("../common/utils");
17
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
18
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
19
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
20
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
21
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
22
+ var DxcSwitch = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
23
+ var defaultChecked = _ref.defaultChecked,
24
+ checked = _ref.checked,
25
+ value = _ref.value,
26
+ _ref$label = _ref.label,
27
+ label = _ref$label === void 0 ? "" : _ref$label,
28
+ _ref$labelPosition = _ref.labelPosition,
29
+ labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
30
+ _ref$name = _ref.name,
31
+ name = _ref$name === void 0 ? "" : _ref$name,
32
+ _ref$disabled = _ref.disabled,
33
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
34
+ _ref$optional = _ref.optional,
35
+ optional = _ref$optional === void 0 ? false : _ref$optional,
36
+ onChange = _ref.onChange,
37
+ margin = _ref.margin,
38
+ _ref$size = _ref.size,
39
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
40
+ _ref$tabIndex = _ref.tabIndex,
41
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
42
+ var _useState = (0, _react.useState)("switch-".concat((0, _uuid.v4)())),
43
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
44
+ switchId = _useState2[0];
45
+ var labelId = "label-".concat(switchId);
46
+ var _useState3 = (0, _react.useState)(defaultChecked !== null && defaultChecked !== void 0 ? defaultChecked : false),
47
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
48
+ innerChecked = _useState4[0],
49
+ setInnerChecked = _useState4[1];
65
50
  var colorsTheme = (0, _useTheme["default"])();
66
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
67
-
51
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
52
+ var refTrack = (0, _react.useRef)(null);
53
+ var handleOnKeyDown = function handleOnKeyDown(event) {
54
+ switch (event.key) {
55
+ case "Enter":
56
+ case " ":
57
+ // Space
58
+ event.preventDefault();
59
+ refTrack.current.focus();
60
+ var isChecked = !(checked !== null && checked !== void 0 ? checked : innerChecked);
61
+ setInnerChecked(isChecked);
62
+ onChange === null || onChange === void 0 ? void 0 : onChange(isChecked);
63
+ break;
64
+ }
65
+ };
68
66
  var handlerSwitchChange = function handlerSwitchChange(event) {
69
- if (checked === undefined) {
70
- var _event$target$checked;
71
-
72
- var isChecked = (_event$target$checked = event.target.checked) !== null && _event$target$checked !== void 0 ? _event$target$checked : !innerChecked;
73
- setInnerChecked(isChecked);
74
- onChange === null || onChange === void 0 ? void 0 : onChange(isChecked);
75
- } else onChange === null || onChange === void 0 ? void 0 : onChange(!checked);
67
+ checked !== null && checked !== void 0 ? checked : setInnerChecked(function (innerChecked) {
68
+ return !innerChecked;
69
+ });
70
+ onChange === null || onChange === void 0 ? void 0 : onChange(checked ? !checked : !innerChecked);
76
71
  };
77
-
78
72
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
79
73
  theme: colorsTheme["switch"]
80
74
  }, /*#__PURE__*/_react["default"].createElement(SwitchContainer, {
81
75
  margin: margin,
76
+ size: size,
77
+ onKeyDown: handleOnKeyDown,
82
78
  disabled: disabled,
79
+ onClick: !disabled ? handlerSwitchChange : undefined,
80
+ ref: ref
81
+ }, labelPosition === "before" && label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
82
+ id: labelId,
83
83
  labelPosition: labelPosition,
84
- size: size,
85
- backgroundType: backgroundType
86
- }, /*#__PURE__*/_react["default"].createElement(_core.Switch, {
87
- checked: checked !== null && checked !== void 0 ? checked : innerChecked,
88
- inputProps: {
89
- name: name,
90
- tabIndex: tabIndex
91
- },
92
- onChange: handlerSwitchChange,
84
+ disabled: disabled,
85
+ label: label
86
+ }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, translatedLabels.formFields.optionalLabel)), /*#__PURE__*/_react["default"].createElement(ValueInput, {
87
+ type: "checkbox",
88
+ name: name,
89
+ "aria-hidden": true,
93
90
  value: value,
94
91
  disabled: disabled,
95
- disableRipple: true
96
- }), /*#__PURE__*/_react["default"].createElement(LabelContainer, {
92
+ checked: checked !== null && checked !== void 0 ? checked : innerChecked,
93
+ readOnly: true
94
+ }), /*#__PURE__*/_react["default"].createElement(SwitchBase, null, /*#__PURE__*/_react["default"].createElement(SwitchTrack, {
95
+ role: "switch",
96
+ "aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked,
97
+ "aria-disabled": disabled,
98
+ disabled: disabled,
99
+ "aria-labelledby": labelId,
100
+ tabIndex: !disabled ? tabIndex : -1,
101
+ ref: refTrack
102
+ })), labelPosition === "after" && label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
103
+ id: labelId,
97
104
  labelPosition: labelPosition,
98
- onClick: !disabled && handlerSwitchChange,
99
105
  disabled: disabled,
100
- backgroundType: backgroundType
101
- }, required && /*#__PURE__*/_react["default"].createElement(_RequiredComponent["default"], null), label)));
102
- };
103
-
106
+ label: label
107
+ }, optional && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, translatedLabels.formFields.optionalLabel), " ", label)));
108
+ });
104
109
  var sizes = {
105
110
  small: "60px",
106
111
  medium: "240px",
107
112
  large: "480px",
108
113
  fillParent: "100%",
109
- fitContent: "unset"
114
+ fitContent: "fit-content"
110
115
  };
111
-
112
116
  var calculateWidth = function calculateWidth(margin, size) {
113
117
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
114
118
  };
115
-
116
- var SwitchContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n display: inline-flex;\n align-items: center;\n flex-direction: ", ";\n \n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n cursor: ", ";\n\n .MuiSwitch-root {\n align-items: center;\n width: ", ";\n height: 45px;\n margin: 3px;\n\n .Mui-focusVisible {\n outline: ", ";\n outline-offset: -3px;\n }\n\n .MuiSwitch-track {\n /*Enabled and unchecked bar*/\n background-color: ", ";\n height: ", ";\n }\n\n .MuiSwitch-switchBase + .MuiSwitch-track {\n opacity: 1;\n }\n\n .MuiIconButton-root {\n /*Enabled and unchecked*/\n top: unset;\n .MuiSwitch-thumb {\n /*Only for thumb in all states*/\n width: ", ";\n height: ", ";\n }\n color: ", ";\n &:hover {\n background-color: transparent;\n }\n &.Mui-disabled {\n /*Disabled and unchecked*/\n color: ", ";\n + .MuiSwitch-track {\n /*Disabled and unchecked bar*/\n background-color: ", ";\n }\n }\n &.Mui-disabled.Mui-checked {\n /*Disabled and checked*/\n color: ", ";\n + .MuiSwitch-track {\n /*Disabled and checked bar*/\n background-color: ", ";\n }\n }\n &.Mui-checked {\n /*Enabled and checked*/\n color: ", ";\n transform: translateX(", ");\n &:hover {\n background-color: transparent;\n }\n + .MuiSwitch-track {\n /*Enabled and checked bar*/\n background-color: ", ";\n }\n }\n }\n }\n"])), function (props) {
119
+ var getDisabledColor = function getDisabledColor(theme, element, subElement) {
120
+ switch (element) {
121
+ case "track":
122
+ switch (subElement) {
123
+ case "check":
124
+ return theme.disabledCheckedTrackBackgroundColor;
125
+ case "uncheck":
126
+ return theme.disabledUncheckedTrackBackgroundColor;
127
+ }
128
+ case "thumb":
129
+ switch (subElement) {
130
+ case "check":
131
+ return theme.disabledCheckedThumbBackgroundColor;
132
+ case "uncheck":
133
+ return theme.disabledUncheckedThumbBackgroundColor;
134
+ }
135
+ case "label":
136
+ return theme.disabledLabelFontColor;
137
+ }
138
+ };
139
+ var getNotDisabledColor = function getNotDisabledColor(theme, element, subElement) {
140
+ switch (element) {
141
+ case "track":
142
+ switch (subElement) {
143
+ case "check":
144
+ return theme.checkedTrackBackgroundColor;
145
+ case "uncheck":
146
+ return theme.uncheckedTrackBackgroundColor;
147
+ }
148
+ case "thumb":
149
+ switch (subElement) {
150
+ case "check":
151
+ return theme.checkedThumbBackgroundColor;
152
+ case "uncheck":
153
+ return theme.uncheckedThumbBackgroundColor;
154
+ }
155
+ case "label":
156
+ return theme.labelFontColor;
157
+ }
158
+ };
159
+ var SwitchContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n width: ", ";\n height: 40px;\n cursor: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
117
160
  return calculateWidth(props.margin, props.size);
118
161
  }, function (props) {
119
- return props.labelPosition === "after" ? "row" : "row-reverse";
162
+ return props.disabled === true ? "not-allowed" : "pointer";
120
163
  }, function (props) {
121
164
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
122
165
  }, function (props) {
@@ -127,53 +170,45 @@ var SwitchContainer = _styledComponents["default"].div(_templateObject || (_temp
127
170
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
128
171
  }, function (props) {
129
172
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
173
+ });
174
+ var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: ", ";\n opacity: 1;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n\n ", ";\n\n ", "\n"])), function (props) {
175
+ return props.disabled ? getDisabledColor(props.theme, "label") : getNotDisabledColor(props.theme, "label");
130
176
  }, function (props) {
131
- return props.disabled ? "not-allowed" : "default";
132
- }, function (props) {
133
- return props.theme.trackWidth;
134
- }, function (props) {
135
- return "".concat(props.backgroundType === "dark" ? props.theme.thumbFocusColorOnDark : props.theme.thumbFocusColor, " solid 2px");
136
- }, function (props) {
137
- return props.backgroundType === "dark" ? props.theme.uncheckedTrackBackgroundColorOnDark : props.theme.uncheckedTrackBackgroundColor;
138
- }, function (props) {
139
- return props.theme.trackHeight;
140
- }, function (props) {
141
- return props.theme.thumbWidth;
177
+ return props.theme.labelFontFamily;
142
178
  }, function (props) {
143
- return props.theme.thumbHeight;
179
+ return props.theme.labelFontSize;
144
180
  }, function (props) {
145
- return props.backgroundType === "dark" ? props.theme.uncheckedThumbBackgroundColorOnDark : props.theme.uncheckedThumbBackgroundColor;
181
+ return props.disabled ? props.theme.disabledLabelFontStyle : props.theme.labelFontStyle;
146
182
  }, function (props) {
147
- return props.backgroundType === "dark" ? props.theme.disabledUncheckedThumbBackgroundColorOnDark : props.theme.disabledUncheckedThumbBackgroundColor;
183
+ return props.theme.labelFontWeight;
148
184
  }, function (props) {
149
- return props.backgroundType === "dark" ? props.theme.disabledUncheckedTrackBackgroundColorOnDark : props.theme.disabledUncheckedTrackBackgroundColor;
185
+ return !props.label ? "margin: 0px;" : props.labelPosition === "after" ? "margin-left: ".concat(props.theme.spaceBetweenLabelSwitch, ";") : "margin-right: ".concat(props.theme.spaceBetweenLabelSwitch, ";");
150
186
  }, function (props) {
151
- return props.backgroundType === "dark" ? props.theme.disabledCheckedThumbBackgroundColorOnDark : props.theme.disabledCheckedThumbBackgroundColor;
187
+ return props.labelPosition === "before" && "order: -1";
188
+ });
189
+ var SwitchBase = _styledComponents["default"].label(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n margin: 0px 12px;\n"])));
190
+ var ValueInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
191
+ var SwitchTrack = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n border-radius: 15px;\n width: ", ";\n height: ", ";\n position: relative;\n cursor: ", ";\n\n &:focus-visible {\n outline: none;\n ::before {\n outline: ", ";\n outline-offset: 6px;\n }\n }\n\n /* Thumb element */\n ::before {\n content: \"\";\n transform: initial;\n position: absolute;\n width: ", ";\n height: ", ";\n border-radius: 50%;\n box-shadow: 0px 2px 1px -1px rgb(0 0 0 / 20%), 0px 1px 1px 0px rgb(0 0 0 / 14%), 0px 1px 3px 0px rgb(0 0 0 / 12%);\n bottom: -6px;\n left: -4px;\n transform: translateX(0px);\n background-color: ", ";\n }\n\n /* Unchecked */\n background-color: ", ";\n\n /* Checked */\n &[aria-checked=\"true\"] {\n background-color: ", ";\n ::before {\n transform: translateX(", ");\n background-color: ", ";\n }\n }\n"])), function (props) {
192
+ return props.theme.trackWidth;
152
193
  }, function (props) {
153
- return props.backgroundType === "dark" ? props.theme.disabledCheckedTrackBackgroundColorOnDark : props.theme.disabledCheckedTrackBackgroundColor;
194
+ return props.theme.trackHeight;
154
195
  }, function (props) {
155
- return props.backgroundType === "dark" ? props.theme.checkedThumbBackgroundColorOnDark : props.theme.checkedThumbBackgroundColor;
196
+ return props.disabled ? "not-allowed" : "pointer";
156
197
  }, function (props) {
157
- return props.theme.thumbShift;
198
+ return "".concat(props.theme.thumbFocusColor, " solid 2px");
158
199
  }, function (props) {
159
- return props.backgroundType === "dark" ? props.theme.checkedTrackBackgroundColorOnDark : props.theme.checkedTrackBackgroundColor;
160
- });
161
-
162
- var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: ", ";\n opacity: 1;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n cursor: ", ";\n ", "\n"])), function (props) {
163
- return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
200
+ return props.theme.thumbWidth;
164
201
  }, function (props) {
165
- return props.theme.labelFontFamily;
202
+ return props.theme.thumbHeight;
166
203
  }, function (props) {
167
- return props.theme.labelFontSize;
204
+ return props.disabled ? getDisabledColor(props.theme, "thumb", "uncheck") : getNotDisabledColor(props.theme, "thumb", "uncheck");
168
205
  }, function (props) {
169
- return props.disabled ? props.theme.disabledLabelFontStyle : props.theme.labelFontStyle;
206
+ return props.disabled ? getDisabledColor(props.theme, "track", "uncheck") : getNotDisabledColor(props.theme, "track", "uncheck");
170
207
  }, function (props) {
171
- return props.theme.labelFontWeight;
208
+ return props.disabled ? getDisabledColor(props.theme, "track", "check") : getNotDisabledColor(props.theme, "track", "check");
172
209
  }, function (props) {
173
- return props.disabled === true ? "not-allowed" : "pointer";
210
+ return props.theme.thumbShift;
174
211
  }, function (props) {
175
- return props.labelPosition === "after" ? "margin-left: ".concat(props.theme.spaceBetweenLabelSwitch, ";") : "margin-right: ".concat(props.theme.spaceBetweenLabelSwitch, ";");
212
+ return props.disabled ? getDisabledColor(props.theme, "thumb", "check") : getNotDisabledColor(props.theme, "thumb", "check");
176
213
  });
177
-
178
- var _default = DxcSwitch;
179
- exports["default"] = _default;
214
+ var _default = exports["default"] = DxcSwitch;
@@ -1,16 +1,21 @@
1
1
  import React from "react";
2
- import { userEvent, within } from "@storybook/testing-library";
3
2
  import DxcSwitch from "./Switch";
4
- import { BackgroundColorProvider } from "../BackgroundColorContext";
5
3
  import Title from "../../.storybook/components/Title";
6
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
7
- import DarkContainer from "../../.storybook/components/DarkSection";
5
+ import { HalstackProvider } from "../HalstackContext";
8
6
 
9
7
  export default {
10
8
  title: "Switch",
11
9
  component: DxcSwitch,
12
10
  };
13
11
 
12
+ const opinionatedTheme = {
13
+ switch: {
14
+ checkedBaseColor: "#5f249f",
15
+ fontColor: "#000000",
16
+ },
17
+ };
18
+
14
19
  export const Chromatic = () => (
15
20
  <>
16
21
  <ExampleContainer>
@@ -21,58 +26,34 @@ export const Chromatic = () => (
21
26
  <Title title="Without label" theme="light" level={4} />
22
27
  <DxcSwitch />
23
28
  </ExampleContainer>
29
+ <ExampleContainer pseudoState="pseudo-focus-visible">
30
+ <Title title="Focused" theme="light" level={4} />
31
+ <DxcSwitch label="Switch" labelPosition="after" />
32
+ </ExampleContainer>
24
33
  <ExampleContainer>
25
34
  <Title title="Checked" theme="light" level={4} />
26
- <DxcSwitch label="Switch" checked />
35
+ <DxcSwitch label="Switch" defaultChecked />
27
36
  </ExampleContainer>
28
37
  <ExampleContainer>
29
- <Title title="Required" theme="light" level={4} />
30
- <DxcSwitch label="Switch" required />
38
+ <Title title="Optional" theme="light" level={4} />
39
+ <DxcSwitch label="Switch" optional />
31
40
  </ExampleContainer>
32
41
  <ExampleContainer>
33
42
  <Title title="Disabled" theme="light" level={4} />
34
43
  <DxcSwitch label="Switch" disabled />
35
44
  </ExampleContainer>
36
45
  <ExampleContainer>
37
- <Title title="Disabled required" theme="light" level={4} />
38
- <DxcSwitch label="Switch" disabled required labelPosition="after" />
46
+ <Title title="Disabled optional" theme="light" level={4} />
47
+ <DxcSwitch label="Switch" disabled optional labelPosition="after" />
39
48
  </ExampleContainer>
40
49
  <ExampleContainer>
41
50
  <Title title="Disabled checked" theme="light" level={4} />
42
- <DxcSwitch label="Switch" disabled checked labelPosition="after" />
43
- </ExampleContainer>
44
- <BackgroundColorProvider color="#333333">
45
- <DarkContainer>
46
- <ExampleContainer>
47
- <Title title="With label" theme="dark" level={4} />
48
- <DxcSwitch label="Switch" />
49
- </ExampleContainer>
50
- <ExampleContainer>
51
- <Title title="Checked" theme="dark" level={4} />
52
- <DxcSwitch label="Switch" checked />
53
- </ExampleContainer>
54
- <ExampleContainer>
55
- <Title title="Required" theme="dark" level={4} />
56
- <DxcSwitch label="Switch" required />
57
- </ExampleContainer>
58
- <ExampleContainer>
59
- <Title title="Disabled" theme="dark" level={4} />
60
- <DxcSwitch label="Switch" disabled />
61
- </ExampleContainer>
62
- <ExampleContainer>
63
- <Title title="Disabled required" theme="dark" level={4} />
64
- <DxcSwitch label="Switch" disabled required labelPosition="after" />
65
- </ExampleContainer>
66
- <ExampleContainer>
67
- <Title title="Disabled checked" theme="dark" level={4} />
68
- <DxcSwitch label="Switch" disabled checked labelPosition="after" />
69
- </ExampleContainer>
70
- </DarkContainer>
71
- </BackgroundColorProvider>
51
+ <DxcSwitch label="Switch" disabled defaultChecked labelPosition="after" />
52
+ </ExampleContainer>
72
53
  <Title title="Margins" theme="light" level={2} />
73
54
  <ExampleContainer>
74
55
  <Title title="Xxsmall margin" theme="light" level={4} />
75
- <DxcSwitch label="Xxsmmall" margin="xxsmall" />
56
+ <DxcSwitch label="Xxsmall" margin="xxsmall" />
76
57
  </ExampleContainer>
77
58
  <ExampleContainer>
78
59
  <Title title="Xsmall margin" theme="light" level={4} />
@@ -127,34 +108,30 @@ export const Chromatic = () => (
127
108
  <Title title="FitContent size" theme="light" level={4} />
128
109
  <DxcSwitch label="FitContent" size="fitContent" />
129
110
  </ExampleContainer>
130
- </>
131
- );
132
-
133
- const Switch = () => (
134
- <ExampleContainer>
135
- <Title title="Focused" theme="light" level={4} />
136
- <DxcSwitch label="Switch" />
137
- </ExampleContainer>
138
- );
139
- export const FocusedSwitch = Switch.bind({});
140
- FocusedSwitch.play = async ({ canvasElement }) => {
141
- const canvas = within(canvasElement);
142
- canvas.getByRole("checkbox").focus();
143
- };
144
-
145
- const DarkSwitch = () => (
146
- <BackgroundColorProvider color="#333333">
147
- <DarkContainer>
148
- <ExampleContainer>
149
- <Title title="Focused" theme="dark" level={4} />
111
+ <Title title="Opinionated theme" theme="light" level={2} />
112
+ <ExampleContainer>
113
+ <Title title="Checked" theme="light" level={4} />
114
+ <HalstackProvider theme={opinionatedTheme}>
115
+ <DxcSwitch label="Switch" defaultChecked />
116
+ </HalstackProvider>
117
+ </ExampleContainer>
118
+ <ExampleContainer>
119
+ <Title title="Default" theme="light" level={4} />
120
+ <HalstackProvider theme={opinionatedTheme}>
150
121
  <DxcSwitch label="Switch" />
151
- </ExampleContainer>
152
- </DarkContainer>
153
- </BackgroundColorProvider>
122
+ </HalstackProvider>
123
+ </ExampleContainer>
124
+ <ExampleContainer>
125
+ <Title title="Disabled" theme="light" level={4} />
126
+ <HalstackProvider theme={opinionatedTheme}>
127
+ <DxcSwitch label="Switch" disabled />
128
+ </HalstackProvider>
129
+ </ExampleContainer>
130
+ <ExampleContainer>
131
+ <Title title="Disabled checked" theme="light" level={4} />
132
+ <HalstackProvider theme={opinionatedTheme}>
133
+ <DxcSwitch label="Switch" disabled defaultChecked />
134
+ </HalstackProvider>
135
+ </ExampleContainer>
136
+ </>
154
137
  );
155
-
156
- export const FocusedSwitchOnDark = DarkSwitch.bind({});
157
- FocusedSwitchOnDark.play = async ({ canvasElement }) => {
158
- const canvas = within(canvasElement);
159
- canvas.getByRole("checkbox").focus();
160
- };