@dxc-technology/halstack-react 0.0.0-c9b5c13 → 0.0.0-c9efd3e

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 (396) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1243 -6
  4. package/HalstackContext.js +126 -111
  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 +104 -161
  9. package/accordion/Accordion.stories.tsx +84 -140
  10. package/accordion/Accordion.test.js +25 -41
  11. package/accordion/types.d.ts +6 -17
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +2 -2
  14. package/accordion-group/AccordionGroup.js +31 -98
  15. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  16. package/accordion-group/AccordionGroup.test.js +52 -105
  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 +12 -17
  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 +32 -125
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +29 -46
  32. package/alert/types.d.ts +5 -5
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +1 -1
  35. package/badge/Badge.js +142 -42
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +52 -3
  39. package/bleed/Bleed.js +14 -55
  40. package/bleed/Bleed.stories.tsx +95 -95
  41. package/bleed/types.d.ts +2 -2
  42. package/box/Box.accessibility.test.js +33 -0
  43. package/box/Box.d.ts +1 -1
  44. package/box/Box.js +19 -60
  45. package/box/Box.stories.tsx +38 -51
  46. package/box/Box.test.js +2 -7
  47. package/box/types.d.ts +3 -14
  48. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  49. package/bulleted-list/BulletedList.d.ts +7 -0
  50. package/bulleted-list/BulletedList.js +92 -0
  51. package/bulleted-list/BulletedList.stories.tsx +115 -0
  52. package/bulleted-list/types.d.ts +38 -0
  53. package/button/Button.accessibility.test.js +127 -0
  54. package/button/Button.d.ts +1 -1
  55. package/button/Button.js +64 -117
  56. package/button/Button.stories.tsx +151 -100
  57. package/button/Button.test.js +20 -17
  58. package/button/types.d.ts +12 -8
  59. package/card/Card.accessibility.test.js +36 -0
  60. package/card/Card.d.ts +1 -1
  61. package/card/Card.js +48 -89
  62. package/card/Card.stories.tsx +12 -42
  63. package/card/Card.test.js +11 -22
  64. package/card/types.d.ts +6 -11
  65. package/checkbox/Checkbox.accessibility.test.js +87 -0
  66. package/checkbox/Checkbox.d.ts +2 -2
  67. package/checkbox/Checkbox.js +140 -182
  68. package/checkbox/Checkbox.stories.tsx +128 -94
  69. package/checkbox/Checkbox.test.js +160 -39
  70. package/checkbox/types.d.ts +11 -3
  71. package/chip/Chip.accessibility.test.js +67 -0
  72. package/chip/Chip.js +43 -80
  73. package/chip/Chip.stories.tsx +102 -26
  74. package/chip/Chip.test.js +18 -33
  75. package/chip/types.d.ts +4 -4
  76. package/common/coreTokens.d.ts +237 -0
  77. package/common/coreTokens.js +184 -0
  78. package/common/utils.d.ts +1 -0
  79. package/common/utils.js +6 -12
  80. package/common/variables.d.ts +1395 -0
  81. package/common/variables.js +942 -1145
  82. package/container/Container.d.ts +4 -0
  83. package/container/Container.js +194 -0
  84. package/container/Container.stories.tsx +214 -0
  85. package/container/types.d.ts +74 -0
  86. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  87. package/contextual-menu/ContextualMenu.d.ts +7 -0
  88. package/contextual-menu/ContextualMenu.js +71 -0
  89. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  90. package/contextual-menu/ContextualMenu.test.js +71 -0
  91. package/contextual-menu/MenuItemAction.d.ts +4 -0
  92. package/contextual-menu/MenuItemAction.js +46 -0
  93. package/contextual-menu/types.d.ts +22 -0
  94. package/date-input/Calendar.d.ts +4 -0
  95. package/date-input/Calendar.js +214 -0
  96. package/date-input/DateInput.accessibility.test.js +216 -0
  97. package/date-input/DateInput.js +150 -299
  98. package/date-input/DateInput.stories.tsx +203 -56
  99. package/date-input/DateInput.test.js +700 -371
  100. package/date-input/DatePicker.d.ts +4 -0
  101. package/date-input/DatePicker.js +115 -0
  102. package/date-input/Icons.d.ts +6 -0
  103. package/date-input/Icons.js +58 -0
  104. package/date-input/YearPicker.d.ts +4 -0
  105. package/date-input/YearPicker.js +100 -0
  106. package/date-input/types.d.ts +72 -15
  107. package/dialog/Dialog.accessibility.test.js +69 -0
  108. package/dialog/Dialog.d.ts +1 -1
  109. package/dialog/Dialog.js +73 -107
  110. package/dialog/Dialog.stories.tsx +320 -167
  111. package/dialog/Dialog.test.js +287 -20
  112. package/dialog/types.d.ts +18 -25
  113. package/divider/Divider.accessibility.test.js +33 -0
  114. package/divider/Divider.d.ts +4 -0
  115. package/divider/Divider.js +36 -0
  116. package/divider/Divider.stories.tsx +223 -0
  117. package/divider/Divider.test.js +38 -0
  118. package/divider/types.d.ts +21 -0
  119. package/dropdown/Dropdown.accessibility.test.js +180 -0
  120. package/dropdown/Dropdown.d.ts +1 -1
  121. package/dropdown/Dropdown.js +231 -303
  122. package/dropdown/Dropdown.stories.tsx +235 -57
  123. package/dropdown/Dropdown.test.js +575 -165
  124. package/dropdown/DropdownMenu.d.ts +4 -0
  125. package/dropdown/DropdownMenu.js +63 -0
  126. package/dropdown/DropdownMenuItem.d.ts +4 -0
  127. package/dropdown/DropdownMenuItem.js +70 -0
  128. package/dropdown/types.d.ts +35 -19
  129. package/file-input/FileInput.accessibility.test.js +160 -0
  130. package/file-input/FileInput.d.ts +2 -2
  131. package/file-input/FileInput.js +241 -391
  132. package/file-input/FileInput.stories.tsx +123 -12
  133. package/file-input/FileInput.test.js +292 -367
  134. package/file-input/FileItem.d.ts +4 -14
  135. package/file-input/FileItem.js +52 -117
  136. package/file-input/types.d.ts +25 -8
  137. package/flex/Flex.d.ts +4 -0
  138. package/flex/Flex.js +57 -0
  139. package/flex/Flex.stories.tsx +112 -0
  140. package/flex/types.d.ts +97 -0
  141. package/footer/Footer.accessibility.test.js +117 -0
  142. package/footer/Footer.d.ts +1 -1
  143. package/footer/Footer.js +73 -118
  144. package/footer/Footer.stories.tsx +87 -21
  145. package/footer/Footer.test.js +33 -57
  146. package/footer/Icons.d.ts +3 -2
  147. package/footer/Icons.js +67 -8
  148. package/footer/types.d.ts +26 -27
  149. package/grid/Grid.d.ts +7 -0
  150. package/grid/Grid.js +76 -0
  151. package/grid/Grid.stories.tsx +219 -0
  152. package/grid/types.d.ts +115 -0
  153. package/grid/types.js +5 -0
  154. package/header/Header.accessibility.test.js +84 -0
  155. package/header/Header.d.ts +4 -3
  156. package/header/Header.js +88 -182
  157. package/header/Header.stories.tsx +118 -39
  158. package/header/Header.test.js +13 -26
  159. package/header/Icons.d.ts +2 -2
  160. package/header/Icons.js +4 -9
  161. package/header/types.d.ts +7 -21
  162. package/heading/Heading.accessibility.test.js +33 -0
  163. package/heading/Heading.js +10 -32
  164. package/heading/Heading.test.js +71 -88
  165. package/heading/types.d.ts +7 -7
  166. package/icon/Icon.accessibility.test.js +30 -0
  167. package/icon/Icon.d.ts +4 -0
  168. package/icon/Icon.js +33 -0
  169. package/icon/Icon.stories.tsx +28 -0
  170. package/icon/types.d.ts +4 -0
  171. package/icon/types.js +5 -0
  172. package/image/Image.accessibility.test.js +56 -0
  173. package/image/Image.d.ts +4 -0
  174. package/image/Image.js +70 -0
  175. package/image/Image.stories.tsx +129 -0
  176. package/image/types.d.ts +72 -0
  177. package/image/types.js +5 -0
  178. package/inset/Inset.js +14 -55
  179. package/inset/Inset.stories.tsx +37 -36
  180. package/inset/types.d.ts +2 -2
  181. package/layout/ApplicationLayout.d.ts +15 -6
  182. package/layout/ApplicationLayout.js +52 -117
  183. package/layout/ApplicationLayout.stories.tsx +81 -45
  184. package/layout/Icons.d.ts +8 -5
  185. package/layout/Icons.js +49 -59
  186. package/layout/types.d.ts +21 -32
  187. package/link/Link.accessibility.test.js +112 -0
  188. package/link/Link.js +32 -51
  189. package/link/Link.stories.tsx +74 -7
  190. package/link/Link.test.js +24 -44
  191. package/link/types.d.ts +14 -14
  192. package/main.d.ts +14 -12
  193. package/main.js +63 -99
  194. package/nav-tabs/NavTabs.accessibility.test.js +52 -0
  195. package/nav-tabs/NavTabs.d.ts +7 -0
  196. package/{tabs-nav → nav-tabs}/NavTabs.js +30 -62
  197. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +115 -9
  198. package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
  199. package/nav-tabs/NavTabsContext.d.ts +3 -0
  200. package/nav-tabs/NavTabsContext.js +8 -0
  201. package/nav-tabs/Tab.js +118 -0
  202. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  203. package/nav-tabs/types.js +5 -0
  204. package/number-input/NumberInput.accessibility.test.js +228 -0
  205. package/number-input/NumberInput.js +46 -36
  206. package/number-input/NumberInput.stories.tsx +42 -26
  207. package/number-input/NumberInput.test.js +860 -377
  208. package/number-input/NumberInputContext.d.ts +3 -4
  209. package/number-input/NumberInputContext.js +3 -14
  210. package/number-input/types.d.ts +17 -5
  211. package/package.json +49 -51
  212. package/paginator/Icons.d.ts +5 -0
  213. package/paginator/Icons.js +21 -47
  214. package/paginator/Paginator.accessibility.test.js +79 -0
  215. package/paginator/Paginator.js +23 -59
  216. package/paginator/Paginator.stories.tsx +24 -0
  217. package/paginator/Paginator.test.js +280 -211
  218. package/paginator/types.d.ts +3 -3
  219. package/paragraph/Paragraph.accessibility.test.js +28 -0
  220. package/paragraph/Paragraph.d.ts +5 -0
  221. package/paragraph/Paragraph.js +22 -0
  222. package/paragraph/Paragraph.stories.tsx +27 -0
  223. package/password-input/Icons.d.ts +6 -0
  224. package/password-input/Icons.js +35 -0
  225. package/password-input/PasswordInput.accessibility.test.js +153 -0
  226. package/password-input/PasswordInput.js +57 -126
  227. package/password-input/PasswordInput.stories.tsx +1 -33
  228. package/password-input/PasswordInput.test.js +160 -142
  229. package/password-input/types.d.ts +8 -7
  230. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  231. package/progress-bar/ProgressBar.js +65 -91
  232. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +39 -4
  233. package/progress-bar/ProgressBar.test.js +72 -44
  234. package/progress-bar/types.d.ts +3 -3
  235. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  236. package/quick-nav/QuickNav.js +29 -47
  237. package/quick-nav/QuickNav.stories.tsx +146 -27
  238. package/quick-nav/types.d.ts +10 -10
  239. package/radio-group/Radio.d.ts +1 -1
  240. package/radio-group/Radio.js +59 -76
  241. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  242. package/radio-group/RadioGroup.js +67 -114
  243. package/radio-group/RadioGroup.stories.tsx +132 -18
  244. package/radio-group/RadioGroup.test.js +518 -457
  245. package/radio-group/types.d.ts +10 -10
  246. package/resultset-table/Icons.d.ts +7 -0
  247. package/resultset-table/Icons.js +47 -0
  248. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  249. package/resultset-table/ResultsetTable.d.ts +7 -0
  250. package/resultset-table/ResultsetTable.js +170 -0
  251. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +156 -30
  252. package/resultset-table/ResultsetTable.test.js +381 -0
  253. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  254. package/resultset-table/types.js +5 -0
  255. package/select/Icons.d.ts +7 -7
  256. package/select/Icons.js +1 -5
  257. package/select/Listbox.d.ts +1 -1
  258. package/select/Listbox.js +42 -51
  259. package/select/Option.js +27 -50
  260. package/select/Select.accessibility.test.js +217 -0
  261. package/select/Select.js +152 -207
  262. package/select/Select.stories.tsx +515 -139
  263. package/select/Select.test.js +2001 -1751
  264. package/select/types.d.ts +16 -20
  265. package/sidenav/Sidenav.accessibility.test.js +59 -0
  266. package/sidenav/Sidenav.d.ts +6 -5
  267. package/sidenav/Sidenav.js +132 -78
  268. package/sidenav/Sidenav.stories.tsx +246 -151
  269. package/sidenav/Sidenav.test.js +26 -45
  270. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  271. package/{layout → sidenav}/SidenavContext.js +3 -9
  272. package/sidenav/types.d.ts +52 -26
  273. package/slider/Slider.accessibility.test.js +104 -0
  274. package/slider/Slider.d.ts +2 -2
  275. package/slider/Slider.js +148 -181
  276. package/slider/Slider.test.js +185 -81
  277. package/slider/types.d.ts +7 -3
  278. package/spinner/Spinner.accessibility.test.js +96 -0
  279. package/spinner/Spinner.js +31 -75
  280. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  281. package/spinner/Spinner.test.js +26 -35
  282. package/spinner/types.d.ts +3 -3
  283. package/status-light/StatusLight.accessibility.test.js +157 -0
  284. package/status-light/StatusLight.d.ts +4 -0
  285. package/status-light/StatusLight.js +51 -0
  286. package/status-light/StatusLight.stories.tsx +74 -0
  287. package/status-light/StatusLight.test.js +25 -0
  288. package/status-light/types.d.ts +17 -0
  289. package/status-light/types.js +5 -0
  290. package/switch/Switch.accessibility.test.js +89 -0
  291. package/switch/Switch.d.ts +2 -2
  292. package/switch/Switch.js +145 -126
  293. package/switch/Switch.stories.tsx +37 -60
  294. package/switch/Switch.test.js +138 -56
  295. package/switch/types.d.ts +7 -3
  296. package/table/DropdownTheme.js +62 -0
  297. package/table/Table.accessibility.test.js +82 -0
  298. package/table/Table.d.ts +6 -2
  299. package/table/Table.js +78 -35
  300. package/table/Table.stories.tsx +651 -0
  301. package/table/Table.test.js +95 -8
  302. package/table/types.d.ts +34 -6
  303. package/tabs/Tab.d.ts +4 -0
  304. package/tabs/Tab.js +116 -0
  305. package/tabs/Tabs.accessibility.test.js +56 -0
  306. package/tabs/Tabs.js +314 -141
  307. package/tabs/Tabs.stories.tsx +120 -6
  308. package/tabs/Tabs.test.js +223 -69
  309. package/tabs/types.d.ts +28 -18
  310. package/tag/Tag.accessibility.test.js +69 -0
  311. package/tag/Tag.js +35 -67
  312. package/tag/Tag.stories.tsx +18 -8
  313. package/tag/Tag.test.js +18 -37
  314. package/tag/types.d.ts +9 -9
  315. package/text-input/Suggestion.js +40 -28
  316. package/text-input/Suggestions.d.ts +4 -0
  317. package/text-input/Suggestions.js +86 -0
  318. package/text-input/TextInput.accessibility.test.js +321 -0
  319. package/text-input/TextInput.js +311 -514
  320. package/text-input/TextInput.stories.tsx +266 -275
  321. package/text-input/TextInput.test.js +1419 -1375
  322. package/text-input/types.d.ts +43 -16
  323. package/textarea/Textarea.accessibility.test.js +155 -0
  324. package/textarea/Textarea.js +70 -113
  325. package/textarea/Textarea.stories.tsx +174 -0
  326. package/textarea/Textarea.test.js +152 -183
  327. package/textarea/types.d.ts +9 -5
  328. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  329. package/toggle-group/ToggleGroup.d.ts +2 -2
  330. package/toggle-group/ToggleGroup.js +92 -106
  331. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  332. package/toggle-group/ToggleGroup.test.js +69 -88
  333. package/toggle-group/types.d.ts +26 -17
  334. package/typography/Typography.accessibility.test.js +339 -0
  335. package/typography/Typography.d.ts +4 -0
  336. package/typography/Typography.js +23 -0
  337. package/typography/Typography.stories.tsx +198 -0
  338. package/typography/types.d.ts +18 -0
  339. package/typography/types.js +5 -0
  340. package/useTheme.d.ts +1147 -1
  341. package/useTheme.js +2 -9
  342. package/useTranslatedLabels.d.ts +84 -1
  343. package/useTranslatedLabels.js +1 -7
  344. package/utils/BaseTypography.d.ts +21 -0
  345. package/utils/BaseTypography.js +94 -0
  346. package/utils/FocusLock.d.ts +13 -0
  347. package/utils/FocusLock.js +124 -0
  348. package/wizard/Wizard.accessibility.test.js +55 -0
  349. package/wizard/Wizard.js +24 -66
  350. package/wizard/Wizard.stories.tsx +40 -1
  351. package/wizard/Wizard.test.js +54 -81
  352. package/wizard/types.d.ts +8 -8
  353. package/card/ice-cream.jpg +0 -0
  354. package/common/OpenSans.css +0 -81
  355. package/common/RequiredComponent.js +0 -32
  356. package/common/fonts/OpenSans-Bold.ttf +0 -0
  357. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  358. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  359. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  360. package/common/fonts/OpenSans-Italic.ttf +0 -0
  361. package/common/fonts/OpenSans-Light.ttf +0 -0
  362. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  363. package/common/fonts/OpenSans-Regular.ttf +0 -0
  364. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  365. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  366. package/list/List.d.ts +0 -4
  367. package/list/List.js +0 -47
  368. package/list/List.stories.tsx +0 -95
  369. package/list/types.d.ts +0 -7
  370. package/number-input/numberInputContextTypes.d.ts +0 -19
  371. package/resultsetTable/ResultsetTable.d.ts +0 -4
  372. package/resultsetTable/ResultsetTable.js +0 -254
  373. package/resultsetTable/ResultsetTable.test.js +0 -306
  374. package/row/Row.d.ts +0 -3
  375. package/row/Row.js +0 -127
  376. package/row/Row.stories.tsx +0 -237
  377. package/row/types.d.ts +0 -28
  378. package/slider/Slider.stories.tsx +0 -177
  379. package/stack/Stack.d.ts +0 -3
  380. package/stack/Stack.js +0 -97
  381. package/stack/Stack.stories.tsx +0 -164
  382. package/stack/types.d.ts +0 -24
  383. package/table/Table.stories.jsx +0 -277
  384. package/tabs-nav/NavTabs.d.ts +0 -8
  385. package/tabs-nav/Tab.js +0 -132
  386. package/text/Text.d.ts +0 -7
  387. package/text/Text.js +0 -30
  388. package/text/Text.stories.tsx +0 -19
  389. package/textarea/Textarea.stories.jsx +0 -157
  390. /package/{list → action-icon}/types.js +0 -0
  391. /package/{resultsetTable → bulleted-list}/types.js +0 -0
  392. /package/{row → container}/types.js +0 -0
  393. /package/{stack → contextual-menu}/types.js +0 -0
  394. /package/{tabs-nav → divider}/types.js +0 -0
  395. /package/{number-input/numberInputContextTypes.js → flex/types.js} +0 -0
  396. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
package/switch/Switch.js CHANGED
@@ -1,136 +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
14
  var _uuid = require("uuid");
25
-
26
- var _variables = require("../common/variables.js");
27
-
28
- var _utils = require("../common/utils.js");
29
-
15
+ var _variables = require("../common/variables");
16
+ var _utils = require("../common/utils");
30
17
  var _useTheme = _interopRequireDefault(require("../useTheme"));
31
-
32
18
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
33
-
34
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
35
-
36
- var _templateObject, _templateObject2;
37
-
38
- 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); }
39
-
40
- 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; }
41
-
42
- var DxcSwitch = function DxcSwitch(_ref) {
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) {
43
23
  var defaultChecked = _ref.defaultChecked,
44
- checked = _ref.checked,
45
- value = _ref.value,
46
- _ref$label = _ref.label,
47
- label = _ref$label === void 0 ? "" : _ref$label,
48
- _ref$labelPosition = _ref.labelPosition,
49
- labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
50
- _ref$name = _ref.name,
51
- name = _ref$name === void 0 ? "" : _ref$name,
52
- _ref$disabled = _ref.disabled,
53
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
54
- _ref$optional = _ref.optional,
55
- optional = _ref$optional === void 0 ? false : _ref$optional,
56
- onChange = _ref.onChange,
57
- margin = _ref.margin,
58
- _ref$size = _ref.size,
59
- size = _ref$size === void 0 ? "fitContent" : _ref$size,
60
- _ref$tabIndex = _ref.tabIndex,
61
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
62
-
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;
63
42
  var _useState = (0, _react.useState)("switch-".concat((0, _uuid.v4)())),
64
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
65
- switchId = _useState2[0];
66
-
43
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
44
+ switchId = _useState2[0];
67
45
  var labelId = "label-".concat(switchId);
68
-
69
46
  var _useState3 = (0, _react.useState)(defaultChecked !== null && defaultChecked !== void 0 ? defaultChecked : false),
70
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
71
- innerChecked = _useState4[0],
72
- setInnerChecked = _useState4[1];
73
-
47
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
48
+ innerChecked = _useState4[0],
49
+ setInnerChecked = _useState4[1];
74
50
  var colorsTheme = (0, _useTheme["default"])();
75
51
  var translatedLabels = (0, _useTranslatedLabels["default"])();
76
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
77
-
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
+ };
78
66
  var handlerSwitchChange = function handlerSwitchChange(event) {
79
- if (checked === undefined) {
80
- var _event$target$checked;
81
-
82
- var isChecked = (_event$target$checked = event.target.checked) !== null && _event$target$checked !== void 0 ? _event$target$checked : !innerChecked;
83
- setInnerChecked(isChecked);
84
- onChange === null || onChange === void 0 ? void 0 : onChange(isChecked);
85
- } 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);
86
71
  };
87
-
88
- var labelComponent = /*#__PURE__*/_react["default"].createElement(LabelContainer, {
89
- id: labelId,
90
- labelPosition: labelPosition,
91
- onClick: !disabled && handlerSwitchChange,
92
- disabled: disabled,
93
- backgroundType: backgroundType
94
- }, labelPosition === "before" ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, label, " ", optional && /*#__PURE__*/_react["default"].createElement("span", null, translatedLabels.formFields.optionalLabel)) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, optional && /*#__PURE__*/_react["default"].createElement("span", null, translatedLabels.formFields.optionalLabel), " ", label));
95
-
96
72
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
97
73
  theme: colorsTheme["switch"]
98
74
  }, /*#__PURE__*/_react["default"].createElement(SwitchContainer, {
99
75
  margin: margin,
76
+ size: size,
77
+ onKeyDown: handleOnKeyDown,
100
78
  disabled: disabled,
79
+ onClick: !disabled ? handlerSwitchChange : undefined,
80
+ ref: ref
81
+ }, labelPosition === "before" && label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
82
+ id: labelId,
101
83
  labelPosition: labelPosition,
102
- size: size,
103
- backgroundType: backgroundType
104
- }, labelPosition === "before" && labelComponent, /*#__PURE__*/_react["default"].createElement(_core.Switch, {
105
- checked: checked !== null && checked !== void 0 ? checked : innerChecked,
106
- inputProps: {
107
- name: name,
108
- "aria-labelledby": labelId,
109
- role: "switch",
110
- "aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked,
111
- tabIndex: tabIndex
112
- },
113
- 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,
114
90
  value: value,
115
91
  disabled: disabled,
116
- disableRipple: true
117
- }), labelPosition === "after" && labelComponent));
118
- };
119
-
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,
104
+ labelPosition: labelPosition,
105
+ disabled: disabled,
106
+ label: label
107
+ }, optional && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, translatedLabels.formFields.optionalLabel), " ", label)));
108
+ });
120
109
  var sizes = {
121
110
  small: "60px",
122
111
  medium: "240px",
123
112
  large: "480px",
124
113
  fillParent: "100%",
125
- fitContent: "unset"
114
+ fitContent: "fit-content"
126
115
  };
127
-
128
116
  var calculateWidth = function calculateWidth(margin, size) {
129
117
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
130
118
  };
131
-
132
- var SwitchContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n display: inline-flex;\n align-items: center;\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) {
133
160
  return calculateWidth(props.margin, props.size);
161
+ }, function (props) {
162
+ return props.disabled === true ? "not-allowed" : "pointer";
134
163
  }, function (props) {
135
164
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
136
165
  }, function (props) {
@@ -141,55 +170,45 @@ var SwitchContainer = _styledComponents["default"].div(_templateObject || (_temp
141
170
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
142
171
  }, function (props) {
143
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");
144
176
  }, function (props) {
145
- return props.disabled ? "not-allowed" : "default";
146
- }, function (props) {
147
- return props.theme.trackWidth;
148
- }, function (props) {
149
- return "".concat(props.backgroundType === "dark" ? props.theme.thumbFocusColorOnDark : props.theme.thumbFocusColor, " solid 2px");
150
- }, function (props) {
151
- return props.backgroundType === "dark" ? props.theme.uncheckedTrackBackgroundColorOnDark : props.theme.uncheckedTrackBackgroundColor;
152
- }, function (props) {
153
- return props.theme.trackHeight;
154
- }, function (props) {
155
- return props.theme.thumbWidth;
156
- }, function (props) {
157
- return props.theme.thumbHeight;
177
+ return props.theme.labelFontFamily;
158
178
  }, function (props) {
159
- return props.backgroundType === "dark" ? props.theme.uncheckedThumbBackgroundColorOnDark : props.theme.uncheckedThumbBackgroundColor;
179
+ return props.theme.labelFontSize;
160
180
  }, function (props) {
161
- return props.backgroundType === "dark" ? props.theme.disabledUncheckedThumbBackgroundColorOnDark : props.theme.disabledUncheckedThumbBackgroundColor;
181
+ return props.disabled ? props.theme.disabledLabelFontStyle : props.theme.labelFontStyle;
162
182
  }, function (props) {
163
- return props.backgroundType === "dark" ? props.theme.disabledUncheckedTrackBackgroundColorOnDark : props.theme.disabledUncheckedTrackBackgroundColor;
183
+ return props.theme.labelFontWeight;
164
184
  }, function (props) {
165
- return props.backgroundType === "dark" ? props.theme.disabledCheckedThumbBackgroundColorOnDark : props.theme.disabledCheckedThumbBackgroundColor;
185
+ return !props.label ? "margin: 0px;" : props.labelPosition === "after" ? "margin-left: ".concat(props.theme.spaceBetweenLabelSwitch, ";") : "margin-right: ".concat(props.theme.spaceBetweenLabelSwitch, ";");
166
186
  }, function (props) {
167
- return props.backgroundType === "dark" ? props.theme.disabledCheckedTrackBackgroundColorOnDark : props.theme.disabledCheckedTrackBackgroundColor;
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;
168
193
  }, function (props) {
169
- return props.backgroundType === "dark" ? props.theme.checkedThumbBackgroundColorOnDark : props.theme.checkedThumbBackgroundColor;
194
+ return props.theme.trackHeight;
170
195
  }, function (props) {
171
- return props.theme.thumbShift;
196
+ return props.disabled ? "not-allowed" : "pointer";
172
197
  }, function (props) {
173
- return props.backgroundType === "dark" ? props.theme.checkedTrackBackgroundColorOnDark : props.theme.checkedTrackBackgroundColor;
174
- });
175
-
176
- 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\n ", "\n"])), function (props) {
177
- return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
198
+ return "".concat(props.theme.thumbFocusColor, " solid 2px");
178
199
  }, function (props) {
179
- return props.theme.labelFontFamily;
200
+ return props.theme.thumbWidth;
180
201
  }, function (props) {
181
- return props.theme.labelFontSize;
202
+ return props.theme.thumbHeight;
182
203
  }, function (props) {
183
- return props.disabled ? props.theme.disabledLabelFontStyle : props.theme.labelFontStyle;
204
+ return props.disabled ? getDisabledColor(props.theme, "thumb", "uncheck") : getNotDisabledColor(props.theme, "thumb", "uncheck");
184
205
  }, function (props) {
185
- return props.theme.labelFontWeight;
206
+ return props.disabled ? getDisabledColor(props.theme, "track", "uncheck") : getNotDisabledColor(props.theme, "track", "uncheck");
186
207
  }, function (props) {
187
- return props.disabled === true ? "not-allowed" : "pointer";
208
+ return props.disabled ? getDisabledColor(props.theme, "track", "check") : getNotDisabledColor(props.theme, "track", "check");
188
209
  }, function (props) {
189
- return props.labelPosition === "after" ? "margin-left: ".concat(props.theme.spaceBetweenLabelSwitch, ";") : "margin-right: ".concat(props.theme.spaceBetweenLabelSwitch, ";");
210
+ return props.theme.thumbShift;
190
211
  }, function (props) {
191
- return props.labelPosition === "before" && "order: -1";
212
+ return props.disabled ? getDisabledColor(props.theme, "thumb", "check") : getNotDisabledColor(props.theme, "thumb", "check");
192
213
  });
193
-
194
- var _default = DxcSwitch;
195
- 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,6 +26,10 @@ 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
35
  <DxcSwitch label="Switch" defaultChecked />
@@ -41,34 +50,6 @@ export const Chromatic = () => (
41
50
  <Title title="Disabled checked" theme="light" level={4} />
42
51
  <DxcSwitch label="Switch" disabled defaultChecked labelPosition="after" />
43
52
  </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" defaultChecked />
53
- </ExampleContainer>
54
- <ExampleContainer>
55
- <Title title="Optional" theme="dark" level={4} />
56
- <DxcSwitch label="Switch" optional />
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 optional" theme="dark" level={4} />
64
- <DxcSwitch label="Switch" disabled optional labelPosition="after" />
65
- </ExampleContainer>
66
- <ExampleContainer>
67
- <Title title="Disabled checked" theme="dark" level={4} />
68
- <DxcSwitch label="Switch" disabled defaultChecked labelPosition="after" />
69
- </ExampleContainer>
70
- </DarkContainer>
71
- </BackgroundColorProvider>
72
53
  <Title title="Margins" theme="light" level={2} />
73
54
  <ExampleContainer>
74
55
  <Title title="Xxsmall 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("switch").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("switch").focus();
160
- };