@dxc-technology/halstack-react 0.0.0-f53e801 → 0.0.0-f6290b3

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 (313) 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 +125 -110
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +116 -160
  8. package/accordion/Accordion.stories.tsx +101 -125
  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 +30 -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/action-icon/ActionIcon.d.ts +4 -0
  19. package/action-icon/ActionIcon.js +47 -0
  20. package/action-icon/ActionIcon.stories.tsx +41 -0
  21. package/action-icon/ActionIcon.test.js +64 -0
  22. package/action-icon/types.d.ts +26 -0
  23. package/alert/Alert.js +20 -59
  24. package/alert/Alert.stories.tsx +28 -0
  25. package/alert/Alert.test.js +29 -46
  26. package/alert/types.d.ts +5 -5
  27. package/badge/Badge.d.ts +1 -1
  28. package/badge/Badge.js +141 -43
  29. package/badge/Badge.stories.tsx +210 -0
  30. package/badge/Badge.test.js +30 -0
  31. package/badge/types.d.ts +52 -3
  32. package/bleed/Bleed.js +13 -21
  33. package/bleed/Bleed.stories.tsx +1 -0
  34. package/bleed/types.d.ts +2 -2
  35. package/box/Box.d.ts +1 -1
  36. package/box/Box.js +19 -60
  37. package/box/Box.stories.tsx +38 -51
  38. package/box/Box.test.js +2 -7
  39. package/box/types.d.ts +3 -14
  40. package/bulleted-list/BulletedList.js +19 -53
  41. package/bulleted-list/BulletedList.stories.tsx +8 -93
  42. package/bulleted-list/types.d.ts +32 -5
  43. package/button/Button.d.ts +1 -1
  44. package/button/Button.js +69 -105
  45. package/button/Button.stories.tsx +152 -91
  46. package/button/Button.test.js +20 -17
  47. package/button/types.d.ts +8 -4
  48. package/card/Card.d.ts +1 -1
  49. package/card/Card.js +48 -89
  50. package/card/Card.stories.tsx +12 -42
  51. package/card/Card.test.js +11 -22
  52. package/card/types.d.ts +6 -11
  53. package/checkbox/Checkbox.d.ts +2 -2
  54. package/checkbox/Checkbox.js +140 -182
  55. package/checkbox/Checkbox.stories.tsx +128 -94
  56. package/checkbox/Checkbox.test.js +160 -39
  57. package/checkbox/types.d.ts +11 -3
  58. package/chip/Chip.js +39 -79
  59. package/chip/Chip.stories.tsx +121 -26
  60. package/chip/Chip.test.js +16 -31
  61. package/chip/types.d.ts +4 -4
  62. package/common/OpenSans.css +68 -80
  63. package/common/coreTokens.d.ts +237 -0
  64. package/common/coreTokens.js +184 -0
  65. package/common/utils.d.ts +1 -0
  66. package/common/utils.js +6 -12
  67. package/common/variables.d.ts +1395 -0
  68. package/common/variables.js +927 -1164
  69. package/container/Container.d.ts +4 -0
  70. package/container/Container.js +194 -0
  71. package/container/Container.stories.tsx +214 -0
  72. package/container/types.d.ts +74 -0
  73. package/contextual-menu/ContextualMenu.d.ts +7 -0
  74. package/contextual-menu/ContextualMenu.js +71 -0
  75. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  76. package/contextual-menu/ContextualMenu.test.js +71 -0
  77. package/contextual-menu/MenuItemAction.d.ts +4 -0
  78. package/contextual-menu/MenuItemAction.js +46 -0
  79. package/contextual-menu/types.d.ts +22 -0
  80. package/date-input/Calendar.d.ts +4 -0
  81. package/date-input/Calendar.js +214 -0
  82. package/date-input/DateInput.js +150 -299
  83. package/date-input/DateInput.stories.tsx +203 -56
  84. package/date-input/DateInput.test.js +700 -371
  85. package/date-input/DatePicker.d.ts +4 -0
  86. package/date-input/DatePicker.js +115 -0
  87. package/date-input/Icons.d.ts +6 -0
  88. package/date-input/Icons.js +58 -0
  89. package/date-input/YearPicker.d.ts +4 -0
  90. package/date-input/YearPicker.js +100 -0
  91. package/date-input/types.d.ts +72 -15
  92. package/dialog/Dialog.d.ts +1 -1
  93. package/dialog/Dialog.js +60 -118
  94. package/dialog/Dialog.stories.tsx +320 -166
  95. package/dialog/Dialog.test.js +269 -32
  96. package/dialog/types.d.ts +18 -25
  97. package/divider/Divider.d.ts +4 -0
  98. package/divider/Divider.js +36 -0
  99. package/divider/Divider.stories.tsx +223 -0
  100. package/divider/Divider.test.js +38 -0
  101. package/divider/types.d.ts +19 -0
  102. package/divider/types.js +5 -0
  103. package/dropdown/Dropdown.js +81 -132
  104. package/dropdown/Dropdown.stories.tsx +210 -84
  105. package/dropdown/Dropdown.test.js +410 -402
  106. package/dropdown/DropdownMenu.js +20 -37
  107. package/dropdown/DropdownMenuItem.js +10 -35
  108. package/dropdown/types.d.ts +18 -20
  109. package/file-input/FileInput.d.ts +2 -2
  110. package/file-input/FileInput.js +241 -355
  111. package/file-input/FileInput.stories.tsx +123 -12
  112. package/file-input/FileInput.test.js +369 -367
  113. package/file-input/FileItem.d.ts +4 -14
  114. package/file-input/FileItem.js +45 -96
  115. package/file-input/types.d.ts +25 -8
  116. package/flex/Flex.d.ts +1 -1
  117. package/flex/Flex.js +40 -40
  118. package/flex/Flex.stories.tsx +35 -26
  119. package/flex/types.d.ts +84 -8
  120. package/footer/Footer.d.ts +1 -1
  121. package/footer/Footer.js +70 -117
  122. package/footer/Footer.stories.tsx +60 -19
  123. package/footer/Footer.test.js +33 -57
  124. package/footer/Icons.d.ts +3 -2
  125. package/footer/Icons.js +66 -7
  126. package/footer/types.d.ts +25 -26
  127. package/grid/Grid.d.ts +7 -0
  128. package/grid/Grid.js +76 -0
  129. package/grid/Grid.stories.tsx +219 -0
  130. package/grid/types.d.ts +115 -0
  131. package/grid/types.js +5 -0
  132. package/header/Header.d.ts +4 -3
  133. package/header/Header.js +48 -133
  134. package/header/Header.stories.tsx +118 -39
  135. package/header/Header.test.js +13 -26
  136. package/header/Icons.d.ts +2 -2
  137. package/header/Icons.js +2 -7
  138. package/header/types.d.ts +7 -21
  139. package/heading/Heading.js +10 -32
  140. package/heading/Heading.test.js +71 -88
  141. package/heading/types.d.ts +7 -7
  142. package/image/Image.d.ts +4 -0
  143. package/image/Image.js +70 -0
  144. package/image/Image.stories.tsx +129 -0
  145. package/image/types.d.ts +72 -0
  146. package/image/types.js +5 -0
  147. package/inset/Inset.js +13 -21
  148. package/inset/Inset.stories.tsx +2 -1
  149. package/inset/types.d.ts +2 -2
  150. package/layout/ApplicationLayout.d.ts +5 -5
  151. package/layout/ApplicationLayout.js +29 -66
  152. package/layout/ApplicationLayout.stories.tsx +2 -1
  153. package/layout/Icons.d.ts +8 -5
  154. package/layout/Icons.js +51 -59
  155. package/layout/SidenavContext.d.ts +1 -1
  156. package/layout/SidenavContext.js +3 -9
  157. package/layout/types.d.ts +5 -6
  158. package/link/Link.js +25 -46
  159. package/link/Link.stories.tsx +60 -0
  160. package/link/Link.test.js +24 -44
  161. package/link/types.d.ts +14 -14
  162. package/main.d.ts +9 -5
  163. package/main.js +40 -59
  164. package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
  165. package/{tabs-nav → nav-tabs}/NavTabs.js +23 -55
  166. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +115 -9
  167. package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
  168. package/nav-tabs/Tab.js +118 -0
  169. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  170. package/nav-tabs/types.js +5 -0
  171. package/number-input/NumberInput.d.ts +7 -0
  172. package/number-input/NumberInput.js +47 -37
  173. package/number-input/NumberInput.stories.tsx +42 -26
  174. package/number-input/NumberInput.test.js +860 -377
  175. package/number-input/types.d.ts +11 -5
  176. package/package.json +39 -42
  177. package/paginator/Icons.d.ts +5 -0
  178. package/paginator/Icons.js +21 -47
  179. package/paginator/Paginator.js +23 -59
  180. package/paginator/Paginator.stories.tsx +24 -0
  181. package/paginator/Paginator.test.js +253 -226
  182. package/paginator/types.d.ts +3 -3
  183. package/paragraph/Paragraph.d.ts +3 -4
  184. package/paragraph/Paragraph.js +6 -22
  185. package/paragraph/Paragraph.stories.tsx +0 -17
  186. package/password-input/Icons.d.ts +6 -0
  187. package/password-input/Icons.js +35 -0
  188. package/password-input/PasswordInput.js +57 -126
  189. package/password-input/PasswordInput.stories.tsx +1 -33
  190. package/password-input/PasswordInput.test.js +160 -142
  191. package/password-input/types.d.ts +8 -7
  192. package/progress-bar/ProgressBar.d.ts +2 -2
  193. package/progress-bar/ProgressBar.js +23 -55
  194. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  195. package/progress-bar/ProgressBar.test.js +36 -53
  196. package/progress-bar/types.d.ts +4 -3
  197. package/quick-nav/QuickNav.js +15 -39
  198. package/quick-nav/QuickNav.stories.tsx +112 -20
  199. package/quick-nav/types.d.ts +10 -10
  200. package/radio-group/Radio.d.ts +1 -1
  201. package/radio-group/Radio.js +59 -76
  202. package/radio-group/RadioGroup.js +59 -105
  203. package/radio-group/RadioGroup.stories.tsx +132 -18
  204. package/radio-group/RadioGroup.test.js +518 -457
  205. package/radio-group/types.d.ts +10 -10
  206. package/resultset-table/Icons.d.ts +7 -0
  207. package/resultset-table/Icons.js +47 -0
  208. package/resultset-table/ResultsetTable.d.ts +7 -0
  209. package/resultset-table/ResultsetTable.js +166 -0
  210. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +152 -30
  211. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +167 -144
  212. package/{resultsetTable → resultset-table}/types.d.ts +13 -7
  213. package/resultset-table/types.js +5 -0
  214. package/select/Icons.d.ts +7 -7
  215. package/select/Icons.js +1 -5
  216. package/select/Listbox.d.ts +1 -1
  217. package/select/Listbox.js +17 -73
  218. package/select/Option.js +27 -50
  219. package/select/Select.js +123 -176
  220. package/select/Select.stories.tsx +497 -153
  221. package/select/Select.test.js +1970 -1775
  222. package/select/types.d.ts +16 -17
  223. package/sidenav/Icons.d.ts +7 -0
  224. package/sidenav/Icons.js +47 -0
  225. package/sidenav/Sidenav.d.ts +2 -2
  226. package/sidenav/Sidenav.js +82 -153
  227. package/sidenav/Sidenav.stories.tsx +165 -63
  228. package/sidenav/Sidenav.test.js +3 -10
  229. package/sidenav/types.d.ts +31 -28
  230. package/slider/Slider.d.ts +2 -2
  231. package/slider/Slider.js +146 -179
  232. package/slider/Slider.test.js +164 -97
  233. package/slider/types.d.ts +7 -3
  234. package/spinner/Spinner.js +31 -75
  235. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  236. package/spinner/Spinner.test.js +26 -35
  237. package/spinner/types.d.ts +3 -3
  238. package/status-light/StatusLight.d.ts +4 -0
  239. package/status-light/StatusLight.js +51 -0
  240. package/status-light/StatusLight.stories.tsx +74 -0
  241. package/status-light/StatusLight.test.js +25 -0
  242. package/status-light/types.d.ts +17 -0
  243. package/status-light/types.js +5 -0
  244. package/switch/Switch.d.ts +3 -3
  245. package/switch/Switch.js +113 -150
  246. package/switch/Switch.stories.tsx +33 -34
  247. package/switch/Switch.test.js +70 -102
  248. package/switch/types.d.ts +8 -3
  249. package/table/DropdownTheme.js +62 -0
  250. package/table/Table.d.ts +6 -2
  251. package/table/Table.js +87 -35
  252. package/table/Table.stories.tsx +658 -0
  253. package/table/Table.test.js +95 -8
  254. package/table/types.d.ts +48 -6
  255. package/tabs/Tab.d.ts +4 -0
  256. package/tabs/Tab.js +116 -0
  257. package/tabs/Tabs.js +314 -141
  258. package/tabs/Tabs.stories.tsx +120 -6
  259. package/tabs/Tabs.test.js +223 -69
  260. package/tabs/types.d.ts +28 -18
  261. package/tag/Tag.js +29 -61
  262. package/tag/Tag.stories.tsx +14 -1
  263. package/tag/Tag.test.js +20 -31
  264. package/tag/types.d.ts +7 -7
  265. package/text-input/Icons.d.ts +8 -0
  266. package/text-input/Icons.js +56 -0
  267. package/text-input/Suggestion.js +40 -28
  268. package/text-input/Suggestions.d.ts +4 -0
  269. package/text-input/Suggestions.js +84 -0
  270. package/text-input/TextInput.js +301 -497
  271. package/text-input/TextInput.stories.tsx +266 -274
  272. package/text-input/TextInput.test.js +1419 -1375
  273. package/text-input/types.d.ts +43 -16
  274. package/textarea/Textarea.js +70 -113
  275. package/textarea/Textarea.stories.tsx +174 -0
  276. package/textarea/Textarea.test.js +152 -183
  277. package/textarea/types.d.ts +9 -5
  278. package/toggle-group/ToggleGroup.d.ts +2 -2
  279. package/toggle-group/ToggleGroup.js +92 -106
  280. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  281. package/toggle-group/ToggleGroup.test.js +69 -88
  282. package/toggle-group/types.d.ts +26 -17
  283. package/typography/Typography.d.ts +2 -2
  284. package/typography/Typography.js +15 -123
  285. package/typography/Typography.stories.tsx +1 -1
  286. package/typography/types.d.ts +1 -1
  287. package/useTheme.d.ts +1147 -1
  288. package/useTheme.js +2 -9
  289. package/useTranslatedLabels.d.ts +84 -1
  290. package/useTranslatedLabels.js +1 -7
  291. package/utils/BaseTypography.d.ts +21 -0
  292. package/utils/BaseTypography.js +94 -0
  293. package/utils/FocusLock.d.ts +13 -0
  294. package/utils/FocusLock.js +124 -0
  295. package/wizard/Wizard.js +16 -51
  296. package/wizard/Wizard.stories.tsx +20 -0
  297. package/wizard/Wizard.test.js +54 -81
  298. package/wizard/types.d.ts +9 -10
  299. package/card/ice-cream.jpg +0 -0
  300. package/common/RequiredComponent.js +0 -32
  301. package/number-input/NumberInputContext.d.ts +0 -4
  302. package/number-input/NumberInputContext.js +0 -19
  303. package/number-input/numberInputContextTypes.d.ts +0 -19
  304. package/resultsetTable/ResultsetTable.d.ts +0 -4
  305. package/resultsetTable/ResultsetTable.js +0 -254
  306. package/slider/Slider.stories.tsx +0 -177
  307. package/table/Table.stories.jsx +0 -277
  308. package/tabs-nav/Tab.js +0 -130
  309. package/textarea/Textarea.stories.jsx +0 -157
  310. /package/{resultsetTable → action-icon}/types.js +0 -0
  311. /package/{tabs-nav → container}/types.js +0 -0
  312. /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
  313. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -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;