@dxc-technology/halstack-react 0.0.0-c291a0c → 0.0.0-c3c521c

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