@dxc-technology/halstack-react 0.0.0-f6d6be5 → 0.0.0-f70a97e

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 (270) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +4 -21
  3. package/HalstackContext.d.ts +43 -138
  4. package/HalstackContext.js +10 -35
  5. package/accordion/Accordion.js +23 -63
  6. package/accordion/Accordion.stories.tsx +1 -15
  7. package/accordion/Accordion.test.js +18 -33
  8. package/accordion/types.d.ts +5 -5
  9. package/accordion-group/AccordionGroup.js +15 -42
  10. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  11. package/accordion-group/AccordionGroup.test.js +42 -60
  12. package/accordion-group/AccordionGroupAccordion.js +9 -21
  13. package/accordion-group/types.d.ts +6 -6
  14. package/action-icon/ActionIcon.d.ts +4 -0
  15. package/action-icon/ActionIcon.js +47 -0
  16. package/action-icon/ActionIcon.stories.tsx +41 -0
  17. package/action-icon/ActionIcon.test.js +64 -0
  18. package/action-icon/types.d.ts +26 -0
  19. package/alert/Alert.js +15 -50
  20. package/alert/Alert.test.js +28 -45
  21. package/alert/types.d.ts +5 -5
  22. package/badge/Badge.d.ts +1 -1
  23. package/badge/Badge.js +141 -43
  24. package/badge/Badge.stories.tsx +210 -0
  25. package/badge/Badge.test.js +30 -0
  26. package/badge/types.d.ts +52 -3
  27. package/bleed/Bleed.js +13 -21
  28. package/bleed/types.d.ts +2 -2
  29. package/box/Box.js +11 -33
  30. package/box/Box.test.js +1 -6
  31. package/box/types.d.ts +3 -3
  32. package/bulleted-list/BulletedList.js +18 -54
  33. package/bulleted-list/BulletedList.stories.tsx +1 -92
  34. package/bulleted-list/types.d.ts +5 -5
  35. package/button/Button.js +36 -59
  36. package/button/Button.stories.tsx +33 -132
  37. package/button/Button.test.js +13 -21
  38. package/button/types.d.ts +5 -5
  39. package/card/Card.js +21 -44
  40. package/card/Card.test.js +10 -21
  41. package/card/types.d.ts +5 -5
  42. package/checkbox/Checkbox.js +85 -120
  43. package/checkbox/Checkbox.stories.tsx +16 -54
  44. package/checkbox/Checkbox.test.js +107 -63
  45. package/checkbox/types.d.ts +8 -4
  46. package/chip/Chip.js +12 -31
  47. package/chip/Chip.stories.tsx +1 -1
  48. package/chip/Chip.test.js +15 -28
  49. package/chip/types.d.ts +4 -4
  50. package/common/coreTokens.d.ts +105 -14
  51. package/common/coreTokens.js +40 -23
  52. package/common/utils.js +2 -8
  53. package/common/variables.d.ts +44 -139
  54. package/common/variables.js +55 -157
  55. package/container/Container.d.ts +4 -0
  56. package/container/Container.js +194 -0
  57. package/container/Container.stories.tsx +214 -0
  58. package/container/types.d.ts +74 -0
  59. package/container/types.js +5 -0
  60. package/contextual-menu/ContextualMenu.d.ts +7 -0
  61. package/contextual-menu/ContextualMenu.js +71 -0
  62. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  63. package/contextual-menu/ContextualMenu.test.js +71 -0
  64. package/contextual-menu/MenuItemAction.d.ts +4 -0
  65. package/contextual-menu/MenuItemAction.js +46 -0
  66. package/contextual-menu/types.d.ts +22 -0
  67. package/contextual-menu/types.js +5 -0
  68. package/date-input/Calendar.js +13 -57
  69. package/date-input/DateInput.js +50 -96
  70. package/date-input/DateInput.stories.tsx +11 -30
  71. package/date-input/DateInput.test.js +674 -701
  72. package/date-input/DatePicker.js +11 -42
  73. package/date-input/Icons.d.ts +6 -6
  74. package/date-input/Icons.js +6 -23
  75. package/date-input/YearPicker.js +8 -34
  76. package/date-input/types.d.ts +28 -22
  77. package/dialog/Dialog.js +13 -40
  78. package/dialog/Dialog.stories.tsx +170 -0
  79. package/dialog/Dialog.test.js +125 -187
  80. package/dialog/types.d.ts +18 -13
  81. package/divider/Divider.d.ts +4 -0
  82. package/divider/Divider.js +36 -0
  83. package/divider/Divider.stories.tsx +223 -0
  84. package/divider/Divider.test.js +38 -0
  85. package/divider/types.d.ts +19 -0
  86. package/divider/types.js +5 -0
  87. package/dropdown/Dropdown.js +48 -100
  88. package/dropdown/Dropdown.test.js +391 -378
  89. package/dropdown/DropdownMenu.js +8 -19
  90. package/dropdown/DropdownMenuItem.js +5 -17
  91. package/dropdown/types.d.ts +18 -20
  92. package/file-input/FileInput.js +180 -248
  93. package/file-input/FileInput.stories.tsx +1 -1
  94. package/file-input/FileInput.test.js +356 -354
  95. package/file-input/FileItem.js +12 -39
  96. package/file-input/types.d.ts +9 -9
  97. package/flex/Flex.js +25 -39
  98. package/flex/types.d.ts +6 -6
  99. package/footer/Footer.d.ts +1 -1
  100. package/footer/Footer.js +38 -65
  101. package/footer/Footer.stories.tsx +19 -0
  102. package/footer/Footer.test.js +18 -32
  103. package/footer/Icons.d.ts +3 -2
  104. package/footer/Icons.js +66 -7
  105. package/footer/types.d.ts +16 -16
  106. package/grid/Grid.js +1 -16
  107. package/grid/types.d.ts +10 -10
  108. package/header/Header.d.ts +1 -1
  109. package/header/Header.js +28 -84
  110. package/header/Header.test.js +12 -25
  111. package/header/Icons.d.ts +2 -2
  112. package/header/Icons.js +2 -7
  113. package/header/types.d.ts +7 -8
  114. package/heading/Heading.js +9 -31
  115. package/heading/Heading.test.js +70 -87
  116. package/heading/types.d.ts +7 -7
  117. package/icon/Icon.d.ts +4 -0
  118. package/icon/Icon.js +33 -0
  119. package/icon/Icon.stories.tsx +26 -0
  120. package/icon/types.d.ts +4 -0
  121. package/icon/types.js +5 -0
  122. package/image/Image.d.ts +2 -2
  123. package/image/Image.js +17 -32
  124. package/image/Image.stories.tsx +3 -1
  125. package/image/types.d.ts +2 -2
  126. package/inset/Inset.js +13 -21
  127. package/inset/types.d.ts +2 -2
  128. package/layout/ApplicationLayout.d.ts +2 -2
  129. package/layout/ApplicationLayout.js +14 -54
  130. package/layout/Icons.d.ts +5 -5
  131. package/layout/Icons.js +1 -5
  132. package/layout/SidenavContext.d.ts +1 -1
  133. package/layout/SidenavContext.js +3 -9
  134. package/layout/types.d.ts +3 -3
  135. package/link/Link.js +21 -42
  136. package/link/Link.test.js +23 -41
  137. package/link/types.d.ts +14 -14
  138. package/main.d.ts +7 -4
  139. package/main.js +32 -60
  140. package/nav-tabs/NavTabs.js +17 -46
  141. package/nav-tabs/NavTabs.stories.tsx +7 -5
  142. package/nav-tabs/NavTabs.test.js +38 -44
  143. package/nav-tabs/Tab.js +22 -50
  144. package/nav-tabs/types.d.ts +9 -9
  145. package/number-input/NumberInput.d.ts +1 -1
  146. package/number-input/NumberInput.js +45 -37
  147. package/number-input/NumberInput.stories.tsx +42 -26
  148. package/number-input/NumberInput.test.js +839 -575
  149. package/number-input/types.d.ts +11 -5
  150. package/package.json +29 -27
  151. package/paginator/Icons.d.ts +5 -5
  152. package/paginator/Icons.js +5 -19
  153. package/paginator/Paginator.js +15 -43
  154. package/paginator/Paginator.test.js +224 -207
  155. package/paginator/types.d.ts +3 -3
  156. package/paragraph/Paragraph.js +3 -19
  157. package/paragraph/Paragraph.stories.tsx +0 -17
  158. package/password-input/Icons.d.ts +3 -3
  159. package/password-input/Icons.js +1 -5
  160. package/password-input/PasswordInput.js +26 -48
  161. package/password-input/PasswordInput.stories.tsx +1 -34
  162. package/password-input/PasswordInput.test.js +153 -129
  163. package/password-input/types.d.ts +8 -7
  164. package/progress-bar/ProgressBar.js +21 -53
  165. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  166. package/progress-bar/ProgressBar.test.js +35 -52
  167. package/progress-bar/types.d.ts +3 -3
  168. package/quick-nav/QuickNav.js +4 -27
  169. package/quick-nav/QuickNav.stories.tsx +1 -1
  170. package/quick-nav/types.d.ts +10 -10
  171. package/radio-group/Radio.d.ts +1 -1
  172. package/radio-group/Radio.js +22 -54
  173. package/radio-group/RadioGroup.js +37 -83
  174. package/radio-group/RadioGroup.stories.tsx +10 -10
  175. package/radio-group/RadioGroup.test.js +504 -470
  176. package/radio-group/types.d.ts +8 -8
  177. package/resultset-table/Icons.d.ts +7 -0
  178. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  179. package/resultset-table/ResultsetTable.d.ts +7 -0
  180. package/{resultsetTable → resultset-table}/ResultsetTable.js +35 -64
  181. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +102 -5
  182. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +138 -92
  183. package/{resultsetTable → resultset-table}/types.d.ts +13 -7
  184. package/resultset-table/types.js +5 -0
  185. package/select/Icons.d.ts +7 -7
  186. package/select/Icons.js +1 -5
  187. package/select/Listbox.js +13 -39
  188. package/select/Option.js +17 -27
  189. package/select/Select.js +87 -163
  190. package/select/Select.test.js +1942 -1800
  191. package/select/types.d.ts +14 -15
  192. package/sidenav/Icons.d.ts +4 -4
  193. package/sidenav/Icons.js +1 -5
  194. package/sidenav/Sidenav.js +28 -69
  195. package/sidenav/Sidenav.test.js +3 -10
  196. package/sidenav/types.d.ts +18 -18
  197. package/slider/Slider.js +68 -125
  198. package/slider/Slider.test.js +107 -103
  199. package/slider/types.d.ts +4 -4
  200. package/spinner/Spinner.js +16 -54
  201. package/spinner/Spinner.test.js +25 -34
  202. package/spinner/types.d.ts +3 -3
  203. package/status-light/StatusLight.d.ts +4 -0
  204. package/status-light/StatusLight.js +51 -0
  205. package/status-light/StatusLight.stories.tsx +74 -0
  206. package/status-light/StatusLight.test.js +25 -0
  207. package/status-light/types.d.ts +17 -0
  208. package/status-light/types.js +5 -0
  209. package/switch/Switch.js +49 -97
  210. package/switch/Switch.stories.tsx +0 -34
  211. package/switch/Switch.test.js +51 -96
  212. package/switch/types.d.ts +4 -4
  213. package/table/DropdownTheme.js +62 -0
  214. package/table/Table.d.ts +6 -2
  215. package/table/Table.js +85 -33
  216. package/table/{Table.stories.jsx → Table.stories.tsx} +304 -2
  217. package/table/Table.test.js +93 -6
  218. package/table/types.d.ts +48 -6
  219. package/tabs/Tab.js +17 -33
  220. package/tabs/Tabs.js +52 -129
  221. package/tabs/Tabs.stories.tsx +1 -1
  222. package/tabs/Tabs.test.js +62 -118
  223. package/tabs/types.d.ts +19 -19
  224. package/tag/Tag.js +21 -51
  225. package/tag/Tag.test.js +19 -30
  226. package/tag/types.d.ts +7 -7
  227. package/text-input/Icons.d.ts +5 -5
  228. package/text-input/Icons.js +1 -5
  229. package/text-input/Suggestion.js +9 -26
  230. package/text-input/Suggestions.d.ts +1 -1
  231. package/text-input/Suggestions.js +15 -65
  232. package/text-input/TextInput.js +192 -284
  233. package/text-input/TextInput.stories.tsx +48 -152
  234. package/text-input/TextInput.test.js +1227 -1194
  235. package/text-input/types.d.ts +25 -17
  236. package/textarea/Textarea.js +67 -109
  237. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
  238. package/textarea/Textarea.test.js +150 -179
  239. package/textarea/types.d.ts +9 -5
  240. package/toggle-group/ToggleGroup.js +21 -61
  241. package/toggle-group/ToggleGroup.stories.tsx +1 -1
  242. package/toggle-group/ToggleGroup.test.js +48 -81
  243. package/toggle-group/types.d.ts +10 -10
  244. package/typography/Typography.js +4 -13
  245. package/typography/types.d.ts +1 -1
  246. package/useTheme.d.ts +41 -136
  247. package/useTheme.js +1 -8
  248. package/useTranslatedLabels.js +1 -7
  249. package/utils/BaseTypography.d.ts +2 -2
  250. package/utils/BaseTypography.js +16 -30
  251. package/utils/FocusLock.js +25 -39
  252. package/wizard/Wizard.js +14 -49
  253. package/wizard/Wizard.test.js +53 -80
  254. package/wizard/types.d.ts +7 -7
  255. package/common/OpenSans.css +0 -69
  256. package/common/fonts/OpenSans-Bold.ttf +0 -0
  257. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  258. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  259. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  260. package/common/fonts/OpenSans-Italic.ttf +0 -0
  261. package/common/fonts/OpenSans-Light.ttf +0 -0
  262. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  263. package/common/fonts/OpenSans-Regular.ttf +0 -0
  264. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  265. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  266. package/resultsetTable/Icons.d.ts +0 -7
  267. package/resultsetTable/ResultsetTable.d.ts +0 -4
  268. package/slider/Slider.stories.tsx +0 -240
  269. /package/{resultsetTable → action-icon}/types.js +0 -0
  270. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
package/card/Card.js CHANGED
@@ -1,60 +1,44 @@
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
14
  var _variables = require("../common/variables");
23
-
24
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
-
26
16
  var _Box = _interopRequireDefault(require("../box/Box"));
27
-
28
17
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
29
-
30
- 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); }
31
-
32
- 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; }
33
-
18
+ 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); }
19
+ 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; }
34
20
  var DxcCard = function DxcCard(_ref) {
35
21
  var imageSrc = _ref.imageSrc,
36
- _ref$imageBgColor = _ref.imageBgColor,
37
- imageBgColor = _ref$imageBgColor === void 0 ? "black" : _ref$imageBgColor,
38
- imagePadding = _ref.imagePadding,
39
- _ref$imagePosition = _ref.imagePosition,
40
- imagePosition = _ref$imagePosition === void 0 ? "before" : _ref$imagePosition,
41
- linkHref = _ref.linkHref,
42
- onClick = _ref.onClick,
43
- _ref$imageCover = _ref.imageCover,
44
- imageCover = _ref$imageCover === void 0 ? false : _ref$imageCover,
45
- margin = _ref.margin,
46
- _ref$tabIndex = _ref.tabIndex,
47
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
48
- _ref$outlined = _ref.outlined,
49
- outlined = _ref$outlined === void 0 ? true : _ref$outlined,
50
- children = _ref.children;
22
+ _ref$imageBgColor = _ref.imageBgColor,
23
+ imageBgColor = _ref$imageBgColor === void 0 ? "black" : _ref$imageBgColor,
24
+ imagePadding = _ref.imagePadding,
25
+ _ref$imagePosition = _ref.imagePosition,
26
+ imagePosition = _ref$imagePosition === void 0 ? "before" : _ref$imagePosition,
27
+ linkHref = _ref.linkHref,
28
+ onClick = _ref.onClick,
29
+ _ref$imageCover = _ref.imageCover,
30
+ imageCover = _ref$imageCover === void 0 ? false : _ref$imageCover,
31
+ margin = _ref.margin,
32
+ _ref$tabIndex = _ref.tabIndex,
33
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
34
+ _ref$outlined = _ref.outlined,
35
+ outlined = _ref$outlined === void 0 ? true : _ref$outlined,
36
+ children = _ref.children;
51
37
  var colorsTheme = (0, _useTheme["default"])();
52
-
53
38
  var _useState = (0, _react.useState)(false),
54
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
55
- isHovered = _useState2[0],
56
- changeIsHovered = _useState2[1];
57
-
39
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
40
+ isHovered = _useState2[0],
41
+ changeIsHovered = _useState2[1];
58
42
  return /*#__PURE__*/_react["default"].createElement(Card, {
59
43
  hasAction: onClick || linkHref ? true : false,
60
44
  margin: margin,
@@ -83,7 +67,6 @@ var DxcCard = function DxcCard(_ref) {
83
67
  src: imageSrc
84
68
  })), /*#__PURE__*/_react["default"].createElement(CardContent, null, children)))));
85
69
  };
86
-
87
70
  var Card = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n outline: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n text-decoration: none;\n ", "\n"])), function (_ref2) {
88
71
  var hasAction = _ref2.hasAction;
89
72
  return hasAction && "pointer" || "unset";
@@ -109,7 +92,6 @@ var Card = _styledComponents["default"].div(_templateObject || (_templateObject
109
92
  var hasAction = _ref9.hasAction;
110
93
  return hasAction && ":focus {\n outline: #0095ff auto 1px;\n }";
111
94
  });
112
-
113
95
  var CardContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: ", ";\n height: ", ";\n width: ", ";\n &:hover {\n border-color: ", ";\n }\n"])), function (props) {
114
96
  return props.imagePosition === "after" ? "row-reverse" : "row";
115
97
  }, function (props) {
@@ -120,7 +102,6 @@ var CardContainer = _styledComponents["default"].div(_templateObject2 || (_templ
120
102
  var hasAction = _ref10.hasAction;
121
103
  return hasAction ? "" : "unset";
122
104
  });
123
-
124
105
  var TagImage = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n object-fit: ", ";\n"])), function (_ref11) {
125
106
  var imagePadding = _ref11.imagePadding;
126
107
  return !imagePadding ? "100%" : (0, _typeof2["default"])(imagePadding) !== "object" && "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
@@ -131,13 +112,9 @@ var TagImage = _styledComponents["default"].img(_templateObject3 || (_templateOb
131
112
  var imageCover = _ref13.imageCover;
132
113
  return imageCover ? "cover" : "contain";
133
114
  });
134
-
135
115
  var ImageContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n width: 35%;\n height: 100%;\n background-color: ", ";\n"])), function (_ref14) {
136
116
  var imageBgColor = _ref14.imageBgColor;
137
117
  return imageBgColor;
138
118
  });
139
-
140
119
  var CardContent = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n overflow: hidden;\n"])));
141
-
142
- var _default = DxcCard;
143
- exports["default"] = _default;
120
+ var _default = exports["default"] = DxcCard;
package/card/Card.test.js CHANGED
@@ -1,50 +1,39 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _react = _interopRequireDefault(require("react"));
6
-
7
5
  var _react2 = require("@testing-library/react");
8
-
9
6
  var _Card = _interopRequireDefault(require("./Card.tsx"));
10
-
11
7
  describe("Card component tests", function () {
12
8
  test("Card renders with correct content", function () {
13
9
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], null, "test-card")),
14
- getByText = _render.getByText;
15
-
10
+ getByText = _render.getByText;
16
11
  expect(getByText("test-card")).toBeTruthy();
17
12
  });
18
13
  test("Card renders with correct href", function () {
19
14
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
20
- linkHref: "/testPage"
21
- }, "test-card")),
22
- getByRole = _render2.getByRole;
23
-
15
+ linkHref: "/testPage"
16
+ }, "test-card")),
17
+ getByRole = _render2.getByRole;
24
18
  var card = getByRole("link");
25
19
  expect(card.getAttribute("href")).toEqual("/testPage");
26
20
  });
27
21
  test("Card renders with correct image", function () {
28
22
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
29
- imageSrc: "/testImage"
30
- }, "test-card")),
31
- getByRole = _render3.getByRole;
32
-
23
+ imageSrc: "/testImage"
24
+ }, "test-card")),
25
+ getByRole = _render3.getByRole;
33
26
  var card = getByRole("img");
34
27
  expect(card.getAttribute("src")).toEqual("/testImage");
35
28
  });
36
29
  test("OnClick function is called", function () {
37
30
  var onClick = jest.fn();
38
-
39
31
  var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
40
- onClick: onClick
41
- }, "test-card")),
42
- getByText = _render4.getByText;
43
-
32
+ onClick: onClick
33
+ }, "test-card")),
34
+ getByText = _render4.getByText;
44
35
  var card = getByText("test-card");
45
-
46
36
  _react2.fireEvent.click(card);
47
-
48
37
  expect(onClick).toHaveBeenCalled();
49
38
  });
50
39
  });
package/card/types.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  /// <reference types="react" />
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Size = {
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Size = {
4
4
  top?: Space;
5
5
  bottom?: Space;
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- declare type Props = {
9
+ type Props = {
10
10
  /**
11
11
  * URL of the image that will be placed in the card component.
12
12
  * In case of omission, the image container will not appear and
@@ -47,7 +47,7 @@ declare type Props = {
47
47
  */
48
48
  margin?: Space | Size;
49
49
  /**
50
- * Value of the tabindex given when there is an href.
50
+ * Value of the tabindex attribute applied when the component is clickable.
51
51
  */
52
52
  tabIndex?: number;
53
53
  /**
@@ -55,7 +55,7 @@ declare type Props = {
55
55
  */
56
56
  outlined?: boolean;
57
57
  /**
58
- * Custom content that will be placed in the card component.
58
+ * Custom content that will be placed inside the component.
59
59
  */
60
60
  children?: React.ReactNode;
61
61
  };
@@ -1,42 +1,24 @@
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
14
  var _variables = require("../common/variables");
23
-
24
15
  var _utils = require("../common/utils");
25
-
26
16
  var _uuid = require("uuid");
27
-
28
17
  var _useTheme = _interopRequireDefault(require("../useTheme"));
29
-
30
18
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
31
-
32
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
33
-
34
19
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
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
-
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; }
40
22
  var checkedIcon = /*#__PURE__*/_react["default"].createElement("svg", {
41
23
  fill: "currentColor",
42
24
  focusable: "false",
@@ -45,54 +27,50 @@ var checkedIcon = /*#__PURE__*/_react["default"].createElement("svg", {
45
27
  }, /*#__PURE__*/_react["default"].createElement("path", {
46
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"
47
29
  }));
48
-
49
30
  var DxcCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
50
31
  var checked = _ref.checked,
51
- _ref$defaultChecked = _ref.defaultChecked,
52
- defaultChecked = _ref$defaultChecked === void 0 ? false : _ref$defaultChecked,
53
- value = _ref.value,
54
- _ref$label = _ref.label,
55
- label = _ref$label === void 0 ? "" : _ref$label,
56
- _ref$labelPosition = _ref.labelPosition,
57
- labelPosition = _ref$labelPosition === void 0 ? "before" : _ref$labelPosition,
58
- _ref$name = _ref.name,
59
- name = _ref$name === void 0 ? "" : _ref$name,
60
- _ref$disabled = _ref.disabled,
61
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
62
- _ref$optional = _ref.optional,
63
- optional = _ref$optional === void 0 ? false : _ref$optional,
64
- onChange = _ref.onChange,
65
- margin = _ref.margin,
66
- _ref$size = _ref.size,
67
- size = _ref$size === void 0 ? "fitContent" : _ref$size,
68
- _ref$tabIndex = _ref.tabIndex,
69
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
70
-
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;
71
53
  var _useState = (0, _react.useState)("label-checkbox-".concat((0, _uuid.v4)())),
72
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
73
- labelId = _useState2[0];
74
-
54
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
55
+ labelId = _useState2[0];
75
56
  var _useState3 = (0, _react.useState)(defaultChecked),
76
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
77
- innerChecked = _useState4[0],
78
- setInnerChecked = _useState4[1];
79
-
57
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
58
+ innerChecked = _useState4[0],
59
+ setInnerChecked = _useState4[1];
80
60
  var checkboxRef = (0, _react.useRef)(null);
81
61
  var colorsTheme = (0, _useTheme["default"])();
82
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
83
62
  var translatedLabels = (0, _useTranslatedLabels["default"])();
84
-
85
63
  var handleCheckboxChange = function handleCheckboxChange() {
86
- var _checkboxRef$current;
87
-
88
- 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());
89
- var newChecked = checked !== null && checked !== void 0 ? checked : innerChecked;
90
- checked !== null && checked !== void 0 ? checked : setInnerChecked(function (innerChecked) {
91
- return !innerChecked;
92
- });
93
- onChange === null || onChange === void 0 ? void 0 : onChange(!newChecked);
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);
72
+ }
94
73
  };
95
-
96
74
  var handleKeyboard = function handleKeyboard(event) {
97
75
  switch (event.key) {
98
76
  case " ":
@@ -100,21 +78,20 @@ var DxcCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
100
78
  handleCheckboxChange();
101
79
  }
102
80
  };
103
-
104
81
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
105
82
  theme: colorsTheme.checkbox
106
83
  }, /*#__PURE__*/_react["default"].createElement(MainContainer, {
107
84
  disabled: disabled,
108
- onClick: disabled ? undefined : handleCheckboxChange,
85
+ readOnly: readOnly,
86
+ onClick: handleCheckboxChange,
109
87
  margin: margin,
110
88
  size: size,
111
89
  checked: checked !== null && checked !== void 0 ? checked : innerChecked,
112
- backgroundType: backgroundType,
113
90
  ref: ref
114
- }, label && labelPosition === "before" && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
91
+ }, label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
115
92
  id: labelId,
116
93
  disabled: disabled,
117
- backgroundType: backgroundType
94
+ labelPosition: labelPosition
118
95
  }, label, optional && " ".concat(translatedLabels.formFields.optionalLabel)), /*#__PURE__*/_react["default"].createElement(ValueInput, {
119
96
  type: "checkbox",
120
97
  checked: checked !== null && checked !== void 0 ? checked : innerChecked,
@@ -129,19 +106,15 @@ var DxcCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
129
106
  tabIndex: disabled ? -1 : tabIndex,
130
107
  "aria-checked": checked !== null && checked !== void 0 ? checked : innerChecked,
131
108
  "aria-disabled": disabled,
109
+ "aria-readonly": readOnly,
132
110
  "aria-required": !disabled && !optional,
133
111
  "aria-labelledby": labelId,
134
- backgroundType: backgroundType,
135
112
  checked: checked !== null && checked !== void 0 ? checked : innerChecked,
136
113
  disabled: disabled,
114
+ readOnly: readOnly,
137
115
  ref: checkboxRef
138
- }, (checked !== null && checked !== void 0 ? checked : innerChecked) && checkedIcon)), label && labelPosition === "after" && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
139
- id: labelId,
140
- disabled: disabled,
141
- backgroundType: backgroundType
142
- }, optional && "".concat(translatedLabels.formFields.optionalLabel, " "), label)));
116
+ }, (checked !== null && checked !== void 0 ? checked : innerChecked) && checkedIcon))));
143
117
  });
144
-
145
118
  var sizes = {
146
119
  small: "120px",
147
120
  medium: "240px",
@@ -149,55 +122,55 @@ var sizes = {
149
122
  fillParent: "100%",
150
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 getEnabledColor = function getEnabledColor(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;
185
146
  case "hoverBackground":
186
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.hoverBackgroundColorCheckedOnDark : props.theme.hoverBackgroundColorChecked;
187
-
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;
191
150
  case "hoverBorder":
192
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor;
193
-
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;
194
166
  case "label":
195
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
167
+ return theme.fontColor;
196
168
  }
197
169
  };
198
-
199
- var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
200
- return props.disabled ? getDisabledColor(props, "label") : getEnabledColor(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");
201
174
  }, function (props) {
202
175
  return props.theme.fontFamily;
203
176
  }, function (props) {
@@ -205,24 +178,20 @@ var LabelContainer = _styledComponents["default"].span(_templateObject || (_temp
205
178
  }, function (props) {
206
179
  return props.theme.fontWeight;
207
180
  });
208
-
209
181
  var ValueInput = _styledComponents["default"].input(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
210
-
211
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"])));
212
-
213
- 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 ", ";\n outline-offset: 2px;\n }\n svg {\n position: absolute;\n width: 22px;\n height: 22px;\n }\n ", "\n"])), function (props) {
214
- return props.disabled ? getDisabledColor(props, "border") : getEnabledColor(props, "border");
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");
215
185
  }, function (props) {
216
- return props.checked ? props.disabled ? getDisabledColor(props, "check") : getEnabledColor(props, "check") : "transparent";
186
+ return props.checked ? props.disabled ? getDisabledColor(props.theme, "check") : props.readOnly ? getReadOnlyColor(props.theme, "check") : getEnabledColor(props.theme, "check") : "transparent";
217
187
  }, function (props) {
218
- return props.disabled ? getDisabledColor(props, "background") : getEnabledColor(props, "background");
188
+ return props.disabled ? getDisabledColor(props.theme, "background") : props.readOnly ? getReadOnlyColor(props.theme, "background") : getEnabledColor(props.theme, "background");
219
189
  }, function (props) {
220
- return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
190
+ return props.theme.focusColor;
221
191
  }, function (props) {
222
192
  return props.disabled && "pointer-events: none;";
223
193
  });
224
-
225
- 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 background-color: ", ";\n color: ", ";\n }\n"])), function (props) {
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) {
226
195
  return props.theme.checkLabelSpacing;
227
196
  }, function (props) {
228
197
  return calculateWidth(props.margin, props.size);
@@ -237,14 +206,10 @@ var MainContainer = _styledComponents["default"].div(_templateObject5 || (_templ
237
206
  }, function (props) {
238
207
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
239
208
  }, function (props) {
240
- return props.disabled ? "not-allowed" : "pointer";
209
+ return props.disabled ? "not-allowed" : props.readOnly ? "default" : "pointer";
241
210
  }, Checkbox, function (props) {
242
- return props.disabled ? getDisabledColor(props, "border") : getEnabledColor(props, "hoverBorder");
243
- }, function (props) {
244
- return props.checked ? props.disabled ? getDisabledColor(props, "check") : getEnabledColor(props, "check") : "transparent";
211
+ if (!props.disabled) return props.readOnly ? getReadOnlyColor(props.theme, "hoverBorder") : getEnabledColor(props.theme, "hoverBorder");
245
212
  }, function (props) {
246
- return props.disabled ? getDisabledColor(props, "background") : getEnabledColor(props, "hoverBackground");
213
+ if (!props.disabled) return props.readOnly ? getReadOnlyColor(props.theme, "hoverBackground") : getEnabledColor(props.theme, "hoverBackground");
247
214
  });
248
-
249
- var _default = DxcCheckbox;
250
- exports["default"] = _default;
215
+ var _default = exports["default"] = DxcCheckbox;
@@ -1,9 +1,7 @@
1
1
  import React from "react";
2
2
  import DxcCheckbox from "./Checkbox";
3
- import { BackgroundColorProvider } from "../BackgroundColorContext";
4
3
  import Title from "../../.storybook/components/Title";
5
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
- import DarkContainer from "../../.storybook/components/DarkSection";
7
5
  import styled from "styled-components";
8
6
  import { HalstackProvider } from "../HalstackContext";
9
7
 
@@ -38,6 +36,22 @@ const Checkbox = () => (
38
36
  <Title title="Disabled, checked and optional" theme="light" level={4} />
39
37
  <DxcCheckbox label="Checkbox" disabled defaultChecked optional />
40
38
  </ExampleContainer>
39
+ <ExampleContainer>
40
+ <Title title="Read-only" theme="light" level={4} />
41
+ <DxcCheckbox label="Checkbox" readOnly />
42
+ </ExampleContainer>
43
+ <ExampleContainer pseudoState="pseudo-hover">
44
+ <Title title="Hovered read-only" theme="light" level={4} />
45
+ <DxcCheckbox label="Checkbox" readOnly />
46
+ </ExampleContainer>
47
+ <ExampleContainer>
48
+ <Title title="Read-only, checked and optional" theme="light" level={4} />
49
+ <DxcCheckbox label="Checkbox" readOnly defaultChecked optional />
50
+ </ExampleContainer>
51
+ <ExampleContainer pseudoState="pseudo-hover">
52
+ <Title title="Hovered read-only and checked" theme="light" level={4} />
53
+ <DxcCheckbox label="Checkbox" readOnly defaultChecked optional />
54
+ </ExampleContainer>
41
55
  <ExampleContainer pseudoState="pseudo-focus">
42
56
  <Title title="Focused" theme="light" level={4} />
43
57
  <DxcCheckbox label="Focused" />
@@ -70,58 +84,6 @@ const Checkbox = () => (
70
84
  <Title title="Disabled and optional with label after" theme="light" level={4} />
71
85
  <DxcCheckbox label="Checkbox" disabled labelPosition="after" optional />
72
86
  </ExampleContainer>
73
- <BackgroundColorProvider color="#333333">
74
- <DarkContainer>
75
- <ExampleContainer>
76
- <Title title="Default" theme="dark" level={4} />
77
- <DxcCheckbox label="Checkbox" />
78
- </ExampleContainer>
79
- <ExampleContainer>
80
- <Title title="Checked" theme="dark" level={4} />
81
- <DxcCheckbox label="Checkbox" defaultChecked />
82
- </ExampleContainer>
83
- <ExampleContainer>
84
- <Title title="Disabled" theme="dark" level={4} />
85
- <DxcCheckbox label="Checkbox" disabled />
86
- </ExampleContainer>
87
- <ExampleContainer>
88
- <Title title="Disabled, checked and optional" theme="dark" level={4} />
89
- <DxcCheckbox label="Checkbox" disabled defaultChecked optional />
90
- </ExampleContainer>
91
- <ExampleContainer pseudoState="pseudo-focus">
92
- <Title title="Focused" theme="dark" level={4} />
93
- <DxcCheckbox label="Focused" />
94
- </ExampleContainer>
95
- <ExampleContainer pseudoState="pseudo-hover">
96
- <Title title="Hovered" theme="dark" level={4} />
97
- <DxcCheckbox label="Hovered" />
98
- </ExampleContainer>
99
- <ExampleContainer pseudoState="pseudo-hover">
100
- <Title title="Hovered and checked" theme="dark" level={4} />
101
- <DxcCheckbox label="Hovered" defaultChecked />
102
- </ExampleContainer>
103
- <ExampleContainer>
104
- <Title title="Optional" theme="dark" level={4} />
105
- <DxcCheckbox label="Checkbox" optional />
106
- </ExampleContainer>
107
- <ExampleContainer>
108
- <Title title="Label after" theme="dark" level={4} />
109
- <DxcCheckbox label="Checkbox" labelPosition="after" />
110
- </ExampleContainer>
111
- <ExampleContainer>
112
- <Title title="Checked with label after" theme="dark" level={4} />
113
- <DxcCheckbox label="Checkbox" defaultChecked labelPosition="after" />
114
- </ExampleContainer>
115
- <ExampleContainer>
116
- <Title title="Optional with label after" theme="dark" level={4} />
117
- <DxcCheckbox label="Checkbox" optional labelPosition="after" />
118
- </ExampleContainer>
119
- <ExampleContainer>
120
- <Title title="Disabled and optional with label after" theme="dark" level={4} />
121
- <DxcCheckbox label="Checkbox" disabled labelPosition="after" optional />
122
- </ExampleContainer>
123
- </DarkContainer>
124
- </BackgroundColorProvider>
125
87
  <Title title="Sizes" theme="light" level={2} />
126
88
  <ExampleContainer>
127
89
  <DxcCheckbox label="Small" size="small" />