@dxc-technology/halstack-react 0.0.0-9bd9511 → 0.0.0-9c20370

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 (213) hide show
  1. package/BackgroundColorContext.d.ts +3 -3
  2. package/BackgroundColorContext.js +12 -2
  3. package/HalstackContext.d.ts +1330 -7
  4. package/HalstackContext.js +84 -67
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +74 -55
  7. package/accordion/Accordion.stories.tsx +3 -101
  8. package/accordion/Accordion.test.js +34 -19
  9. package/accordion/types.d.ts +4 -16
  10. package/accordion-group/AccordionGroup.d.ts +4 -3
  11. package/accordion-group/AccordionGroup.js +49 -42
  12. package/accordion-group/AccordionGroup.stories.tsx +77 -76
  13. package/accordion-group/AccordionGroup.test.js +62 -54
  14. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  15. package/accordion-group/AccordionGroupAccordion.js +43 -0
  16. package/accordion-group/types.d.ts +6 -18
  17. package/alert/Alert.js +47 -20
  18. package/alert/Alert.test.js +46 -29
  19. package/alert/types.d.ts +3 -3
  20. package/badge/Badge.js +14 -2
  21. package/badge/types.d.ts +1 -1
  22. package/bleed/Bleed.js +21 -13
  23. package/bleed/Bleed.stories.tsx +1 -0
  24. package/bleed/types.d.ts +2 -2
  25. package/box/Box.d.ts +1 -1
  26. package/box/Box.js +33 -33
  27. package/box/Box.stories.tsx +25 -53
  28. package/box/Box.test.js +7 -2
  29. package/box/types.d.ts +3 -15
  30. package/bulleted-list/BulletedList.js +36 -9
  31. package/bulleted-list/BulletedList.stories.tsx +7 -1
  32. package/bulleted-list/types.d.ts +32 -5
  33. package/button/Button.d.ts +1 -1
  34. package/button/Button.js +83 -71
  35. package/button/Button.stories.tsx +4 -4
  36. package/button/Button.test.js +28 -8
  37. package/button/types.d.ts +8 -4
  38. package/card/Card.d.ts +1 -1
  39. package/card/Card.js +67 -62
  40. package/card/Card.stories.tsx +12 -42
  41. package/card/Card.test.js +22 -11
  42. package/card/types.d.ts +4 -10
  43. package/checkbox/Checkbox.js +71 -27
  44. package/checkbox/Checkbox.test.js +60 -33
  45. package/checkbox/types.d.ts +4 -4
  46. package/chip/Chip.js +51 -48
  47. package/chip/Chip.stories.tsx +25 -17
  48. package/chip/Chip.test.js +29 -17
  49. package/chip/types.d.ts +4 -4
  50. package/common/OpenSans.css +68 -80
  51. package/common/coreTokens.d.ts +146 -0
  52. package/common/coreTokens.js +167 -0
  53. package/common/utils.d.ts +1 -0
  54. package/common/utils.js +8 -3
  55. package/common/variables.d.ts +226 -175
  56. package/common/variables.js +956 -1133
  57. package/date-input/Calendar.js +55 -12
  58. package/date-input/DateInput.js +82 -35
  59. package/date-input/DateInput.test.js +351 -164
  60. package/date-input/DatePicker.js +38 -8
  61. package/date-input/Icons.js +12 -0
  62. package/date-input/YearPicker.js +30 -5
  63. package/date-input/types.d.ts +7 -7
  64. package/dialog/Dialog.d.ts +1 -1
  65. package/dialog/Dialog.js +83 -86
  66. package/dialog/Dialog.stories.tsx +127 -221
  67. package/dialog/Dialog.test.js +331 -18
  68. package/dialog/types.d.ts +1 -14
  69. package/dropdown/Dropdown.js +86 -32
  70. package/dropdown/Dropdown.test.js +211 -104
  71. package/dropdown/DropdownMenu.js +22 -8
  72. package/dropdown/DropdownMenuItem.js +15 -6
  73. package/dropdown/types.d.ts +8 -8
  74. package/file-input/FileInput.js +218 -134
  75. package/file-input/FileInput.test.js +343 -331
  76. package/file-input/FileItem.js +39 -12
  77. package/file-input/types.d.ts +10 -10
  78. package/flex/Flex.js +39 -25
  79. package/flex/Flex.stories.tsx +35 -26
  80. package/flex/types.d.ts +74 -9
  81. package/footer/Footer.d.ts +1 -1
  82. package/footer/Footer.js +80 -68
  83. package/footer/Footer.stories.tsx +12 -89
  84. package/footer/Footer.test.js +47 -40
  85. package/footer/Icons.js +4 -0
  86. package/footer/types.d.ts +15 -17
  87. package/grid/Grid.d.ts +7 -0
  88. package/grid/Grid.js +91 -0
  89. package/grid/Grid.stories.tsx +219 -0
  90. package/grid/types.d.ts +115 -0
  91. package/header/Header.d.ts +4 -3
  92. package/header/Header.js +72 -55
  93. package/header/Header.stories.tsx +7 -71
  94. package/header/Header.test.js +26 -13
  95. package/header/Icons.js +4 -0
  96. package/header/types.d.ts +2 -16
  97. package/heading/Heading.js +28 -7
  98. package/heading/Heading.test.js +88 -71
  99. package/heading/types.d.ts +3 -3
  100. package/inset/Inset.js +21 -13
  101. package/inset/Inset.stories.tsx +2 -1
  102. package/inset/types.d.ts +2 -2
  103. package/layout/ApplicationLayout.d.ts +5 -5
  104. package/layout/ApplicationLayout.js +57 -15
  105. package/layout/Icons.js +10 -0
  106. package/layout/SidenavContext.d.ts +1 -1
  107. package/layout/SidenavContext.js +4 -0
  108. package/layout/types.d.ts +5 -6
  109. package/link/Link.js +41 -21
  110. package/link/Link.test.js +42 -26
  111. package/link/types.d.ts +4 -4
  112. package/main.d.ts +2 -1
  113. package/main.js +55 -0
  114. package/nav-tabs/NavTabs.d.ts +2 -2
  115. package/nav-tabs/NavTabs.js +43 -16
  116. package/nav-tabs/NavTabs.stories.tsx +14 -0
  117. package/nav-tabs/NavTabs.test.js +44 -37
  118. package/nav-tabs/Tab.js +71 -45
  119. package/nav-tabs/types.d.ts +10 -11
  120. package/number-input/NumberInput.js +30 -20
  121. package/number-input/NumberInput.test.js +249 -113
  122. package/number-input/NumberInputContext.js +5 -0
  123. package/number-input/numberInputContextTypes.d.ts +1 -1
  124. package/number-input/types.d.ts +4 -4
  125. package/package.json +7 -7
  126. package/paginator/Icons.js +10 -0
  127. package/paginator/Paginator.js +39 -17
  128. package/paginator/Paginator.test.js +156 -104
  129. package/paginator/types.d.ts +1 -1
  130. package/paragraph/Paragraph.d.ts +3 -4
  131. package/paragraph/Paragraph.js +18 -8
  132. package/password-input/PasswordInput.js +51 -22
  133. package/password-input/PasswordInput.test.js +94 -51
  134. package/password-input/types.d.ts +4 -4
  135. package/progress-bar/ProgressBar.d.ts +2 -2
  136. package/progress-bar/ProgressBar.js +39 -14
  137. package/progress-bar/ProgressBar.test.js +53 -36
  138. package/progress-bar/types.d.ts +4 -3
  139. package/quick-nav/QuickNav.js +24 -2
  140. package/quick-nav/types.d.ts +2 -2
  141. package/radio-group/Radio.js +53 -22
  142. package/radio-group/RadioGroup.js +84 -41
  143. package/radio-group/RadioGroup.test.js +288 -186
  144. package/radio-group/types.d.ts +4 -4
  145. package/resultsetTable/Icons.js +3 -0
  146. package/resultsetTable/ResultsetTable.js +56 -21
  147. package/resultsetTable/ResultsetTable.test.js +75 -42
  148. package/resultsetTable/types.d.ts +5 -5
  149. package/select/Icons.js +3 -0
  150. package/select/Listbox.js +35 -10
  151. package/select/Option.js +24 -8
  152. package/select/Select.js +143 -56
  153. package/select/Select.test.js +839 -456
  154. package/select/types.d.ts +12 -12
  155. package/sidenav/Icons.d.ts +7 -0
  156. package/sidenav/Icons.js +51 -0
  157. package/sidenav/Sidenav.d.ts +2 -2
  158. package/sidenav/Sidenav.js +116 -104
  159. package/sidenav/Sidenav.stories.tsx +60 -60
  160. package/sidenav/Sidenav.test.js +10 -3
  161. package/sidenav/types.d.ts +26 -23
  162. package/slider/Slider.js +84 -38
  163. package/slider/Slider.test.js +104 -76
  164. package/slider/types.d.ts +4 -4
  165. package/spinner/Spinner.js +51 -28
  166. package/spinner/Spinner.stories.jsx +28 -28
  167. package/spinner/Spinner.test.js +35 -26
  168. package/spinner/types.d.ts +3 -3
  169. package/switch/Switch.js +66 -24
  170. package/switch/Switch.test.js +97 -52
  171. package/switch/types.d.ts +4 -4
  172. package/table/Table.js +22 -4
  173. package/table/Table.test.js +7 -2
  174. package/table/types.d.ts +3 -3
  175. package/tabs/Tab.js +39 -22
  176. package/tabs/Tabs.js +131 -62
  177. package/tabs/Tabs.test.js +122 -67
  178. package/tabs/types.d.ts +8 -8
  179. package/tag/Tag.js +54 -27
  180. package/tag/Tag.test.js +31 -20
  181. package/tag/types.d.ts +7 -7
  182. package/text-input/Icons.js +3 -0
  183. package/text-input/Suggestion.js +24 -8
  184. package/text-input/Suggestions.js +36 -11
  185. package/text-input/TextInput.js +144 -59
  186. package/text-input/TextInput.stories.tsx +1 -1
  187. package/text-input/TextInput.test.js +858 -539
  188. package/text-input/types.d.ts +9 -9
  189. package/textarea/Textarea.js +73 -38
  190. package/textarea/Textarea.test.js +173 -98
  191. package/textarea/types.d.ts +4 -4
  192. package/toggle-group/ToggleGroup.d.ts +2 -2
  193. package/toggle-group/ToggleGroup.js +59 -21
  194. package/toggle-group/ToggleGroup.test.js +72 -40
  195. package/toggle-group/types.d.ts +11 -11
  196. package/typography/Typography.d.ts +2 -2
  197. package/typography/Typography.js +23 -110
  198. package/typography/Typography.stories.tsx +1 -1
  199. package/typography/types.d.ts +1 -1
  200. package/useTheme.d.ts +1234 -1
  201. package/useTheme.js +6 -0
  202. package/useTranslatedLabels.d.ts +84 -2
  203. package/useTranslatedLabels.js +5 -0
  204. package/utils/BaseTypography.d.ts +21 -0
  205. package/utils/BaseTypography.js +108 -0
  206. package/utils/FocusLock.d.ts +13 -0
  207. package/utils/FocusLock.js +138 -0
  208. package/wizard/Wizard.js +47 -13
  209. package/wizard/Wizard.test.js +81 -54
  210. package/wizard/types.d.ts +7 -8
  211. package/card/ice-cream.jpg +0 -0
  212. package/translatedLabelsType.d.ts +0 -82
  213. /package/{translatedLabelsType.js → grid/types.js} +0 -0
@@ -1,91 +1,108 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  var _react = _interopRequireDefault(require("react"));
6
+
5
7
  var _react2 = require("@testing-library/react");
6
- var _ProgressBar = _interopRequireDefault(require("./ProgressBar"));
8
+
9
+ var _ProgressBar = _interopRequireDefault(require("./ProgressBar.tsx"));
10
+
7
11
  describe("ProgressBar component tests", function () {
8
12
  test("ProgressBar renders with label and helperText", function () {
9
13
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
10
- label: "test-label",
11
- helperText: "helper-text"
12
- })),
13
- getByText = _render.getByText;
14
+ label: "test-label",
15
+ helperText: "helper-text"
16
+ })),
17
+ getByText = _render.getByText;
18
+
14
19
  expect(getByText("test-label")).toBeTruthy();
15
20
  expect(getByText("helper-text")).toBeTruthy();
16
21
  });
17
22
  test("ProgressBar renders with default value", function () {
18
23
  var value = 0;
24
+
19
25
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
20
- showValue: true
21
- })),
22
- getByText = _render2.getByText,
23
- getByRole = _render2.getByRole;
26
+ showValue: true
27
+ })),
28
+ getByText = _render2.getByText,
29
+ getByRole = _render2.getByRole;
30
+
24
31
  var progressBar = getByRole("progressbar");
25
32
  expect(getByText("0 %")).toBeTruthy();
26
33
  expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
27
34
  });
28
35
  test("ProgressBar renders with value", function () {
29
36
  var value = 25;
37
+
30
38
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
31
- showValue: true,
32
- value: value
33
- })),
34
- getByText = _render3.getByText,
35
- getByRole = _render3.getByRole;
39
+ showValue: true,
40
+ value: value
41
+ })),
42
+ getByText = _render3.getByText,
43
+ getByRole = _render3.getByRole;
44
+
36
45
  var progressBar = getByRole("progressbar");
37
46
  expect(getByText("25 %")).toBeTruthy();
38
47
  expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
39
48
  });
40
49
  test("ProgressBar renders with negative value", function () {
41
50
  var value = 0;
51
+
42
52
  var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
43
- showValue: true,
44
- value: -20
45
- })),
46
- getByText = _render4.getByText,
47
- getByRole = _render4.getByRole;
53
+ showValue: true,
54
+ value: -20
55
+ })),
56
+ getByText = _render4.getByText,
57
+ getByRole = _render4.getByRole;
58
+
48
59
  var progressBar = getByRole("progressbar");
49
60
  expect(getByText("0 %")).toBeTruthy();
50
61
  expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
51
62
  });
52
63
  test("ProgressBar renders as indeterminate", function () {
53
64
  var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], null)),
54
- getByRole = _render5.getByRole;
65
+ getByRole = _render5.getByRole;
66
+
55
67
  var progressBar = getByRole("progressbar");
56
68
  expect(progressBar.getAttribute("aria-valuenow")).toBe(null);
57
69
  });
58
70
  test("Overlay progressBar renders with label and helperText", function () {
59
71
  var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
60
- label: "test-label",
61
- helperText: "helper-text",
62
- overlay: true
63
- })),
64
- getByText = _render6.getByText;
72
+ label: "test-label",
73
+ helperText: "helper-text",
74
+ overlay: true
75
+ })),
76
+ getByText = _render6.getByText;
77
+
65
78
  expect(getByText("test-label")).toBeTruthy();
66
79
  expect(getByText("helper-text")).toBeTruthy();
67
80
  });
68
81
  test("Overlay progressBar renders with default value", function () {
69
82
  var value = 0;
83
+
70
84
  var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
71
- showValue: true,
72
- overlay: true
73
- })),
74
- getByText = _render7.getByText,
75
- getByRole = _render7.getByRole;
85
+ showValue: true,
86
+ overlay: true
87
+ })),
88
+ getByText = _render7.getByText,
89
+ getByRole = _render7.getByRole;
90
+
76
91
  var progressBar = getByRole("progressbar");
77
92
  expect(getByText("0 %")).toBeTruthy();
78
93
  expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
79
94
  });
80
95
  test("Overlay progressBar renders with value", function () {
81
96
  var value = 25;
97
+
82
98
  var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ProgressBar["default"], {
83
- showValue: true,
84
- value: value,
85
- overlay: true
86
- })),
87
- getByText = _render8.getByText,
88
- getByRole = _render8.getByRole;
99
+ showValue: true,
100
+ value: value,
101
+ overlay: true
102
+ })),
103
+ getByText = _render8.getByText,
104
+ getByRole = _render8.getByRole;
105
+
89
106
  var progressBar = getByRole("progressbar");
90
107
  expect(getByText("25 %")).toBeTruthy();
91
108
  expect(progressBar.getAttribute("aria-valuenow")).toEqual(value.toString());
@@ -1,11 +1,11 @@
1
- export type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
- export type Size = {
1
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ declare type Size = {
3
3
  top?: Space;
4
4
  bottom?: Space;
5
5
  left?: Space;
6
6
  right?: Space;
7
7
  };
8
- export type Props = {
8
+ declare type Props = {
9
9
  /**
10
10
  * Text to be placed above the progress bar.
11
11
  */
@@ -34,3 +34,4 @@ export type Props = {
34
34
  */
35
35
  margin?: Space | Size;
36
36
  };
37
+ export default Props;
@@ -1,31 +1,47 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports["default"] = void 0;
11
+
9
12
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
10
14
  var _react = _interopRequireDefault(require("react"));
15
+
11
16
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
+
12
18
  var _slugify = _interopRequireDefault(require("slugify"));
19
+
13
20
  var _useTheme = _interopRequireDefault(require("../useTheme"));
21
+
14
22
  var _Heading = _interopRequireDefault(require("../heading/Heading"));
23
+
15
24
  var _Flex = _interopRequireDefault(require("../flex/Flex"));
25
+
16
26
  var _Inset = _interopRequireDefault(require("../inset/Inset"));
27
+
17
28
  var _Typography = _interopRequireDefault(require("../typography/Typography"));
29
+
18
30
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
31
+
19
32
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
33
+
20
34
  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); }
35
+
21
36
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
37
+
22
38
  var DxcQuickNav = function DxcQuickNav(_ref) {
23
39
  var title = _ref.title,
24
- links = _ref.links;
40
+ links = _ref.links;
25
41
  var translatedLabels = (0, _useTranslatedLabels["default"])();
26
42
  var colorsTheme = (0, _useTheme["default"])();
27
43
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
28
- theme: colorsTheme["quickNav"]
44
+ theme: colorsTheme.quickNav
29
45
  }, /*#__PURE__*/_react["default"].createElement(QuickNavContainer, null, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
30
46
  direction: "column",
31
47
  gap: "0.5rem"
@@ -34,6 +50,7 @@ var DxcQuickNav = function DxcQuickNav(_ref) {
34
50
  text: title || translatedLabels.quickNav.contentTitle
35
51
  }), /*#__PURE__*/_react["default"].createElement(ListColumn, null, links.map(function (link) {
36
52
  var _link$links;
53
+
37
54
  return /*#__PURE__*/_react["default"].createElement("li", {
38
55
  key: link.label
39
56
  }, /*#__PURE__*/_react["default"].createElement(_Inset["default"], {
@@ -57,6 +74,7 @@ var DxcQuickNav = function DxcQuickNav(_ref) {
57
74
  })))));
58
75
  })))));
59
76
  };
77
+
60
78
  var QuickNavContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n border-left: 2px solid ", ";\n"])), function (props) {
61
79
  return props.theme.paddingTop;
62
80
  }, function (props) {
@@ -68,8 +86,11 @@ var QuickNavContainer = _styledComponents["default"].div(_templateObject || (_te
68
86
  }, function (props) {
69
87
  return props.theme.dividerBorderColor;
70
88
  });
89
+
71
90
  var ListColumn = _styledComponents["default"].ul(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n margin: 0;\n padding: 0;\n list-style-type: none;\n"])));
91
+
72
92
  var ListSecondColumn = _styledComponents["default"].ul(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n margin: 0;\n padding: 0;\n list-style-type: none;\n"])));
93
+
73
94
  var Link = _styledComponents["default"].a(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: none;\n font-size: ", ";\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n display: block;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n width: fit-content;\n max-width: 100%;\n\n &:hover {\n color: ", ";\n }\n &:focus {\n outline-color: ", ";\n outline-style: ", ";\n outline-width: ", ";\n border-radius: ", ";\n }\n"])), function (props) {
74
95
  return props.theme.fontSize;
75
96
  }, function (props) {
@@ -91,5 +112,6 @@ var Link = _styledComponents["default"].a(_templateObject4 || (_templateObject4
91
112
  }, function (props) {
92
113
  return props.theme.focusBorderRadius;
93
114
  });
115
+
94
116
  var _default = DxcQuickNav;
95
117
  exports["default"] = _default;
@@ -1,4 +1,4 @@
1
- type Props = {
1
+ declare type Props = {
2
2
  /**
3
3
  * Title of the quick nav component.
4
4
  */
@@ -8,7 +8,7 @@ type Props = {
8
8
  */
9
9
  links: LinkType[];
10
10
  };
11
- type LinkType = {
11
+ declare type LinkType = {
12
12
  /**
13
13
  * Label to be shown in the link.
14
14
  */
@@ -1,55 +1,77 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports["default"] = void 0;
11
+
9
12
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
10
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
11
16
  var _react = _interopRequireWildcard(require("react"));
17
+
12
18
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
+
13
20
  var _uuid = require("uuid");
21
+
14
22
  var _useTheme = _interopRequireDefault(require("../useTheme"));
15
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
23
+
24
+ var _Flex = _interopRequireDefault(require("../flex/Flex"));
25
+
26
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
27
+
16
28
  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); }
29
+
17
30
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
31
+
18
32
  var DxcRadio = function DxcRadio(_ref) {
19
33
  var label = _ref.label,
20
- checked = _ref.checked,
21
- onClick = _ref.onClick,
22
- error = _ref.error,
23
- disabled = _ref.disabled,
24
- focused = _ref.focused,
25
- readonly = _ref.readonly,
26
- tabIndex = _ref.tabIndex;
34
+ checked = _ref.checked,
35
+ onClick = _ref.onClick,
36
+ error = _ref.error,
37
+ disabled = _ref.disabled,
38
+ focused = _ref.focused,
39
+ readonly = _ref.readonly,
40
+ tabIndex = _ref.tabIndex;
41
+
27
42
  var _useState = (0, _react.useState)("radio-".concat((0, _uuid.v4)())),
28
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
29
- radioLabelId = _useState2[0];
43
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
44
+ radioLabelId = _useState2[0];
45
+
30
46
  var ref = (0, _react.useRef)(null);
31
47
  var colorsTheme = (0, _useTheme["default"])();
48
+
32
49
  var handleOnClick = function handleOnClick() {
33
50
  var _ref$current;
51
+
34
52
  onClick();
35
53
  document.activeElement !== (ref === null || ref === void 0 ? void 0 : ref.current) && (ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.focus());
36
54
  };
55
+
37
56
  var _useState3 = (0, _react.useState)(true),
38
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
39
- firstUpdate = _useState4[0],
40
- setFirstUpdate = _useState4[1];
41
- (0, _react.useLayoutEffect)(function () {
57
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
58
+ firstUpdate = _useState4[0],
59
+ setFirstUpdate = _useState4[1];
60
+
61
+ (0, _react.useEffect)(function () {
42
62
  var _ref$current2;
63
+
43
64
  // Don't apply in the first render
44
65
  if (firstUpdate) {
45
66
  setFirstUpdate(false);
46
67
  return;
47
68
  }
69
+
48
70
  focused && (ref === null || ref === void 0 ? void 0 : (_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : _ref$current2.focus());
49
71
  }, [focused]);
50
72
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
51
- theme: colorsTheme["radioGroup"]
52
- }, /*#__PURE__*/_react["default"].createElement(RadioMainContainer, null, /*#__PURE__*/_react["default"].createElement(RadioContainer, {
73
+ theme: colorsTheme.radioGroup
74
+ }, /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(RadioContainer, {
53
75
  error: error,
54
76
  disabled: disabled,
55
77
  readonly: readonly,
@@ -73,29 +95,35 @@ var DxcRadio = function DxcRadio(_ref) {
73
95
  disabled: disabled
74
96
  }, label))));
75
97
  };
98
+
76
99
  var getRadioInputStateColor = function getRadioInputStateColor(props, state) {
77
100
  switch (state) {
78
101
  case "enabled":
79
102
  return props.disabled ? props.theme.disabledRadioInputColor : props.error ? props.theme.errorRadioInputColor : props.readonly ? props.theme.readonlyRadioInputColor : props.theme.radioInputColor;
103
+
80
104
  case "hover":
81
105
  return props.error ? props.theme.hoverErrorRadioInputColor : props.readonly ? props.theme.hoverReadonlyRadioInputColor : props.theme.hoverRadioInputColor;
106
+
82
107
  case "active":
83
108
  return props.error ? props.theme.activeErrorRadioInputColor : props.readonly ? props.theme.activeReadonlyRadioInputColor : props.theme.activeRadioInputColor;
84
109
  }
85
110
  };
86
- var RadioMainContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n"])));
87
- var RadioInputContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n"])));
88
- var RadioInput = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n border: 2px solid ", ";\n border-radius: 50%;\n\n &:focus {\n outline: 2px solid ", ";\n outline-offset: 1px;\n }\n ", "\n"])), function (props) {
111
+
112
+ var RadioInputContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n"])));
113
+
114
+ var RadioInput = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n border: 2px solid ", ";\n border-radius: 50%;\n\n &:focus {\n outline: 2px solid ", ";\n outline-offset: 1px;\n }\n ", "\n"])), function (props) {
89
115
  return getRadioInputStateColor(props, "enabled");
90
116
  }, function (props) {
91
117
  return props.theme.focusBorderColor;
92
118
  }, function (props) {
93
119
  return props.disabled && "pointer-events: none;";
94
120
  });
95
- var Dot = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: 10px;\n width: 10px;\n border-radius: 50%;\n background-color: ", ";\n"])), function (props) {
121
+
122
+ var Dot = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n height: 10px;\n width: 10px;\n border-radius: 50%;\n background-color: ", ";\n"])), function (props) {
96
123
  return getRadioInputStateColor(props, "enabled");
97
124
  });
98
- var Label = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n ", "\n"])), function (props) {
125
+
126
+ var Label = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n ", "\n"])), function (props) {
99
127
  return props.theme.radioInputLabelMargin;
100
128
  }, function (props) {
101
129
  return props.theme.fontFamily;
@@ -110,7 +138,8 @@ var Label = _styledComponents["default"].span(_templateObject5 || (_templateObje
110
138
  }, function (props) {
111
139
  return props.disabled ? "color: ".concat(props.theme.disabledRadioInputLabelFontColor, ";") : "color: ".concat(props.theme.radioInputLabelFontColor);
112
140
  });
113
- var RadioContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n\n &:hover {\n ", " {\n border-color: ", ";\n }\n ", " {\n background-color: ", ";\n }\n }\n &:active {\n ", " {\n border-color: ", ";\n }\n ", " {\n background-color: ", ";\n }\n }\n"])), function (props) {
141
+
142
+ var RadioContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n\n &:hover {\n ", " {\n border-color: ", ";\n }\n ", " {\n background-color: ", ";\n }\n }\n &:active {\n ", " {\n border-color: ", ";\n }\n ", " {\n background-color: ", ";\n }\n }\n"])), function (props) {
114
143
  return props.disabled ? "not-allowed" : props.readonly ? "default" : "pointer";
115
144
  }, RadioInput, function (props) {
116
145
  return !props.disabled && getRadioInputStateColor(props, "hover");
@@ -121,5 +150,7 @@ var RadioContainer = _styledComponents["default"].span(_templateObject6 || (_tem
121
150
  }, Dot, function (props) {
122
151
  return !props.disabled && getRadioInputStateColor(props, "active");
123
152
  });
153
+
124
154
  var _default = /*#__PURE__*/_react["default"].memo(DxcRadio);
155
+
125
156
  exports["default"] = _default;