@dxc-technology/halstack-react 0.0.0-290c489 → 0.0.0-293a019

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 (225) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1329 -5
  4. package/HalstackContext.js +117 -77
  5. package/accordion/Accordion.js +118 -110
  6. package/accordion/Accordion.stories.tsx +103 -15
  7. package/accordion/Accordion.test.js +10 -11
  8. package/accordion/types.d.ts +2 -1
  9. package/accordion-group/AccordionGroup.js +3 -23
  10. package/accordion-group/AccordionGroup.stories.tsx +27 -1
  11. package/accordion-group/AccordionGroup.test.js +21 -46
  12. package/accordion-group/types.d.ts +8 -1
  13. package/alert/Alert.js +5 -9
  14. package/alert/Alert.stories.tsx +28 -0
  15. package/alert/Alert.test.js +1 -1
  16. package/bleed/Bleed.stories.tsx +1 -0
  17. package/box/Box.js +4 -6
  18. package/box/Box.stories.tsx +15 -0
  19. package/box/Box.test.js +1 -1
  20. package/box/types.d.ts +1 -0
  21. package/bulleted-list/BulletedList.js +4 -2
  22. package/bulleted-list/BulletedList.stories.tsx +7 -1
  23. package/bulleted-list/types.d.ts +31 -4
  24. package/button/Button.js +52 -73
  25. package/button/Button.stories.tsx +159 -8
  26. package/button/Button.test.js +1 -1
  27. package/button/types.d.ts +5 -5
  28. package/card/Card.js +12 -13
  29. package/card/Card.stories.tsx +12 -13
  30. package/card/Card.test.js +1 -1
  31. package/card/types.d.ts +1 -0
  32. package/checkbox/Checkbox.d.ts +2 -2
  33. package/checkbox/Checkbox.js +94 -101
  34. package/checkbox/Checkbox.stories.tsx +131 -59
  35. package/checkbox/Checkbox.test.js +94 -17
  36. package/checkbox/types.d.ts +4 -0
  37. package/chip/Chip.js +28 -49
  38. package/chip/Chip.stories.tsx +121 -26
  39. package/chip/Chip.test.js +3 -5
  40. package/chip/types.d.ts +1 -1
  41. package/common/OpenSans.css +68 -80
  42. package/common/coreTokens.d.ts +146 -0
  43. package/common/coreTokens.js +167 -0
  44. package/common/utils.d.ts +1 -0
  45. package/common/utils.js +4 -4
  46. package/common/variables.d.ts +1482 -0
  47. package/common/variables.js +1001 -1135
  48. package/date-input/Calendar.d.ts +4 -0
  49. package/date-input/Calendar.js +258 -0
  50. package/date-input/DateInput.js +134 -237
  51. package/date-input/DateInput.stories.tsx +199 -33
  52. package/date-input/DateInput.test.js +494 -138
  53. package/date-input/DatePicker.d.ts +4 -0
  54. package/date-input/DatePicker.js +146 -0
  55. package/date-input/Icons.d.ts +6 -0
  56. package/date-input/Icons.js +75 -0
  57. package/date-input/YearPicker.d.ts +4 -0
  58. package/date-input/YearPicker.js +126 -0
  59. package/date-input/types.d.ts +51 -0
  60. package/dialog/Dialog.js +80 -69
  61. package/dialog/Dialog.stories.tsx +230 -123
  62. package/dialog/Dialog.test.js +334 -5
  63. package/dialog/types.d.ts +1 -0
  64. package/dropdown/Dropdown.d.ts +1 -1
  65. package/dropdown/Dropdown.js +246 -249
  66. package/dropdown/Dropdown.stories.tsx +245 -56
  67. package/dropdown/Dropdown.test.js +507 -110
  68. package/dropdown/DropdownMenu.d.ts +4 -0
  69. package/dropdown/DropdownMenu.js +74 -0
  70. package/dropdown/DropdownMenuItem.d.ts +4 -0
  71. package/dropdown/DropdownMenuItem.js +79 -0
  72. package/dropdown/types.d.ts +23 -3
  73. package/file-input/FileInput.d.ts +2 -2
  74. package/file-input/FileInput.js +174 -220
  75. package/file-input/FileInput.stories.tsx +122 -11
  76. package/file-input/FileInput.test.js +14 -14
  77. package/file-input/FileItem.d.ts +4 -14
  78. package/file-input/FileItem.js +39 -63
  79. package/file-input/types.d.ts +17 -0
  80. package/flex/Flex.d.ts +2 -1
  81. package/flex/Flex.js +39 -42
  82. package/flex/Flex.stories.tsx +35 -26
  83. package/flex/types.d.ts +85 -9
  84. package/footer/Footer.js +6 -8
  85. package/footer/Footer.stories.tsx +99 -1
  86. package/footer/Footer.test.js +14 -26
  87. package/footer/types.d.ts +2 -1
  88. package/grid/Grid.d.ts +7 -0
  89. package/grid/Grid.js +91 -0
  90. package/grid/Grid.stories.tsx +219 -0
  91. package/grid/types.d.ts +115 -0
  92. package/header/Header.d.ts +3 -2
  93. package/header/Header.js +89 -89
  94. package/header/Header.stories.tsx +152 -9
  95. package/header/Header.test.js +2 -2
  96. package/header/Icons.js +2 -2
  97. package/header/types.d.ts +1 -0
  98. package/heading/Heading.js +1 -1
  99. package/heading/Heading.test.js +1 -1
  100. package/inset/Inset.stories.tsx +2 -1
  101. package/layout/ApplicationLayout.d.ts +3 -3
  102. package/layout/ApplicationLayout.js +4 -4
  103. package/layout/ApplicationLayout.stories.tsx +1 -0
  104. package/layout/types.d.ts +2 -3
  105. package/link/Link.js +4 -4
  106. package/link/Link.stories.tsx +72 -5
  107. package/link/Link.test.js +2 -4
  108. package/link/types.d.ts +3 -3
  109. package/main.d.ts +3 -4
  110. package/main.js +9 -17
  111. package/{tabs-nav → nav-tabs}/NavTabs.js +6 -6
  112. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
  113. package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
  114. package/{tabs-nav → nav-tabs}/Tab.js +40 -22
  115. package/{tabs-nav → nav-tabs}/types.d.ts +1 -1
  116. package/number-input/NumberInput.test.js +44 -8
  117. package/package.json +17 -22
  118. package/paginator/Icons.d.ts +5 -0
  119. package/paginator/Icons.js +16 -28
  120. package/paginator/Paginator.js +7 -15
  121. package/paginator/Paginator.stories.tsx +24 -0
  122. package/paginator/Paginator.test.js +45 -48
  123. package/paragraph/Paragraph.d.ts +3 -4
  124. package/paragraph/Paragraph.js +5 -5
  125. package/password-input/PasswordInput.test.js +14 -13
  126. package/progress-bar/ProgressBar.js +60 -54
  127. package/progress-bar/ProgressBar.stories.jsx +38 -3
  128. package/progress-bar/ProgressBar.test.js +68 -23
  129. package/quick-nav/QuickNav.js +11 -12
  130. package/quick-nav/QuickNav.stories.tsx +111 -19
  131. package/radio-group/Radio.d.ts +1 -1
  132. package/radio-group/Radio.js +43 -28
  133. package/radio-group/RadioGroup.js +24 -24
  134. package/radio-group/RadioGroup.stories.tsx +132 -18
  135. package/radio-group/RadioGroup.test.js +124 -97
  136. package/radio-group/types.d.ts +2 -2
  137. package/resultsetTable/Icons.d.ts +7 -0
  138. package/resultsetTable/Icons.js +51 -0
  139. package/resultsetTable/ResultsetTable.js +49 -108
  140. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  141. package/resultsetTable/ResultsetTable.test.js +41 -64
  142. package/resultsetTable/types.d.ts +1 -1
  143. package/select/Listbox.js +4 -10
  144. package/select/Option.js +11 -24
  145. package/select/Select.js +67 -61
  146. package/select/Select.stories.tsx +494 -149
  147. package/select/Select.test.js +393 -327
  148. package/select/types.d.ts +3 -5
  149. package/sidenav/Icons.d.ts +7 -0
  150. package/sidenav/Icons.js +51 -0
  151. package/sidenav/Sidenav.d.ts +2 -2
  152. package/sidenav/Sidenav.js +68 -86
  153. package/sidenav/Sidenav.stories.tsx +165 -63
  154. package/sidenav/types.d.ts +22 -19
  155. package/slider/Slider.d.ts +2 -2
  156. package/slider/Slider.js +121 -97
  157. package/slider/Slider.stories.tsx +64 -1
  158. package/slider/Slider.test.js +122 -22
  159. package/slider/types.d.ts +4 -0
  160. package/spinner/Spinner.js +17 -23
  161. package/spinner/Spinner.stories.jsx +53 -27
  162. package/spinner/Spinner.test.js +1 -1
  163. package/switch/Switch.d.ts +2 -2
  164. package/switch/Switch.js +137 -70
  165. package/switch/Switch.stories.tsx +41 -30
  166. package/switch/Switch.test.js +145 -18
  167. package/switch/types.d.ts +4 -0
  168. package/table/Table.js +3 -3
  169. package/table/Table.stories.jsx +80 -1
  170. package/table/Table.test.js +2 -2
  171. package/tabs/Tab.d.ts +4 -0
  172. package/tabs/Tab.js +132 -0
  173. package/tabs/Tabs.js +358 -108
  174. package/tabs/Tabs.stories.tsx +119 -5
  175. package/tabs/Tabs.test.js +220 -10
  176. package/tabs/types.d.ts +13 -3
  177. package/tag/Tag.js +8 -10
  178. package/tag/Tag.stories.tsx +14 -1
  179. package/tag/Tag.test.js +1 -1
  180. package/tag/types.d.ts +1 -1
  181. package/text-input/Icons.d.ts +8 -0
  182. package/text-input/Icons.js +60 -0
  183. package/text-input/Suggestion.js +40 -11
  184. package/text-input/Suggestions.d.ts +4 -0
  185. package/text-input/Suggestions.js +134 -0
  186. package/text-input/TextInput.js +199 -296
  187. package/text-input/TextInput.stories.tsx +280 -185
  188. package/text-input/TextInput.test.js +736 -725
  189. package/text-input/types.d.ts +22 -3
  190. package/textarea/Textarea.js +3 -4
  191. package/textarea/Textarea.stories.jsx +60 -1
  192. package/textarea/Textarea.test.js +2 -4
  193. package/toggle-group/ToggleGroup.d.ts +2 -2
  194. package/toggle-group/ToggleGroup.js +7 -4
  195. package/toggle-group/ToggleGroup.stories.tsx +42 -0
  196. package/toggle-group/ToggleGroup.test.js +1 -1
  197. package/toggle-group/types.d.ts +2 -2
  198. package/typography/Typography.d.ts +2 -2
  199. package/typography/Typography.js +14 -113
  200. package/typography/Typography.stories.tsx +1 -1
  201. package/useTheme.d.ts +1234 -1
  202. package/useTheme.js +1 -1
  203. package/useTranslatedLabels.d.ts +84 -1
  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 +139 -0
  208. package/wizard/Wizard.js +2 -2
  209. package/wizard/Wizard.stories.tsx +20 -0
  210. package/wizard/Wizard.test.js +1 -1
  211. package/wizard/types.d.ts +6 -7
  212. package/common/RequiredComponent.js +0 -32
  213. package/row/Row.d.ts +0 -3
  214. package/row/Row.js +0 -127
  215. package/row/Row.stories.tsx +0 -237
  216. package/row/types.d.ts +0 -28
  217. package/stack/Stack.d.ts +0 -4
  218. package/stack/Stack.js +0 -56
  219. package/stack/Stack.stories.tsx +0 -263
  220. package/stack/types.d.ts +0 -32
  221. package/tabs-nav/types.js +0 -5
  222. /package/{row → grid}/types.js +0 -0
  223. /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
  224. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  225. /package/{stack → nav-tabs}/types.js +0 -0
@@ -12,30 +12,37 @@ var _react2 = require("@testing-library/react");
12
12
 
13
13
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
14
14
 
15
- var _Paginator = _interopRequireDefault(require("./Paginator"));
15
+ var _Paginator = _interopRequireDefault(require("./Paginator.tsx"));
16
16
 
17
17
  // Mocking DOMRect for Radix Primitive Popover
18
18
  global.globalThis = global;
19
+ global.DOMRect = {
20
+ fromRect: function fromRect() {
21
+ return {
22
+ top: 0,
23
+ left: 0,
24
+ bottom: 0,
25
+ right: 0,
26
+ width: 0,
27
+ height: 0
28
+ };
29
+ }
30
+ };
19
31
 
20
32
  global.ResizeObserver = /*#__PURE__*/function () {
21
- function ResizeObserver(cb) {
33
+ function ResizeObserver() {
22
34
  (0, _classCallCheck2["default"])(this, ResizeObserver);
23
- this.cb = cb;
24
35
  }
25
36
 
26
37
  (0, _createClass2["default"])(ResizeObserver, [{
27
38
  key: "observe",
28
- value: function observe() {
29
- this.cb([{
30
- borderBoxSize: {
31
- inlineSize: 0,
32
- blockSize: 0
33
- }
34
- }]);
35
- }
39
+ value: function observe() {}
36
40
  }, {
37
41
  key: "unobserve",
38
42
  value: function unobserve() {}
43
+ }, {
44
+ key: "disconnect",
45
+ value: function disconnect() {}
39
46
  }]);
40
47
  return ResizeObserver;
41
48
  }();
@@ -77,47 +84,38 @@ describe("Paginator component tests", function () {
77
84
  })),
78
85
  getByText = _render3.getByText;
79
86
 
80
- expect(getByText("Items per page")).toBeTruthy();
81
- });
82
- test("Paginator renders with itemsPerPageOptions", function () {
83
- var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
84
- currentPage: 1,
85
- itemsPerPage: 10,
86
- totalItems: 20
87
- })),
88
- getByText = _render4.getByText;
89
-
87
+ expect(getByText("Items per page:")).toBeTruthy();
90
88
  expect(getByText("1 to 10 of 20")).toBeTruthy();
91
89
  expect(getByText("Page: 1 of 2")).toBeTruthy();
92
90
  });
93
91
  test("Paginator renders with totalItems", function () {
94
- var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
92
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
95
93
  totalItems: 20
96
94
  })),
97
- getByText = _render5.getByText;
95
+ getByText = _render4.getByText;
98
96
 
99
97
  expect(getByText("1 to 5 of 20")).toBeTruthy();
100
98
  expect(getByText("Page: 1 of 4")).toBeTruthy();
101
99
  });
102
100
  test("Paginator renders with correct text in second page", function () {
103
- var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
101
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
104
102
  currentPage: 2,
105
103
  itemsPerPage: 10,
106
104
  totalItems: 20
107
105
  })),
108
- getByText = _render6.getByText;
106
+ getByText = _render5.getByText;
109
107
 
110
108
  expect(getByText("11 to 20 of 20")).toBeTruthy();
111
109
  expect(getByText("Page: 2 of 2")).toBeTruthy();
112
110
  });
113
111
  test("Paginator renders goToPage select", function () {
114
- var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
112
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
115
113
  currentPage: 2,
116
114
  showGoToPage: true,
117
115
  itemsPerPage: 10,
118
116
  totalItems: 20
119
117
  })),
120
- getByText = _render7.getByText;
118
+ getByText = _render6.getByText;
121
119
 
122
120
  expect(getByText("Go to page:")).toBeTruthy();
123
121
  });
@@ -128,16 +126,15 @@ describe("Paginator component tests", function () {
128
126
 
129
127
  window.HTMLElement.prototype.scrollTo = function () {};
130
128
 
131
- var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
129
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
132
130
  currentPage: 1,
133
131
  itemsPerPage: 10,
134
132
  totalItems: 27,
135
133
  showGoToPage: true,
136
134
  onPageChange: onClick
137
135
  })),
138
- getByText = _render8.getByText,
139
- getAllByRole = _render8.getAllByRole,
140
- getByRole = _render8.getByRole;
136
+ getByText = _render7.getByText,
137
+ getAllByRole = _render7.getAllByRole;
141
138
 
142
139
  var goToPageSelect = getAllByRole("combobox")[0];
143
140
  (0, _react2.act)(function () {
@@ -152,13 +149,13 @@ describe("Paginator component tests", function () {
152
149
  test("Call correct goToPageFunction", function () {
153
150
  var onClick = jest.fn();
154
151
 
155
- var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
152
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
156
153
  onPageChange: onClick,
157
154
  currentPage: 1,
158
155
  itemsPerPage: 10,
159
156
  totalItems: 20
160
157
  })),
161
- getAllByRole = _render9.getAllByRole;
158
+ getAllByRole = _render8.getAllByRole;
162
159
 
163
160
  var nextButton = getAllByRole("button")[2];
164
161
 
@@ -173,15 +170,15 @@ describe("Paginator component tests", function () {
173
170
 
174
171
  window.HTMLElement.prototype.scrollTo = function () {};
175
172
 
176
- var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
173
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
177
174
  currentPage: 1,
178
175
  itemsPerPage: 10,
179
176
  itemsPerPageOptions: [10, 15],
180
177
  itemsPerPageFunction: onClick,
181
178
  totalItems: 20
182
179
  })),
183
- getAllByText = _render10.getAllByText,
184
- getByText = _render10.getByText;
180
+ getAllByText = _render9.getAllByText,
181
+ getByText = _render9.getByText;
185
182
 
186
183
  var select = getAllByText("10")[0];
187
184
  (0, _react2.act)(function () {
@@ -196,13 +193,13 @@ describe("Paginator component tests", function () {
196
193
  test("Next button is disable in last page", function () {
197
194
  var onClick = jest.fn();
198
195
 
199
- var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
196
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
200
197
  onPageChange: onClick,
201
198
  currentPage: 2,
202
199
  itemsPerPage: 10,
203
200
  totalItems: 20
204
201
  })),
205
- getAllByRole = _render11.getAllByRole;
202
+ getAllByRole = _render10.getAllByRole;
206
203
 
207
204
  var nextButton = getAllByRole("button")[2];
208
205
  expect(nextButton.hasAttribute("disabled")).toBeTruthy();
@@ -214,13 +211,13 @@ describe("Paginator component tests", function () {
214
211
  test("Last button is disable in last page", function () {
215
212
  var onClick = jest.fn();
216
213
 
217
- var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
214
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
218
215
  onPageChange: onClick,
219
216
  currentPage: 2,
220
217
  itemsPerPage: 10,
221
218
  totalItems: 20
222
219
  })),
223
- getAllByRole = _render12.getAllByRole;
220
+ getAllByRole = _render11.getAllByRole;
224
221
 
225
222
  var lastButton = getAllByRole("button")[3];
226
223
  expect(lastButton.hasAttribute("disabled")).toBeTruthy();
@@ -232,13 +229,13 @@ describe("Paginator component tests", function () {
232
229
  test("First button is disable in first page", function () {
233
230
  var onClick = jest.fn();
234
231
 
235
- var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
232
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
236
233
  onPageChange: onClick,
237
234
  currentPage: 1,
238
235
  itemsPerPage: 10,
239
236
  totalItems: 20
240
237
  })),
241
- getAllByRole = _render13.getAllByRole;
238
+ getAllByRole = _render12.getAllByRole;
242
239
 
243
240
  var lastButton = getAllByRole("button")[0];
244
241
  expect(lastButton.hasAttribute("disabled")).toBeTruthy();
@@ -250,13 +247,13 @@ describe("Paginator component tests", function () {
250
247
  test("Previous button is disable in first page", function () {
251
248
  var onClick = jest.fn();
252
249
 
253
- var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
250
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
254
251
  onPageChange: onClick,
255
252
  currentPage: 1,
256
253
  itemsPerPage: 10,
257
254
  totalItems: 20
258
255
  })),
259
- getAllByRole = _render14.getAllByRole;
256
+ getAllByRole = _render13.getAllByRole;
260
257
 
261
258
  var lastButton = getAllByRole("button")[1];
262
259
  expect(lastButton.hasAttribute("disabled")).toBeTruthy();
@@ -268,13 +265,13 @@ describe("Paginator component tests", function () {
268
265
  test("Last and next buttons are disable in last page", function () {
269
266
  var onClick = jest.fn();
270
267
 
271
- var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
268
+ var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
272
269
  onPageChange: onClick,
273
270
  currentPage: 2,
274
271
  itemsPerPage: 10,
275
272
  totalItems: 20
276
273
  })),
277
- getAllByRole = _render15.getAllByRole;
274
+ getAllByRole = _render14.getAllByRole;
278
275
 
279
276
  var firstButton = getAllByRole("button")[0];
280
277
  var prevButton = getAllByRole("button")[1];
@@ -288,13 +285,13 @@ describe("Paginator component tests", function () {
288
285
  test("First and previous buttons are disable in first page", function () {
289
286
  var onClick = jest.fn();
290
287
 
291
- var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
288
+ var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
292
289
  onPageChange: onClick,
293
290
  currentPage: 1,
294
291
  itemsPerPage: 10,
295
292
  totalItems: 20
296
293
  })),
297
- getAllByRole = _render16.getAllByRole;
294
+ getAllByRole = _render15.getAllByRole;
298
295
 
299
296
  var firstButton = getAllByRole("button")[0];
300
297
  var prevButton = getAllByRole("button")[1];
@@ -1,6 +1,5 @@
1
1
  import React from "react";
2
- declare type ParagraphPropsType = {
2
+ declare const DxcParagraph: ({ children }: {
3
3
  children: React.ReactNode;
4
- };
5
- declare const Paragraph: ({ children }: ParagraphPropsType) => JSX.Element;
6
- export default Paragraph;
4
+ }) => JSX.Element;
5
+ export default DxcParagraph;
@@ -11,21 +11,21 @@ exports["default"] = void 0;
11
11
 
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
 
14
- var _Typography = _interopRequireDefault(require("../typography/Typography"));
15
-
16
14
  var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
17
15
 
18
16
  var _useTheme = _interopRequireDefault(require("../useTheme"));
19
17
 
18
+ var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
19
+
20
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
21
 
22
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
23
 
24
- var Paragraph = function Paragraph(_ref) {
24
+ var DxcParagraph = function DxcParagraph(_ref) {
25
25
  var children = _ref.children;
26
26
  var colorsTheme = (0, _useTheme["default"])();
27
27
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
28
- return /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
28
+ return /*#__PURE__*/_react["default"].createElement(_BaseTypography["default"], {
29
29
  as: "p",
30
30
  display: colorsTheme.paragraph.display,
31
31
  fontSize: colorsTheme.paragraph.fontSize,
@@ -34,5 +34,5 @@ var Paragraph = function Paragraph(_ref) {
34
34
  }, children);
35
35
  };
36
36
 
37
- var _default = Paragraph;
37
+ var _default = DxcParagraph;
38
38
  exports["default"] = _default;
@@ -12,7 +12,7 @@ var _react2 = require("@testing-library/react");
12
12
 
13
13
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
14
14
 
15
- var _PasswordInput = _interopRequireDefault(require("./PasswordInput"));
15
+ var _PasswordInput = _interopRequireDefault(require("./PasswordInput.tsx"));
16
16
 
17
17
  describe("Password input component tests", function () {
18
18
  test("Password input renders with label", function () {
@@ -46,9 +46,9 @@ describe("Password input component tests", function () {
46
46
  label: "Password input",
47
47
  onChange: onChange
48
48
  })),
49
- getByRole = _render4.getByRole;
49
+ getByLabelText = _render4.getByLabelText;
50
50
 
51
- var passwordInput = getByRole("textbox");
51
+ var passwordInput = getByLabelText("Password input");
52
52
 
53
53
  _userEvent["default"].type(passwordInput, "Pa$$w0rd");
54
54
 
@@ -64,9 +64,9 @@ describe("Password input component tests", function () {
64
64
  label: "Password input",
65
65
  onBlur: onBlur
66
66
  })),
67
- getByRole = _render5.getByRole;
67
+ getByLabelText = _render5.getByLabelText;
68
68
 
69
- var passwordInput = getByRole("textbox");
69
+ var passwordInput = getByLabelText("Password input");
70
70
 
71
71
  _userEvent["default"].type(passwordInput, "Pa$$w0rd");
72
72
 
@@ -83,9 +83,9 @@ describe("Password input component tests", function () {
83
83
  clearable: true
84
84
  })),
85
85
  getAllByRole = _render6.getAllByRole,
86
- getByRole = _render6.getByRole;
86
+ getByLabelText = _render6.getByLabelText;
87
87
 
88
- var passwordInput = getByRole("textbox");
88
+ var passwordInput = getByLabelText("Password input");
89
89
 
90
90
  _userEvent["default"].type(passwordInput, "Pa$$w0rd");
91
91
 
@@ -101,9 +101,9 @@ describe("Password input component tests", function () {
101
101
  label: "Password input"
102
102
  })),
103
103
  getAllByRole = _render7.getAllByRole,
104
- getByRole = _render7.getByRole;
104
+ getByLabelText = _render7.getByLabelText;
105
105
 
106
- var passwordInput = getByRole("textbox");
106
+ var passwordInput = getByLabelText("Password input");
107
107
 
108
108
  _userEvent["default"].type(passwordInput, "Pa$$w0rd");
109
109
 
@@ -117,9 +117,9 @@ describe("Password input component tests", function () {
117
117
  clearable: true
118
118
  })),
119
119
  getAllByRole = _render8.getAllByRole,
120
- getByRole = _render8.getByRole;
120
+ getByLabelText = _render8.getByLabelText;
121
121
 
122
- var passwordInput = getByRole("textbox");
122
+ var passwordInput = getByLabelText("Password input");
123
123
 
124
124
  _userEvent["default"].type(passwordInput, "Pa$$w0rd");
125
125
 
@@ -164,9 +164,10 @@ describe("Password input component tests", function () {
164
164
  var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
165
165
  label: "Password input"
166
166
  })),
167
- getByRole = _render10.getByRole;
167
+ getByRole = _render10.getByRole,
168
+ getByLabelText = _render10.getByLabelText;
168
169
 
169
- var passwordInput = getByRole("textbox");
170
+ var passwordInput = getByLabelText("Password input");
170
171
  expect(passwordInput.getAttribute("aria-autocomplete")).toBeNull();
171
172
  expect(passwordInput.getAttribute("aria-controls")).toBeNull();
172
173
  expect(passwordInput.getAttribute("aria-expanded")).toBeNull();
@@ -13,19 +13,19 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
13
 
14
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
15
 
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
16
18
  var _react = _interopRequireWildcard(require("react"));
17
19
 
18
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
21
 
20
- var _LinearProgress = _interopRequireDefault(require("@material-ui/core/LinearProgress"));
21
-
22
- var _variables = require("../common/variables.js");
22
+ var _variables = require("../common/variables");
23
23
 
24
24
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
25
 
26
26
  var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
27
27
 
28
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
28
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
29
29
 
30
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
31
 
@@ -44,72 +44,56 @@ var DxcProgressBar = function DxcProgressBar(_ref) {
44
44
  margin = _ref.margin;
45
45
  var colorsTheme = (0, _useTheme["default"])();
46
46
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
47
+
48
+ var _useState = (0, _react.useState)(0),
49
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
50
+ valueProgressBar = _useState2[0],
51
+ setValueProgressBar = _useState2[1];
52
+
53
+ (0, _react.useEffect)(function () {
54
+ setValueProgressBar(value === null || value === undefined || value < 0 ? 0 : value >= 0 && value <= 100 ? value : 100);
55
+ }, [value]);
47
56
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
48
57
  theme: colorsTheme.progressBar
49
58
  }, /*#__PURE__*/_react["default"].createElement(BackgroundProgressBar, {
50
59
  overlay: overlay
51
- }, /*#__PURE__*/_react["default"].createElement(DXCProgressBar, {
60
+ }, /*#__PURE__*/_react["default"].createElement(ProgressBarContainer, {
52
61
  overlay: overlay,
53
- margin: margin,
54
- backgroundType: backgroundType
62
+ margin: margin
55
63
  }, /*#__PURE__*/_react["default"].createElement(InfoProgressBar, null, /*#__PURE__*/_react["default"].createElement(ProgressBarLabel, {
56
64
  overlay: overlay,
57
- backgroundType: backgroundType
65
+ backgroundType: backgroundType,
66
+ "aria-label": label || undefined
58
67
  }, label), /*#__PURE__*/_react["default"].createElement(ProgressBarProgress, {
59
68
  overlay: overlay,
60
69
  showValue: showValue,
61
- backgroundType: backgroundType
62
- }, value === null || value === undefined ? 0 : value >= 0 && value <= 100 ? value : value < 0 ? 0 : 100, " %")), /*#__PURE__*/_react["default"].createElement(_LinearProgress["default"], {
63
- variant: showValue ? "determinate" : "indeterminate",
64
- value: value === null || value === undefined ? 0 : value >= 0 && value <= 100 ? value : value < 0 ? 0 : 100
65
- }), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
70
+ backgroundType: backgroundType,
71
+ value: valueProgressBar
72
+ }, valueProgressBar, " %")), /*#__PURE__*/_react["default"].createElement(LinearProgress, {
73
+ role: "progressbar",
74
+ helperText: helperText,
75
+ "aria-valuenow": showValue ? valueProgressBar : undefined
76
+ }, /*#__PURE__*/_react["default"].createElement(LinearProgressBar, {
77
+ backgroundType: backgroundType,
78
+ variant: value === null || value === undefined ? "indeterminate" : "determinate",
79
+ container: "first",
80
+ value: valueProgressBar
81
+ })), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
66
82
  overlay: overlay,
67
83
  backgroundType: backgroundType
68
84
  }, helperText))));
69
85
  };
70
86
 
71
- var BackgroundProgressBar = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n opacity: ", ";\n width: ", ";\n display: flex;\n flex-wrap: wrap;\n justify-content: ", ";\n height: ", ";\n align-items: ", ";\n min-width: 100px;\n max-width: ", ";\n position: ", ";\n top: ", ";\n bottom: ", ";\n left: ", ";\n right: ", ";\n z-index: ", ";\n width: 100%;\n"])), function (props) {
72
- return props.overlay === true ? "".concat(props.theme.overlayColor) : "transparent";
73
- }, function (props) {
74
- return props.overlay === true && "0.8";
75
- }, function (props) {
76
- return props.overlay === true ? "100%" : "";
77
- }, function (props) {
78
- return props.overlay === true ? "center" : "";
79
- }, function (props) {
80
- return props.overlay === true ? "100vh" : "";
81
- }, function (props) {
82
- return props.overlay === true ? "center" : "";
83
- }, function (props) {
84
- return props.overlay === true ? "100%" : "";
85
- }, function (props) {
86
- return props.overlay === true ? "fixed" : "";
87
- }, function (props) {
88
- return props.overlay === true ? "0" : "";
89
- }, function (props) {
90
- return props.overlay === true ? "0" : "";
91
- }, function (props) {
92
- return props.overlay === true ? "0" : "";
93
- }, function (props) {
94
- return props.overlay === true ? "0" : "";
95
- }, function (props) {
96
- return props.overlay ? 1300 : "";
87
+ var BackgroundProgressBar = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n display: flex;\n flex-wrap: wrap;\n min-width: 100px;\n width: 100%;\n"])), function (_ref2) {
88
+ var overlay = _ref2.overlay,
89
+ theme = _ref2.theme;
90
+ return overlay ? "background-color: ".concat(theme.overlayColor, ";\n width: 100%;\n justify-content: center;\n height: 100vh;\n align-items: center;\n max-width: 100%;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1300;") : "background-color: \"transparent\";";
97
91
  });
98
92
 
99
- var DXCProgressBar = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: ", ";\n width: ", ";\n .MuiLinearProgress-root {\n height: ", ";\n background-color: ", ";\n border-radius: ", ";\n margin-bottom: ", ";\n }\n .MuiLinearProgress-bar {\n background-color: ", ";\n }\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
93
+ var ProgressBarContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: ", ";\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
100
94
  return props.overlay === true && "100" || "0";
101
95
  }, function (props) {
102
96
  return props.overlay === true ? "80%" : "100%";
103
- }, function (props) {
104
- return props.theme.thickness;
105
- }, function (props) {
106
- return props.theme.totalLineColor;
107
- }, function (props) {
108
- return props.theme.borderRadius;
109
- }, function (props) {
110
- return props.helperText !== "" && "8px";
111
- }, function (props) {
112
- return props.backgroundType === "dark" ? props.theme.trackLineColorOnDark : props.theme.trackLineColor;
113
97
  }, function (props) {
114
98
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
115
99
  }, function (props) {
@@ -135,7 +119,7 @@ var ProgressBarLabel = _styledComponents["default"].div(_templateObject4 || (_te
135
119
  }, function (props) {
136
120
  return props.theme.labelFontTextTransform;
137
121
  }, function (props) {
138
- return props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.overlay === true ? "#FFFFFF" : props.theme.labelFontColor;
122
+ return props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.overlay === true ? props.theme.overlayFontColor : props.theme.labelFontColor;
139
123
  });
140
124
 
141
125
  var ProgressBarProgress = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n display: ", ";\n flex-shrink: 0;\n"])), function (props) {
@@ -149,13 +133,13 @@ var ProgressBarProgress = _styledComponents["default"].div(_templateObject5 || (
149
133
  }, function (props) {
150
134
  return props.theme.valueFontTextTransform;
151
135
  }, function (props) {
152
- return props.backgroundType === "dark" ? props.theme.valueFontColorOnDark : props.overlay === true ? "#FFFFFF" : props.theme.valueFontColor;
136
+ return props.backgroundType === "dark" ? props.theme.valueFontColorOnDark : props.overlay === true ? props.theme.overlayFontColor : props.theme.valueFontColor;
153
137
  }, function (props) {
154
- return props.value !== "" && props.showValue === true && "block" || "none";
138
+ return props.value !== undefined && props.value !== null && props.showValue === true && "block" || "none";
155
139
  });
156
140
 
157
141
  var HelperText = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"])), function (props) {
158
- return props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.overlay === true ? "#FFFFFF" : props.theme.helperTextFontColor;
142
+ return props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.overlay === true ? props.theme.overlayFontColor : props.theme.helperTextFontColor;
159
143
  }, function (props) {
160
144
  return props.theme.helperTextFontFamily;
161
145
  }, function (props) {
@@ -166,5 +150,27 @@ var HelperText = _styledComponents["default"].span(_templateObject6 || (_templat
166
150
  return props.theme.helperTextFontWeight;
167
151
  });
168
152
 
153
+ var LinearProgress = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n background-color: ", ";\n border-radius: ", ";\n margin-bottom: ", ";\n overflow: hidden;\n position: relative;\n"])), function (props) {
154
+ return props.theme.thickness;
155
+ }, function (props) {
156
+ return props.theme.totalLineColor;
157
+ }, function (props) {
158
+ return props.theme.borderRadius;
159
+ }, function (props) {
160
+ return props.helperText !== "" && "8px";
161
+ });
162
+
163
+ var LinearProgressBar = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n transform: ", ";\n top: 0;\n left: 0;\n width: 100%;\n bottom: 0;\n position: absolute;\n transition: ", ";\n transform-origin: left;\n ", ";\n ", ";\n\n @keyframes keyframes-indeterminate-first {\n 0% {\n left: -35%;\n right: 100%;\n }\n 60% {\n left: 100%;\n right: -90%;\n }\n 100% {\n left: 100%;\n right: -90%;\n }\n }\n\n @keyframes keyframes-indeterminate-second {\n 0% {\n left: -200%;\n right: 100%;\n }\n 60% {\n left: 107%;\n right: -8%;\n }\n 100% {\n left: 107%;\n right: -8%;\n }\n }\n"])), function (props) {
164
+ return props.backgroundType === "dark" ? props.theme.trackLineColorOnDark : props.theme.trackLineColor;
165
+ }, function (props) {
166
+ return "translateX(-".concat(props.variant === "determinate" ? 100 - props.value : 0, "%)");
167
+ }, function (props) {
168
+ return props.variant === "determinate" ? "transform .4s linear" : "transform 0.2s linear";
169
+ }, function (props) {
170
+ return props.variant === "indeterminate" && "width: auto;";
171
+ }, function (props) {
172
+ return props.variant === "indeterminate" ? props.container === "first" ? "animation: keyframes-indeterminate-first 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;" : "animation: keyframes-indeterminate-second 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;" : "";
173
+ });
174
+
169
175
  var _default = DxcProgressBar;
170
176
  exports["default"] = _default;
@@ -2,21 +2,34 @@ import React from "react";
2
2
  import DxcProgressBar from "./ProgressBar";
3
3
  import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { HalstackProvider } from "../HalstackContext";
5
6
 
6
7
  export default {
7
8
  title: "ProgressBar",
8
9
  component: DxcProgressBar,
9
10
  };
10
11
 
12
+ const opinionatedTheme = {
13
+ progressBar: {
14
+ accentColor: "#5f249f",
15
+ baseColor: "#e6e6e6",
16
+ fontColor: "#000000",
17
+ overlayColor: "#000000b3",
18
+ overlayFontColor: "#ffffff",
19
+ },
20
+ };
21
+
11
22
  export const Chromatic = () => (
12
23
  <>
13
24
  <ExampleContainer>
14
25
  <Title title="Without labels" theme="light" level={4} />
15
26
  <DxcProgressBar value={50} showValue />
16
27
  <Title title="With helperText" theme="light" level={4} />
17
- <DxcProgressBar helperText="Helper text" value={50} showValue />
28
+ <DxcProgressBar helperText="Helper text" value={24} showValue />
18
29
  <Title title="Without default value" theme="light" level={4} />
19
30
  <DxcProgressBar label="Loading..." showValue />
31
+ <Title title="With full value" theme="light" level={4} />
32
+ <DxcProgressBar label="Loading..." value={100} showValue />
20
33
  </ExampleContainer>
21
34
  <Title title="Margins" theme="light" level={2} />
22
35
  <ExampleContainer>
@@ -44,15 +57,37 @@ export const Chromatic = () => (
44
57
  <DxcProgressBar label="Margin xlarge" margin="xlarge" value={50} showValue />
45
58
  </ExampleContainer>
46
59
  <ExampleContainer>
47
- <Title title="XxLarge margin" theme="light" level={4} />
60
+ <Title title="Xxlarge margin" theme="light" level={4} />
48
61
  <DxcProgressBar label="Margin xxlarge" margin="xxlarge" value={50} showValue />
49
62
  </ExampleContainer>
63
+ <Title title="Opinionated theme" theme="light" level={2} />
64
+ <ExampleContainer>
65
+ <Title title="Label and helper text" theme="light" level={4} />
66
+ <HalstackProvider theme={opinionatedTheme}>
67
+ <DxcProgressBar label="Loading..." helperText="Helper text" value={24} showValue />
68
+ </HalstackProvider>
69
+ </ExampleContainer>
70
+ <ExampleContainer>
71
+ <Title title="Without default value" theme="light" level={4} />
72
+ <HalstackProvider theme={opinionatedTheme}>
73
+ <DxcProgressBar label="Loading..." helperText="Helper text" showValue />
74
+ </HalstackProvider>
75
+ </ExampleContainer>
50
76
  </>
51
77
  );
52
78
 
53
79
  export const ProgressBarOverlay = () => (
54
80
  <ExampleContainer>
55
81
  <Title title="Overlay" theme="dark" level={4} />
56
- <DxcProgressBar label="Overlay" helperText="Helper text" overlay={true} showValue value={50} />
82
+ <DxcProgressBar label="Overlay" helperText="Helper text" overlay showValue value={50} />
83
+ </ExampleContainer>
84
+ );
85
+
86
+ export const ProgressBarOverlayOpinionated = () => (
87
+ <ExampleContainer>
88
+ <Title title="Overlay" theme="dark" level={4} />
89
+ <HalstackProvider theme={opinionatedTheme}>
90
+ <DxcProgressBar label="Overlay" helperText="Helper text" overlay showValue value={50} />
91
+ </HalstackProvider>
57
92
  </ExampleContainer>
58
93
  );