@dxc-technology/halstack-react 0.0.0-31c6b1f → 0.0.0-324b670

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 (311) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1235 -0
  4. package/HalstackContext.js +310 -0
  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 +103 -127
  9. package/accordion/Accordion.test.js +25 -41
  10. package/accordion/types.d.ts +5 -16
  11. package/accordion-group/AccordionGroup.d.ts +4 -3
  12. package/accordion-group/AccordionGroup.js +31 -98
  13. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  14. package/accordion-group/AccordionGroup.test.js +52 -105
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +11 -16
  18. package/alert/Alert.js +23 -59
  19. package/alert/Alert.stories.tsx +28 -0
  20. package/alert/Alert.test.js +29 -46
  21. package/alert/types.d.ts +5 -5
  22. package/badge/Badge.d.ts +1 -1
  23. package/badge/Badge.js +8 -19
  24. package/badge/types.d.ts +2 -1
  25. package/bleed/Bleed.js +14 -55
  26. package/bleed/Bleed.stories.tsx +95 -95
  27. package/bleed/types.d.ts +2 -2
  28. package/box/Box.d.ts +1 -1
  29. package/box/Box.js +30 -81
  30. package/box/Box.stories.tsx +38 -51
  31. package/box/Box.test.js +2 -7
  32. package/box/types.d.ts +3 -14
  33. package/bulleted-list/BulletedList.d.ts +7 -0
  34. package/bulleted-list/BulletedList.js +89 -0
  35. package/bulleted-list/BulletedList.stories.tsx +115 -0
  36. package/bulleted-list/types.d.ts +38 -0
  37. package/button/Button.d.ts +1 -1
  38. package/button/Button.js +63 -115
  39. package/button/Button.stories.tsx +160 -90
  40. package/button/Button.test.js +18 -17
  41. package/button/types.d.ts +12 -8
  42. package/card/Card.d.ts +1 -1
  43. package/card/Card.js +64 -107
  44. package/card/Card.stories.tsx +12 -42
  45. package/card/Card.test.js +11 -22
  46. package/card/types.d.ts +6 -11
  47. package/checkbox/Checkbox.d.ts +2 -2
  48. package/checkbox/Checkbox.js +142 -181
  49. package/checkbox/Checkbox.stories.tsx +128 -94
  50. package/checkbox/Checkbox.test.js +160 -39
  51. package/checkbox/types.d.ts +11 -3
  52. package/chip/Chip.js +39 -79
  53. package/chip/Chip.stories.tsx +121 -26
  54. package/chip/Chip.test.js +16 -31
  55. package/chip/types.d.ts +4 -4
  56. package/common/OpenSans.css +68 -80
  57. package/common/coreTokens.d.ts +237 -0
  58. package/common/coreTokens.js +184 -0
  59. package/common/utils.d.ts +1 -0
  60. package/common/utils.js +6 -12
  61. package/common/variables.d.ts +1381 -0
  62. package/common/variables.js +998 -1117
  63. package/container/Container.d.ts +4 -0
  64. package/container/Container.js +194 -0
  65. package/container/Container.stories.tsx +214 -0
  66. package/container/types.d.ts +74 -0
  67. package/date-input/Calendar.d.ts +4 -0
  68. package/date-input/Calendar.js +214 -0
  69. package/date-input/DateInput.js +153 -299
  70. package/date-input/DateInput.stories.tsx +203 -56
  71. package/date-input/DateInput.test.js +700 -371
  72. package/date-input/DatePicker.d.ts +4 -0
  73. package/date-input/DatePicker.js +115 -0
  74. package/date-input/Icons.d.ts +6 -0
  75. package/date-input/Icons.js +58 -0
  76. package/date-input/YearPicker.d.ts +4 -0
  77. package/date-input/YearPicker.js +100 -0
  78. package/date-input/types.d.ts +72 -15
  79. package/dialog/Dialog.d.ts +1 -1
  80. package/dialog/Dialog.js +73 -107
  81. package/dialog/Dialog.stories.tsx +320 -167
  82. package/dialog/Dialog.test.js +287 -20
  83. package/dialog/types.d.ts +18 -25
  84. package/dropdown/Dropdown.d.ts +1 -1
  85. package/dropdown/Dropdown.js +243 -300
  86. package/dropdown/Dropdown.stories.tsx +245 -56
  87. package/dropdown/Dropdown.test.js +575 -165
  88. package/dropdown/DropdownMenu.d.ts +4 -0
  89. package/dropdown/DropdownMenu.js +63 -0
  90. package/dropdown/DropdownMenuItem.d.ts +4 -0
  91. package/dropdown/DropdownMenuItem.js +67 -0
  92. package/dropdown/types.d.ts +32 -14
  93. package/file-input/FileInput.d.ts +2 -2
  94. package/file-input/FileInput.js +246 -357
  95. package/file-input/FileInput.stories.tsx +123 -12
  96. package/file-input/FileInput.test.js +369 -367
  97. package/file-input/FileItem.d.ts +4 -14
  98. package/file-input/FileItem.js +50 -99
  99. package/file-input/types.d.ts +25 -8
  100. package/flex/Flex.d.ts +4 -0
  101. package/flex/Flex.js +57 -0
  102. package/flex/Flex.stories.tsx +112 -0
  103. package/flex/types.d.ts +97 -0
  104. package/footer/Footer.d.ts +1 -1
  105. package/footer/Footer.js +57 -115
  106. package/footer/Footer.stories.tsx +41 -19
  107. package/footer/Footer.test.js +33 -57
  108. package/footer/Icons.d.ts +2 -2
  109. package/footer/Icons.js +3 -8
  110. package/footer/types.d.ts +21 -28
  111. package/grid/Grid.d.ts +7 -0
  112. package/grid/Grid.js +76 -0
  113. package/grid/Grid.stories.tsx +219 -0
  114. package/grid/types.d.ts +115 -0
  115. package/header/Header.d.ts +4 -3
  116. package/header/Header.js +90 -170
  117. package/header/Header.stories.tsx +118 -39
  118. package/header/Header.test.js +13 -26
  119. package/header/Icons.d.ts +2 -2
  120. package/header/Icons.js +4 -9
  121. package/header/types.d.ts +5 -19
  122. package/heading/Heading.js +10 -32
  123. package/heading/Heading.test.js +71 -88
  124. package/heading/types.d.ts +7 -7
  125. package/image/Image.d.ts +4 -0
  126. package/image/Image.js +70 -0
  127. package/image/Image.stories.tsx +127 -0
  128. package/image/types.d.ts +72 -0
  129. package/inset/Inset.js +14 -55
  130. package/inset/Inset.stories.tsx +37 -36
  131. package/inset/types.d.ts +2 -2
  132. package/layout/ApplicationLayout.d.ts +16 -6
  133. package/layout/ApplicationLayout.js +82 -166
  134. package/layout/ApplicationLayout.stories.tsx +85 -94
  135. package/layout/Icons.d.ts +8 -0
  136. package/layout/Icons.js +51 -48
  137. package/layout/SidenavContext.d.ts +5 -0
  138. package/layout/SidenavContext.js +13 -0
  139. package/layout/types.d.ts +19 -35
  140. package/link/Link.d.ts +3 -2
  141. package/link/Link.js +61 -95
  142. package/link/Link.stories.tsx +155 -53
  143. package/link/Link.test.js +25 -53
  144. package/link/types.d.ts +15 -31
  145. package/main.d.ts +11 -12
  146. package/main.js +58 -109
  147. package/nav-tabs/NavTabs.d.ts +8 -0
  148. package/nav-tabs/NavTabs.js +90 -0
  149. package/nav-tabs/NavTabs.stories.tsx +274 -0
  150. package/nav-tabs/NavTabs.test.js +75 -0
  151. package/nav-tabs/Tab.d.ts +4 -0
  152. package/nav-tabs/Tab.js +117 -0
  153. package/nav-tabs/types.d.ts +52 -0
  154. package/number-input/NumberInput.d.ts +7 -0
  155. package/number-input/NumberInput.js +26 -35
  156. package/number-input/NumberInput.stories.tsx +42 -26
  157. package/number-input/NumberInput.test.js +701 -377
  158. package/number-input/types.d.ts +12 -6
  159. package/package.json +44 -46
  160. package/paginator/Icons.d.ts +5 -0
  161. package/paginator/Icons.js +21 -47
  162. package/paginator/Paginator.js +34 -91
  163. package/paginator/Paginator.stories.tsx +24 -0
  164. package/paginator/Paginator.test.js +280 -211
  165. package/paginator/types.d.ts +3 -3
  166. package/paragraph/Paragraph.d.ts +5 -0
  167. package/paragraph/Paragraph.js +22 -0
  168. package/paragraph/Paragraph.stories.tsx +27 -0
  169. package/password-input/Icons.d.ts +6 -0
  170. package/password-input/Icons.js +35 -0
  171. package/password-input/PasswordInput.js +57 -123
  172. package/password-input/PasswordInput.stories.tsx +1 -33
  173. package/password-input/PasswordInput.test.js +160 -143
  174. package/password-input/types.d.ts +9 -8
  175. package/progress-bar/ProgressBar.js +65 -91
  176. package/progress-bar/ProgressBar.stories.tsx +93 -0
  177. package/progress-bar/ProgressBar.test.js +72 -44
  178. package/progress-bar/types.d.ts +3 -3
  179. package/quick-nav/QuickNav.js +71 -41
  180. package/quick-nav/QuickNav.stories.tsx +146 -27
  181. package/quick-nav/types.d.ts +10 -10
  182. package/radio-group/Radio.d.ts +1 -1
  183. package/radio-group/Radio.js +59 -76
  184. package/radio-group/RadioGroup.js +71 -116
  185. package/radio-group/RadioGroup.stories.tsx +132 -18
  186. package/radio-group/RadioGroup.test.js +518 -457
  187. package/radio-group/types.d.ts +10 -10
  188. package/resultset-table/Icons.d.ts +7 -0
  189. package/resultset-table/Icons.js +47 -0
  190. package/resultset-table/ResultsetTable.js +159 -0
  191. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +50 -25
  192. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +117 -118
  193. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  194. package/resultset-table/types.js +5 -0
  195. package/select/Icons.d.ts +7 -7
  196. package/select/Icons.js +1 -5
  197. package/select/Listbox.d.ts +1 -1
  198. package/select/Listbox.js +46 -51
  199. package/select/Option.js +20 -50
  200. package/select/Select.js +155 -228
  201. package/select/Select.stories.tsx +525 -136
  202. package/select/Select.test.js +1973 -1696
  203. package/select/types.d.ts +16 -20
  204. package/sidenav/Icons.d.ts +7 -0
  205. package/sidenav/Icons.js +47 -0
  206. package/sidenav/Sidenav.d.ts +6 -5
  207. package/sidenav/Sidenav.js +131 -71
  208. package/sidenav/Sidenav.stories.tsx +251 -151
  209. package/sidenav/Sidenav.test.js +26 -45
  210. package/sidenav/types.d.ts +52 -26
  211. package/slider/Slider.d.ts +2 -2
  212. package/slider/Slider.js +149 -181
  213. package/slider/Slider.test.js +185 -81
  214. package/slider/types.d.ts +7 -3
  215. package/spinner/Spinner.js +31 -75
  216. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  217. package/spinner/Spinner.test.js +26 -35
  218. package/spinner/types.d.ts +3 -3
  219. package/switch/Switch.d.ts +2 -2
  220. package/switch/Switch.js +147 -125
  221. package/switch/Switch.stories.tsx +37 -60
  222. package/switch/Switch.test.js +138 -56
  223. package/switch/types.d.ts +7 -3
  224. package/table/Table.js +8 -30
  225. package/table/{Table.stories.jsx → Table.stories.tsx} +80 -1
  226. package/table/Table.test.js +3 -8
  227. package/table/types.d.ts +8 -8
  228. package/tabs/Tab.d.ts +4 -0
  229. package/tabs/Tab.js +113 -0
  230. package/tabs/Tabs.js +315 -141
  231. package/tabs/Tabs.stories.tsx +119 -11
  232. package/tabs/Tabs.test.js +223 -69
  233. package/tabs/types.d.ts +28 -18
  234. package/tag/Tag.js +29 -61
  235. package/tag/Tag.stories.tsx +14 -1
  236. package/tag/Tag.test.js +20 -31
  237. package/tag/types.d.ts +7 -7
  238. package/text-input/Icons.d.ts +8 -0
  239. package/text-input/Icons.js +56 -0
  240. package/text-input/Suggestion.d.ts +4 -0
  241. package/text-input/Suggestion.js +67 -0
  242. package/text-input/Suggestions.d.ts +4 -0
  243. package/text-input/Suggestions.js +84 -0
  244. package/text-input/TextInput.js +309 -527
  245. package/text-input/TextInput.stories.tsx +266 -275
  246. package/text-input/TextInput.test.js +1403 -1376
  247. package/text-input/types.d.ts +53 -14
  248. package/textarea/Textarea.js +79 -131
  249. package/textarea/Textarea.stories.tsx +174 -0
  250. package/textarea/Textarea.test.js +152 -183
  251. package/textarea/types.d.ts +10 -6
  252. package/toggle-group/ToggleGroup.d.ts +2 -2
  253. package/toggle-group/ToggleGroup.js +92 -106
  254. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  255. package/toggle-group/ToggleGroup.test.js +69 -88
  256. package/toggle-group/types.d.ts +26 -17
  257. package/typography/Typography.d.ts +4 -0
  258. package/typography/Typography.js +23 -0
  259. package/typography/Typography.stories.tsx +198 -0
  260. package/typography/types.d.ts +18 -0
  261. package/typography/types.js +5 -0
  262. package/useTheme.d.ts +1133 -1
  263. package/useTheme.js +4 -11
  264. package/useTranslatedLabels.d.ts +85 -0
  265. package/useTranslatedLabels.js +14 -0
  266. package/utils/BaseTypography.d.ts +21 -0
  267. package/utils/BaseTypography.js +94 -0
  268. package/utils/FocusLock.d.ts +13 -0
  269. package/utils/FocusLock.js +121 -0
  270. package/wizard/Wizard.js +51 -91
  271. package/wizard/Wizard.stories.tsx +40 -1
  272. package/wizard/Wizard.test.js +54 -81
  273. package/wizard/types.d.ts +7 -7
  274. package/ThemeContext.d.ts +0 -10
  275. package/ThemeContext.js +0 -243
  276. package/card/ice-cream.jpg +0 -0
  277. package/common/RequiredComponent.js +0 -32
  278. package/list/List.d.ts +0 -4
  279. package/list/List.js +0 -47
  280. package/list/List.stories.tsx +0 -95
  281. package/list/types.d.ts +0 -7
  282. package/number-input/NumberInputContext.d.ts +0 -4
  283. package/number-input/NumberInputContext.js +0 -19
  284. package/number-input/numberInputContextTypes.d.ts +0 -19
  285. package/progress-bar/ProgressBar.stories.jsx +0 -58
  286. package/radio/Radio.d.ts +0 -4
  287. package/radio/Radio.js +0 -173
  288. package/radio/Radio.stories.tsx +0 -192
  289. package/radio/Radio.test.js +0 -71
  290. package/radio/types.d.ts +0 -54
  291. package/resultsetTable/ResultsetTable.js +0 -254
  292. package/row/Row.d.ts +0 -3
  293. package/row/Row.js +0 -127
  294. package/row/Row.stories.tsx +0 -237
  295. package/row/types.d.ts +0 -28
  296. package/slider/Slider.stories.tsx +0 -177
  297. package/stack/Stack.d.ts +0 -3
  298. package/stack/Stack.js +0 -97
  299. package/stack/Stack.stories.tsx +0 -164
  300. package/stack/types.d.ts +0 -24
  301. package/text/Text.d.ts +0 -7
  302. package/text/Text.js +0 -30
  303. package/text/Text.stories.tsx +0 -19
  304. package/textarea/Textarea.stories.jsx +0 -157
  305. /package/{list → bulleted-list}/types.js +0 -0
  306. /package/{radio → container}/types.js +0 -0
  307. /package/{resultsetTable → flex}/types.js +0 -0
  308. /package/{row → grid}/types.js +0 -0
  309. /package/{stack → image}/types.js +0 -0
  310. /package/{number-input/numberInputContextTypes.js → nav-tabs/types.js} +0 -0
  311. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
@@ -1,254 +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
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
33
-
34
- var _templateObject, _templateObject2, _templateObject3;
35
-
36
- 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); }
37
-
38
- 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; }
39
-
40
- var DxcCheckbox = function DxcCheckbox(_ref) {
18
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
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) {
41
31
  var checked = _ref.checked,
42
- _ref$defaultChecked = _ref.defaultChecked,
43
- defaultChecked = _ref$defaultChecked === void 0 ? false : _ref$defaultChecked,
44
- value = _ref.value,
45
- _ref$label = _ref.label,
46
- label = _ref$label === void 0 ? "" : _ref$label,
47
- _ref$labelPosition = _ref.labelPosition,
48
- labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
49
- _ref$name = _ref.name,
50
- name = _ref$name === void 0 ? "" : _ref$name,
51
- _ref$disabled = _ref.disabled,
52
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
53
- _ref$optional = _ref.optional,
54
- optional = _ref$optional === void 0 ? false : _ref$optional,
55
- onChange = _ref.onChange,
56
- margin = _ref.margin,
57
- _ref$size = _ref.size,
58
- size = _ref$size === void 0 ? "fitContent" : _ref$size,
59
- _ref$tabIndex = _ref.tabIndex,
60
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
61
-
62
- var _useState = (0, _react.useState)("checkbox-".concat((0, _uuid.v4)())),
63
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
64
- switchId = _useState2[0];
65
-
66
- var labelId = "label-".concat(switchId);
67
-
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];
68
56
  var _useState3 = (0, _react.useState)(defaultChecked),
69
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
70
- innerChecked = _useState4[0],
71
- setInnerChecked = _useState4[1];
72
-
73
- var _useState5 = (0, _react.useState)(false),
74
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
75
- isLabelHovered = _useState6[0],
76
- setIsLabelHovered = _useState6[1];
77
-
57
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
58
+ innerChecked = _useState4[0],
59
+ setInnerChecked = _useState4[1];
60
+ var checkboxRef = (0, _react.useRef)(null);
78
61
  var colorsTheme = (0, _useTheme["default"])();
79
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
80
-
81
- var handlerCheckboxChange = function handlerCheckboxChange(checkboxValue) {
82
- if (checked === undefined) {
83
- var isChecked = checkboxValue.target.checked === undefined ? !innerChecked : checkboxValue.target.checked;
84
- setInnerChecked(isChecked);
85
-
86
- if (typeof onChange === "function") {
87
- onChange(isChecked);
88
- }
89
- } else {
90
- if (typeof onChange === "function") {
91
- onChange(!checked);
92
- }
62
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
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);
93
72
  }
94
73
  };
95
-
96
- var handleLabelHover = function handleLabelHover() {
97
- setIsLabelHovered(!isLabelHovered);
74
+ var handleKeyboard = function handleKeyboard(event) {
75
+ switch (event.key) {
76
+ case " ":
77
+ event.preventDefault();
78
+ handleCheckboxChange();
79
+ }
98
80
  };
99
-
100
- var labelComponent = /*#__PURE__*/_react["default"].createElement(LabelContainer, {
101
- id: labelId,
102
- labelPosition: labelPosition,
103
- onClick: disabled === true ? function () {} : handlerCheckboxChange,
104
- disabled: disabled,
105
- className: "labelContainer",
106
- backgroundType: backgroundType,
107
- onMouseOver: handleLabelHover,
108
- onMouseOut: handleLabelHover
109
- }, labelPosition === "before" ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, label, " ", optional && /*#__PURE__*/_react["default"].createElement("span", null, "(Optional)")) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, optional && /*#__PURE__*/_react["default"].createElement("span", null, "(Optional)"), " ", label));
110
-
111
81
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
112
82
  theme: colorsTheme.checkbox
113
- }, /*#__PURE__*/_react["default"].createElement(CheckboxContainer, {
114
- id: name,
115
- brightness: _variables.componentTokens,
116
- label: label,
117
- labelPosition: labelPosition,
83
+ }, /*#__PURE__*/_react["default"].createElement(MainContainer, {
118
84
  disabled: disabled,
85
+ readOnly: readOnly,
86
+ onClick: handleCheckboxChange,
119
87
  margin: margin,
120
88
  size: size,
121
- backgroundType: backgroundType,
122
- isLabelHovered: isLabelHovered
123
- }, label && labelPosition === "before" && labelComponent, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
124
89
  checked: checked !== null && checked !== void 0 ? checked : innerChecked,
125
- inputProps: {
126
- name: name,
127
- "aria-labelledby": labelId,
128
- role: "checkbox",
129
- "aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked
130
- },
131
- onChange: handlerCheckboxChange,
132
- value: value,
90
+ ref: ref
91
+ }, label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
92
+ id: labelId,
133
93
  disabled: disabled,
134
- disableRipple: true,
135
- className: "test",
136
- tabIndex: tabIndex
137
- }), /*#__PURE__*/_react["default"].createElement(CheckboxBlackBack, {
138
- 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,
139
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,
140
112
  checked: checked !== null && checked !== void 0 ? checked : innerChecked,
141
- backgroundType: backgroundType
142
- }), label && labelPosition === "after" && labelComponent));
143
- };
144
-
113
+ disabled: disabled,
114
+ readOnly: readOnly,
115
+ ref: checkboxRef
116
+ }, (checked !== null && checked !== void 0 ? checked : innerChecked) && checkedIcon))));
117
+ });
145
118
  var sizes = {
146
119
  small: "120px",
147
120
  medium: "240px",
148
121
  large: "480px",
149
122
  fillParent: "100%",
150
- fitContent: "unset"
123
+ fitContent: "fit-content"
151
124
  };
152
-
153
125
  var calculateWidth = function calculateWidth(margin, size) {
154
- if (size === "fillParent") {
155
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
156
- }
157
-
158
- 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];
159
127
  };
160
-
161
- var getDisabledColor = function getDisabledColor(props, element) {
128
+ var getDisabledColor = function getDisabledColor(theme, element) {
162
129
  switch (element) {
163
130
  case "check":
164
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledCheckColorOnDark : props.theme.disabledCheckColor;
165
-
131
+ return theme.disabledCheckColor;
166
132
  case "background":
167
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBackgroundColorCheckedOnDark : props.theme.disabledBackgroundColorChecked;
168
-
133
+ return theme.disabledBackgroundColorChecked;
169
134
  case "border":
170
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;
171
-
135
+ return theme.disabledBorderColor;
172
136
  case "label":
173
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.disabledFontColorOnDark : props.theme.disabledFontColor;
137
+ return theme.disabledFontColor;
174
138
  }
175
139
  };
176
-
177
- var getNotDisabledColor = function getNotDisabledColor(props, element) {
140
+ var getReadOnlyColor = function getReadOnlyColor(theme, element) {
178
141
  switch (element) {
179
142
  case "check":
180
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.checkColorOnDark : props.theme.checkColor;
181
-
143
+ return theme.readOnlyCheckColor;
182
144
  case "background":
183
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.backgroundColorCheckedOnDark : props.theme.backgroundColorChecked;
184
-
145
+ return theme.readOnlyBackgroundColorChecked;
146
+ case "hoverBackground":
147
+ return theme.hoverReadOnlyBackgroundColorChecked;
185
148
  case "border":
186
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.borderColorOnDark : props.theme.borderColor;
187
-
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;
188
166
  case "label":
189
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
167
+ return theme.fontColor;
190
168
  }
191
169
  };
192
-
193
- 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) {
194
- 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");
195
174
  }, function (props) {
196
175
  return props.theme.fontFamily;
197
176
  }, function (props) {
198
177
  return props.theme.fontSize;
199
178
  }, function (props) {
200
179
  return props.theme.fontWeight;
201
- }, function (props) {
202
- return props.disabled ? "not-allowed" : "pointer";
203
180
  });
204
-
205
- 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) {
206
- 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");
207
185
  }, function (props) {
208
- 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";
209
187
  }, function (props) {
210
- 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");
211
189
  }, function (props) {
212
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
190
+ return props.theme.focusColor;
213
191
  }, function (props) {
214
- 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;
215
196
  }, function (props) {
216
197
  return calculateWidth(props.margin, props.size);
217
198
  }, function (props) {
218
- return props.disabled ? "not-allowed" : "pointer";
219
- }, function (props) {
220
- return props.isLabelHovered ? props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor : getNotDisabledColor(props, "border");
221
- }, function (props) {
222
- return getDisabledColor(props, "border");
223
- }, function (props) {
224
- return props.disabled ? getDisabledColor(props, "background") : getNotDisabledColor(props, "background");
225
- }, function (props) {
226
- return props.backgroundType === "dark" ? props.theme.hoverBackgroundColorCheckedOnDark : props.theme.hoverBackgroundColorChecked;
227
- }, function (props) {
228
- return props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor;
229
- }, function (props) {
230
- return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
231
- }, function (props) {
232
- return props.labelPosition === "before" && props.label ? props.theme.checkLabelSpacing : "0";
233
- }, function (props) {
234
- 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";
235
200
  }, function (props) {
236
- return props.labelPosition === "before" ? "unset" : "1px";
201
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
237
202
  }, function (props) {
238
- return props.labelPosition === "before" ? "1px" : "unset";
239
- });
240
-
241
- 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) {
242
- 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] : "";
243
204
  }, function (props) {
244
- return props.labelPosition === "before" ? "unset" : "5px";
205
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
245
206
  }, function (props) {
246
- return props.labelPosition === "before" ? "5px" : "unset";
207
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
247
208
  }, function (props) {
248
- 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");
249
212
  }, function (props) {
250
- return props.labelPosition === "before" ? "0px" : "";
213
+ if (!props.disabled) return props.readOnly ? getReadOnlyColor(props.theme, "hoverBackground") : getEnabledColor(props.theme, "hoverBackground");
251
214
  });
252
-
253
- var _default = DxcCheckbox;
254
- exports["default"] = _default;
215
+ var _default = exports["default"] = DxcCheckbox;