@dxc-technology/halstack-react 12.0.1 → 12.1.0

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 (71) hide show
  1. package/HalstackContext.d.ts +3 -0
  2. package/HalstackContext.js +5 -1
  3. package/breadcrumbs/Breadcrumbs.stories.tsx +1 -1
  4. package/breadcrumbs/Breadcrumbs.test.js +1 -2
  5. package/card/Card.stories.tsx +1 -1
  6. package/chip/Chip.accessibility.test.js +0 -2
  7. package/chip/Chip.js +21 -10
  8. package/chip/Chip.stories.tsx +43 -79
  9. package/chip/types.d.ts +12 -35
  10. package/common/variables.d.ts +3 -0
  11. package/common/variables.js +4 -1
  12. package/contextual-menu/ContextualMenu.js +24 -4
  13. package/contextual-menu/ContextualMenu.stories.tsx +5 -14
  14. package/contextual-menu/ContextualMenu.test.js +108 -66
  15. package/contextual-menu/GroupItem.js +9 -9
  16. package/contextual-menu/ItemAction.d.ts +1 -1
  17. package/contextual-menu/ItemAction.js +8 -9
  18. package/contextual-menu/SingleItem.d.ts +1 -1
  19. package/contextual-menu/SingleItem.js +14 -14
  20. package/contextual-menu/types.d.ts +9 -6
  21. package/date-input/Calendar.js +46 -30
  22. package/date-input/DateInput.accessibility.test.js +12 -13
  23. package/date-input/DateInput.js +9 -3
  24. package/date-input/DateInput.stories.tsx +5 -6
  25. package/date-input/DateInput.test.js +30 -31
  26. package/date-input/YearPicker.js +9 -4
  27. package/dialog/Dialog.stories.tsx +2 -3
  28. package/dialog/Dialog.test.js +1 -2
  29. package/dropdown/Dropdown.accessibility.test.js +1 -2
  30. package/dropdown/Dropdown.stories.tsx +1 -1
  31. package/dropdown/Dropdown.test.js +1 -2
  32. package/file-input/FileInput.js +1 -3
  33. package/file-input/types.d.ts +0 -4
  34. package/grid/Grid.stories.tsx +3 -1
  35. package/header/Header.stories.tsx +1 -1
  36. package/icon/Icon.js +1 -1
  37. package/main.d.ts +0 -1
  38. package/main.js +0 -1
  39. package/number-input/NumberInput.accessibility.test.js +1 -2
  40. package/number-input/NumberInput.stories.tsx +2 -16
  41. package/number-input/NumberInput.test.js +1 -2
  42. package/package.json +17 -15
  43. package/paginator/Paginator.accessibility.test.js +1 -2
  44. package/paginator/Paginator.test.js +1 -2
  45. package/password-input/PasswordInput.accessibility.test.js +1 -2
  46. package/password-input/PasswordInput.stories.tsx +1 -1
  47. package/password-input/PasswordInput.test.js +1 -2
  48. package/resultset-table/ResultsetTable.accessibility.test.js +1 -2
  49. package/resultset-table/ResultsetTable.stories.tsx +1 -1
  50. package/resultset-table/ResultsetTable.test.js +1 -2
  51. package/select/Select.accessibility.test.js +1 -2
  52. package/select/Select.stories.tsx +1 -1
  53. package/select/Select.test.js +1 -2
  54. package/sidenav/Sidenav.stories.tsx +1 -1
  55. package/slider/Slider.accessibility.test.js +1 -2
  56. package/slider/Slider.test.js +1 -2
  57. package/table/Table.accessibility.test.js +1 -2
  58. package/table/Table.stories.tsx +1 -1
  59. package/table/Table.test.js +1 -2
  60. package/tabs/Tabs.stories.tsx +2 -2
  61. package/tag/Tag.stories.tsx +1 -1
  62. package/text-input/TextInput.accessibility.test.js +1 -2
  63. package/text-input/TextInput.stories.tsx +2 -8
  64. package/text-input/TextInput.test.js +1 -2
  65. package/textarea/Textarea.js +11 -8
  66. package/toggle-group/ToggleGroup.stories.tsx +1 -1
  67. package/typography/Typography.stories.tsx +1 -3
  68. package/useTheme.d.ts +3 -0
  69. package/utils/FocusLock.js +2 -1
  70. package/wizard/Wizard.stories.tsx +1 -1
  71. package/common/fonts.css +0 -2
@@ -18,7 +18,7 @@ var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
18
18
  var _DatePicker = _interopRequireDefault(require("./DatePicker"));
19
19
  var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
20
20
  var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
21
- var _templateObject;
21
+ var _templateObject, _templateObject2;
22
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
23
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
24
24
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -97,7 +97,9 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
97
97
  actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("role", "combobox");
98
98
  actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-expanded", isOpen);
99
99
  actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-controls", calendarId);
100
- actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-describedby", calendarId);
100
+ if (isOpen) {
101
+ actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-describedby", calendarId);
102
+ }
101
103
  }
102
104
  }, [isOpen, disabled, calendarId]);
103
105
  var handleCalendarOnClick = function handleCalendarOnClick(newDate) {
@@ -174,7 +176,8 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
174
176
  };
175
177
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
176
178
  theme: colorsTheme
177
- }, /*#__PURE__*/_react["default"].createElement("div", {
179
+ }, /*#__PURE__*/_react["default"].createElement(DateInputContainer, {
180
+ size: size,
178
181
  ref: ref
179
182
  }, /*#__PURE__*/_react["default"].createElement(Popover.Root, {
180
183
  open: isOpen
@@ -219,4 +222,7 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
219
222
  }))))));
220
223
  });
221
224
  var StyledPopoverContent = (0, _styledComponents["default"])(Popover.Content)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 2147483647;\n &:focus-visible {\n outline: none;\n }\n"])));
225
+ var DateInputContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n"])), function (props) {
226
+ return props.size == "fillParent" && "width: 100%;";
227
+ });
222
228
  var _default = exports["default"] = DxcDateInput;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { userEvent, within, fireEvent, screen } from "@storybook/testing-library";
2
+ import { userEvent, within, fireEvent, screen } from "@storybook/test";
3
3
  import DxcDateInput from "./DateInput";
4
4
  import DxcDatePicker from "./DatePicker";
5
5
  import YearPicker from "./YearPicker";
@@ -17,11 +17,10 @@ export default {
17
17
  title: "Date Input",
18
18
  component: DxcDateInput,
19
19
  parameters: {
20
- // TODO: REMOVE
21
20
  a11y: {
22
21
  config: {
23
22
  rules: [
24
- ...disabledRules.map((ruleId) => ({ id: ruleId, reviewOnFail: true })),
23
+ ...disabledRules.map((ruleId) => ({ id: ruleId, enabled: false })),
25
24
  ...preview?.parameters?.a11y?.config?.rules,
26
25
  ],
27
26
  },
@@ -209,15 +208,15 @@ const DatePickerButtonStates = () => {
209
208
  <ThemeProvider theme={colorsTheme}>
210
209
  <ExampleContainer pseudoState="pseudo-focus">
211
210
  <Title title="Isolated calendar focused" theme="light" level={4} />
212
- <DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-calendar" />
211
+ <DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-calendar1" />
213
212
  </ExampleContainer>
214
213
  <ExampleContainer pseudoState="pseudo-hover">
215
214
  <Title title="Isolated calendar hovered" theme="light" level={4} />
216
- <DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-calendar" />
215
+ <DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-calendar2" />
217
216
  </ExampleContainer>
218
217
  <ExampleContainer pseudoState="pseudo-active">
219
218
  <Title title="Isolated calendar actived" theme="light" level={4} />
220
- <DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-calendar" />
219
+ <DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-calendar3" />
221
220
  </ExampleContainer>
222
221
  </ThemeProvider>
223
222
  </>
@@ -28,7 +28,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
28
28
  function ResizeObserver() {
29
29
  (0, _classCallCheck2["default"])(this, ResizeObserver);
30
30
  }
31
- (0, _createClass2["default"])(ResizeObserver, [{
31
+ return (0, _createClass2["default"])(ResizeObserver, [{
32
32
  key: "observe",
33
33
  value: function observe() {}
34
34
  }, {
@@ -38,7 +38,6 @@ global.ResizeObserver = /*#__PURE__*/function () {
38
38
  key: "disconnect",
39
39
  value: function disconnect() {}
40
40
  }]);
41
- return ResizeObserver;
42
41
  }();
43
42
  describe("DateInput component tests", function () {
44
43
  test("Renders with correct label, helper text, optional, placeholder and clearable action", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
@@ -308,7 +307,7 @@ describe("DateInput component tests", function () {
308
307
  _context10.next = 5;
309
308
  return _userEvent["default"].click(calendarAction);
310
309
  case 5:
311
- dayButton = getAllByText("10")[0].closest("button");
310
+ dayButton = getAllByText("10")[0];
312
311
  _react2.fireEvent.click(dayButton);
313
312
  d = (0, _dayjs["default"])();
314
313
  d = d.set("date", 10);
@@ -374,7 +373,7 @@ describe("DateInput component tests", function () {
374
373
  _context12.next = 5;
375
374
  return _userEvent["default"].click(calendarAction);
376
375
  case 5:
377
- dayButton = getAllByText("31")[0].closest("button");
376
+ dayButton = getAllByText("31")[0];
378
377
  _react2.fireEvent.click(dayButton);
379
378
  d = (0, _dayjs["default"])("10-08-2021", "DD-MM-YYYY", true);
380
379
  d = d.set("date", 31).set("month", 6);
@@ -444,31 +443,31 @@ describe("DateInput component tests", function () {
444
443
  _context14.next = 7;
445
444
  return _userEvent["default"].click(calendarAction);
446
445
  case 7:
447
- expect(document.activeElement === getAllByText("1")[0].closest("button")).toBeTruthy();
448
- _react2.fireEvent.keyDown(getAllByText("1")[0].closest("button"), {
446
+ expect(document.activeElement === getAllByText("1")[0]).toBeTruthy();
447
+ _react2.fireEvent.keyDown(getAllByText("1")[0], {
449
448
  key: "ArrowRight",
450
449
  code: "ArrowRight",
451
450
  keyCode: 39,
452
451
  charCode: 39
453
452
  });
454
- expect(document.activeElement === getAllByText("2")[0].closest("button")).toBeTruthy();
455
- _react2.fireEvent.keyDown(getAllByText("2")[0].closest("button"), {
453
+ expect(document.activeElement === getAllByText("2")[0]).toBeTruthy();
454
+ _react2.fireEvent.keyDown(getAllByText("2")[0], {
456
455
  key: "PageUp",
457
456
  code: "PageUp",
458
457
  keyCode: 33,
459
458
  charCode: 33
460
459
  });
461
- expect(document.activeElement === getAllByText("2")[0].closest("button")).toBeTruthy();
460
+ expect(document.activeElement === getAllByText("2")[0]).toBeTruthy();
462
461
  expect(getByText("December 2009")).toBeTruthy();
463
- _react2.fireEvent.keyDown(getAllByText("2")[0].closest("button"), {
462
+ _react2.fireEvent.keyDown(getAllByText("2")[0], {
464
463
  key: "PageDown",
465
464
  code: "PageDown",
466
465
  keyCode: 34,
467
466
  charCode: 34
468
467
  });
469
- expect(document.activeElement === getAllByText("2")[0].closest("button")).toBeTruthy();
468
+ expect(document.activeElement === getAllByText("2")[0]).toBeTruthy();
470
469
  expect(getByText("January 2010")).toBeTruthy();
471
- _react2.fireEvent.keyDown(getAllByText("2")[0].closest("button"), {
470
+ _react2.fireEvent.keyDown(getAllByText("2")[0], {
472
471
  key: "PageDown",
473
472
  code: "PageDown",
474
473
  keyCode: 34,
@@ -476,7 +475,7 @@ describe("DateInput component tests", function () {
476
475
  shiftKey: true
477
476
  });
478
477
  expect(getByText("January 2011")).toBeTruthy();
479
- _react2.fireEvent.keyDown(getAllByText("2")[0].closest("button"), {
478
+ _react2.fireEvent.keyDown(getAllByText("2")[0], {
480
479
  key: "PageUp",
481
480
  code: "PageUp",
482
481
  keyCode: 33,
@@ -484,14 +483,14 @@ describe("DateInput component tests", function () {
484
483
  shiftKey: true
485
484
  });
486
485
  expect(getByText("January 2010")).toBeTruthy();
487
- expect(document.activeElement === getAllByText("2")[0].closest("button")).toBeTruthy();
488
- _react2.fireEvent.click(getAllByText("2")[0].closest("button"), {
486
+ expect(document.activeElement === getAllByText("2")[0]).toBeTruthy();
487
+ _react2.fireEvent.click(getAllByText("2")[0], {
489
488
  key: " ",
490
489
  code: "Space",
491
490
  keyCode: 32,
492
491
  charCode: 32
493
492
  });
494
- expect(getAllByText("2")[0].closest("button").getAttribute("aria-selected")).toBe("true");
493
+ expect(getAllByText("2")[0].getAttribute("aria-selected")).toBe("true");
495
494
  _react2.fireEvent.keyDown(document, {
496
495
  key: "Escape",
497
496
  code: "Escape",
@@ -518,42 +517,42 @@ describe("DateInput component tests", function () {
518
517
  _context15.next = 7;
519
518
  return _userEvent["default"].click(calendarAction);
520
519
  case 7:
521
- expect(document.activeElement === getAllByText("1")[0].closest("button")).toBeTruthy();
522
- _react2.fireEvent.keyDown(getAllByText("1")[0].closest("button"), {
520
+ expect(document.activeElement === getAllByText("1")[0]).toBeTruthy();
521
+ _react2.fireEvent.keyDown(getAllByText("1")[0], {
523
522
  key: "ArrowDown",
524
523
  code: "ArrowDown",
525
524
  keyCode: 40,
526
525
  charCode: 40
527
526
  });
528
- expect(document.activeElement === getAllByText("8")[0].closest("button")).toBeTruthy();
529
- _react2.fireEvent.keyDown(getAllByText("8")[0].closest("button"), {
527
+ expect(document.activeElement === getAllByText("8")[0]).toBeTruthy();
528
+ _react2.fireEvent.keyDown(getAllByText("8")[0], {
530
529
  key: "ArrowDown",
531
530
  code: "ArrowDown",
532
531
  keyCode: 40,
533
532
  charCode: 40
534
533
  });
535
- expect(document.activeElement === getAllByText("15")[0].closest("button")).toBeTruthy();
536
- _react2.fireEvent.keyDown(getAllByText("15")[0].closest("button"), {
534
+ expect(document.activeElement === getAllByText("15")[0]).toBeTruthy();
535
+ _react2.fireEvent.keyDown(getAllByText("15")[0], {
537
536
  key: "ArrowUp",
538
537
  code: "ArrowUp",
539
538
  keyCode: 38,
540
539
  charCode: 38
541
540
  });
542
- expect(document.activeElement === getAllByText("8")[0].closest("button")).toBeTruthy();
543
- _react2.fireEvent.keyDown(getAllByText("8")[0].closest("button"), {
541
+ expect(document.activeElement === getAllByText("8")[0]).toBeTruthy();
542
+ _react2.fireEvent.keyDown(getAllByText("8")[0], {
544
543
  key: "End",
545
544
  code: "End",
546
545
  keyCode: 35,
547
546
  charCode: 35
548
547
  });
549
- expect(document.activeElement === getAllByText("10")[0].closest("button")).toBeTruthy();
550
- _react2.fireEvent.keyDown(getAllByText("10")[0].closest("button"), {
548
+ expect(document.activeElement === getAllByText("10")[0]).toBeTruthy();
549
+ _react2.fireEvent.keyDown(getAllByText("10")[0], {
551
550
  key: "Home",
552
551
  code: "Home",
553
552
  keyCode: 36,
554
553
  charCode: 36
555
554
  });
556
- _react2.fireEvent.keyDown(getAllByText("10")[0].closest("button"), {
555
+ _react2.fireEvent.keyDown(getAllByText("10")[0], {
557
556
  key: " ",
558
557
  code: "Space",
559
558
  keyCode: 32,
@@ -728,16 +727,16 @@ describe("DateInput component tests", function () {
728
727
  calendarAction = getByRole("combobox");
729
728
  expect(calendarAction.getAttribute("aria-autocomplete")).toBeNull();
730
729
  expect(calendarAction.getAttribute("aria-controls")).toBeTruthy();
731
- expect(calendarAction.getAttribute("aria-describedby")).toBeTruthy();
732
- expect(calendarAction.getAttribute("aria-describedby") === calendarAction.getAttribute("aria-controls")).toBeTruthy();
730
+ expect(calendarAction.getAttribute("aria-describedby")).toBeFalsy();
733
731
  expect(calendarAction.getAttribute("aria-expanded")).toBe("false");
734
- _context17.next = 13;
732
+ _context17.next = 12;
735
733
  return _userEvent["default"].click(calendarAction);
736
- case 13:
734
+ case 12:
737
735
  datePicker = getByRole("dialog");
738
736
  expect(datePicker.getAttribute("aria-modal")).toBe("true");
739
737
  expect(calendarAction.getAttribute("aria-expanded")).toBe("true");
740
738
  expect(document.getElementById(calendarAction.getAttribute("aria-describedby"))).toBeTruthy();
739
+ expect(calendarAction.getAttribute("aria-describedby") === calendarAction.getAttribute("aria-controls")).toBeTruthy();
741
740
  _context17.next = 19;
742
741
  return _userEvent["default"].type(calendarAction, "{esc}");
743
742
  case 19:
@@ -26,13 +26,14 @@ var YearPicker = function YearPicker(_ref) {
26
26
  var onYearSelect = _ref.onYearSelect,
27
27
  selectedDate = _ref.selectedDate,
28
28
  today = _ref.today;
29
+ var id = (0, _react.useId)();
29
30
  var _useState = (0, _react.useState)(selectedDate ? selectedDate.get("year") : (0, _dayjs["default"])().get("year")),
30
31
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
31
32
  yearToFocus = _useState2[0],
32
33
  setYearToFocus = _useState2[1];
33
34
  (0, _react.useEffect)(function () {
34
35
  var _yearToFocusEl$scroll;
35
- var yearToFocusEl = document.getElementById("year_".concat(yearToFocus));
36
+ var yearToFocusEl = document.getElementById("".concat(id, "_year_").concat(yearToFocus));
36
37
  yearToFocusEl === null || yearToFocusEl === void 0 ? void 0 : (_yearToFocusEl$scroll = yearToFocusEl.scrollIntoView) === null || _yearToFocusEl$scroll === void 0 ? void 0 : _yearToFocusEl$scroll.call(yearToFocusEl, {
37
38
  block: "nearest",
38
39
  inline: "start"
@@ -53,7 +54,10 @@ var YearPicker = function YearPicker(_ref) {
53
54
  break;
54
55
  }
55
56
  };
56
- return /*#__PURE__*/_react["default"].createElement(YearPickerContainer, null, yearList.map(function (year) {
57
+ return /*#__PURE__*/_react["default"].createElement(YearPickerContainer, {
58
+ role: "listbox",
59
+ "aria-label": "Year Picker"
60
+ }, yearList.map(function (year) {
57
61
  return /*#__PURE__*/_react["default"].createElement(YearPickerButton, {
58
62
  "aria-label": year,
59
63
  key: year,
@@ -64,10 +68,11 @@ var YearPicker = function YearPicker(_ref) {
64
68
  onKeyDown: function onKeyDown(event) {
65
69
  return handleDayKeyboardEvent(event);
66
70
  },
67
- id: "year_".concat(year),
71
+ id: "".concat(id, "_year_").concat(year),
68
72
  onClick: function onClick() {
69
73
  onYearSelect(year);
70
- }
74
+ },
75
+ role: "option"
71
76
  }, year);
72
77
  }));
73
78
  };
@@ -10,7 +10,7 @@ import { HalstackProvider } from "../HalstackContext";
10
10
  import DxcHeading from "../heading/Heading";
11
11
  import DxcParagraph from "../paragraph/Paragraph";
12
12
  import DxcAlert from "../alert/Alert";
13
- import { userEvent, within } from "@storybook/testing-library";
13
+ import { userEvent, within } from "@storybook/test";
14
14
  import { INITIAL_VIEWPORTS } from "@storybook/addon-viewport";
15
15
 
16
16
  export default {
@@ -362,8 +362,7 @@ MobileResponsiveDialog.parameters = {
362
362
  };
363
363
 
364
364
  export const ScrollDialog = ScrollingDialog.bind({});
365
- ScrollDialog.play = async ({ canvasElement }) => {
366
- const canvas = within(canvasElement);
365
+ ScrollDialog.play = async () => {
367
366
  await userEvent.tab();
368
367
  await userEvent.tab();
369
368
  await userEvent.tab();
@@ -38,7 +38,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
38
38
  function ResizeObserver() {
39
39
  (0, _classCallCheck2["default"])(this, ResizeObserver);
40
40
  }
41
- (0, _createClass2["default"])(ResizeObserver, [{
41
+ return (0, _createClass2["default"])(ResizeObserver, [{
42
42
  key: "observe",
43
43
  value: function observe() {}
44
44
  }, {
@@ -48,7 +48,6 @@ global.ResizeObserver = /*#__PURE__*/function () {
48
48
  key: "disconnect",
49
49
  value: function disconnect() {}
50
50
  }]);
51
- return ResizeObserver;
52
51
  }();
53
52
  var options = [{
54
53
  label: "Female",
@@ -40,7 +40,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
40
40
  function ResizeObserver() {
41
41
  (0, _classCallCheck2["default"])(this, ResizeObserver);
42
42
  }
43
- (0, _createClass2["default"])(ResizeObserver, [{
43
+ return (0, _createClass2["default"])(ResizeObserver, [{
44
44
  key: "observe",
45
45
  value: function observe() {}
46
46
  }, {
@@ -50,7 +50,6 @@ global.ResizeObserver = /*#__PURE__*/function () {
50
50
  key: "disconnect",
51
51
  value: function disconnect() {}
52
52
  }]);
53
- return ResizeObserver;
54
53
  }();
55
54
  var options = [{
56
55
  value: "1",
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { userEvent, within } from "@storybook/testing-library";
2
+ import { userEvent, within } from "@storybook/test";
3
3
  import DxcDropdown from "./Dropdown";
4
4
  import Title from "../../.storybook/components/Title";
5
5
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
@@ -27,7 +27,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
27
27
  function ResizeObserver() {
28
28
  (0, _classCallCheck2["default"])(this, ResizeObserver);
29
29
  }
30
- (0, _createClass2["default"])(ResizeObserver, [{
30
+ return (0, _createClass2["default"])(ResizeObserver, [{
31
31
  key: "observe",
32
32
  value: function observe() {}
33
33
  }, {
@@ -37,7 +37,6 @@ global.ResizeObserver = /*#__PURE__*/function () {
37
37
  key: "disconnect",
38
38
  value: function disconnect() {}
39
39
  }]);
40
- return ResizeObserver;
41
40
  }();
42
41
  var options = [{
43
42
  value: "1",
@@ -79,9 +79,7 @@ var isFileIncluded = function isFileIncluded(file, fileList) {
79
79
  });
80
80
  };
81
81
  var DxcFileInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref3, ref) {
82
- var _ref3$name = _ref3.name,
83
- name = _ref3$name === void 0 ? "" : _ref3$name,
84
- _ref3$mode = _ref3.mode,
82
+ var _ref3$mode = _ref3.mode,
85
83
  mode = _ref3$mode === void 0 ? "file" : _ref3$mode,
86
84
  _ref3$label = _ref3.label,
87
85
  label = _ref3$label === void 0 ? "" : _ref3$label,
@@ -20,10 +20,6 @@ export type FileData = {
20
20
  preview?: string;
21
21
  };
22
22
  type CommonProps = {
23
- /**
24
- * @deprecated Name attribute.
25
- */
26
- name?: string;
27
23
  /**
28
24
  * Text to be placed above the component.
29
25
  */
@@ -209,7 +209,9 @@ const ColoredContainer = styled.div<{ color?: string; width?: string; height?: s
209
209
  padding: 1rem;
210
210
  border: 1px solid #a46ede;
211
211
  border-radius: 0.5rem;
212
- font-family: Open Sans, sans-serif;
212
+ font-family:
213
+ Open Sans,
214
+ sans-serif;
213
215
  font-size: 1.5rem;
214
216
  font-weight: bold;
215
217
  color: #a46ede;
@@ -3,7 +3,7 @@ import DxcHeader from "./Header";
3
3
  import DxcButton from "../button/Button";
4
4
  import Title from "../../.storybook/components/Title";
5
5
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
- import { userEvent, waitFor, within } from "@storybook/testing-library";
6
+ import { userEvent, waitFor, within } from "@storybook/test";
7
7
  import DxcFlex from "../flex/Flex";
8
8
  import DxcLink from "../link/Link";
9
9
  import { HalstackProvider } from "../HalstackContext";
package/icon/Icon.js CHANGED
@@ -25,7 +25,7 @@ var DxcIcon = function DxcIcon(_ref) {
25
25
  "aria-hidden": "true"
26
26
  });
27
27
  };
28
- var IconContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n font-family: \"Material Symbols Outlined\";\n font-weight: normal;\n font-style: normal;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n -webkit-font-feature-settings: \"liga\";\n -webkit-font-smoothing: antialiased;\n text-rendering: optimizeLegibility;\n -moz-osx-font-smoothing: grayscale;\n font-variation-settings: ", ";\n ::before {\n content: \"", "\";\n }\n"])), function (props) {
28
+ var IconContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n @import url(\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:FILL@0..1\");\n font-family: \"Material Symbols Outlined\";\n font-weight: normal;\n font-style: normal;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n -webkit-font-feature-settings: \"liga\";\n -webkit-font-smoothing: antialiased;\n text-rendering: optimizeLegibility;\n -moz-osx-font-smoothing: grayscale;\n font-variation-settings: ", ";\n ::before {\n content: \"", "\";\n }\n"])), function (props) {
29
29
  return props.filled ? "'FILL' 1" : "'FILL' 0";
30
30
  }, function (props) {
31
31
  return props.icon;
package/main.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import "./common/fonts.css";
2
1
  import DxcAlert from "./alert/Alert";
3
2
  import DxcAccordion from "./accordion/Accordion";
4
3
  import DxcButton from "./button/Button";
package/main.js CHANGED
@@ -311,7 +311,6 @@ Object.defineProperty(exports, "HalstackProvider", {
311
311
  return _HalstackContext.HalstackProvider;
312
312
  }
313
313
  });
314
- require("./common/fonts.css");
315
314
  var _Alert = _interopRequireDefault(require("./alert/Alert"));
316
315
  var _Accordion = _interopRequireDefault(require("./accordion/Accordion"));
317
316
  var _Button = _interopRequireDefault(require("./button/Button"));
@@ -27,7 +27,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
27
27
  function ResizeObserver() {
28
28
  (0, _classCallCheck2["default"])(this, ResizeObserver);
29
29
  }
30
- (0, _createClass2["default"])(ResizeObserver, [{
30
+ return (0, _createClass2["default"])(ResizeObserver, [{
31
31
  key: "observe",
32
32
  value: function observe() {}
33
33
  }, {
@@ -37,7 +37,6 @@ global.ResizeObserver = /*#__PURE__*/function () {
37
37
  key: "disconnect",
38
38
  value: function disconnect() {}
39
39
  }]);
40
- return ResizeObserver;
41
40
  }();
42
41
  describe("Number input component accessibility tests", function () {
43
42
  it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
@@ -32,25 +32,11 @@ export const Chromatic = () => (
32
32
  </ExampleContainer>
33
33
  <ExampleContainer>
34
34
  <Title title="Read only" theme="light" level={4} />
35
- <DxcNumberInput
36
- label="Example label"
37
- helperText="Help message"
38
- readOnly
39
- optional
40
- prefix="€"
41
- defaultValue="33"
42
- />
35
+ <DxcNumberInput label="Example label" helperText="Help message" readOnly optional prefix="€" defaultValue="33" />
43
36
  </ExampleContainer>
44
37
  <ExampleContainer pseudoState="pseudo-hover">
45
38
  <Title title="Hovered read only" theme="light" level={4} />
46
- <DxcNumberInput
47
- label="Example label"
48
- helperText="Help message"
49
- readOnly
50
- optional
51
- prefix="€"
52
- defaultValue="1"
53
- />
39
+ <DxcNumberInput label="Example label" helperText="Help message" readOnly optional prefix="€" defaultValue="1" />
54
40
  </ExampleContainer>
55
41
  <ExampleContainer pseudoState="pseudo-active">
56
42
  <Title title="Active read only" theme="light" level={4} />
@@ -27,7 +27,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
27
27
  function ResizeObserver() {
28
28
  (0, _classCallCheck2["default"])(this, ResizeObserver);
29
29
  }
30
- (0, _createClass2["default"])(ResizeObserver, [{
30
+ return (0, _createClass2["default"])(ResizeObserver, [{
31
31
  key: "observe",
32
32
  value: function observe() {}
33
33
  }, {
@@ -37,7 +37,6 @@ global.ResizeObserver = /*#__PURE__*/function () {
37
37
  key: "disconnect",
38
38
  value: function disconnect() {}
39
39
  }]);
40
- return ResizeObserver;
41
40
  }();
42
41
  describe("Number input component tests", function () {
43
42
  test("Number input renders with label, helper text, placeholder and increment/decrement action buttons", function () {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxc-technology/halstack-react",
3
- "version": "12.0.1",
3
+ "version": "12.1.0",
4
4
  "description": "DXC Halstack React components library",
5
5
  "repository": "dxc-technology/halstack-react",
6
6
  "homepage": "https://developer.dxc.com/halstack",
@@ -36,28 +36,30 @@
36
36
  },
37
37
  "devDependencies": {
38
38
  "@babel/cli": "^7.16.8",
39
- "@babel/core": "^7.24.4",
39
+ "@babel/core": "^7.24.5",
40
40
  "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8",
41
41
  "@babel/plugin-proposal-optional-chaining": "^7.13.8",
42
42
  "@babel/plugin-transform-runtime": "^7.16.8",
43
43
  "@babel/preset-env": "^7.16.8",
44
44
  "@babel/preset-react": "^7.16.7",
45
45
  "@babel/preset-typescript": "^7.16.7",
46
- "@storybook/addon-a11y": "^7.6.17",
47
- "@storybook/addon-essentials": "^7.5.3",
48
- "@storybook/addon-interactions": "^7.5.3",
49
- "@storybook/addon-links": "^7.5.3",
50
- "@storybook/blocks": "^7.5.3",
51
- "@storybook/react": "^7.5.3",
52
- "@storybook/react-vite": "^7.5.3",
53
- "@storybook/test-runner": "^0.16.0",
54
- "@storybook/testing-library": "^0.2.2",
46
+ "@chromatic-com/storybook": "^1.3.3",
47
+ "@storybook/addon-a11y": "^8.0.8",
48
+ "@storybook/addon-essentials": "^8.0.8",
49
+ "@storybook/addon-interactions": "^8.0.8",
50
+ "@storybook/addon-links": "^8.0.8",
51
+ "@storybook/blocks": "^8.0.8",
52
+ "@storybook/builder-vite": "^8.0.8",
53
+ "@storybook/react": "^8.0.8",
54
+ "@storybook/react-vite": "^8.0.8",
55
+ "@storybook/test": "^8.0.8",
56
+ "@storybook/test-runner": "^0.17.0",
55
57
  "@testing-library/react": "^13.0.0",
56
58
  "@testing-library/user-event": "^13.0.0",
57
59
  "@types/color": "^3.0.3",
58
60
  "@types/jest": "^29.5.12",
59
61
  "@types/jest-axe": "^3.5.9",
60
- "@types/react": "^18.0.18",
62
+ "@types/react": "^18.2.79",
61
63
  "@types/styled-components": "5.1.29",
62
64
  "axe-playwright": "^2.0.1",
63
65
  "babel-jest": "^24.8.0",
@@ -70,9 +72,9 @@
70
72
  "eslint-plugin-import": "^2.29.0",
71
73
  "eslint-plugin-jest": "^27.6.0",
72
74
  "eslint-plugin-jsx-a11y": "^6.8.0",
73
- "eslint-plugin-react": "^7.33.2",
75
+ "eslint-plugin-react": "^7.34.1",
74
76
  "eslint-plugin-react-hooks": "^4.6.0",
75
- "eslint-plugin-storybook": "^0.6.15",
77
+ "eslint-plugin-storybook": "^0.8.0",
76
78
  "identity-obj-proxy": "^3.0.0",
77
79
  "jest": "^29.7.0",
78
80
  "jest-axe": "^8.0.0",
@@ -80,7 +82,7 @@
80
82
  "playwright": "^1.41.2",
81
83
  "react": "^18.2.0",
82
84
  "react-dom": "^18.2.0",
83
- "storybook": "^7.5.3",
85
+ "storybook": "^8.0.8",
84
86
  "storybook-addon-pseudo-states": "^3.0.1",
85
87
  "style-loader": "^4.0.0",
86
88
  "styled-components": "^5.0.1",
@@ -27,7 +27,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
27
27
  function ResizeObserver() {
28
28
  (0, _classCallCheck2["default"])(this, ResizeObserver);
29
29
  }
30
- (0, _createClass2["default"])(ResizeObserver, [{
30
+ return (0, _createClass2["default"])(ResizeObserver, [{
31
31
  key: "observe",
32
32
  value: function observe() {}
33
33
  }, {
@@ -37,7 +37,6 @@ global.ResizeObserver = /*#__PURE__*/function () {
37
37
  key: "disconnect",
38
38
  value: function disconnect() {}
39
39
  }]);
40
- return ResizeObserver;
41
40
  }();
42
41
  global.DOMRect = {
43
42
  fromRect: function fromRect() {
@@ -27,7 +27,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
27
27
  function ResizeObserver() {
28
28
  (0, _classCallCheck2["default"])(this, ResizeObserver);
29
29
  }
30
- (0, _createClass2["default"])(ResizeObserver, [{
30
+ return (0, _createClass2["default"])(ResizeObserver, [{
31
31
  key: "observe",
32
32
  value: function observe() {}
33
33
  }, {
@@ -37,7 +37,6 @@ global.ResizeObserver = /*#__PURE__*/function () {
37
37
  key: "disconnect",
38
38
  value: function disconnect() {}
39
39
  }]);
40
- return ResizeObserver;
41
40
  }();
42
41
  global.DOMRect = {
43
42
  fromRect: function fromRect() {
@@ -27,7 +27,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
27
27
  function ResizeObserver() {
28
28
  (0, _classCallCheck2["default"])(this, ResizeObserver);
29
29
  }
30
- (0, _createClass2["default"])(ResizeObserver, [{
30
+ return (0, _createClass2["default"])(ResizeObserver, [{
31
31
  key: "observe",
32
32
  value: function observe() {}
33
33
  }, {
@@ -37,7 +37,6 @@ global.ResizeObserver = /*#__PURE__*/function () {
37
37
  key: "disconnect",
38
38
  value: function disconnect() {}
39
39
  }]);
40
- return ResizeObserver;
41
40
  }();
42
41
  describe("Password input component accessibility tests", function () {
43
42
  it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {