@dxc-technology/halstack-react 0.0.0-8719165 → 0.0.0-87842b8

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 (377) 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 +30 -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 +141 -43
  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 +13 -21
  40. package/bleed/Bleed.stories.tsx +1 -0
  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.js +22 -53
  50. package/bulleted-list/BulletedList.stories.tsx +8 -93
  51. package/bulleted-list/types.d.ts +32 -5
  52. package/button/Button.accessibility.test.js +127 -0
  53. package/button/Button.d.ts +1 -1
  54. package/button/Button.js +71 -106
  55. package/button/Button.stories.tsx +143 -101
  56. package/button/Button.test.js +20 -17
  57. package/button/types.d.ts +9 -5
  58. package/card/Card.accessibility.test.js +36 -0
  59. package/card/Card.d.ts +1 -1
  60. package/card/Card.js +48 -89
  61. package/card/Card.stories.tsx +12 -42
  62. package/card/Card.test.js +11 -22
  63. package/card/types.d.ts +6 -11
  64. package/checkbox/Checkbox.accessibility.test.js +87 -0
  65. package/checkbox/Checkbox.d.ts +2 -2
  66. package/checkbox/Checkbox.js +140 -182
  67. package/checkbox/Checkbox.stories.tsx +128 -94
  68. package/checkbox/Checkbox.test.js +160 -39
  69. package/checkbox/types.d.ts +11 -3
  70. package/chip/Chip.accessibility.test.js +67 -0
  71. package/chip/Chip.js +43 -80
  72. package/chip/Chip.stories.tsx +102 -26
  73. package/chip/Chip.test.js +18 -33
  74. package/chip/types.d.ts +4 -4
  75. package/common/coreTokens.d.ts +237 -0
  76. package/common/coreTokens.js +184 -0
  77. package/common/utils.d.ts +1 -0
  78. package/common/utils.js +6 -12
  79. package/common/variables.d.ts +1395 -0
  80. package/common/variables.js +931 -1164
  81. package/container/Container.d.ts +4 -0
  82. package/container/Container.js +194 -0
  83. package/container/Container.stories.tsx +214 -0
  84. package/container/types.d.ts +74 -0
  85. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  86. package/contextual-menu/ContextualMenu.d.ts +7 -0
  87. package/contextual-menu/ContextualMenu.js +71 -0
  88. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  89. package/contextual-menu/ContextualMenu.test.js +71 -0
  90. package/contextual-menu/MenuItemAction.d.ts +4 -0
  91. package/contextual-menu/MenuItemAction.js +46 -0
  92. package/contextual-menu/types.d.ts +22 -0
  93. package/date-input/Calendar.d.ts +4 -0
  94. package/date-input/Calendar.js +214 -0
  95. package/date-input/DateInput.accessibility.test.js +216 -0
  96. package/date-input/DateInput.js +150 -299
  97. package/date-input/DateInput.stories.tsx +203 -56
  98. package/date-input/DateInput.test.js +700 -371
  99. package/date-input/DatePicker.d.ts +4 -0
  100. package/date-input/DatePicker.js +115 -0
  101. package/date-input/Icons.d.ts +6 -0
  102. package/date-input/Icons.js +58 -0
  103. package/date-input/YearPicker.d.ts +4 -0
  104. package/date-input/YearPicker.js +100 -0
  105. package/date-input/types.d.ts +72 -15
  106. package/dialog/Dialog.accessibility.test.js +69 -0
  107. package/dialog/Dialog.d.ts +1 -1
  108. package/dialog/Dialog.js +60 -118
  109. package/dialog/Dialog.stories.tsx +320 -166
  110. package/dialog/Dialog.test.js +270 -33
  111. package/dialog/types.d.ts +18 -25
  112. package/divider/Divider.accessibility.test.js +33 -0
  113. package/divider/Divider.d.ts +4 -0
  114. package/divider/Divider.js +36 -0
  115. package/divider/Divider.stories.tsx +223 -0
  116. package/divider/Divider.test.js +38 -0
  117. package/divider/types.d.ts +21 -0
  118. package/divider/types.js +5 -0
  119. package/dropdown/Dropdown.accessibility.test.js +180 -0
  120. package/dropdown/Dropdown.js +90 -158
  121. package/dropdown/Dropdown.stories.tsx +209 -94
  122. package/dropdown/Dropdown.test.js +410 -402
  123. package/dropdown/DropdownMenu.js +20 -37
  124. package/dropdown/DropdownMenuItem.js +16 -38
  125. package/dropdown/types.d.ts +20 -24
  126. package/file-input/FileInput.accessibility.test.js +160 -0
  127. package/file-input/FileInput.d.ts +2 -2
  128. package/file-input/FileInput.js +241 -355
  129. package/file-input/FileInput.stories.tsx +123 -12
  130. package/file-input/FileInput.test.js +369 -367
  131. package/file-input/FileItem.d.ts +4 -14
  132. package/file-input/FileItem.js +45 -96
  133. package/file-input/types.d.ts +25 -8
  134. package/flex/Flex.d.ts +1 -1
  135. package/flex/Flex.js +40 -40
  136. package/flex/Flex.stories.tsx +35 -26
  137. package/flex/types.d.ts +84 -8
  138. package/footer/Footer.accessibility.test.js +117 -0
  139. package/footer/Footer.d.ts +1 -1
  140. package/footer/Footer.js +73 -118
  141. package/footer/Footer.stories.tsx +87 -21
  142. package/footer/Footer.test.js +33 -57
  143. package/footer/Icons.d.ts +3 -2
  144. package/footer/Icons.js +66 -7
  145. package/footer/types.d.ts +26 -27
  146. package/grid/Grid.d.ts +7 -0
  147. package/grid/Grid.js +76 -0
  148. package/grid/Grid.stories.tsx +219 -0
  149. package/grid/types.d.ts +115 -0
  150. package/grid/types.js +5 -0
  151. package/header/Header.accessibility.test.js +84 -0
  152. package/header/Header.d.ts +4 -3
  153. package/header/Header.js +85 -168
  154. package/header/Header.stories.tsx +118 -39
  155. package/header/Header.test.js +13 -26
  156. package/header/Icons.d.ts +2 -2
  157. package/header/Icons.js +4 -9
  158. package/header/types.d.ts +7 -21
  159. package/heading/Heading.accessibility.test.js +33 -0
  160. package/heading/Heading.js +10 -32
  161. package/heading/Heading.test.js +71 -88
  162. package/heading/types.d.ts +7 -7
  163. package/icon/Icon.accessibility.test.js +30 -0
  164. package/icon/Icon.d.ts +4 -0
  165. package/icon/Icon.js +33 -0
  166. package/icon/Icon.stories.tsx +28 -0
  167. package/icon/types.d.ts +4 -0
  168. package/icon/types.js +5 -0
  169. package/image/Image.accessibility.test.js +56 -0
  170. package/image/Image.d.ts +4 -0
  171. package/image/Image.js +70 -0
  172. package/image/Image.stories.tsx +129 -0
  173. package/image/types.d.ts +72 -0
  174. package/image/types.js +5 -0
  175. package/inset/Inset.js +13 -21
  176. package/inset/Inset.stories.tsx +2 -1
  177. package/inset/types.d.ts +2 -2
  178. package/layout/ApplicationLayout.d.ts +5 -5
  179. package/layout/ApplicationLayout.js +30 -67
  180. package/layout/ApplicationLayout.stories.tsx +2 -1
  181. package/layout/Icons.d.ts +8 -5
  182. package/layout/Icons.js +49 -59
  183. package/layout/types.d.ts +5 -6
  184. package/link/Link.accessibility.test.js +112 -0
  185. package/link/Link.js +32 -51
  186. package/link/Link.stories.tsx +62 -2
  187. package/link/Link.test.js +24 -44
  188. package/link/types.d.ts +14 -14
  189. package/main.d.ts +10 -5
  190. package/main.js +47 -59
  191. package/nav-tabs/NavTabs.accessibility.test.js +52 -0
  192. package/nav-tabs/NavTabs.d.ts +7 -0
  193. package/{tabs-nav → nav-tabs}/NavTabs.js +25 -57
  194. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +115 -9
  195. package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
  196. package/nav-tabs/NavTabsContext.d.ts +3 -0
  197. package/nav-tabs/NavTabsContext.js +8 -0
  198. package/nav-tabs/Tab.js +118 -0
  199. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  200. package/nav-tabs/types.js +5 -0
  201. package/number-input/NumberInput.accessibility.test.js +228 -0
  202. package/number-input/NumberInput.js +46 -36
  203. package/number-input/NumberInput.stories.tsx +42 -26
  204. package/number-input/NumberInput.test.js +860 -377
  205. package/number-input/NumberInputContext.d.ts +3 -4
  206. package/number-input/NumberInputContext.js +3 -14
  207. package/number-input/types.d.ts +17 -5
  208. package/package.json +45 -48
  209. package/paginator/Icons.d.ts +5 -0
  210. package/paginator/Icons.js +21 -47
  211. package/paginator/Paginator.accessibility.test.js +79 -0
  212. package/paginator/Paginator.js +23 -59
  213. package/paginator/Paginator.stories.tsx +24 -0
  214. package/paginator/Paginator.test.js +253 -226
  215. package/paginator/types.d.ts +3 -3
  216. package/paragraph/Paragraph.accessibility.test.js +28 -0
  217. package/paragraph/Paragraph.d.ts +3 -4
  218. package/paragraph/Paragraph.js +6 -22
  219. package/paragraph/Paragraph.stories.tsx +0 -17
  220. package/password-input/Icons.d.ts +6 -0
  221. package/password-input/Icons.js +35 -0
  222. package/password-input/PasswordInput.accessibility.test.js +153 -0
  223. package/password-input/PasswordInput.js +57 -126
  224. package/password-input/PasswordInput.stories.tsx +1 -33
  225. package/password-input/PasswordInput.test.js +160 -142
  226. package/password-input/types.d.ts +8 -7
  227. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  228. package/progress-bar/ProgressBar.d.ts +2 -2
  229. package/progress-bar/ProgressBar.js +23 -55
  230. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  231. package/progress-bar/ProgressBar.test.js +36 -53
  232. package/progress-bar/types.d.ts +4 -3
  233. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  234. package/quick-nav/QuickNav.js +15 -39
  235. package/quick-nav/QuickNav.stories.tsx +112 -20
  236. package/quick-nav/types.d.ts +10 -10
  237. package/radio-group/Radio.d.ts +1 -1
  238. package/radio-group/Radio.js +59 -76
  239. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  240. package/radio-group/RadioGroup.js +59 -105
  241. package/radio-group/RadioGroup.stories.tsx +132 -18
  242. package/radio-group/RadioGroup.test.js +518 -457
  243. package/radio-group/types.d.ts +10 -10
  244. package/resultset-table/Icons.d.ts +7 -0
  245. package/resultset-table/Icons.js +47 -0
  246. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  247. package/resultset-table/ResultsetTable.d.ts +7 -0
  248. package/resultset-table/ResultsetTable.js +170 -0
  249. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +156 -30
  250. package/resultset-table/ResultsetTable.test.js +381 -0
  251. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  252. package/resultset-table/types.js +5 -0
  253. package/select/Icons.d.ts +7 -7
  254. package/select/Icons.js +1 -5
  255. package/select/Listbox.d.ts +1 -1
  256. package/select/Listbox.js +17 -73
  257. package/select/Option.js +27 -50
  258. package/select/Select.accessibility.test.js +217 -0
  259. package/select/Select.js +123 -176
  260. package/select/Select.stories.tsx +496 -153
  261. package/select/Select.test.js +1970 -1775
  262. package/select/types.d.ts +16 -17
  263. package/sidenav/Icons.d.ts +7 -0
  264. package/sidenav/Icons.js +47 -0
  265. package/sidenav/Sidenav.accessibility.test.js +59 -0
  266. package/sidenav/Sidenav.d.ts +2 -2
  267. package/sidenav/Sidenav.js +83 -154
  268. package/sidenav/Sidenav.stories.tsx +164 -63
  269. package/sidenav/Sidenav.test.js +3 -10
  270. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  271. package/{layout → sidenav}/SidenavContext.js +3 -9
  272. package/sidenav/types.d.ts +31 -28
  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 +3 -3
  292. package/switch/Switch.js +113 -150
  293. package/switch/Switch.stories.tsx +33 -34
  294. package/switch/Switch.test.js +70 -102
  295. package/switch/types.d.ts +8 -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 +29 -61
  312. package/tag/Tag.stories.tsx +14 -1
  313. package/tag/Tag.test.js +20 -31
  314. package/tag/types.d.ts +7 -7
  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 +303 -497
  320. package/text-input/TextInput.stories.tsx +266 -274
  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 +2 -2
  336. package/typography/Typography.js +15 -123
  337. package/typography/Typography.stories.tsx +1 -1
  338. package/typography/types.d.ts +1 -1
  339. package/useTheme.d.ts +1147 -1
  340. package/useTheme.js +2 -9
  341. package/useTranslatedLabels.d.ts +84 -1
  342. package/useTranslatedLabels.js +1 -7
  343. package/utils/BaseTypography.d.ts +21 -0
  344. package/utils/BaseTypography.js +94 -0
  345. package/utils/FocusLock.d.ts +13 -0
  346. package/utils/FocusLock.js +124 -0
  347. package/wizard/Wizard.accessibility.test.js +55 -0
  348. package/wizard/Wizard.js +16 -51
  349. package/wizard/Wizard.stories.tsx +20 -0
  350. package/wizard/Wizard.test.js +54 -81
  351. package/wizard/types.d.ts +9 -10
  352. package/card/ice-cream.jpg +0 -0
  353. package/common/OpenSans.css +0 -81
  354. package/common/RequiredComponent.js +0 -32
  355. package/common/fonts/OpenSans-Bold.ttf +0 -0
  356. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  357. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  358. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  359. package/common/fonts/OpenSans-Italic.ttf +0 -0
  360. package/common/fonts/OpenSans-Light.ttf +0 -0
  361. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  362. package/common/fonts/OpenSans-Regular.ttf +0 -0
  363. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  364. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  365. package/number-input/numberInputContextTypes.d.ts +0 -19
  366. package/resultsetTable/ResultsetTable.d.ts +0 -4
  367. package/resultsetTable/ResultsetTable.js +0 -254
  368. package/resultsetTable/ResultsetTable.test.js +0 -348
  369. package/slider/Slider.stories.tsx +0 -177
  370. package/table/Table.stories.jsx +0 -277
  371. package/tabs-nav/NavTabs.d.ts +0 -8
  372. package/tabs-nav/Tab.js +0 -130
  373. package/textarea/Textarea.stories.jsx +0 -157
  374. /package/{resultsetTable → action-icon}/types.js +0 -0
  375. /package/{tabs-nav → container}/types.js +0 -0
  376. /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
  377. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _jestAxe = require("jest-axe");
9
+ var _Checkbox = _interopRequireDefault(require("./Checkbox.tsx"));
10
+ describe("Checkbox component accessibility tests", function () {
11
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
12
+ var _render, container, results;
13
+ return _regenerator["default"].wrap(function _callee$(_context) {
14
+ while (1) switch (_context.prev = _context.next) {
15
+ case 0:
16
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
17
+ label: "Checkbox",
18
+ labelPosition: "after",
19
+ name: "name",
20
+ size: "fitContent",
21
+ value: "checkboxValue",
22
+ margin: "small",
23
+ defaultChecked: true,
24
+ optional: true
25
+ })), container = _render.container;
26
+ _context.next = 3;
27
+ return (0, _jestAxe.axe)(container);
28
+ case 3:
29
+ results = _context.sent;
30
+ expect(results).toHaveNoViolations();
31
+ case 5:
32
+ case "end":
33
+ return _context.stop();
34
+ }
35
+ }, _callee);
36
+ })));
37
+ it("Should not have basic accessibility issues for read-only mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
38
+ var _render2, container, results;
39
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
40
+ while (1) switch (_context2.prev = _context2.next) {
41
+ case 0:
42
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
43
+ label: "Checkbox",
44
+ labelPosition: "after",
45
+ name: "name",
46
+ size: "fitContent",
47
+ value: "checkboxValue",
48
+ margin: "small",
49
+ readOnly: true
50
+ })), container = _render2.container;
51
+ _context2.next = 3;
52
+ return (0, _jestAxe.axe)(container);
53
+ case 3:
54
+ results = _context2.sent;
55
+ expect(results).toHaveNoViolations();
56
+ case 5:
57
+ case "end":
58
+ return _context2.stop();
59
+ }
60
+ }, _callee2);
61
+ })));
62
+ it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
63
+ var _render3, container, results;
64
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
65
+ while (1) switch (_context3.prev = _context3.next) {
66
+ case 0:
67
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
68
+ label: "Checkbox",
69
+ labelPosition: "after",
70
+ name: "name",
71
+ size: "fitContent",
72
+ value: "checkboxValue",
73
+ margin: "small",
74
+ disabled: true
75
+ })), container = _render3.container;
76
+ _context3.next = 3;
77
+ return (0, _jestAxe.axe)(container);
78
+ case 3:
79
+ results = _context3.sent;
80
+ expect(results).toHaveNoViolations();
81
+ case 5:
82
+ case "end":
83
+ return _context3.stop();
84
+ }
85
+ }, _callee3);
86
+ })));
87
+ });
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
2
  import CheckboxPropsType from "./types";
3
- declare const DxcCheckbox: ({ checked, defaultChecked, value, label, labelPosition, name, disabled, optional, onChange, margin, size, tabIndex, }: CheckboxPropsType) => JSX.Element;
3
+ declare const DxcCheckbox: React.ForwardRefExoticComponent<CheckboxPropsType & React.RefAttributes<HTMLDivElement>>;
4
4
  export default DxcCheckbox;
@@ -1,257 +1,215 @@
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 _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
23
-
24
- var _variables = require("../common/variables.js");
25
-
26
- var _utils = require("../common/utils.js");
27
-
14
+ var _variables = require("../common/variables");
15
+ var _utils = require("../common/utils");
28
16
  var _uuid = require("uuid");
29
-
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, _templateObject3;
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 DxcCheckbox = function DxcCheckbox(_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 checkedIcon = /*#__PURE__*/_react["default"].createElement("svg", {
23
+ fill: "currentColor",
24
+ focusable: "false",
25
+ "aria-hidden": "true",
26
+ viewBox: "0 0 24 24"
27
+ }, /*#__PURE__*/_react["default"].createElement("path", {
28
+ d: "M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
29
+ }));
30
+ var DxcCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
43
31
  var checked = _ref.checked,
44
- _ref$defaultChecked = _ref.defaultChecked,
45
- defaultChecked = _ref$defaultChecked === void 0 ? false : _ref$defaultChecked,
46
- value = _ref.value,
47
- _ref$label = _ref.label,
48
- label = _ref$label === void 0 ? "" : _ref$label,
49
- _ref$labelPosition = _ref.labelPosition,
50
- labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
51
- _ref$name = _ref.name,
52
- name = _ref$name === void 0 ? "" : _ref$name,
53
- _ref$disabled = _ref.disabled,
54
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
55
- _ref$optional = _ref.optional,
56
- optional = _ref$optional === void 0 ? false : _ref$optional,
57
- onChange = _ref.onChange,
58
- margin = _ref.margin,
59
- _ref$size = _ref.size,
60
- size = _ref$size === void 0 ? "fitContent" : _ref$size,
61
- _ref$tabIndex = _ref.tabIndex,
62
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
63
-
64
- var _useState = (0, _react.useState)("checkbox-".concat((0, _uuid.v4)())),
65
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
66
- switchId = _useState2[0];
67
-
68
- var labelId = "label-".concat(switchId);
69
-
32
+ _ref$defaultChecked = _ref.defaultChecked,
33
+ defaultChecked = _ref$defaultChecked === void 0 ? false : _ref$defaultChecked,
34
+ value = _ref.value,
35
+ _ref$label = _ref.label,
36
+ label = _ref$label === void 0 ? "" : _ref$label,
37
+ _ref$labelPosition = _ref.labelPosition,
38
+ labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
39
+ _ref$name = _ref.name,
40
+ name = _ref$name === void 0 ? "" : _ref$name,
41
+ _ref$disabled = _ref.disabled,
42
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
43
+ _ref$optional = _ref.optional,
44
+ optional = _ref$optional === void 0 ? false : _ref$optional,
45
+ _ref$readOnly = _ref.readOnly,
46
+ readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
47
+ onChange = _ref.onChange,
48
+ margin = _ref.margin,
49
+ _ref$size = _ref.size,
50
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
51
+ _ref$tabIndex = _ref.tabIndex,
52
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
53
+ var _useState = (0, _react.useState)("label-checkbox-".concat((0, _uuid.v4)())),
54
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
55
+ labelId = _useState2[0];
70
56
  var _useState3 = (0, _react.useState)(defaultChecked),
71
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
72
- innerChecked = _useState4[0],
73
- setInnerChecked = _useState4[1];
74
-
75
- var _useState5 = (0, _react.useState)(false),
76
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
77
- isLabelHovered = _useState6[0],
78
- setIsLabelHovered = _useState6[1];
79
-
57
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
58
+ innerChecked = _useState4[0],
59
+ setInnerChecked = _useState4[1];
60
+ var checkboxRef = (0, _react.useRef)(null);
80
61
  var colorsTheme = (0, _useTheme["default"])();
81
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
82
62
  var translatedLabels = (0, _useTranslatedLabels["default"])();
83
-
84
- var handlerCheckboxChange = function handlerCheckboxChange(checkboxValue) {
85
- if (checked === undefined) {
86
- var isChecked = checkboxValue.target.checked === undefined ? !innerChecked : checkboxValue.target.checked;
87
- setInnerChecked(isChecked);
88
-
89
- if (typeof onChange === "function") {
90
- onChange(isChecked);
91
- }
92
- } else {
93
- if (typeof onChange === "function") {
94
- onChange(!checked);
95
- }
63
+ var handleCheckboxChange = function handleCheckboxChange() {
64
+ if (!disabled && !readOnly) {
65
+ var _checkboxRef$current;
66
+ document.activeElement !== (checkboxRef === null || checkboxRef === void 0 ? void 0 : checkboxRef.current) && (checkboxRef === null || checkboxRef === void 0 ? void 0 : (_checkboxRef$current = checkboxRef.current) === null || _checkboxRef$current === void 0 ? void 0 : _checkboxRef$current.focus());
67
+ var newChecked = checked !== null && checked !== void 0 ? checked : innerChecked;
68
+ checked !== null && checked !== void 0 ? checked : setInnerChecked(function (innerChecked) {
69
+ return !innerChecked;
70
+ });
71
+ onChange === null || onChange === void 0 ? void 0 : onChange(!newChecked);
96
72
  }
97
73
  };
98
-
99
- var handleLabelHover = function handleLabelHover() {
100
- setIsLabelHovered(!isLabelHovered);
74
+ var handleKeyboard = function handleKeyboard(event) {
75
+ switch (event.key) {
76
+ case " ":
77
+ event.preventDefault();
78
+ handleCheckboxChange();
79
+ }
101
80
  };
102
-
103
- var labelComponent = /*#__PURE__*/_react["default"].createElement(LabelContainer, {
104
- id: labelId,
105
- labelPosition: labelPosition,
106
- onClick: disabled === true ? function () {} : handlerCheckboxChange,
107
- disabled: disabled,
108
- className: "labelContainer",
109
- backgroundType: backgroundType,
110
- onMouseOver: handleLabelHover,
111
- onMouseOut: handleLabelHover
112
- }, 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, "(Optional)"), " ", label));
113
-
114
81
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
115
82
  theme: colorsTheme.checkbox
116
- }, /*#__PURE__*/_react["default"].createElement(CheckboxContainer, {
117
- id: name,
118
- brightness: _variables.componentTokens,
119
- label: label,
120
- labelPosition: labelPosition,
83
+ }, /*#__PURE__*/_react["default"].createElement(MainContainer, {
121
84
  disabled: disabled,
85
+ readOnly: readOnly,
86
+ onClick: handleCheckboxChange,
122
87
  margin: margin,
123
88
  size: size,
124
- backgroundType: backgroundType,
125
- isLabelHovered: isLabelHovered
126
- }, label && labelPosition === "before" && labelComponent, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
127
89
  checked: checked !== null && checked !== void 0 ? checked : innerChecked,
128
- inputProps: {
129
- name: name,
130
- "aria-labelledby": labelId,
131
- role: "checkbox",
132
- "aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked
133
- },
134
- onChange: handlerCheckboxChange,
135
- value: value,
90
+ ref: ref
91
+ }, label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
92
+ id: labelId,
136
93
  disabled: disabled,
137
- disableRipple: true,
138
- className: "test",
139
- tabIndex: tabIndex
140
- }), /*#__PURE__*/_react["default"].createElement(CheckboxBlackBack, {
141
- labelPosition: labelPosition,
94
+ labelPosition: labelPosition
95
+ }, label, optional && " ".concat(translatedLabels.formFields.optionalLabel)), /*#__PURE__*/_react["default"].createElement(ValueInput, {
96
+ type: "checkbox",
97
+ checked: checked !== null && checked !== void 0 ? checked : innerChecked,
98
+ name: name,
99
+ "aria-hidden": "true",
100
+ value: value,
142
101
  disabled: disabled,
102
+ readOnly: true
103
+ }), /*#__PURE__*/_react["default"].createElement(CheckboxContainer, null, /*#__PURE__*/_react["default"].createElement(Checkbox, {
104
+ onKeyDown: handleKeyboard,
105
+ role: "checkbox",
106
+ tabIndex: disabled ? -1 : tabIndex,
107
+ "aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked,
108
+ "aria-disabled": disabled,
109
+ "aria-readonly": readOnly,
110
+ "aria-required": !disabled && !optional,
111
+ "aria-labelledby": labelId,
143
112
  checked: checked !== null && checked !== void 0 ? checked : innerChecked,
144
- backgroundType: backgroundType
145
- }), label && labelPosition === "after" && labelComponent));
146
- };
147
-
113
+ disabled: disabled,
114
+ readOnly: readOnly,
115
+ ref: checkboxRef
116
+ }, (checked !== null && checked !== void 0 ? checked : innerChecked) && checkedIcon))));
117
+ });
148
118
  var sizes = {
149
119
  small: "120px",
150
120
  medium: "240px",
151
121
  large: "480px",
152
122
  fillParent: "100%",
153
- fitContent: "unset"
123
+ fitContent: "fit-content"
154
124
  };
155
-
156
125
  var calculateWidth = function calculateWidth(margin, size) {
157
- if (size === "fillParent") {
158
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
159
- }
160
-
161
- return sizes[size];
126
+ return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
162
127
  };
163
-
164
- var getDisabledColor = function getDisabledColor(props, element) {
128
+ var getDisabledColor = function getDisabledColor(theme, element) {
165
129
  switch (element) {
166
130
  case "check":
167
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledCheckColorOnDark : props.theme.disabledCheckColor;
168
-
131
+ return theme.disabledCheckColor;
169
132
  case "background":
170
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBackgroundColorCheckedOnDark : props.theme.disabledBackgroundColorChecked;
171
-
133
+ return theme.disabledBackgroundColorChecked;
172
134
  case "border":
173
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;
174
-
135
+ return theme.disabledBorderColor;
175
136
  case "label":
176
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledFontColorOnDark : props.theme.disabledFontColor;
137
+ return theme.disabledFontColor;
177
138
  }
178
139
  };
179
-
180
- var getNotDisabledColor = function getNotDisabledColor(props, element) {
140
+ var getReadOnlyColor = function getReadOnlyColor(theme, element) {
181
141
  switch (element) {
182
142
  case "check":
183
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkColorOnDark : props.theme.checkColor;
184
-
143
+ return theme.readOnlyCheckColor;
185
144
  case "background":
186
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.backgroundColorCheckedOnDark : props.theme.backgroundColorChecked;
187
-
145
+ return theme.readOnlyBackgroundColorChecked;
146
+ case "hoverBackground":
147
+ return theme.hoverReadOnlyBackgroundColorChecked;
188
148
  case "border":
189
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.borderColorOnDark : props.theme.borderColor;
190
-
149
+ return theme.readOnlyBorderColor;
150
+ case "hoverBorder":
151
+ return theme.hoverReadOnlyBorderColor;
152
+ }
153
+ };
154
+ var getEnabledColor = function getEnabledColor(theme, element) {
155
+ switch (element) {
156
+ case "check":
157
+ return theme.checkColor;
158
+ case "background":
159
+ return theme.backgroundColorChecked;
160
+ case "hoverBackground":
161
+ return theme.hoverBackgroundColorChecked;
162
+ case "border":
163
+ return theme.borderColor;
164
+ case "hoverBorder":
165
+ return theme.hoverBorderColor;
191
166
  case "label":
192
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
167
+ return theme.fontColor;
193
168
  }
194
169
  };
195
-
196
- var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n cursor: ", ";\n"])), function (props) {
197
- return props.disabled ? getDisabledColor(props, "label") : getNotDisabledColor(props, "label");
170
+ var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n order: ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
171
+ return props.labelPosition === "before" ? 0 : 1;
172
+ }, function (props) {
173
+ return props.disabled ? getDisabledColor(props.theme, "label") : getEnabledColor(props.theme, "label");
198
174
  }, function (props) {
199
175
  return props.theme.fontFamily;
200
176
  }, function (props) {
201
177
  return props.theme.fontSize;
202
178
  }, function (props) {
203
179
  return props.theme.fontWeight;
204
- }, function (props) {
205
- return props.disabled ? "not-allowed" : "pointer";
206
180
  });
207
-
208
- var CheckboxContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n position: relative;\n .MuiCheckbox-colorSecondary {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n &.Mui-disabled {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n opacity: 0.34;\n }\n }\n }\n &.Mui-checked {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n\n &:hover {\n background-color: transparent;\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n background-color: transparent;\n color: ", ";\n }\n }\n }\n }\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n width: 24px;\n height: 24px;\n }\n }\n }\n\n .MuiIconButton-colorSecondary {\n &:hover {\n background-color: transparent;\n }\n }\n .MuiButtonBase-root {\n &:hover {\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n }\n\n &.Mui-focusVisible {\n .MuiIconButton-label {\n border-radius: 2px;\n outline: 2px solid\n ", ";\n outline-offset: -1px;\n }\n }\n z-index: 1;\n margin-left: ", ";\n margin-right: ", ";\n padding: 0px;\n left: ", ";\n right: ", ";\n }\n"])), function (props) {
209
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
181
+ var ValueInput = _styledComponents["default"].input(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
182
+ var CheckboxContainer = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n"])));
183
+ var Checkbox = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 18px;\n width: 18px;\n border: 2px solid\n ", ";\n border-radius: 2px;\n background-color: ", ";\n color: ", ";\n\n &:focus {\n outline: 2px solid ", ";\n outline-offset: 2px;\n }\n svg {\n position: absolute;\n width: 22px;\n height: 22px;\n }\n ", "\n"])), function (props) {
184
+ return props.disabled ? getDisabledColor(props.theme, "border") : props.readOnly ? getReadOnlyColor(props.theme, "border") : getEnabledColor(props.theme, "border");
210
185
  }, function (props) {
211
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
186
+ return props.checked ? props.disabled ? getDisabledColor(props.theme, "check") : props.readOnly ? getReadOnlyColor(props.theme, "check") : getEnabledColor(props.theme, "check") : "transparent";
212
187
  }, function (props) {
213
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
188
+ return props.disabled ? getDisabledColor(props.theme, "background") : props.readOnly ? getReadOnlyColor(props.theme, "background") : getEnabledColor(props.theme, "background");
214
189
  }, function (props) {
215
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
190
+ return props.theme.focusColor;
216
191
  }, function (props) {
217
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
192
+ return props.disabled && "pointer-events: none;";
193
+ });
194
+ var MainContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n gap: ", ";\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n cursor: ", ";\n\n &:hover ", " {\n border: 2px solid\n ", ";\n color: ", ";\n }\n"])), function (props) {
195
+ return props.theme.checkLabelSpacing;
218
196
  }, function (props) {
219
197
  return calculateWidth(props.margin, props.size);
220
198
  }, function (props) {
221
- return props.disabled ? "not-allowed" : "pointer";
222
- }, function (props) {
223
- return props.isLabelHovered ? props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor : getNotDisabledColor(props, "border");
224
- }, function (props) {
225
- return getDisabledColor(props, "border");
226
- }, function (props) {
227
- return props.disabled ? getDisabledColor(props, "background") : getNotDisabledColor(props, "background");
228
- }, function (props) {
229
- return props.backgroundType === "dark" ? props.theme.hoverBackgroundColorCheckedOnDark : props.theme.hoverBackgroundColorChecked;
230
- }, function (props) {
231
- return props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor;
232
- }, function (props) {
233
- return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
234
- }, function (props) {
235
- return props.labelPosition === "before" && props.label ? props.theme.checkLabelSpacing : "0";
236
- }, function (props) {
237
- return props.labelPosition === "after" && props.label ? props.theme.checkLabelSpacing : "0";
199
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
238
200
  }, function (props) {
239
- return props.labelPosition === "before" ? "unset" : "1px";
201
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
240
202
  }, function (props) {
241
- return props.labelPosition === "before" ? "1px" : "unset";
242
- });
243
-
244
- var CheckboxBlackBack = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: 16px;\n height: 16px;\n position: absolute;\n left: ", ";\n right: ", ";\n z-index: 0;\n margin-left: ", ";\n margin-right: ", ";\n"])), function (props) {
245
- return !props.checked ? "transparent" : props.disabled ? getDisabledColor(props, "check") : getNotDisabledColor(props, "check");
203
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
246
204
  }, function (props) {
247
- return props.labelPosition === "before" ? "unset" : "5px";
205
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
248
206
  }, function (props) {
249
- return props.labelPosition === "before" ? "5px" : "unset";
207
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
250
208
  }, function (props) {
251
- return props.labelPosition === "after" ? "0px" : "";
209
+ return props.disabled ? "not-allowed" : props.readOnly ? "default" : "pointer";
210
+ }, Checkbox, function (props) {
211
+ if (!props.disabled) return props.readOnly ? getReadOnlyColor(props.theme, "hoverBorder") : getEnabledColor(props.theme, "hoverBorder");
252
212
  }, function (props) {
253
- return props.labelPosition === "before" ? "0px" : "";
213
+ if (!props.disabled) return props.readOnly ? getReadOnlyColor(props.theme, "hoverBackground") : getEnabledColor(props.theme, "hoverBackground");
254
214
  });
255
-
256
- var _default = DxcCheckbox;
257
- exports["default"] = _default;
215
+ var _default = exports["default"] = DxcCheckbox;