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

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 (301) hide show
  1. package/BackgroundColorContext.d.ts +3 -3
  2. package/BackgroundColorContext.js +6 -18
  3. package/HalstackContext.d.ts +1347 -6
  4. package/HalstackContext.js +125 -110
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +116 -157
  8. package/accordion/Accordion.stories.tsx +102 -126
  9. package/accordion/Accordion.test.js +25 -41
  10. package/accordion/types.d.ts +5 -16
  11. package/accordion-group/AccordionGroup.d.ts +4 -3
  12. package/accordion-group/AccordionGroup.js +31 -98
  13. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  14. package/accordion-group/AccordionGroup.test.js +52 -105
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +11 -16
  18. package/alert/Alert.js +19 -55
  19. package/alert/Alert.stories.tsx +28 -0
  20. package/alert/Alert.test.js +29 -46
  21. package/alert/types.d.ts +5 -5
  22. package/badge/Badge.js +4 -17
  23. package/badge/types.d.ts +1 -1
  24. package/bleed/Bleed.js +14 -55
  25. package/bleed/Bleed.stories.tsx +95 -95
  26. package/bleed/types.d.ts +2 -2
  27. package/box/Box.d.ts +1 -1
  28. package/box/Box.js +18 -56
  29. package/box/Box.stories.tsx +38 -51
  30. package/box/Box.test.js +2 -7
  31. package/box/types.d.ts +3 -14
  32. package/bulleted-list/BulletedList.d.ts +7 -0
  33. package/bulleted-list/BulletedList.js +99 -0
  34. package/bulleted-list/BulletedList.stories.tsx +116 -0
  35. package/bulleted-list/types.d.ts +38 -0
  36. package/button/Button.d.ts +1 -1
  37. package/button/Button.js +61 -114
  38. package/button/Button.stories.tsx +160 -90
  39. package/button/Button.test.js +18 -17
  40. package/button/types.d.ts +12 -8
  41. package/card/Card.d.ts +1 -1
  42. package/card/Card.js +48 -89
  43. package/card/Card.stories.tsx +12 -42
  44. package/card/Card.test.js +11 -22
  45. package/card/types.d.ts +6 -11
  46. package/checkbox/Checkbox.d.ts +2 -2
  47. package/checkbox/Checkbox.js +141 -178
  48. package/checkbox/Checkbox.stories.tsx +128 -94
  49. package/checkbox/Checkbox.test.js +160 -39
  50. package/checkbox/types.d.ts +11 -3
  51. package/chip/Chip.js +39 -79
  52. package/chip/Chip.stories.tsx +121 -26
  53. package/chip/Chip.test.js +16 -31
  54. package/chip/types.d.ts +4 -4
  55. package/common/OpenSans.css +68 -80
  56. package/common/coreTokens.d.ts +237 -0
  57. package/common/coreTokens.js +184 -0
  58. package/common/utils.d.ts +1 -0
  59. package/common/utils.js +6 -12
  60. package/common/variables.d.ts +1499 -0
  61. package/common/variables.js +1027 -1126
  62. package/container/Container.d.ts +4 -0
  63. package/container/Container.js +198 -0
  64. package/container/Container.stories.tsx +229 -0
  65. package/container/types.d.ts +74 -0
  66. package/date-input/Calendar.d.ts +4 -0
  67. package/date-input/Calendar.js +214 -0
  68. package/date-input/DateInput.js +150 -299
  69. package/date-input/DateInput.stories.tsx +203 -56
  70. package/date-input/DateInput.test.js +700 -371
  71. package/date-input/DatePicker.d.ts +4 -0
  72. package/date-input/DatePicker.js +115 -0
  73. package/date-input/Icons.d.ts +6 -0
  74. package/date-input/Icons.js +58 -0
  75. package/date-input/YearPicker.d.ts +4 -0
  76. package/date-input/YearPicker.js +100 -0
  77. package/date-input/types.d.ts +72 -15
  78. package/dialog/Dialog.d.ts +1 -1
  79. package/dialog/Dialog.js +75 -106
  80. package/dialog/Dialog.stories.tsx +154 -171
  81. package/dialog/Dialog.test.js +287 -20
  82. package/dialog/types.d.ts +18 -25
  83. package/dropdown/Dropdown.d.ts +1 -1
  84. package/dropdown/Dropdown.js +243 -300
  85. package/dropdown/Dropdown.stories.tsx +245 -56
  86. package/dropdown/Dropdown.test.js +575 -165
  87. package/dropdown/DropdownMenu.d.ts +4 -0
  88. package/dropdown/DropdownMenu.js +63 -0
  89. package/dropdown/DropdownMenuItem.d.ts +4 -0
  90. package/dropdown/DropdownMenuItem.js +67 -0
  91. package/dropdown/types.d.ts +32 -14
  92. package/file-input/FileInput.d.ts +2 -2
  93. package/file-input/FileInput.js +241 -355
  94. package/file-input/FileInput.stories.tsx +123 -12
  95. package/file-input/FileInput.test.js +369 -367
  96. package/file-input/FileItem.d.ts +4 -14
  97. package/file-input/FileItem.js +45 -96
  98. package/file-input/types.d.ts +25 -8
  99. package/flex/Flex.d.ts +4 -0
  100. package/flex/Flex.js +57 -0
  101. package/flex/Flex.stories.tsx +112 -0
  102. package/flex/types.d.ts +97 -0
  103. package/footer/Footer.d.ts +1 -1
  104. package/footer/Footer.js +51 -101
  105. package/footer/Footer.stories.tsx +41 -19
  106. package/footer/Footer.test.js +33 -57
  107. package/footer/Icons.d.ts +2 -2
  108. package/footer/Icons.js +3 -8
  109. package/footer/types.d.ts +21 -22
  110. package/grid/Grid.d.ts +7 -0
  111. package/grid/Grid.js +76 -0
  112. package/grid/Grid.stories.tsx +219 -0
  113. package/grid/types.d.ts +115 -0
  114. package/header/Header.d.ts +4 -3
  115. package/header/Header.js +90 -162
  116. package/header/Header.stories.tsx +118 -39
  117. package/header/Header.test.js +13 -26
  118. package/header/Icons.d.ts +2 -2
  119. package/header/Icons.js +4 -9
  120. package/header/types.d.ts +5 -20
  121. package/heading/Heading.js +10 -32
  122. package/heading/Heading.test.js +71 -88
  123. package/heading/types.d.ts +7 -7
  124. package/image/Image.d.ts +4 -0
  125. package/image/Image.js +70 -0
  126. package/image/Image.stories.tsx +127 -0
  127. package/image/types.d.ts +72 -0
  128. package/inset/Inset.js +14 -55
  129. package/inset/Inset.stories.tsx +37 -36
  130. package/inset/types.d.ts +2 -2
  131. package/layout/ApplicationLayout.d.ts +15 -6
  132. package/layout/ApplicationLayout.js +51 -116
  133. package/layout/ApplicationLayout.stories.tsx +81 -45
  134. package/layout/Icons.d.ts +8 -5
  135. package/layout/Icons.js +51 -59
  136. package/layout/SidenavContext.d.ts +1 -1
  137. package/layout/SidenavContext.js +3 -9
  138. package/layout/types.d.ts +21 -32
  139. package/link/Link.js +25 -46
  140. package/link/Link.stories.tsx +73 -6
  141. package/link/Link.test.js +24 -44
  142. package/link/types.d.ts +14 -14
  143. package/main.d.ts +10 -10
  144. package/main.js +45 -95
  145. package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
  146. package/{tabs-nav → nav-tabs}/NavTabs.js +22 -57
  147. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +111 -7
  148. package/{tabs-nav → nav-tabs}/NavTabs.test.js +37 -44
  149. package/nav-tabs/Tab.js +117 -0
  150. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  151. package/number-input/NumberInput.d.ts +7 -0
  152. package/number-input/NumberInput.js +26 -35
  153. package/number-input/NumberInput.stories.tsx +42 -26
  154. package/number-input/NumberInput.test.js +701 -377
  155. package/number-input/types.d.ts +11 -5
  156. package/package.json +43 -45
  157. package/paginator/Icons.d.ts +5 -0
  158. package/paginator/Icons.js +21 -47
  159. package/paginator/Paginator.js +22 -55
  160. package/paginator/Paginator.stories.tsx +24 -0
  161. package/paginator/Paginator.test.js +280 -211
  162. package/paginator/types.d.ts +3 -3
  163. package/paragraph/Paragraph.d.ts +5 -0
  164. package/paragraph/Paragraph.js +27 -0
  165. package/paragraph/Paragraph.stories.tsx +27 -0
  166. package/password-input/Icons.d.ts +6 -0
  167. package/password-input/Icons.js +35 -0
  168. package/password-input/PasswordInput.js +57 -126
  169. package/password-input/PasswordInput.stories.tsx +1 -32
  170. package/password-input/PasswordInput.test.js +160 -142
  171. package/password-input/types.d.ts +8 -7
  172. package/progress-bar/ProgressBar.js +67 -87
  173. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +39 -4
  174. package/progress-bar/ProgressBar.test.js +72 -44
  175. package/progress-bar/types.d.ts +3 -3
  176. package/quick-nav/QuickNav.js +29 -47
  177. package/quick-nav/QuickNav.stories.tsx +146 -27
  178. package/quick-nav/types.d.ts +10 -10
  179. package/radio-group/Radio.d.ts +1 -1
  180. package/radio-group/Radio.js +59 -76
  181. package/radio-group/RadioGroup.js +67 -114
  182. package/radio-group/RadioGroup.stories.tsx +132 -18
  183. package/radio-group/RadioGroup.test.js +518 -457
  184. package/radio-group/types.d.ts +10 -10
  185. package/resultset-table/Icons.d.ts +7 -0
  186. package/resultset-table/Icons.js +47 -0
  187. package/resultset-table/ResultsetTable.js +159 -0
  188. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +50 -25
  189. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +117 -118
  190. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  191. package/resultset-table/types.js +5 -0
  192. package/select/Icons.d.ts +7 -7
  193. package/select/Icons.js +1 -5
  194. package/select/Listbox.d.ts +1 -1
  195. package/select/Listbox.js +42 -51
  196. package/select/Option.js +20 -50
  197. package/select/Select.js +125 -188
  198. package/select/Select.stories.tsx +516 -139
  199. package/select/Select.test.js +1965 -1751
  200. package/select/types.d.ts +16 -20
  201. package/sidenav/Icons.d.ts +7 -0
  202. package/sidenav/Icons.js +47 -0
  203. package/sidenav/Sidenav.d.ts +6 -5
  204. package/sidenav/Sidenav.js +129 -77
  205. package/sidenav/Sidenav.stories.tsx +251 -151
  206. package/sidenav/Sidenav.test.js +26 -45
  207. package/sidenav/types.d.ts +52 -26
  208. package/slider/Slider.d.ts +2 -2
  209. package/slider/Slider.js +144 -168
  210. package/slider/Slider.test.js +185 -81
  211. package/slider/types.d.ts +7 -3
  212. package/spinner/Spinner.js +27 -63
  213. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  214. package/spinner/Spinner.test.js +26 -35
  215. package/spinner/types.d.ts +3 -3
  216. package/switch/Switch.d.ts +2 -2
  217. package/switch/Switch.js +148 -124
  218. package/switch/Switch.stories.tsx +37 -60
  219. package/switch/Switch.test.js +138 -56
  220. package/switch/types.d.ts +7 -3
  221. package/table/Table.js +7 -26
  222. package/table/{Table.stories.jsx → Table.stories.tsx} +80 -1
  223. package/table/Table.test.js +3 -8
  224. package/table/types.d.ts +8 -8
  225. package/tabs/Tab.d.ts +4 -0
  226. package/tabs/Tab.js +113 -0
  227. package/tabs/Tabs.js +315 -141
  228. package/tabs/Tabs.stories.tsx +119 -5
  229. package/tabs/Tabs.test.js +223 -69
  230. package/tabs/types.d.ts +28 -18
  231. package/tag/Tag.js +29 -61
  232. package/tag/Tag.stories.tsx +14 -1
  233. package/tag/Tag.test.js +20 -31
  234. package/tag/types.d.ts +7 -7
  235. package/text-input/Icons.d.ts +8 -0
  236. package/text-input/Icons.js +56 -0
  237. package/text-input/Suggestion.js +40 -28
  238. package/text-input/Suggestions.d.ts +4 -0
  239. package/text-input/Suggestions.js +89 -0
  240. package/text-input/TextInput.js +280 -458
  241. package/text-input/TextInput.stories.tsx +266 -275
  242. package/text-input/TextInput.test.js +1402 -1375
  243. package/text-input/types.d.ts +43 -16
  244. package/textarea/Textarea.js +63 -100
  245. package/textarea/Textarea.stories.tsx +175 -0
  246. package/textarea/Textarea.test.js +152 -183
  247. package/textarea/types.d.ts +9 -5
  248. package/toggle-group/ToggleGroup.d.ts +2 -2
  249. package/toggle-group/ToggleGroup.js +95 -106
  250. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  251. package/toggle-group/ToggleGroup.test.js +69 -88
  252. package/toggle-group/types.d.ts +26 -17
  253. package/typography/Typography.d.ts +4 -0
  254. package/typography/Typography.js +23 -0
  255. package/typography/Typography.stories.tsx +198 -0
  256. package/typography/types.d.ts +18 -0
  257. package/typography/types.js +5 -0
  258. package/useTheme.d.ts +1251 -1
  259. package/useTheme.js +2 -9
  260. package/useTranslatedLabels.d.ts +84 -1
  261. package/useTranslatedLabels.js +1 -7
  262. package/utils/BaseTypography.d.ts +21 -0
  263. package/utils/BaseTypography.js +94 -0
  264. package/utils/FocusLock.d.ts +13 -0
  265. package/utils/FocusLock.js +114 -0
  266. package/wizard/Wizard.js +24 -66
  267. package/wizard/Wizard.stories.tsx +40 -1
  268. package/wizard/Wizard.test.js +54 -81
  269. package/wizard/types.d.ts +7 -7
  270. package/card/ice-cream.jpg +0 -0
  271. package/common/RequiredComponent.js +0 -32
  272. package/list/List.d.ts +0 -4
  273. package/list/List.js +0 -47
  274. package/list/List.stories.tsx +0 -95
  275. package/list/types.d.ts +0 -7
  276. package/number-input/NumberInputContext.d.ts +0 -4
  277. package/number-input/NumberInputContext.js +0 -19
  278. package/number-input/numberInputContextTypes.d.ts +0 -19
  279. package/resultsetTable/ResultsetTable.js +0 -254
  280. package/row/Row.d.ts +0 -3
  281. package/row/Row.js +0 -127
  282. package/row/Row.stories.tsx +0 -237
  283. package/row/types.d.ts +0 -28
  284. package/slider/Slider.stories.tsx +0 -177
  285. package/stack/Stack.d.ts +0 -3
  286. package/stack/Stack.js +0 -97
  287. package/stack/Stack.stories.tsx +0 -164
  288. package/stack/types.d.ts +0 -24
  289. package/tabs-nav/Tab.js +0 -132
  290. package/text/Text.d.ts +0 -7
  291. package/text/Text.js +0 -30
  292. package/text/Text.stories.tsx +0 -19
  293. package/textarea/Textarea.stories.jsx +0 -157
  294. /package/{list → bulleted-list}/types.js +0 -0
  295. /package/{resultsetTable → container}/types.js +0 -0
  296. /package/{row → flex}/types.js +0 -0
  297. /package/{stack → grid}/types.js +0 -0
  298. /package/{tabs-nav → image}/types.js +0 -0
  299. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  300. /package/{number-input/numberInputContextTypes.js → nav-tabs/types.js} +0 -0
  301. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
@@ -2,67 +2,84 @@ import React from "react";
2
2
  import DxcSpinner from "./Spinner";
3
3
  import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { HalstackProvider } from "../HalstackContext";
5
6
 
6
7
  export default {
7
8
  title: "Spinner",
8
9
  component: DxcSpinner,
9
10
  };
10
11
 
12
+ const opinionatedTheme = {
13
+ spinner: {
14
+ accentColor: "#5f249f",
15
+ baseColor: "#ffffff",
16
+ fontColor: "#000000",
17
+ overlayColor: "#a46ede",
18
+ overlayFontColor: "#ffffff",
19
+ },
20
+ };
21
+
11
22
  export const Chromatic = () => (
12
23
  <>
13
24
  <ExampleContainer>
14
25
  <Title title="With label" theme="light" level={4} />
15
- <DxcSpinner label="Label" value="50"></DxcSpinner>
26
+ <DxcSpinner label="Label" value={50}></DxcSpinner>
16
27
  <Title title="With value label" theme="light" level={4} />
17
- <DxcSpinner value="50" showValue></DxcSpinner>
28
+ <DxcSpinner value={50} showValue></DxcSpinner>
18
29
  <Title title="With label and value label" theme="light" level={4} />
19
- <DxcSpinner label="Label" value="50" showValue></DxcSpinner>
30
+ <DxcSpinner label="Label" value={50} showValue></DxcSpinner>
20
31
  <Title title="With 100%" theme="light" level={4} />
21
- <DxcSpinner label="Label" value="100" showValue></DxcSpinner>
32
+ <DxcSpinner label="Label" value={100} showValue></DxcSpinner>
22
33
  </ExampleContainer>
23
34
  <Title title="Modes" theme="light" level={2} />
24
35
  <ExampleContainer>
25
36
  <Title title="Mode large" theme="light" level={4} />
26
- <DxcSpinner mode="large" value="50"></DxcSpinner>
37
+ <DxcSpinner mode="large" value={50}></DxcSpinner>
27
38
  <Title title="Mode small" theme="light" level={4} />
28
- <DxcSpinner mode="small" value="50"></DxcSpinner>
39
+ <DxcSpinner mode="small" value={50}></DxcSpinner>
29
40
  <Title title="Mode small with 100%" theme="light" level={4} />
30
- <DxcSpinner mode="small" value="100" showValue></DxcSpinner>
41
+ <DxcSpinner mode="small" value={100} showValue></DxcSpinner>
31
42
  </ExampleContainer>
32
43
  <Title title="Margins with large mode" theme="light" level={2} />
33
44
  <ExampleContainer>
34
45
  <Title title="Xxsmall margin" theme="light" level={4} />
35
- <DxcSpinner margin="xxsmall" value="75"></DxcSpinner>
46
+ <DxcSpinner margin="xxsmall" value={75}></DxcSpinner>
36
47
  <Title title="Xsmall margin" theme="light" level={4} />
37
- <DxcSpinner margin="xsmall" value="75"></DxcSpinner>
48
+ <DxcSpinner margin="xsmall" value={75}></DxcSpinner>
38
49
  <Title title="Small margin" theme="light" level={4} />
39
- <DxcSpinner margin="small" value="75"></DxcSpinner>
50
+ <DxcSpinner margin="small" value={75}></DxcSpinner>
40
51
  <Title title="Medium margin" theme="light" level={4} />
41
- <DxcSpinner margin="medium" value="75"></DxcSpinner>
52
+ <DxcSpinner margin="medium" value={75}></DxcSpinner>
42
53
  <Title title="Large margin" theme="light" level={4} />
43
- <DxcSpinner margin="large" value="75"></DxcSpinner>
54
+ <DxcSpinner margin="large" value={75}></DxcSpinner>
44
55
  <Title title="Xlarge margin" theme="light" level={4} />
45
- <DxcSpinner margin="xlarge" value="75"></DxcSpinner>
56
+ <DxcSpinner margin="xlarge" value={75}></DxcSpinner>
46
57
  <Title title="Xxlarge margin" theme="light" level={4} />
47
- <DxcSpinner margin="xxlarge" value="75"></DxcSpinner>
58
+ <DxcSpinner margin="xxlarge" value={75}></DxcSpinner>
48
59
  </ExampleContainer>
49
60
  <Title title="Margins with small mode" theme="light" level={2} />
50
61
  <ExampleContainer>
51
62
  <Title title="Xxsmall margin" theme="light" level={4} />
52
- <DxcSpinner margin="xxsmall" mode="small" value="75"></DxcSpinner>
63
+ <DxcSpinner margin="xxsmall" mode="small" value={75}></DxcSpinner>
53
64
  <Title title="Xsmall margin" theme="light" level={4} />
54
- <DxcSpinner margin="xsmall" mode="small" value="75"></DxcSpinner>
65
+ <DxcSpinner margin="xsmall" mode="small" value={75}></DxcSpinner>
55
66
  <Title title="Small margin" theme="light" level={4} />
56
- <DxcSpinner margin="small" mode="small" value="75"></DxcSpinner>
67
+ <DxcSpinner margin="small" mode="small" value={75}></DxcSpinner>
57
68
  <Title title="Medium margin" theme="light" level={4} />
58
- <DxcSpinner margin="medium" mode="small" value="75"></DxcSpinner>
69
+ <DxcSpinner margin="medium" mode="small" value={75}></DxcSpinner>
59
70
  <Title title="Large margin" theme="light" level={4} />
60
- <DxcSpinner margin="large" mode="small" value="75"></DxcSpinner>
71
+ <DxcSpinner margin="large" mode="small" value={75}></DxcSpinner>
61
72
  <Title title="Xlarge margin" theme="light" level={4} />
62
- <DxcSpinner margin="xlarge" mode="small" value="75"></DxcSpinner>
73
+ <DxcSpinner margin="xlarge" mode="small" value={75}></DxcSpinner>
63
74
  <Title title="Xxlarge margin" theme="light" level={4} />
64
- <DxcSpinner margin="xxlarge" mode="small" value="75"></DxcSpinner>
65
- <hr />
75
+ <DxcSpinner margin="xxlarge" mode="small" value={75}></DxcSpinner>
76
+ </ExampleContainer>
77
+ <Title title="Opinionated theme" theme="light" level={2} />
78
+ <ExampleContainer>
79
+ <Title title="With label and value label" theme="light" level={4} />
80
+ <HalstackProvider theme={opinionatedTheme}>
81
+ <DxcSpinner label="Label" value={50} showValue></DxcSpinner>
82
+ </HalstackProvider>
66
83
  </ExampleContainer>
67
84
  </>
68
85
  );
@@ -70,34 +87,43 @@ export const Chromatic = () => (
70
87
  export const SpinnerOverlay = () => (
71
88
  <ExampleContainer>
72
89
  <Title title="Mode overlay" theme="light" level={4} />
73
- <DxcSpinner mode="overlay" value="25"></DxcSpinner>
90
+ <DxcSpinner mode="overlay" value={25}></DxcSpinner>
74
91
  </ExampleContainer>
75
92
  );
76
93
 
77
94
  export const SpinnerOverlayWith100 = () => (
78
95
  <ExampleContainer>
79
96
  <Title title="Mode overlay" theme="light" level={4} />
80
- <DxcSpinner mode="overlay" value="100"></DxcSpinner>
97
+ <DxcSpinner mode="overlay" value={100}></DxcSpinner>
81
98
  </ExampleContainer>
82
99
  );
83
100
 
84
101
  export const SpinnerOverlayWithLabel = () => (
85
102
  <ExampleContainer>
86
103
  <Title title="Mode overlay" theme="light" level={4} />
87
- <DxcSpinner mode="overlay" value="50" label="Label"></DxcSpinner>
104
+ <DxcSpinner mode="overlay" value={50} label="Label"></DxcSpinner>
88
105
  </ExampleContainer>
89
106
  );
90
107
 
91
108
  export const SpinnerOverlayWithValue = () => (
92
109
  <ExampleContainer>
93
110
  <Title title="Mode overlay" theme="light" level={4} />
94
- <DxcSpinner mode="overlay" value="50" showValue></DxcSpinner>
111
+ <DxcSpinner mode="overlay" value={50} showValue></DxcSpinner>
95
112
  </ExampleContainer>
96
113
  );
97
114
 
98
115
  export const SpinnerOverlayWithValueAndLabel = () => (
99
116
  <ExampleContainer>
100
117
  <Title title="Mode overlay" theme="light" level={4} />
101
- <DxcSpinner mode="overlay" label="Label" value="50" showValue></DxcSpinner>
118
+ <DxcSpinner mode="overlay" label="Label" value={50} showValue></DxcSpinner>
119
+ </ExampleContainer>
120
+ );
121
+
122
+ export const SpinnerOverlayWithValueAndLabelOpinionated = () => (
123
+ <ExampleContainer>
124
+ <HalstackProvider theme={opinionatedTheme}>
125
+ <Title title="Mode overlay" theme="light" level={4} />
126
+ <DxcSpinner mode="overlay" label="Label" value={50} showValue></DxcSpinner>
127
+ </HalstackProvider>
102
128
  </ExampleContainer>
103
129
  );
@@ -1,64 +1,55 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _react = _interopRequireDefault(require("react"));
6
-
7
5
  var _react2 = require("@testing-library/react");
8
-
9
- var _Spinner = _interopRequireDefault(require("./Spinner"));
10
-
6
+ var _Spinner = _interopRequireDefault(require("./Spinner.tsx"));
11
7
  describe("Spinner component tests", function () {
12
8
  test("Spinner renders with correct label", function () {
13
9
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
14
- label: "test-loading"
15
- })),
16
- getByText = _render.getByText;
17
-
10
+ label: "test-loading"
11
+ })),
12
+ getByText = _render.getByText;
18
13
  expect(getByText("test-loading")).toBeTruthy();
19
14
  });
20
15
  test("Spinner shows value correctly", function () {
21
16
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
22
- label: "test-loading",
23
- value: 75,
24
- showValue: true
25
- })),
26
- getByText = _render2.getByText;
27
-
17
+ label: "test-loading",
18
+ value: 75,
19
+ showValue: true
20
+ })),
21
+ getByText = _render2.getByText;
28
22
  expect(getByText("75%")).toBeTruthy();
29
23
  });
30
24
  test("Small spinner hides value and label correctly", function () {
31
25
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
32
- mode: "small",
33
- label: "test-loading",
34
- value: 75,
35
- showValue: true
36
- })),
37
- queryByText = _render3.queryByText;
38
-
26
+ mode: "small",
27
+ label: "test-loading",
28
+ value: 75,
29
+ showValue: true
30
+ })),
31
+ queryByText = _render3.queryByText;
39
32
  expect(queryByText("test-loading")).toBeFalsy();
40
33
  expect(queryByText("75%")).toBeFalsy();
41
34
  });
42
35
  test("Overlay spinner shows value and label correctly", function () {
43
36
  var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
44
- mode: "overlay",
45
- label: "test-loading",
46
- value: 75,
47
- showValue: true
48
- })),
49
- getByText = _render4.getByText;
50
-
37
+ mode: "overlay",
38
+ label: "test-loading",
39
+ value: 75,
40
+ showValue: true
41
+ })),
42
+ getByText = _render4.getByText;
51
43
  expect(getByText("test-loading")).toBeTruthy();
52
44
  expect(getByText("75%")).toBeTruthy();
53
45
  });
54
46
  test("Get spinner by role", function () {
55
47
  var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
56
- label: "test-loading",
57
- value: 75,
58
- showValue: true
59
- })),
60
- getByRole = _render5.getByRole;
61
-
48
+ label: "test-loading",
49
+ value: 75,
50
+ showValue: true
51
+ })),
52
+ getByRole = _render5.getByRole;
62
53
  expect(getByRole("progressbar")).toBeTruthy();
63
54
  });
64
55
  });
@@ -1,11 +1,11 @@
1
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
- declare type Margin = {
1
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ type Margin = {
3
3
  top?: Space;
4
4
  bottom?: Space;
5
5
  left?: Space;
6
6
  right?: Space;
7
7
  };
8
- declare type Props = {
8
+ type Props = {
9
9
  /**
10
10
  * Text to be placed inside the spinner.
11
11
  */
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
2
  import SwitchPropsType from "./types";
3
- declare const DxcSwitch: ({ defaultChecked, checked, value, label, labelPosition, name, disabled, optional, onChange, 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,136 +1,170 @@
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
19
  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) {
20
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
21
+ 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); }
22
+ 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; }
23
+ var DxcSwitch = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
43
24
  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
-
25
+ checked = _ref.checked,
26
+ value = _ref.value,
27
+ _ref$label = _ref.label,
28
+ label = _ref$label === void 0 ? "" : _ref$label,
29
+ _ref$labelPosition = _ref.labelPosition,
30
+ labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
31
+ _ref$name = _ref.name,
32
+ name = _ref$name === void 0 ? "" : _ref$name,
33
+ _ref$disabled = _ref.disabled,
34
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
35
+ _ref$optional = _ref.optional,
36
+ optional = _ref$optional === void 0 ? false : _ref$optional,
37
+ onChange = _ref.onChange,
38
+ margin = _ref.margin,
39
+ _ref$size = _ref.size,
40
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
41
+ _ref$tabIndex = _ref.tabIndex,
42
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
63
43
  var _useState = (0, _react.useState)("switch-".concat((0, _uuid.v4)())),
64
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
65
- switchId = _useState2[0];
66
-
44
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
45
+ switchId = _useState2[0];
67
46
  var labelId = "label-".concat(switchId);
68
-
69
47
  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
-
48
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
49
+ innerChecked = _useState4[0],
50
+ setInnerChecked = _useState4[1];
74
51
  var colorsTheme = (0, _useTheme["default"])();
75
52
  var translatedLabels = (0, _useTranslatedLabels["default"])();
76
53
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
77
-
54
+ var refTrack = (0, _react.useRef)(null);
55
+ var handleOnKeyDown = function handleOnKeyDown(event) {
56
+ switch (event.key) {
57
+ case "Enter":
58
+ case " ":
59
+ //Space
60
+ event.preventDefault();
61
+ refTrack.current.focus();
62
+ var isChecked = !(checked !== null && checked !== void 0 ? checked : innerChecked);
63
+ setInnerChecked(isChecked);
64
+ onChange === null || onChange === void 0 ? void 0 : onChange(isChecked);
65
+ break;
66
+ }
67
+ };
78
68
  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);
69
+ checked !== null && checked !== void 0 ? checked : setInnerChecked(function (innerChecked) {
70
+ return !innerChecked;
71
+ });
72
+ onChange === null || onChange === void 0 ? void 0 : onChange(checked ? !checked : !innerChecked);
86
73
  };
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
74
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
97
75
  theme: colorsTheme["switch"]
98
76
  }, /*#__PURE__*/_react["default"].createElement(SwitchContainer, {
99
77
  margin: margin,
78
+ size: size,
79
+ onKeyDown: handleOnKeyDown,
100
80
  disabled: disabled,
81
+ onClick: !disabled ? handlerSwitchChange : undefined,
82
+ ref: ref
83
+ }, labelPosition === "before" && label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
84
+ id: labelId,
101
85
  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,
86
+ disabled: disabled,
87
+ backgroundType: backgroundType,
88
+ label: label
89
+ }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, translatedLabels.formFields.optionalLabel)), /*#__PURE__*/_react["default"].createElement(ValueInput, {
90
+ type: "checkbox",
91
+ name: name,
92
+ "aria-hidden": true,
114
93
  value: value,
115
94
  disabled: disabled,
116
- disableRipple: true
117
- }), labelPosition === "after" && labelComponent));
118
- };
119
-
95
+ checked: checked !== null && checked !== void 0 ? checked : innerChecked,
96
+ readOnly: true
97
+ }), /*#__PURE__*/_react["default"].createElement(SwitchBase, null, /*#__PURE__*/_react["default"].createElement(SwitchTrack, {
98
+ role: "switch",
99
+ backgroundType: backgroundType,
100
+ "aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked,
101
+ "aria-disabled": disabled,
102
+ disabled: disabled,
103
+ "aria-labelledby": labelId,
104
+ tabIndex: !disabled ? tabIndex : -1,
105
+ ref: refTrack
106
+ })), labelPosition === "after" && label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
107
+ id: labelId,
108
+ labelPosition: labelPosition,
109
+ disabled: disabled,
110
+ backgroundType: backgroundType,
111
+ label: label
112
+ }, optional && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, translatedLabels.formFields.optionalLabel), " ", label)));
113
+ });
120
114
  var sizes = {
121
115
  small: "60px",
122
116
  medium: "240px",
123
117
  large: "480px",
124
118
  fillParent: "100%",
125
- fitContent: "unset"
119
+ fitContent: "fit-content"
126
120
  };
127
-
128
121
  var calculateWidth = function calculateWidth(margin, size) {
129
122
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
130
123
  };
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) {
124
+ var getDisabledColor = function getDisabledColor(props, element, subelement) {
125
+ switch (element) {
126
+ case "track":
127
+ switch (subelement) {
128
+ case "check":
129
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledCheckedTrackBackgroundColorOnDark : props.theme.disabledCheckedTrackBackgroundColor;
130
+ case "uncheck":
131
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledUncheckedTrackBackgroundColorOnDark : props.theme.disabledUncheckedTrackBackgroundColor;
132
+ }
133
+ case "thumb":
134
+ switch (subelement) {
135
+ case "check":
136
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledCheckedThumbBackgroundColorOnDark : props.theme.disabledCheckedThumbBackgroundColor;
137
+ case "uncheck":
138
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledUncheckedThumbBackgroundColorOnDark : props.theme.disabledUncheckedThumbBackgroundColor;
139
+ }
140
+ case "label":
141
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor;
142
+ }
143
+ };
144
+ var getNotDisabledColor = function getNotDisabledColor(props, element, subelement) {
145
+ switch (element) {
146
+ case "track":
147
+ switch (subelement) {
148
+ case "check":
149
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkedTrackBackgroundColorOnDark : props.theme.checkedTrackBackgroundColor;
150
+ case "uncheck":
151
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.uncheckedTrackBackgroundColorOnDark : props.theme.uncheckedTrackBackgroundColor;
152
+ }
153
+ case "thumb":
154
+ switch (subelement) {
155
+ case "check":
156
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkedThumbBackgroundColorOnDark : props.theme.checkedThumbBackgroundColor;
157
+ case "uncheck":
158
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.uncheckedThumbBackgroundColorOnDark : props.theme.uncheckedThumbBackgroundColor;
159
+ }
160
+ case "label":
161
+ return props.backgroundType && props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
162
+ }
163
+ };
164
+ 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
165
  return calculateWidth(props.margin, props.size);
166
+ }, function (props) {
167
+ return props.disabled === true ? "not-allowed" : "pointer";
134
168
  }, function (props) {
135
169
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
136
170
  }, function (props) {
@@ -141,55 +175,45 @@ var SwitchContainer = _styledComponents["default"].div(_templateObject || (_temp
141
175
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
142
176
  }, function (props) {
143
177
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
178
+ });
179
+ 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) {
180
+ return props.disabled ? getDisabledColor(props, "label") : getNotDisabledColor(props, "label");
144
181
  }, 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;
182
+ return props.theme.labelFontFamily;
158
183
  }, function (props) {
159
- return props.backgroundType === "dark" ? props.theme.uncheckedThumbBackgroundColorOnDark : props.theme.uncheckedThumbBackgroundColor;
184
+ return props.theme.labelFontSize;
160
185
  }, function (props) {
161
- return props.backgroundType === "dark" ? props.theme.disabledUncheckedThumbBackgroundColorOnDark : props.theme.disabledUncheckedThumbBackgroundColor;
186
+ return props.disabled ? props.theme.disabledLabelFontStyle : props.theme.labelFontStyle;
162
187
  }, function (props) {
163
- return props.backgroundType === "dark" ? props.theme.disabledUncheckedTrackBackgroundColorOnDark : props.theme.disabledUncheckedTrackBackgroundColor;
188
+ return props.theme.labelFontWeight;
164
189
  }, function (props) {
165
- return props.backgroundType === "dark" ? props.theme.disabledCheckedThumbBackgroundColorOnDark : props.theme.disabledCheckedThumbBackgroundColor;
190
+ return !props.label ? "margin: 0px;" : props.labelPosition === "after" ? "margin-left: ".concat(props.theme.spaceBetweenLabelSwitch, ";") : "margin-right: ".concat(props.theme.spaceBetweenLabelSwitch, ";");
166
191
  }, function (props) {
167
- return props.backgroundType === "dark" ? props.theme.disabledCheckedTrackBackgroundColorOnDark : props.theme.disabledCheckedTrackBackgroundColor;
192
+ return props.labelPosition === "before" && "order: -1";
193
+ });
194
+ 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"])));
195
+ var ValueInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
196
+ 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) {
197
+ return props.theme.trackWidth;
168
198
  }, function (props) {
169
- return props.backgroundType === "dark" ? props.theme.checkedThumbBackgroundColorOnDark : props.theme.checkedThumbBackgroundColor;
199
+ return props.theme.trackHeight;
170
200
  }, function (props) {
171
- return props.theme.thumbShift;
201
+ return props.disabled ? "not-allowed" : "pointer";
172
202
  }, 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;
203
+ return "".concat(props.backgroundType === "dark" ? props.theme.thumbFocusColorOnDark : props.theme.thumbFocusColor, " solid 2px");
178
204
  }, function (props) {
179
- return props.theme.labelFontFamily;
205
+ return props.theme.thumbWidth;
180
206
  }, function (props) {
181
- return props.theme.labelFontSize;
207
+ return props.theme.thumbHeight;
182
208
  }, function (props) {
183
- return props.disabled ? props.theme.disabledLabelFontStyle : props.theme.labelFontStyle;
209
+ return props.disabled ? getDisabledColor(props, "thumb", "uncheck") : getNotDisabledColor(props, "thumb", "uncheck");
184
210
  }, function (props) {
185
- return props.theme.labelFontWeight;
211
+ return props.disabled ? getDisabledColor(props, "track", "uncheck") : getNotDisabledColor(props, "track", "uncheck");
186
212
  }, function (props) {
187
- return props.disabled === true ? "not-allowed" : "pointer";
213
+ return props.disabled ? getDisabledColor(props, "track", "check") : getNotDisabledColor(props, "track", "check");
188
214
  }, function (props) {
189
- return props.labelPosition === "after" ? "margin-left: ".concat(props.theme.spaceBetweenLabelSwitch, ";") : "margin-right: ".concat(props.theme.spaceBetweenLabelSwitch, ";");
215
+ return props.theme.thumbShift;
190
216
  }, function (props) {
191
- return props.labelPosition === "before" && "order: -1";
217
+ return props.disabled ? getDisabledColor(props, "thumb", "check") : getNotDisabledColor(props, "thumb", "check");
192
218
  });
193
-
194
- var _default = DxcSwitch;
195
- exports["default"] = _default;
219
+ var _default = exports["default"] = DxcSwitch;