@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,45 +1,50 @@
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 _AccordionGroup = _interopRequireDefault(require("./AccordionGroup"));
8
+
9
+ var _AccordionGroup = _interopRequireDefault(require("./AccordionGroup.tsx"));
10
+
7
11
  describe("Accordion component tests", function () {
8
12
  test("Uncontrolled accordion group calls correct function on click", function () {
9
13
  var onActiveChange = jest.fn();
14
+
10
15
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
11
- margin: "large",
12
- onActiveChange: onActiveChange
13
- }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
14
- label: "Accordion1",
15
- padding: "medium",
16
- margin: "large"
17
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
18
- label: "Accordion2",
19
- padding: "medium"
20
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.")))),
21
- getByText = _render.getByText,
22
- getAllByRole = _render.getAllByRole;
16
+ margin: "large",
17
+ onActiveChange: onActiveChange
18
+ }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
19
+ label: "Accordion1",
20
+ margin: "large"
21
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
22
+ label: "Accordion2"
23
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.")))),
24
+ getByText = _render.getByText,
25
+ getAllByRole = _render.getAllByRole;
26
+
23
27
  expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
24
28
  expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
29
+
25
30
  _react2.fireEvent.click(getByText("Accordion1"));
31
+
26
32
  expect(onActiveChange).toHaveBeenCalled();
27
33
  expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("true");
28
34
  expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
29
35
  });
30
36
  test("Uncontrolled accordion group renders initially with an accordion expanded using defaultIndexActive", function () {
31
37
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
32
- defaultIndexActive: 1
33
- }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
34
- label: "Accordion1",
35
- padding: "medium"
36
- }, /*#__PURE__*/_react["default"].createElement("div", null, "First accordion")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
37
- label: "Accordion2",
38
- padding: "medium"
39
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Second accordion")))),
40
- queryByText = _render2.queryByText,
41
- getByText = _render2.getByText,
42
- getAllByRole = _render2.getAllByRole;
38
+ defaultIndexActive: 1
39
+ }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
40
+ label: "Accordion1"
41
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "First accordion")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
42
+ label: "Accordion2"
43
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Second accordion")))),
44
+ queryByText = _render2.queryByText,
45
+ getByText = _render2.getByText,
46
+ getAllByRole = _render2.getAllByRole;
47
+
43
48
  expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
44
49
  expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("true");
45
50
  expect(getByText("Second accordion")).toBeTruthy();
@@ -47,26 +52,29 @@ describe("Accordion component tests", function () {
47
52
  });
48
53
  test("Controlled accordion with indexActive change", function () {
49
54
  var onActiveChange = jest.fn();
55
+
50
56
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
51
- margin: "large",
52
- indexActive: 1,
53
- onActiveChange: onActiveChange
54
- }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
55
- label: "Accordion1",
56
- padding: "medium",
57
- margin: "large"
58
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Text1")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
59
- label: "Accordion2",
60
- padding: "medium"
61
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Text2")))),
62
- queryByText = _render3.queryByText,
63
- getByText = _render3.getByText,
64
- getAllByRole = _render3.getAllByRole,
65
- rerender = _render3.rerender;
57
+ margin: "large",
58
+ indexActive: 1,
59
+ onActiveChange: onActiveChange
60
+ }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
61
+ label: "Accordion1",
62
+ margin: "large"
63
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Text1")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
64
+ label: "Accordion2"
65
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Text2")))),
66
+ queryByText = _render3.queryByText,
67
+ getByText = _render3.getByText,
68
+ getAllByRole = _render3.getAllByRole,
69
+ rerender = _render3.rerender;
70
+
66
71
  expect(queryByText("Text1")).toBeFalsy();
67
72
  expect(getByText("Text2")).toBeTruthy();
73
+
68
74
  _react2.fireEvent.click(getByText("Accordion1"));
75
+
69
76
  _react2.fireEvent.click(getByText("Accordion2"));
77
+
70
78
  expect(onActiveChange.mock.calls[0][0]).toBe(0);
71
79
  expect(onActiveChange.mock.calls[1][0]).toBe(1);
72
80
  expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
@@ -77,32 +85,32 @@ describe("Accordion component tests", function () {
77
85
  onActiveChange: onActiveChange
78
86
  }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
79
87
  label: "Accordion1",
80
- padding: "medium",
81
88
  margin: "large"
82
89
  }, /*#__PURE__*/_react["default"].createElement("div", null, "Text1")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
83
- label: "Accordion2",
84
- padding: "medium"
90
+ label: "Accordion2"
85
91
  }, /*#__PURE__*/_react["default"].createElement("div", null, "Text2"))));
86
92
  expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("true");
87
93
  expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
88
94
  });
89
95
  test("Disabled uncontrolled accordion group", function () {
90
96
  var onActiveChange = jest.fn();
97
+
91
98
  var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
92
- margin: "large",
93
- onActiveChange: onActiveChange,
94
- disabled: true
95
- }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
96
- label: "Accordion1",
97
- padding: "medium",
98
- margin: "large"
99
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Text1")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
100
- label: "Accordion2",
101
- padding: "medium"
102
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Text2")))),
103
- getByText = _render4.getByText;
99
+ margin: "large",
100
+ onActiveChange: onActiveChange,
101
+ disabled: true
102
+ }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
103
+ label: "Accordion1",
104
+ margin: "large"
105
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Text1")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
106
+ label: "Accordion2"
107
+ }, /*#__PURE__*/_react["default"].createElement("div", null, "Text2")))),
108
+ getByText = _render4.getByText;
109
+
104
110
  _react2.fireEvent.click(getByText("Accordion1"));
111
+
105
112
  _react2.fireEvent.click(getByText("Accordion2"));
113
+
106
114
  expect(onActiveChange).toHaveBeenCalledTimes(0);
107
115
  });
108
116
  });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { AccordionPropsType } from "./types";
3
+ declare const AccordionGroupAccordion: ({ ...childProps }: AccordionPropsType) => JSX.Element;
4
+ export default AccordionGroupAccordion;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _Accordion = _interopRequireDefault(require("../accordion/Accordion"));
17
+
18
+ var _AccordionGroup = require("./AccordionGroup");
19
+
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ var AccordionGroupAccordion = function AccordionGroupAccordion(_ref) {
25
+ var childProps = (0, _extends2["default"])({}, _ref);
26
+
27
+ var _useContext = (0, _react.useContext)(_AccordionGroup.AccordionGroupAccordionContext),
28
+ activeIndex = _useContext.activeIndex,
29
+ handlerActiveChange = _useContext.handlerActiveChange,
30
+ disabled = _useContext.disabled,
31
+ index = _useContext.index;
32
+
33
+ return /*#__PURE__*/_react["default"].createElement(_Accordion["default"], (0, _extends2["default"])({
34
+ isExpanded: activeIndex === index,
35
+ onChange: function onChange() {
36
+ handlerActiveChange(index);
37
+ },
38
+ disabled: disabled
39
+ }, childProps), childProps.children);
40
+ };
41
+
42
+ var _default = AccordionGroupAccordion;
43
+ exports["default"] = _default;
@@ -1,19 +1,13 @@
1
1
  /// <reference types="react" />
2
- export type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- export type Margin = {
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Margin = {
4
4
  top?: Space;
5
5
  bottom?: Space;
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- type Padding = {
10
- top?: Space;
11
- bottom?: Space;
12
- left?: Space;
13
- right?: Space;
14
- };
15
- type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
16
- export type AccordionPropsType = {
9
+ declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
+ export declare type AccordionPropsType = {
17
11
  /**
18
12
  * The panel label.
19
13
  */
@@ -30,19 +24,13 @@ export type AccordionPropsType = {
30
24
  * If true, the component will be disabled.
31
25
  */
32
26
  disabled?: boolean;
33
- /**
34
- * @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
35
- * Size of the padding to be applied to the custom area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
36
- * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
37
- */
38
- padding?: Space | Padding;
39
27
  /**
40
28
  * The expanded panel of the accordion. This area can be used to render
41
29
  * custom content.
42
30
  */
43
31
  children: React.ReactNode;
44
32
  };
45
- type Props = {
33
+ declare type Props = {
46
34
  /**
47
35
  * Initially active accordion, only when it is uncontrolled.
48
36
  */
@@ -70,7 +58,7 @@ type Props = {
70
58
  */
71
59
  children: React.ReactElement<AccordionPropsType>[] | React.ReactElement<AccordionPropsType>;
72
60
  };
73
- export type AccordionGroupAccordionContextProps = {
61
+ export declare type AccordionGroupAccordionContextProps = {
74
62
  activeIndex: number;
75
63
  handlerActiveChange: (index: number) => void;
76
64
  disabled: boolean;
package/alert/Alert.js CHANGED
@@ -1,23 +1,38 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  var _typeof3 = 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 _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
10
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
11
16
  var _react = _interopRequireDefault(require("react"));
17
+
12
18
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
+
13
20
  var _variables = require("../common/variables");
14
- var _utils = require("../common/utils.js");
21
+
22
+ var _utils = require("../common/utils");
23
+
15
24
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
+
16
26
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
27
+
17
28
  var _BackgroundColorContext = require("../BackgroundColorContext");
29
+
18
30
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
31
+
19
32
  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); }
33
+
20
34
  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; }
35
+
21
36
  var alertIcons = {
22
37
  close: /*#__PURE__*/_react["default"].createElement("svg", {
23
38
  xmlns: "http://www.w3.org/2000/svg",
@@ -81,26 +96,29 @@ var alertIcons = {
81
96
  fill: "none"
82
97
  }))
83
98
  };
99
+
84
100
  var DxcAlert = function DxcAlert(_ref) {
85
101
  var _ref$type = _ref.type,
86
- type = _ref$type === void 0 ? "info" : _ref$type,
87
- _ref$mode = _ref.mode,
88
- mode = _ref$mode === void 0 ? "inline" : _ref$mode,
89
- _ref$inlineText = _ref.inlineText,
90
- inlineText = _ref$inlineText === void 0 ? "" : _ref$inlineText,
91
- onClose = _ref.onClose,
92
- children = _ref.children,
93
- margin = _ref.margin,
94
- _ref$size = _ref.size,
95
- size = _ref$size === void 0 ? "fitContent" : _ref$size,
96
- tabIndex = _ref.tabIndex;
102
+ type = _ref$type === void 0 ? "info" : _ref$type,
103
+ _ref$mode = _ref.mode,
104
+ mode = _ref$mode === void 0 ? "inline" : _ref$mode,
105
+ _ref$inlineText = _ref.inlineText,
106
+ inlineText = _ref$inlineText === void 0 ? "" : _ref$inlineText,
107
+ onClose = _ref.onClose,
108
+ children = _ref.children,
109
+ margin = _ref.margin,
110
+ _ref$size = _ref.size,
111
+ size = _ref$size === void 0 ? "fitContent" : _ref$size,
112
+ tabIndex = _ref.tabIndex;
97
113
  var colorsTheme = (0, _useTheme["default"])();
98
114
  var translatedLabels = (0, _useTranslatedLabels["default"])();
115
+
99
116
  var getTypeText = function getTypeText() {
100
117
  return type === "info" ? translatedLabels.alert.infoTitleText : type === "confirm" ? translatedLabels.alert.successTitleText : type === "warning" ? translatedLabels.alert.warningTitleText : translatedLabels.alert.errorTitleText;
101
118
  };
119
+
102
120
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
103
- theme: colorsTheme["alert"]
121
+ theme: colorsTheme.alert
104
122
  }, /*#__PURE__*/_react["default"].createElement(AlertModal, {
105
123
  mode: mode
106
124
  }, mode === "modal" && /*#__PURE__*/_react["default"].createElement(OverlayContainer, {
@@ -113,15 +131,14 @@ var DxcAlert = function DxcAlert(_ref) {
113
131
  size: size
114
132
  }, /*#__PURE__*/_react["default"].createElement(AlertInfo, null, /*#__PURE__*/_react["default"].createElement(AlertIcon, {
115
133
  type: type
116
- }, type === "info" && alertIcons.info || type === "confirm" && alertIcons.success || type === "warning" && alertIcons.warning || type === "error" && alertIcons.error), /*#__PURE__*/_react["default"].createElement(AlertText, null, /*#__PURE__*/_react["default"].createElement(AlertTitle, {
117
- type: type
118
- }, getTypeText()), inlineText && inlineText !== "" && "-", /*#__PURE__*/_react["default"].createElement(AlertInlineText, null, inlineText)), onClose && /*#__PURE__*/_react["default"].createElement(AlertCloseAction, {
134
+ }, type === "info" && alertIcons.info || type === "confirm" && alertIcons.success || type === "warning" && alertIcons.warning || type === "error" && alertIcons.error), /*#__PURE__*/_react["default"].createElement(AlertText, null, /*#__PURE__*/_react["default"].createElement(AlertTitle, null, getTypeText()), inlineText && inlineText !== "" && "-", /*#__PURE__*/_react["default"].createElement(AlertInlineText, null, inlineText)), onClose && /*#__PURE__*/_react["default"].createElement(AlertCloseAction, {
119
135
  onClick: onClose,
120
136
  tabIndex: tabIndex
121
137
  }, alertIcons.close)), children && /*#__PURE__*/_react["default"].createElement(AlertContent, null, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
122
- color: type === "info" && colorsTheme["alert"].infoBackgroundColor || type === "confirm" && colorsTheme["alert"].successBackgroundColor || type === "warning" && colorsTheme["alert"].warningBackgroundColor || type === "error" && colorsTheme["alert"].errorBackgroundColor
138
+ color: type === "info" && colorsTheme.alert.infoBackgroundColor || type === "confirm" && colorsTheme.alert.successBackgroundColor || type === "warning" && colorsTheme.alert.warningBackgroundColor || type === "error" && colorsTheme.alert.errorBackgroundColor
123
139
  }, children)))));
124
140
  };
141
+
125
142
  var sizes = {
126
143
  small: "280px",
127
144
  medium: "480px",
@@ -129,9 +146,11 @@ var sizes = {
129
146
  fillParent: "100%",
130
147
  fitContent: "fit-content"
131
148
  };
149
+
132
150
  var calculateWidth = function calculateWidth(margin, size) {
133
151
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
134
152
  };
153
+
135
154
  var AlertModal = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n width: ", ";\n height: ", ";\n justify-content: ", ";\n align-items: ", ";\n top: ", ";\n left: ", ";\n position: ", ";\n display: ", ";\n z-index: ", ";\n"])), function (props) {
136
155
  return props.theme.fontSizeBase;
137
156
  }, function (props) {
@@ -153,6 +172,7 @@ var AlertModal = _styledComponents["default"].div(_templateObject || (_templateO
153
172
  }, function (props) {
154
173
  return props.mode === "modal" ? "1200" : "";
155
174
  });
175
+
156
176
  var OverlayContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n position: ", ";\n top: ", ";\n bottom: ", ";\n left: ", ";\n right: ", ";\n"])), function (props) {
157
177
  return props.mode === "modal" ? "".concat(props.theme.overlayColor) : "transparent";
158
178
  }, function (props) {
@@ -166,6 +186,7 @@ var OverlayContainer = _styledComponents["default"].div(_templateObject2 || (_te
166
186
  }, function (props) {
167
187
  return props.mode === "modal" ? "0" : "";
168
188
  });
189
+
169
190
  var AlertContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n display: ", ";\n overflow: hidden;\n box-sizing: border-box;\n\n background-color: ", ";\n\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n\n padding-left: 12px;\n padding-right: 12px;\n justify-content: ", ";\n align-items: ", ";\n max-width: ", ";\n width: ", ";\n z-index: ", ";\n"])), function (props) {
170
191
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
171
192
  }, function (props) {
@@ -199,9 +220,11 @@ var AlertContainer = _styledComponents["default"].div(_templateObject3 || (_temp
199
220
  }, function (props) {
200
221
  return props.mode === "modal" ? "1300" : "";
201
222
  });
223
+
202
224
  var AlertInfo = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n height: calc(48px - calc(", " * 2));\n align-items: center;\n width: 100%;\n"])), function (props) {
203
225
  return props.theme.borderThickness;
204
226
  });
227
+
205
228
  var AlertTitle = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 8px;\n padding-right: ", ";\n padding-left: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n text-transform: ", ";\n"])), function (props) {
206
229
  return props.theme.titlePaddingRight;
207
230
  }, function (props) {
@@ -219,6 +242,7 @@ var AlertTitle = _styledComponents["default"].div(_templateObject5 || (_template
219
242
  }, function (props) {
220
243
  return props.theme.titleTextTransform;
221
244
  });
245
+
222
246
  var AlertInlineText = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 8px;\n padding-right: ", ";\n padding-left: ", ";\n flex-grow: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
223
247
  return props.theme.inlineTextPaddingRight;
224
248
  }, function (props) {
@@ -234,6 +258,7 @@ var AlertInlineText = _styledComponents["default"].div(_templateObject6 || (_tem
234
258
  }, function (props) {
235
259
  return props.theme.inlineTextFontColor;
236
260
  });
261
+
237
262
  var AlertIcon = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n margin-right: 12px;\n padding-right: ", ";\n padding-left: ", ";\n\n color: ", ";\n\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
238
263
  return props.theme.iconPaddingRight;
239
264
  }, function (props) {
@@ -245,18 +270,20 @@ var AlertIcon = _styledComponents["default"].span(_templateObject7 || (_template
245
270
  }, function (props) {
246
271
  return props.theme.iconSize;
247
272
  });
273
+
248
274
  var AlertText = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n flex-grow: 1;\n align-items: center;\n overflow: hidden;\n"])));
275
+
249
276
  var AlertContent = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1 1 auto;\n padding: ", ";\n overflow-y: auto;\n"])), function (props) {
250
277
  return "".concat(props.theme.contentPaddingTop, " ").concat(props.theme.contentPaddingRight, " ").concat(props.theme.contentPaddingBottom, " ").concat(props.theme.contentPaddingLeft);
251
278
  });
252
- var AlertCloseAction = _styledComponents["default"].button(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n border: 1px solid transparent;\n border-radius: 2px;\n box-shadow: 0 0 0 2px transparent;\n padding: 3px;\n margin-left: 12px;\n background-color: transparent;\n color: #000000;\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n }\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
279
+
280
+ var AlertCloseAction = _styledComponents["default"].button(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n border: 1px solid transparent;\n border-radius: 2px;\n box-shadow: 0 0 0 2px transparent;\n padding: 3px;\n margin-left: 12px;\n background-color: transparent;\n color: #000000;\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n }\n &:focus,\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
253
281
  return props.theme.hoverActionBackgroundColor;
254
282
  }, function (props) {
255
283
  return props.theme.focusActionBorderColor;
256
- }, function (props) {
257
- return props.theme.focusActionBorderColor;
258
284
  }, function (props) {
259
285
  return props.theme.activeActionBackgroundColor;
260
286
  });
287
+
261
288
  var _default = DxcAlert;
262
289
  exports["default"] = _default;
@@ -1,75 +1,92 @@
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 _Alert = _interopRequireDefault(require("./Alert"));
8
+
9
+ var _Alert = _interopRequireDefault(require("./Alert.tsx"));
10
+
7
11
  describe("Alert component tests", function () {
8
12
  test("Info alert renders with correct text", function () {
9
13
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
10
- type: "info",
11
- inlineText: "info-alert-text"
12
- })),
13
- getByText = _render.getByText;
14
+ type: "info",
15
+ inlineText: "info-alert-text"
16
+ })),
17
+ getByText = _render.getByText;
18
+
14
19
  expect(getByText("information")).toBeTruthy();
15
20
  expect(getByText("info-alert-text")).toBeTruthy();
16
21
  });
17
22
  test("Confirm alert renders with correct text", function () {
18
23
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
19
- type: "confirm",
20
- inlineText: "confirm-alert-text"
21
- })),
22
- getByText = _render2.getByText;
24
+ type: "confirm",
25
+ inlineText: "confirm-alert-text"
26
+ })),
27
+ getByText = _render2.getByText;
28
+
23
29
  expect(getByText("success")).toBeTruthy();
24
30
  expect(getByText("confirm-alert-text")).toBeTruthy();
25
31
  });
26
32
  test("Warning alert renders with correct text", function () {
27
33
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
28
- type: "warning",
29
- inlineText: "warning-alert-text"
30
- })),
31
- getByText = _render3.getByText;
34
+ type: "warning",
35
+ inlineText: "warning-alert-text"
36
+ })),
37
+ getByText = _render3.getByText;
38
+
32
39
  expect(getByText("warning")).toBeTruthy();
33
40
  expect(getByText("warning-alert-text")).toBeTruthy();
34
41
  });
35
42
  test("Error alert renders with correct text", function () {
36
43
  var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
37
- type: "error",
38
- inlineText: "error-alert-text"
39
- })),
40
- getByText = _render4.getByText;
44
+ type: "error",
45
+ inlineText: "error-alert-text"
46
+ })),
47
+ getByText = _render4.getByText;
48
+
41
49
  expect(getByText("error")).toBeTruthy();
42
50
  expect(getByText("error-alert-text")).toBeTruthy();
43
51
  });
44
52
  test("Alert renders with correct children", function () {
45
53
  var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
46
- inlineText: "alert-text"
47
- }, /*#__PURE__*/_react["default"].createElement("p", null, "sample-children"))),
48
- getByText = _render5.getByText;
54
+ inlineText: "alert-text"
55
+ }, /*#__PURE__*/_react["default"].createElement("p", null, "sample-children"))),
56
+ getByText = _render5.getByText;
57
+
49
58
  expect(getByText("alert-text")).toBeTruthy();
50
59
  expect(getByText("sample-children")).toBeTruthy();
51
60
  });
52
61
  test("Calls correct function on close", function () {
53
62
  var onClose = jest.fn();
63
+
54
64
  var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
55
- onClose: onClose,
56
- inlineText: "info-alert-text"
57
- })),
58
- getByRole = _render6.getByRole;
65
+ onClose: onClose,
66
+ inlineText: "info-alert-text"
67
+ })),
68
+ getByRole = _render6.getByRole;
69
+
59
70
  var closeButton = getByRole("button");
71
+
60
72
  _react2.fireEvent.click(closeButton);
73
+
61
74
  expect(onClose).toHaveBeenCalled();
62
75
  });
63
76
  test("Modal alert calls correct function on close", function () {
64
77
  var onClose = jest.fn();
78
+
65
79
  var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
66
- onClose: onClose,
67
- mode: "modal",
68
- inlineText: "info-alert-text"
69
- })),
70
- getByRole = _render7.getByRole;
80
+ onClose: onClose,
81
+ mode: "modal",
82
+ inlineText: "info-alert-text"
83
+ })),
84
+ getByRole = _render7.getByRole;
85
+
71
86
  var closeButton = getByRole("button");
87
+
72
88
  _react2.fireEvent.click(closeButton);
89
+
73
90
  expect(onClose).toHaveBeenCalled();
74
91
  });
75
92
  });
package/alert/types.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  /// <reference types="react" />
2
- type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- type Margin = {
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Margin = {
4
4
  top?: Space;
5
5
  bottom?: Space;
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- type Props = {
9
+ declare type Props = {
10
10
  /**
11
11
  * Uses on of the available alert types.
12
12
  */