@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.
- package/HalstackContext.d.ts +3 -0
- package/HalstackContext.js +5 -1
- package/breadcrumbs/Breadcrumbs.stories.tsx +1 -1
- package/breadcrumbs/Breadcrumbs.test.js +1 -2
- package/card/Card.stories.tsx +1 -1
- package/chip/Chip.accessibility.test.js +0 -2
- package/chip/Chip.js +21 -10
- package/chip/Chip.stories.tsx +43 -79
- package/chip/types.d.ts +12 -35
- package/common/variables.d.ts +3 -0
- package/common/variables.js +4 -1
- package/contextual-menu/ContextualMenu.js +24 -4
- package/contextual-menu/ContextualMenu.stories.tsx +5 -14
- package/contextual-menu/ContextualMenu.test.js +108 -66
- package/contextual-menu/GroupItem.js +9 -9
- package/contextual-menu/ItemAction.d.ts +1 -1
- package/contextual-menu/ItemAction.js +8 -9
- package/contextual-menu/SingleItem.d.ts +1 -1
- package/contextual-menu/SingleItem.js +14 -14
- package/contextual-menu/types.d.ts +9 -6
- package/date-input/Calendar.js +46 -30
- package/date-input/DateInput.accessibility.test.js +12 -13
- package/date-input/DateInput.js +9 -3
- package/date-input/DateInput.stories.tsx +5 -6
- package/date-input/DateInput.test.js +30 -31
- package/date-input/YearPicker.js +9 -4
- package/dialog/Dialog.stories.tsx +2 -3
- package/dialog/Dialog.test.js +1 -2
- package/dropdown/Dropdown.accessibility.test.js +1 -2
- package/dropdown/Dropdown.stories.tsx +1 -1
- package/dropdown/Dropdown.test.js +1 -2
- package/file-input/FileInput.js +1 -3
- package/file-input/types.d.ts +0 -4
- package/grid/Grid.stories.tsx +3 -1
- package/header/Header.stories.tsx +1 -1
- package/icon/Icon.js +1 -1
- package/main.d.ts +0 -1
- package/main.js +0 -1
- package/number-input/NumberInput.accessibility.test.js +1 -2
- package/number-input/NumberInput.stories.tsx +2 -16
- package/number-input/NumberInput.test.js +1 -2
- package/package.json +17 -15
- package/paginator/Paginator.accessibility.test.js +1 -2
- package/paginator/Paginator.test.js +1 -2
- package/password-input/PasswordInput.accessibility.test.js +1 -2
- package/password-input/PasswordInput.stories.tsx +1 -1
- package/password-input/PasswordInput.test.js +1 -2
- package/resultset-table/ResultsetTable.accessibility.test.js +1 -2
- package/resultset-table/ResultsetTable.stories.tsx +1 -1
- package/resultset-table/ResultsetTable.test.js +1 -2
- package/select/Select.accessibility.test.js +1 -2
- package/select/Select.stories.tsx +1 -1
- package/select/Select.test.js +1 -2
- package/sidenav/Sidenav.stories.tsx +1 -1
- package/slider/Slider.accessibility.test.js +1 -2
- package/slider/Slider.test.js +1 -2
- package/table/Table.accessibility.test.js +1 -2
- package/table/Table.stories.tsx +1 -1
- package/table/Table.test.js +1 -2
- package/tabs/Tabs.stories.tsx +2 -2
- package/tag/Tag.stories.tsx +1 -1
- package/text-input/TextInput.accessibility.test.js +1 -2
- package/text-input/TextInput.stories.tsx +2 -8
- package/text-input/TextInput.test.js +1 -2
- package/textarea/Textarea.js +11 -8
- package/toggle-group/ToggleGroup.stories.tsx +1 -1
- package/typography/Typography.stories.tsx +1 -3
- package/useTheme.d.ts +3 -0
- package/utils/FocusLock.js +2 -1
- package/wizard/Wizard.stories.tsx +1 -1
- package/common/fonts.css +0 -2
package/date-input/DateInput.js
CHANGED
|
@@ -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
|
-
|
|
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(
|
|
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/
|
|
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,
|
|
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-
|
|
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-
|
|
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-
|
|
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]
|
|
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]
|
|
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]
|
|
448
|
-
_react2.fireEvent.keyDown(getAllByText("1")[0]
|
|
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]
|
|
455
|
-
_react2.fireEvent.keyDown(getAllByText("2")[0]
|
|
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]
|
|
460
|
+
expect(document.activeElement === getAllByText("2")[0]).toBeTruthy();
|
|
462
461
|
expect(getByText("December 2009")).toBeTruthy();
|
|
463
|
-
_react2.fireEvent.keyDown(getAllByText("2")[0]
|
|
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]
|
|
468
|
+
expect(document.activeElement === getAllByText("2")[0]).toBeTruthy();
|
|
470
469
|
expect(getByText("January 2010")).toBeTruthy();
|
|
471
|
-
_react2.fireEvent.keyDown(getAllByText("2")[0]
|
|
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]
|
|
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]
|
|
488
|
-
_react2.fireEvent.click(getAllByText("2")[0]
|
|
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].
|
|
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]
|
|
522
|
-
_react2.fireEvent.keyDown(getAllByText("1")[0]
|
|
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]
|
|
529
|
-
_react2.fireEvent.keyDown(getAllByText("8")[0]
|
|
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]
|
|
536
|
-
_react2.fireEvent.keyDown(getAllByText("15")[0]
|
|
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]
|
|
543
|
-
_react2.fireEvent.keyDown(getAllByText("8")[0]
|
|
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]
|
|
550
|
-
_react2.fireEvent.keyDown(getAllByText("10")[0]
|
|
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]
|
|
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")).
|
|
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 =
|
|
732
|
+
_context17.next = 12;
|
|
735
733
|
return _userEvent["default"].click(calendarAction);
|
|
736
|
-
case
|
|
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:
|
package/date-input/YearPicker.js
CHANGED
|
@@ -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("
|
|
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,
|
|
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: "
|
|
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/
|
|
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 (
|
|
366
|
-
const canvas = within(canvasElement);
|
|
365
|
+
ScrollDialog.play = async () => {
|
|
367
366
|
await userEvent.tab();
|
|
368
367
|
await userEvent.tab();
|
|
369
368
|
await userEvent.tab();
|
package/dialog/Dialog.test.js
CHANGED
|
@@ -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/
|
|
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",
|
package/file-input/FileInput.js
CHANGED
|
@@ -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$
|
|
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,
|
package/file-input/types.d.ts
CHANGED
package/grid/Grid.stories.tsx
CHANGED
|
@@ -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:
|
|
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/
|
|
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
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
|
|
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.
|
|
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
|
|
47
|
-
"@storybook/addon-
|
|
48
|
-
"@storybook/addon-
|
|
49
|
-
"@storybook/addon-
|
|
50
|
-
"@storybook/
|
|
51
|
-
"@storybook/
|
|
52
|
-
"@storybook/
|
|
53
|
-
"@storybook/
|
|
54
|
-
"@storybook/
|
|
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.
|
|
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.
|
|
75
|
+
"eslint-plugin-react": "^7.34.1",
|
|
74
76
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
75
|
-
"eslint-plugin-storybook": "^0.
|
|
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": "^
|
|
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() {
|