@dxc-technology/halstack-react 0.0.0-80ae676 → 0.0.0-816f33d

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 (448) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +6 -26
  3. package/HalstackContext.d.ts +1248 -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 +106 -193
  9. package/accordion/Accordion.stories.tsx +241 -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 +41 -128
  30. package/alert/Alert.stories.tsx +198 -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 +119 -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 +310 -278
  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 +60 -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 +144 -182
  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 +51 -146
  78. package/chip/Chip.stories.tsx +199 -0
  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 +1394 -0
  87. package/common/variables.js +1035 -1346
  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 +97 -0
  94. package/contextual-menu/ContextualMenu.d.ts +5 -0
  95. package/contextual-menu/ContextualMenu.js +88 -0
  96. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  97. package/contextual-menu/ContextualMenu.test.js +205 -0
  98. package/contextual-menu/GroupItem.d.ts +4 -0
  99. package/contextual-menu/GroupItem.js +67 -0
  100. package/contextual-menu/ItemAction.d.ts +4 -0
  101. package/contextual-menu/ItemAction.js +52 -0
  102. package/contextual-menu/MenuItem.d.ts +4 -0
  103. package/contextual-menu/MenuItem.js +29 -0
  104. package/contextual-menu/SingleItem.d.ts +4 -0
  105. package/contextual-menu/SingleItem.js +38 -0
  106. package/contextual-menu/types.d.ts +58 -0
  107. package/contextual-menu/types.js +5 -0
  108. package/date-input/Calendar.d.ts +4 -0
  109. package/date-input/Calendar.js +214 -0
  110. package/date-input/DateInput.accessibility.test.js +228 -0
  111. package/date-input/DateInput.js +174 -313
  112. package/date-input/DateInput.stories.tsx +210 -56
  113. package/date-input/DateInput.test.js +808 -0
  114. package/date-input/DatePicker.d.ts +4 -0
  115. package/date-input/DatePicker.js +121 -0
  116. package/date-input/YearPicker.d.ts +4 -0
  117. package/date-input/YearPicker.js +100 -0
  118. package/date-input/types.d.ts +86 -22
  119. package/dialog/Dialog.accessibility.test.js +69 -0
  120. package/dialog/Dialog.d.ts +1 -1
  121. package/dialog/Dialog.js +57 -129
  122. package/dialog/Dialog.stories.tsx +371 -0
  123. package/dialog/Dialog.test.js +307 -0
  124. package/dialog/types.d.ts +18 -25
  125. package/divider/Divider.accessibility.test.js +33 -0
  126. package/divider/Divider.d.ts +4 -0
  127. package/divider/Divider.js +36 -0
  128. package/divider/Divider.stories.tsx +223 -0
  129. package/divider/Divider.test.js +38 -0
  130. package/divider/types.d.ts +21 -0
  131. package/divider/types.js +5 -0
  132. package/dropdown/Dropdown.accessibility.test.js +180 -0
  133. package/dropdown/Dropdown.d.ts +1 -1
  134. package/dropdown/Dropdown.js +234 -330
  135. package/dropdown/Dropdown.stories.tsx +427 -0
  136. package/dropdown/Dropdown.test.js +599 -0
  137. package/dropdown/DropdownMenu.d.ts +4 -0
  138. package/dropdown/DropdownMenu.js +63 -0
  139. package/dropdown/DropdownMenuItem.d.ts +4 -0
  140. package/dropdown/DropdownMenuItem.js +71 -0
  141. package/dropdown/types.d.ts +38 -31
  142. package/file-input/FileInput.accessibility.test.js +160 -0
  143. package/file-input/FileInput.d.ts +4 -0
  144. package/file-input/FileInput.js +274 -363
  145. package/file-input/FileInput.stories.tsx +618 -0
  146. package/file-input/FileInput.test.js +382 -0
  147. package/file-input/FileItem.d.ts +4 -0
  148. package/file-input/FileItem.js +65 -133
  149. package/file-input/types.d.ts +129 -0
  150. package/file-input/types.js +5 -0
  151. package/flex/Flex.d.ts +4 -0
  152. package/flex/Flex.js +57 -0
  153. package/flex/Flex.stories.tsx +112 -0
  154. package/flex/types.d.ts +97 -0
  155. package/flex/types.js +5 -0
  156. package/footer/Footer.accessibility.test.js +125 -0
  157. package/footer/Footer.d.ts +1 -1
  158. package/footer/Footer.js +74 -200
  159. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +96 -39
  160. package/footer/Footer.test.js +85 -0
  161. package/footer/Icons.d.ts +3 -0
  162. package/footer/Icons.js +54 -23
  163. package/footer/types.d.ts +41 -38
  164. package/grid/Grid.d.ts +7 -0
  165. package/grid/Grid.js +76 -0
  166. package/grid/Grid.stories.tsx +219 -0
  167. package/grid/types.d.ts +115 -0
  168. package/grid/types.js +5 -0
  169. package/header/Header.accessibility.test.js +93 -0
  170. package/header/Header.d.ts +4 -3
  171. package/header/Header.js +105 -219
  172. package/header/Header.stories.tsx +267 -0
  173. package/header/Header.test.js +66 -0
  174. package/header/Icons.d.ts +2 -0
  175. package/header/Icons.js +5 -15
  176. package/header/types.d.ts +6 -18
  177. package/heading/Heading.accessibility.test.js +33 -0
  178. package/heading/Heading.d.ts +4 -0
  179. package/heading/Heading.js +16 -55
  180. package/heading/Heading.stories.tsx +54 -0
  181. package/heading/Heading.test.js +169 -0
  182. package/heading/types.d.ts +33 -0
  183. package/heading/types.js +5 -0
  184. package/icon/Icon.accessibility.test.js +30 -0
  185. package/icon/Icon.d.ts +4 -0
  186. package/icon/Icon.js +33 -0
  187. package/icon/Icon.stories.tsx +28 -0
  188. package/icon/types.d.ts +4 -0
  189. package/icon/types.js +5 -0
  190. package/image/Image.accessibility.test.js +56 -0
  191. package/image/Image.d.ts +4 -0
  192. package/image/Image.js +70 -0
  193. package/image/Image.stories.tsx +129 -0
  194. package/image/types.d.ts +72 -0
  195. package/image/types.js +5 -0
  196. package/inset/Inset.d.ts +3 -0
  197. package/inset/Inset.js +43 -0
  198. package/inset/Inset.stories.tsx +230 -0
  199. package/inset/types.d.ts +37 -0
  200. package/inset/types.js +5 -0
  201. package/layout/ApplicationLayout.d.ts +20 -0
  202. package/layout/ApplicationLayout.js +88 -186
  203. package/layout/ApplicationLayout.stories.tsx +162 -0
  204. package/layout/Icons.d.ts +7 -0
  205. package/layout/Icons.js +41 -48
  206. package/layout/types.d.ts +41 -0
  207. package/layout/types.js +5 -0
  208. package/link/Link.accessibility.test.js +108 -0
  209. package/link/Link.d.ts +3 -2
  210. package/link/Link.js +65 -109
  211. package/link/Link.stories.tsx +201 -18
  212. package/link/Link.test.js +63 -0
  213. package/link/types.d.ts +15 -35
  214. package/main.d.ts +19 -14
  215. package/main.js +92 -98
  216. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  217. package/nav-tabs/NavTabs.d.ts +7 -0
  218. package/nav-tabs/NavTabs.js +93 -0
  219. package/nav-tabs/NavTabs.stories.tsx +279 -0
  220. package/nav-tabs/NavTabs.test.js +77 -0
  221. package/nav-tabs/NavTabsContext.d.ts +3 -0
  222. package/nav-tabs/NavTabsContext.js +8 -0
  223. package/nav-tabs/Tab.d.ts +4 -0
  224. package/nav-tabs/Tab.js +117 -0
  225. package/nav-tabs/types.d.ts +52 -0
  226. package/nav-tabs/types.js +5 -0
  227. package/number-input/NumberInput.accessibility.test.js +228 -0
  228. package/number-input/NumberInput.d.ts +4 -0
  229. package/number-input/NumberInput.js +48 -90
  230. package/number-input/{NumberInput.stories.jsx → NumberInput.stories.tsx} +44 -28
  231. package/number-input/NumberInput.test.js +989 -0
  232. package/number-input/NumberInputContext.d.ts +3 -0
  233. package/number-input/NumberInputContext.js +3 -11
  234. package/number-input/types.d.ts +136 -0
  235. package/number-input/types.js +5 -0
  236. package/package.json +52 -51
  237. package/paginator/Paginator.accessibility.test.js +79 -0
  238. package/paginator/Paginator.js +47 -107
  239. package/paginator/Paginator.stories.tsx +24 -0
  240. package/paginator/Paginator.test.js +335 -0
  241. package/paginator/types.d.ts +3 -3
  242. package/paragraph/Paragraph.accessibility.test.js +28 -0
  243. package/paragraph/Paragraph.d.ts +5 -0
  244. package/paragraph/Paragraph.js +22 -0
  245. package/paragraph/Paragraph.stories.tsx +27 -0
  246. package/password-input/PasswordInput.accessibility.test.js +153 -0
  247. package/password-input/PasswordInput.js +61 -126
  248. package/password-input/PasswordInput.stories.tsx +3 -35
  249. package/password-input/PasswordInput.test.js +198 -0
  250. package/password-input/types.d.ts +35 -24
  251. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  252. package/progress-bar/ProgressBar.js +69 -93
  253. package/progress-bar/ProgressBar.stories.tsx +93 -0
  254. package/progress-bar/ProgressBar.test.js +93 -0
  255. package/progress-bar/types.d.ts +3 -3
  256. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  257. package/quick-nav/QuickNav.d.ts +4 -0
  258. package/quick-nav/QuickNav.js +94 -0
  259. package/quick-nav/QuickNav.stories.tsx +356 -0
  260. package/quick-nav/types.d.ts +21 -0
  261. package/quick-nav/types.js +5 -0
  262. package/radio-group/Radio.d.ts +4 -0
  263. package/radio-group/Radio.js +124 -0
  264. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  265. package/radio-group/RadioGroup.d.ts +4 -0
  266. package/radio-group/RadioGroup.js +236 -0
  267. package/radio-group/RadioGroup.stories.tsx +214 -0
  268. package/radio-group/RadioGroup.test.js +756 -0
  269. package/radio-group/types.d.ts +114 -0
  270. package/radio-group/types.js +5 -0
  271. package/resultset-table/Icons.d.ts +7 -0
  272. package/resultset-table/Icons.js +47 -0
  273. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  274. package/resultset-table/ResultsetTable.d.ts +7 -0
  275. package/resultset-table/ResultsetTable.js +171 -0
  276. package/resultset-table/ResultsetTable.stories.tsx +413 -0
  277. package/resultset-table/ResultsetTable.test.js +381 -0
  278. package/resultset-table/types.d.ts +100 -0
  279. package/resultset-table/types.js +5 -0
  280. package/select/Listbox.d.ts +4 -0
  281. package/select/Listbox.js +155 -0
  282. package/select/Option.d.ts +4 -0
  283. package/select/Option.js +89 -0
  284. package/select/Select.accessibility.test.js +228 -0
  285. package/select/Select.d.ts +4 -0
  286. package/select/Select.js +252 -515
  287. package/select/Select.stories.tsx +919 -0
  288. package/select/Select.test.js +2265 -0
  289. package/select/types.d.ts +209 -0
  290. package/select/types.js +5 -0
  291. package/sidenav/Sidenav.accessibility.test.js +59 -0
  292. package/sidenav/Sidenav.d.ts +10 -0
  293. package/sidenav/Sidenav.js +137 -81
  294. package/sidenav/Sidenav.stories.tsx +277 -0
  295. package/sidenav/Sidenav.test.js +37 -0
  296. package/sidenav/SidenavContext.d.ts +5 -0
  297. package/sidenav/SidenavContext.js +13 -0
  298. package/sidenav/types.d.ts +76 -0
  299. package/sidenav/types.js +5 -0
  300. package/slider/Slider.accessibility.test.js +104 -0
  301. package/slider/Slider.d.ts +2 -2
  302. package/slider/Slider.js +152 -183
  303. package/slider/Slider.test.js +254 -0
  304. package/slider/types.d.ts +11 -3
  305. package/spinner/Spinner.accessibility.test.js +96 -0
  306. package/spinner/Spinner.js +35 -75
  307. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
  308. package/spinner/Spinner.test.js +55 -0
  309. package/spinner/types.d.ts +3 -3
  310. package/status-light/StatusLight.accessibility.test.js +157 -0
  311. package/status-light/StatusLight.d.ts +4 -0
  312. package/status-light/StatusLight.js +51 -0
  313. package/status-light/StatusLight.stories.tsx +74 -0
  314. package/status-light/StatusLight.test.js +25 -0
  315. package/status-light/types.d.ts +17 -0
  316. package/status-light/types.js +5 -0
  317. package/switch/Switch.accessibility.test.js +98 -0
  318. package/switch/Switch.d.ts +2 -2
  319. package/switch/Switch.js +150 -115
  320. package/switch/Switch.stories.tsx +57 -68
  321. package/switch/Switch.test.js +180 -0
  322. package/switch/types.d.ts +13 -5
  323. package/table/DropdownTheme.js +62 -0
  324. package/table/Table.accessibility.test.js +93 -0
  325. package/table/Table.d.ts +6 -2
  326. package/table/Table.js +80 -37
  327. package/table/Table.stories.tsx +663 -0
  328. package/table/Table.test.js +113 -0
  329. package/table/types.d.ts +34 -6
  330. package/tabs/Tab.d.ts +4 -0
  331. package/tabs/Tab.js +117 -0
  332. package/tabs/Tabs.accessibility.test.js +56 -0
  333. package/tabs/Tabs.d.ts +1 -1
  334. package/tabs/Tabs.js +307 -145
  335. package/tabs/Tabs.stories.tsx +230 -0
  336. package/tabs/Tabs.test.js +276 -0
  337. package/tabs/types.d.ts +48 -27
  338. package/tag/Tag.accessibility.test.js +69 -0
  339. package/tag/Tag.d.ts +1 -1
  340. package/tag/Tag.js +44 -86
  341. package/tag/Tag.stories.tsx +37 -30
  342. package/tag/Tag.test.js +41 -0
  343. package/tag/types.d.ts +25 -16
  344. package/text-input/Suggestion.d.ts +4 -0
  345. package/text-input/Suggestion.js +67 -0
  346. package/text-input/Suggestions.d.ts +4 -0
  347. package/text-input/Suggestions.js +94 -0
  348. package/text-input/TextInput.accessibility.test.js +321 -0
  349. package/text-input/TextInput.d.ts +4 -0
  350. package/text-input/TextInput.js +340 -594
  351. package/text-input/TextInput.stories.tsx +474 -0
  352. package/text-input/TextInput.test.js +1756 -0
  353. package/text-input/types.d.ts +205 -0
  354. package/text-input/types.js +5 -0
  355. package/textarea/Textarea.accessibility.test.js +155 -0
  356. package/textarea/Textarea.d.ts +4 -0
  357. package/textarea/Textarea.js +99 -181
  358. package/textarea/Textarea.stories.tsx +174 -0
  359. package/textarea/Textarea.test.js +406 -0
  360. package/textarea/types.d.ts +141 -0
  361. package/textarea/types.js +5 -0
  362. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  363. package/toggle-group/ToggleGroup.d.ts +4 -0
  364. package/toggle-group/ToggleGroup.js +101 -142
  365. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  366. package/toggle-group/ToggleGroup.test.js +137 -0
  367. package/toggle-group/types.d.ts +114 -0
  368. package/toggle-group/types.js +5 -0
  369. package/typography/Typography.accessibility.test.js +339 -0
  370. package/typography/Typography.d.ts +4 -0
  371. package/typography/Typography.js +23 -0
  372. package/typography/Typography.stories.tsx +198 -0
  373. package/typography/types.d.ts +18 -0
  374. package/typography/types.js +5 -0
  375. package/useTheme.d.ts +1147 -0
  376. package/useTheme.js +4 -11
  377. package/useTranslatedLabels.d.ts +85 -0
  378. package/useTranslatedLabels.js +14 -0
  379. package/utils/BaseTypography.d.ts +21 -0
  380. package/utils/BaseTypography.js +94 -0
  381. package/utils/FocusLock.d.ts +13 -0
  382. package/utils/FocusLock.js +124 -0
  383. package/wizard/Wizard.accessibility.test.js +55 -0
  384. package/wizard/Wizard.d.ts +4 -0
  385. package/wizard/Wizard.js +122 -154
  386. package/wizard/Wizard.stories.tsx +272 -0
  387. package/wizard/Wizard.test.js +114 -0
  388. package/wizard/types.d.ts +64 -0
  389. package/wizard/types.js +5 -0
  390. package/ThemeContext.js +0 -246
  391. package/V3Select/V3Select.js +0 -455
  392. package/V3Select/index.d.ts +0 -27
  393. package/V3Textarea/V3Textarea.js +0 -260
  394. package/V3Textarea/index.d.ts +0 -27
  395. package/chip/index.d.ts +0 -22
  396. package/common/OpenSans.css +0 -81
  397. package/common/RequiredComponent.js +0 -32
  398. package/common/fonts/OpenSans-Bold.ttf +0 -0
  399. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  400. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  401. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  402. package/common/fonts/OpenSans-Italic.ttf +0 -0
  403. package/common/fonts/OpenSans-Light.ttf +0 -0
  404. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  405. package/common/fonts/OpenSans-Regular.ttf +0 -0
  406. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  407. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  408. package/date/Date.js +0 -373
  409. package/date/index.d.ts +0 -27
  410. package/file-input/index.d.ts +0 -81
  411. package/heading/index.d.ts +0 -17
  412. package/input-text/Icons.js +0 -22
  413. package/input-text/InputText.js +0 -611
  414. package/input-text/index.d.ts +0 -36
  415. package/number-input/index.d.ts +0 -113
  416. package/paginator/Icons.js +0 -66
  417. package/progress-bar/ProgressBar.stories.jsx +0 -58
  418. package/radio/Radio.d.ts +0 -4
  419. package/radio/Radio.js +0 -174
  420. package/radio/Radio.stories.tsx +0 -192
  421. package/radio/types.d.ts +0 -54
  422. package/resultsetTable/ResultsetTable.js +0 -274
  423. package/resultsetTable/index.d.ts +0 -19
  424. package/select/index.d.ts +0 -131
  425. package/sidenav/index.d.ts +0 -13
  426. package/slider/Slider.stories.tsx +0 -172
  427. package/table/Table.stories.jsx +0 -276
  428. package/text-input/index.d.ts +0 -135
  429. package/textarea/Textarea.stories.jsx +0 -135
  430. package/textarea/index.d.ts +0 -117
  431. package/toggle/Toggle.js +0 -186
  432. package/toggle/index.d.ts +0 -21
  433. package/toggle-group/index.d.ts +0 -21
  434. package/upload/Upload.js +0 -201
  435. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  436. package/upload/buttons-upload/Icons.js +0 -40
  437. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  438. package/upload/dragAndDropArea/Icons.js +0 -39
  439. package/upload/file-upload/FileToUpload.js +0 -115
  440. package/upload/file-upload/Icons.js +0 -66
  441. package/upload/files-upload/FilesToUpload.js +0 -109
  442. package/upload/index.d.ts +0 -15
  443. package/upload/transaction/Icons.js +0 -160
  444. package/upload/transaction/Transaction.js +0 -104
  445. package/upload/transactions/Transactions.js +0 -94
  446. package/wizard/Icons.js +0 -65
  447. package/wizard/index.d.ts +0 -18
  448. /package/{radio → action-icon}/types.js +0 -0
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _axeHelper = require("../../test/accessibility/axe-helper.js");
9
+ var _Switch = _interopRequireDefault(require("./Switch.tsx"));
10
+ var _disabledRules = require("../../test/accessibility/rules/specific/switch/disabledRules.js");
11
+ var disabledRules = {
12
+ rules: _disabledRules.disabledRules.reduce(function (rulesObj, rule) {
13
+ rulesObj[rule] = {
14
+ enabled: false
15
+ };
16
+ return rulesObj;
17
+ }, {})
18
+ };
19
+ describe("Switch component accessibility tests", function () {
20
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
21
+ var _render, container, results;
22
+ return _regenerator["default"].wrap(function _callee$(_context) {
23
+ while (1) switch (_context.prev = _context.next) {
24
+ case 0:
25
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
26
+ label: "Default label",
27
+ defaultChecked: true,
28
+ value: "test-defaultChecked",
29
+ name: "test",
30
+ labelPosition: "after",
31
+ margin: "medium",
32
+ size: "medium",
33
+ checked: true
34
+ })), container = _render.container;
35
+ _context.next = 3;
36
+ return (0, _axeHelper.axe)(container, disabledRules);
37
+ case 3:
38
+ results = _context.sent;
39
+ expect(results).toHaveNoViolations();
40
+ case 5:
41
+ case "end":
42
+ return _context.stop();
43
+ }
44
+ }, _callee);
45
+ })));
46
+ it("Should not have basic accessibility issues for optional mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
47
+ var _render2, container, results;
48
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
49
+ while (1) switch (_context2.prev = _context2.next) {
50
+ case 0:
51
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
52
+ label: "Default label",
53
+ defaultChecked: true,
54
+ value: "test-defaultChecked",
55
+ name: "test",
56
+ labelPosition: "after",
57
+ margin: "medium",
58
+ size: "medium",
59
+ optional: true
60
+ })), container = _render2.container;
61
+ _context2.next = 3;
62
+ return (0, _axeHelper.axe)(container, disabledRules);
63
+ case 3:
64
+ results = _context2.sent;
65
+ expect(results).toHaveNoViolations();
66
+ case 5:
67
+ case "end":
68
+ return _context2.stop();
69
+ }
70
+ }, _callee2);
71
+ })));
72
+ it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
73
+ var _render3, container, results;
74
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
75
+ while (1) switch (_context3.prev = _context3.next) {
76
+ case 0:
77
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
78
+ label: "Default label",
79
+ defaultChecked: true,
80
+ value: "test-defaultChecked",
81
+ name: "test",
82
+ labelPosition: "after",
83
+ margin: "medium",
84
+ size: "medium",
85
+ disabled: true
86
+ })), container = _render3.container;
87
+ _context3.next = 3;
88
+ return (0, _axeHelper.axe)(container, disabledRules);
89
+ case 3:
90
+ results = _context3.sent;
91
+ expect(results).toHaveNoViolations();
92
+ case 5:
93
+ case "end":
94
+ return _context3.stop();
95
+ }
96
+ }, _callee3);
97
+ })));
98
+ });
@@ -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 && {}.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,14 +1,31 @@
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";
6
+ import { disabledRules } from "../../test/accessibility/rules/specific/switch/disabledRules";
7
+ import preview from "../../.storybook/preview";
8
8
 
9
9
  export default {
10
10
  title: "Switch",
11
11
  component: DxcSwitch,
12
+ parameters: {
13
+ a11y: {
14
+ config: {
15
+ rules: [
16
+ ...disabledRules.map((ruleId) => ({ id: ruleId, enabled: false })),
17
+ ...preview?.parameters?.a11y?.config?.rules,
18
+ ],
19
+ },
20
+ },
21
+ },
22
+ };
23
+
24
+ const opinionatedTheme = {
25
+ switch: {
26
+ checkedBaseColor: "#5f249f",
27
+ fontColor: "#000000",
28
+ },
12
29
  };
13
30
 
14
31
  export const Chromatic = () => (
@@ -21,58 +38,34 @@ export const Chromatic = () => (
21
38
  <Title title="Without label" theme="light" level={4} />
22
39
  <DxcSwitch />
23
40
  </ExampleContainer>
41
+ <ExampleContainer pseudoState="pseudo-focus-visible">
42
+ <Title title="Focused" theme="light" level={4} />
43
+ <DxcSwitch label="Switch" labelPosition="after" />
44
+ </ExampleContainer>
24
45
  <ExampleContainer>
25
46
  <Title title="Checked" theme="light" level={4} />
26
- <DxcSwitch label="Switch" checked />
47
+ <DxcSwitch label="Switch" defaultChecked />
27
48
  </ExampleContainer>
28
49
  <ExampleContainer>
29
- <Title title="Required" theme="light" level={4} />
30
- <DxcSwitch label="Switch" required />
50
+ <Title title="Optional" theme="light" level={4} />
51
+ <DxcSwitch label="Switch" optional />
31
52
  </ExampleContainer>
32
53
  <ExampleContainer>
33
54
  <Title title="Disabled" theme="light" level={4} />
34
55
  <DxcSwitch label="Switch" disabled />
35
56
  </ExampleContainer>
36
57
  <ExampleContainer>
37
- <Title title="Disabled required" theme="light" level={4} />
38
- <DxcSwitch label="Switch" disabled required labelPosition="after" />
58
+ <Title title="Disabled optional" theme="light" level={4} />
59
+ <DxcSwitch label="Switch" disabled optional labelPosition="after" />
39
60
  </ExampleContainer>
40
61
  <ExampleContainer>
41
62
  <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>
63
+ <DxcSwitch label="Switch" disabled defaultChecked labelPosition="after" />
64
+ </ExampleContainer>
72
65
  <Title title="Margins" theme="light" level={2} />
73
66
  <ExampleContainer>
74
67
  <Title title="Xxsmall margin" theme="light" level={4} />
75
- <DxcSwitch label="Xxsmmall" margin="xxsmall" />
68
+ <DxcSwitch label="Xxsmall" margin="xxsmall" />
76
69
  </ExampleContainer>
77
70
  <ExampleContainer>
78
71
  <Title title="Xsmall margin" theme="light" level={4} />
@@ -127,34 +120,30 @@ export const Chromatic = () => (
127
120
  <Title title="FitContent size" theme="light" level={4} />
128
121
  <DxcSwitch label="FitContent" size="fitContent" />
129
122
  </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} />
123
+ <Title title="Opinionated theme" theme="light" level={2} />
124
+ <ExampleContainer>
125
+ <Title title="Checked" theme="light" level={4} />
126
+ <HalstackProvider theme={opinionatedTheme}>
127
+ <DxcSwitch label="Switch" defaultChecked />
128
+ </HalstackProvider>
129
+ </ExampleContainer>
130
+ <ExampleContainer>
131
+ <Title title="Default" theme="light" level={4} />
132
+ <HalstackProvider theme={opinionatedTheme}>
150
133
  <DxcSwitch label="Switch" />
151
- </ExampleContainer>
152
- </DarkContainer>
153
- </BackgroundColorProvider>
134
+ </HalstackProvider>
135
+ </ExampleContainer>
136
+ <ExampleContainer>
137
+ <Title title="Disabled" theme="light" level={4} />
138
+ <HalstackProvider theme={opinionatedTheme}>
139
+ <DxcSwitch label="Switch" disabled />
140
+ </HalstackProvider>
141
+ </ExampleContainer>
142
+ <ExampleContainer>
143
+ <Title title="Disabled checked" theme="light" level={4} />
144
+ <HalstackProvider theme={opinionatedTheme}>
145
+ <DxcSwitch label="Switch" disabled defaultChecked />
146
+ </HalstackProvider>
147
+ </ExampleContainer>
148
+ </>
154
149
  );
155
-
156
- export const FocusedSwitchOnDark = DarkSwitch.bind({});
157
- FocusedSwitchOnDark.play = async ({ canvasElement }) => {
158
- const canvas = within(canvasElement);
159
- canvas.getByRole("checkbox").focus();
160
- };