@dxc-technology/halstack-react 0.0.0-d3554d7 → 0.0.0-d3ac293
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/BackgroundColorContext.d.ts +2 -2
- package/BackgroundColorContext.js +1 -1
- package/HalstackContext.d.ts +1336 -0
- package/HalstackContext.js +335 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +118 -126
- package/accordion/Accordion.stories.tsx +115 -27
- package/accordion/Accordion.test.js +26 -12
- package/accordion/types.d.ts +9 -4
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +17 -38
- package/accordion-group/AccordionGroup.stories.tsx +28 -2
- package/accordion-group/AccordionGroup.test.js +31 -38
- package/accordion-group/types.d.ts +14 -3
- package/alert/Alert.js +7 -4
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +1 -0
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +94 -95
- package/bleed/types.d.ts +25 -1
- package/box/Box.js +25 -37
- package/box/Box.stories.tsx +15 -0
- package/box/Box.test.js +1 -1
- package/box/types.d.ts +1 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/button/Button.js +52 -69
- package/button/Button.stories.tsx +159 -8
- package/button/Button.test.js +1 -1
- package/button/types.d.ts +7 -7
- package/card/Card.js +25 -28
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +107 -110
- package/checkbox/Checkbox.stories.tsx +198 -130
- package/checkbox/Checkbox.test.js +101 -11
- package/checkbox/types.d.ts +13 -5
- package/chip/Chip.js +18 -24
- package/chip/Chip.stories.tsx +96 -9
- package/chip/Chip.test.js +3 -5
- package/chip/types.d.ts +1 -1
- package/common/utils.d.ts +1 -0
- package/common/utils.js +4 -4
- package/common/variables.d.ts +1625 -0
- package/common/variables.js +483 -352
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +169 -258
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +521 -155
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +146 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +126 -0
- package/date-input/types.d.ts +67 -9
- package/dialog/Dialog.js +76 -93
- package/dialog/Dialog.stories.tsx +230 -123
- package/dialog/Dialog.test.js +334 -5
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +246 -253
- package/dropdown/Dropdown.stories.tsx +245 -56
- package/dropdown/Dropdown.test.js +507 -110
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +70 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +81 -0
- package/dropdown/types.d.ts +25 -5
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +181 -223
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +14 -14
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +44 -66
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +69 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +32 -0
- package/footer/Footer.js +16 -89
- package/footer/Footer.stories.tsx +99 -1
- package/footer/Footer.test.js +14 -26
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +2 -1
- package/header/Header.js +108 -129
- package/header/Header.stories.tsx +189 -36
- package/header/Header.test.js +20 -4
- package/header/Icons.js +2 -2
- package/header/types.d.ts +3 -2
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +36 -36
- package/inset/types.d.ts +25 -1
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +72 -132
- package/layout/ApplicationLayout.stories.tsx +84 -93
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +18 -33
- package/link/Link.d.ts +3 -2
- package/link/Link.js +59 -76
- package/link/Link.stories.tsx +155 -53
- package/link/Link.test.js +9 -19
- package/link/types.d.ts +7 -23
- package/main.d.ts +8 -10
- package/main.js +46 -56
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +125 -0
- package/nav-tabs/NavTabs.stories.tsx +260 -0
- package/nav-tabs/NavTabs.test.js +82 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +150 -0
- package/nav-tabs/types.d.ts +53 -0
- package/number-input/NumberInput.js +11 -18
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +46 -12
- package/number-input/types.d.ts +17 -10
- package/package.json +20 -23
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +19 -46
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +78 -39
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +7 -4
- package/password-input/PasswordInput.test.js +17 -19
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +61 -55
- package/progress-bar/ProgressBar.stories.jsx +47 -12
- package/progress-bar/ProgressBar.test.js +68 -23
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +117 -0
- package/quick-nav/QuickNav.stories.tsx +356 -0
- package/quick-nav/types.d.ts +21 -0
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +43 -28
- package/radio-group/RadioGroup.js +32 -28
- package/radio-group/RadioGroup.stories.tsx +135 -17
- package/radio-group/RadioGroup.test.js +145 -117
- package/radio-group/types.d.ts +79 -2
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +49 -108
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +61 -42
- package/resultsetTable/types.d.ts +2 -2
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +169 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +97 -0
- package/select/Select.js +179 -384
- package/select/Select.stories.tsx +531 -142
- package/select/Select.test.js +652 -324
- package/select/types.d.ts +53 -13
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +183 -53
- package/sidenav/Sidenav.stories.tsx +249 -149
- package/sidenav/Sidenav.test.js +25 -37
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +124 -98
- package/slider/Slider.stories.tsx +72 -9
- package/slider/Slider.test.js +143 -22
- package/slider/types.d.ts +10 -2
- package/spinner/Spinner.js +4 -4
- package/spinner/Spinner.stories.jsx +27 -1
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +152 -69
- package/switch/Switch.stories.tsx +53 -42
- package/switch/Switch.test.js +156 -4
- package/switch/types.d.ts +12 -4
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +2 -2
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +133 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +363 -109
- package/tabs/Tabs.stories.tsx +119 -13
- package/tabs/Tabs.test.js +241 -14
- package/tabs/types.d.ts +19 -5
- package/tag/Tag.js +17 -22
- package/tag/Tag.stories.tsx +25 -8
- package/tag/Tag.test.js +1 -1
- package/tag/types.d.ts +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +84 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +221 -344
- package/text-input/TextInput.stories.tsx +290 -195
- package/text-input/TextInput.test.js +763 -731
- package/text-input/types.d.ts +50 -12
- package/textarea/Textarea.js +17 -26
- package/textarea/Textarea.stories.jsx +65 -6
- package/textarea/Textarea.test.js +38 -37
- package/textarea/types.d.ts +18 -11
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +6 -5
- package/toggle-group/ToggleGroup.stories.tsx +46 -4
- package/toggle-group/ToggleGroup.test.js +36 -5
- package/toggle-group/types.d.ts +9 -1
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +32 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +1234 -1
- package/useTheme.js +3 -3
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +20 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +139 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +59 -55
- package/wizard/Wizard.stories.tsx +48 -19
- package/wizard/Wizard.test.js +37 -24
- package/wizard/types.d.ts +10 -5
- package/ThemeContext.d.ts +0 -10
- package/ThemeContext.js +0 -243
- package/common/RequiredComponent.js +0 -32
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/Radio.test.js +0 -71
- package/radio/types.d.ts +0 -54
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -10
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -9
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- /package/{list → bulleted-list}/types.js +0 -0
- /package/{radio → flex}/types.js +0 -0
- /package/{row → nav-tabs}/types.js +0 -0
- /package/{stack → quick-nav}/types.js +0 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
var _NavTabs = _interopRequireDefault(require("./NavTabs.tsx"));
|
|
10
|
+
|
|
11
|
+
describe("Tabs component tests", function () {
|
|
12
|
+
test("Tabs render with correct labels and attributes", function () {
|
|
13
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NavTabs["default"], null, /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
14
|
+
href: "/test1",
|
|
15
|
+
active: true
|
|
16
|
+
}, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
17
|
+
href: "/test2",
|
|
18
|
+
disabled: true
|
|
19
|
+
}, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
20
|
+
href: "/test3"
|
|
21
|
+
}, "Tab 3"))),
|
|
22
|
+
getByText = _render.getByText,
|
|
23
|
+
getAllByRole = _render.getAllByRole,
|
|
24
|
+
getByRole = _render.getByRole;
|
|
25
|
+
|
|
26
|
+
expect(getByRole("tablist")).toBeTruthy();
|
|
27
|
+
expect(getByRole("tablist").getAttribute("aria-label")).toBe("Navigation tabs");
|
|
28
|
+
expect(getByText("Tab 1")).toBeTruthy();
|
|
29
|
+
expect(getByText("Tab 2")).toBeTruthy();
|
|
30
|
+
expect(getByText("Tab 3")).toBeTruthy();
|
|
31
|
+
var tabs = getAllByRole("tab");
|
|
32
|
+
tabs.forEach(function (tab, index) {
|
|
33
|
+
expect(tab.getAttribute("aria-selected")).toBe((index === 0).toString());
|
|
34
|
+
});
|
|
35
|
+
var anchors = getAllByRole("link");
|
|
36
|
+
expect(anchors.length).toBe(2);
|
|
37
|
+
expect(anchors[0].getAttribute("href")).toBe("/test1");
|
|
38
|
+
expect(anchors[1].getAttribute("href")).toBe("/test3");
|
|
39
|
+
expect(anchors[0].getAttribute("tabindex")).toBe("0");
|
|
40
|
+
expect(anchors[1].getAttribute("tabindex")).toBe("-1");
|
|
41
|
+
});
|
|
42
|
+
test("Tabs render with correct labels, badges and icons", function () {
|
|
43
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NavTabs["default"], null, /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
44
|
+
href: "/test1",
|
|
45
|
+
active: true,
|
|
46
|
+
notificationNumber: 10
|
|
47
|
+
}, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
48
|
+
href: "/test2",
|
|
49
|
+
disabled: true,
|
|
50
|
+
notificationNumber: 20
|
|
51
|
+
}, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
52
|
+
href: "/test3",
|
|
53
|
+
notificationNumber: 1000,
|
|
54
|
+
icon: "/testIcon.png"
|
|
55
|
+
}, "Tab 3"))),
|
|
56
|
+
getByText = _render2.getByText,
|
|
57
|
+
getByRole = _render2.getByRole;
|
|
58
|
+
|
|
59
|
+
expect(getByText("10")).toBeTruthy();
|
|
60
|
+
expect(getByText("20")).toBeTruthy();
|
|
61
|
+
expect(getByText("+99")).toBeTruthy();
|
|
62
|
+
expect(getByRole("img")).toBeTruthy();
|
|
63
|
+
});
|
|
64
|
+
test("Tabs render with correct tab index", function () {
|
|
65
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NavTabs["default"], {
|
|
66
|
+
tabIndex: 3
|
|
67
|
+
}, /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
68
|
+
href: "/test1"
|
|
69
|
+
}, "Tab 1"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
70
|
+
href: "/test2",
|
|
71
|
+
disabled: true
|
|
72
|
+
}, "Tab 2"), /*#__PURE__*/_react["default"].createElement(_NavTabs["default"].Tab, {
|
|
73
|
+
href: "/test3",
|
|
74
|
+
active: true
|
|
75
|
+
}, "Tab 3"))),
|
|
76
|
+
getAllByRole = _render3.getAllByRole;
|
|
77
|
+
|
|
78
|
+
var tabs = getAllByRole("link");
|
|
79
|
+
expect(tabs[0].getAttribute("tabindex")).toBe("-1");
|
|
80
|
+
expect(tabs[1].getAttribute("tabindex")).toBe("3");
|
|
81
|
+
});
|
|
82
|
+
});
|
package/nav-tabs/Tab.js
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
|
|
14
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
|
+
|
|
16
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
21
|
+
|
|
22
|
+
var _Badge = _interopRequireDefault(require("../badge/Badge"));
|
|
23
|
+
|
|
24
|
+
var _NavTabs = require("./NavTabs");
|
|
25
|
+
|
|
26
|
+
var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
|
|
27
|
+
|
|
28
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
29
|
+
|
|
30
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
31
|
+
|
|
32
|
+
var _excluded = ["href", "active", "icon", "disabled", "notificationNumber", "children"];
|
|
33
|
+
|
|
34
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
35
|
+
|
|
36
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
37
|
+
|
|
38
|
+
var DxcTab = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, _ref2) {
|
|
39
|
+
var href = _ref.href,
|
|
40
|
+
_ref$active = _ref.active,
|
|
41
|
+
active = _ref$active === void 0 ? false : _ref$active,
|
|
42
|
+
icon = _ref.icon,
|
|
43
|
+
_ref$disabled = _ref.disabled,
|
|
44
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
45
|
+
_ref$notificationNumb = _ref.notificationNumber,
|
|
46
|
+
notificationNumber = _ref$notificationNumb === void 0 ? false : _ref$notificationNumb,
|
|
47
|
+
children = _ref.children,
|
|
48
|
+
otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
49
|
+
var tabRef = /*#__PURE__*/(0, _react.createRef)();
|
|
50
|
+
|
|
51
|
+
var _useContext = (0, _react.useContext)(_NavTabs.NavTabsContext),
|
|
52
|
+
iconPosition = _useContext.iconPosition,
|
|
53
|
+
tabIndex = _useContext.tabIndex,
|
|
54
|
+
hasIcons = _useContext.hasIcons,
|
|
55
|
+
focusedLabel = _useContext.focusedLabel;
|
|
56
|
+
|
|
57
|
+
var colorsTheme = (0, _useTheme["default"])();
|
|
58
|
+
(0, _react.useLayoutEffect)(function () {
|
|
59
|
+
var _tabRef$current;
|
|
60
|
+
|
|
61
|
+
focusedLabel === children.toString() && (tabRef === null || tabRef === void 0 ? void 0 : (_tabRef$current = tabRef.current) === null || _tabRef$current === void 0 ? void 0 : _tabRef$current.focus());
|
|
62
|
+
}, [focusedLabel]);
|
|
63
|
+
|
|
64
|
+
var handleOnKeyDown = function handleOnKeyDown(event) {
|
|
65
|
+
var _tabRef$current2;
|
|
66
|
+
|
|
67
|
+
switch (event.key) {
|
|
68
|
+
case " ":
|
|
69
|
+
case "Enter":
|
|
70
|
+
tabRef === null || tabRef === void 0 ? void 0 : (_tabRef$current2 = tabRef.current) === null || _tabRef$current2 === void 0 ? void 0 : _tabRef$current2.click();
|
|
71
|
+
event.preventDefault();
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
return /*#__PURE__*/_react["default"].createElement(TabContainer, {
|
|
77
|
+
active: active,
|
|
78
|
+
role: "tab",
|
|
79
|
+
"aria-selected": active,
|
|
80
|
+
"aria-disabled": disabled
|
|
81
|
+
}, /*#__PURE__*/_react["default"].createElement(Tab, (0, _extends2["default"])({
|
|
82
|
+
href: !disabled && href ? href : undefined,
|
|
83
|
+
disabled: disabled,
|
|
84
|
+
active: active,
|
|
85
|
+
iconPosition: iconPosition,
|
|
86
|
+
hasIcon: hasIcons,
|
|
87
|
+
ref: function ref(anchorRef) {
|
|
88
|
+
tabRef.current = anchorRef;
|
|
89
|
+
|
|
90
|
+
if (_ref2) {
|
|
91
|
+
if (typeof _ref2 === "function") _ref2(anchorRef);else {
|
|
92
|
+
_ref2.current = anchorRef;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
onKeyDown: handleOnKeyDown,
|
|
97
|
+
tabIndex: active ? tabIndex : -1
|
|
98
|
+
}, otherProps), icon && /*#__PURE__*/_react["default"].createElement(TabIconContainer, {
|
|
99
|
+
iconPosition: iconPosition
|
|
100
|
+
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
101
|
+
src: icon
|
|
102
|
+
}) : icon), /*#__PURE__*/_react["default"].createElement(LabelContainer, null, /*#__PURE__*/_react["default"].createElement(_BaseTypography["default"], {
|
|
103
|
+
color: disabled ? colorsTheme.navTabs.disabledFontColor : active ? colorsTheme.navTabs.selectedFontColor : colorsTheme.navTabs.unselectedFontColor,
|
|
104
|
+
fontFamily: colorsTheme.navTabs.fontFamily,
|
|
105
|
+
fontSize: colorsTheme.navTabs.fontSize,
|
|
106
|
+
fontStyle: colorsTheme.navTabs.fontStyle,
|
|
107
|
+
fontWeight: colorsTheme.navTabs.fontWeight,
|
|
108
|
+
textAlign: "center",
|
|
109
|
+
letterSpacing: "0.025em",
|
|
110
|
+
lineHeight: "1.715em"
|
|
111
|
+
}, children), notificationNumber && /*#__PURE__*/_react["default"].createElement(BadgeContainer, null, /*#__PURE__*/_react["default"].createElement(_Badge["default"], {
|
|
112
|
+
notificationText: notificationNumber > 99 ? "+99" : notificationNumber,
|
|
113
|
+
disabled: disabled
|
|
114
|
+
})))));
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
var TabContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n border-bottom: 2px solid ", ";\n svg {\n color: ", ";\n }\n\n &[aria-selected=\"true\"] {\n svg {\n color: ", ";\n }\n }\n\n &[aria-disabled=\"true\"] {\n svg {\n color: ", ";\n }\n }\n"])), function (props) {
|
|
118
|
+
return props.active ? props.theme.selectedUnderlineColor : props.theme.dividerColor;
|
|
119
|
+
}, function (props) {
|
|
120
|
+
return props.theme.unselectedIconColor;
|
|
121
|
+
}, function (props) {
|
|
122
|
+
return props.theme.selectedIconColor;
|
|
123
|
+
}, function (props) {
|
|
124
|
+
return props.theme.disabledIconColor;
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
var Tab = _styledComponents["default"].a(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n justify-content: center;\n align-items: center;\n height: ", ";\n min-width: 164px;\n margin: 0.5rem;\n padding: 0.375rem;\n border-radius: 4px;\n background: ", ";\n text-decoration-color: transparent;\n cursor: ", ";\n\n ", "\n"])), function (props) {
|
|
128
|
+
return props.hasIcon && props.iconPosition === "top" ? "column" : "row";
|
|
129
|
+
}, function (props) {
|
|
130
|
+
return props.hasIcon && props.iconPosition === "top" ? "66px" : "32px";
|
|
131
|
+
}, function (props) {
|
|
132
|
+
return props.active ? props.theme.selectedBackgroundColor : props.theme.unselectedBackgroundColor;
|
|
133
|
+
}, function (props) {
|
|
134
|
+
return props.disabled ? "not-allowed" : "pointer";
|
|
135
|
+
}, function (props) {
|
|
136
|
+
return !props.disabled && "\n :hover {\n background: ".concat(props.theme.hoverBackgroundColor, ";\n }\n :focus {\n outline: 2px solid ").concat(props.theme.focusOutline, ";\n }\n :active {\n background: ").concat(props.theme.pressedBackgroundColor, ";\n outline: 2px solid #33aaff};\n }\n ");
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
var TabIconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n margin-bottom: ", ";\n margin-right: ", ";\n\n img,\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
|
|
140
|
+
return props.iconPosition === "top" && "0.375rem";
|
|
141
|
+
}, function (props) {
|
|
142
|
+
return props.iconPosition === "left" && "0.625rem";
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
var LabelContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n"])));
|
|
146
|
+
|
|
147
|
+
var BadgeContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 0.5rem;\n"])));
|
|
148
|
+
|
|
149
|
+
var _default = DxcTab;
|
|
150
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
3
|
+
export declare type TabProps = {
|
|
4
|
+
/**
|
|
5
|
+
* Whether the tab is active or not.
|
|
6
|
+
*/
|
|
7
|
+
active?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Whether the tab is disabled or not.
|
|
10
|
+
*/
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Page to be opened when the user clicks on the tab.
|
|
14
|
+
*/
|
|
15
|
+
href?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Element or path used as the icon that will be displayed in the tab.
|
|
18
|
+
*/
|
|
19
|
+
icon?: string | SVG;
|
|
20
|
+
/**
|
|
21
|
+
* If the value is 'true', an empty badge will appear.
|
|
22
|
+
* If it is 'false', no badge will appear.
|
|
23
|
+
* If a number is put it will be shown as the label of the notification
|
|
24
|
+
* in the tab, taking into account that if that number is greater than 99,
|
|
25
|
+
* it will appear as '+99' in the badge.
|
|
26
|
+
*/
|
|
27
|
+
notificationNumber?: boolean | number;
|
|
28
|
+
/**
|
|
29
|
+
* Content of the tab.
|
|
30
|
+
*/
|
|
31
|
+
children: string;
|
|
32
|
+
};
|
|
33
|
+
export declare type NavTabsProps = {
|
|
34
|
+
/**
|
|
35
|
+
* Whether the icon should appear above or to the left of the label.
|
|
36
|
+
*/
|
|
37
|
+
iconPosition?: "top" | "left";
|
|
38
|
+
/**
|
|
39
|
+
* Value of the tabindex for each tab.
|
|
40
|
+
*/
|
|
41
|
+
tabIndex?: number;
|
|
42
|
+
/**
|
|
43
|
+
* Content of the tabs nav.
|
|
44
|
+
*/
|
|
45
|
+
children: React.ReactNode;
|
|
46
|
+
};
|
|
47
|
+
export declare type NavTabsContextProps = {
|
|
48
|
+
iconPosition: "top" | "left";
|
|
49
|
+
tabIndex: number;
|
|
50
|
+
hasIcons: boolean;
|
|
51
|
+
focusedLabel: string;
|
|
52
|
+
};
|
|
53
|
+
export {};
|
|
@@ -21,20 +21,15 @@ var _templateObject;
|
|
|
21
21
|
|
|
22
22
|
var DxcNumberInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
23
23
|
var label = _ref.label,
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
name = _ref.name,
|
|
25
|
+
defaultValue = _ref.defaultValue,
|
|
26
26
|
value = _ref.value,
|
|
27
27
|
helperText = _ref.helperText,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
34
|
-
_ref$prefix = _ref.prefix,
|
|
35
|
-
prefix = _ref$prefix === void 0 ? "" : _ref$prefix,
|
|
36
|
-
_ref$suffix = _ref.suffix,
|
|
37
|
-
suffix = _ref$suffix === void 0 ? "" : _ref$suffix,
|
|
28
|
+
placeholder = _ref.placeholder,
|
|
29
|
+
disabled = _ref.disabled,
|
|
30
|
+
optional = _ref.optional,
|
|
31
|
+
prefix = _ref.prefix,
|
|
32
|
+
suffix = _ref.suffix,
|
|
38
33
|
min = _ref.min,
|
|
39
34
|
max = _ref.max,
|
|
40
35
|
_ref$step = _ref.step,
|
|
@@ -42,13 +37,10 @@ var DxcNumberInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, r
|
|
|
42
37
|
onChange = _ref.onChange,
|
|
43
38
|
onBlur = _ref.onBlur,
|
|
44
39
|
error = _ref.error,
|
|
45
|
-
|
|
46
|
-
autocomplete = _ref$autocomplete === void 0 ? "off" : _ref$autocomplete,
|
|
40
|
+
autocomplete = _ref.autocomplete,
|
|
47
41
|
margin = _ref.margin,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
_ref$tabIndex = _ref.tabIndex,
|
|
51
|
-
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
42
|
+
size = _ref.size,
|
|
43
|
+
tabIndex = _ref.tabIndex;
|
|
52
44
|
return /*#__PURE__*/_react["default"].createElement(_NumberInputContext["default"].Provider, {
|
|
53
45
|
value: {
|
|
54
46
|
typeNumber: "number",
|
|
@@ -59,6 +51,7 @@ var DxcNumberInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, r
|
|
|
59
51
|
}, /*#__PURE__*/_react["default"].createElement(NumberInputContainer, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
60
52
|
label: label,
|
|
61
53
|
name: name,
|
|
54
|
+
defaultValue: defaultValue,
|
|
62
55
|
value: value,
|
|
63
56
|
helperText: helperText,
|
|
64
57
|
placeholder: placeholder,
|
|
@@ -22,7 +22,7 @@ export const Chromatic = () => (
|
|
|
22
22
|
</ExampleContainer>
|
|
23
23
|
<ExampleContainer>
|
|
24
24
|
<Title title="Helper text, optional and value" theme="light" level={4} />
|
|
25
|
-
<DxcNumberInput label="Number input"
|
|
25
|
+
<DxcNumberInput label="Number input" defaultValue="12" helperText="Help message" optional />
|
|
26
26
|
</ExampleContainer>
|
|
27
27
|
<ExampleContainer>
|
|
28
28
|
<Title title="Disabled and placeholder" theme="light" level={4} />
|
|
@@ -30,7 +30,7 @@ export const Chromatic = () => (
|
|
|
30
30
|
</ExampleContainer>
|
|
31
31
|
<ExampleContainer>
|
|
32
32
|
<Title title="Disabled, helper text, optional and value" theme="light" level={4} />
|
|
33
|
-
<DxcNumberInput label="Disabled number input" helperText="Help message" disabled optional
|
|
33
|
+
<DxcNumberInput label="Disabled number input" helperText="Help message" disabled optional defaultValue="10" />
|
|
34
34
|
</ExampleContainer>
|
|
35
35
|
<ExampleContainer>
|
|
36
36
|
<Title title="Prefix" theme="light" level={4} />
|
|
@@ -42,7 +42,7 @@ export const Chromatic = () => (
|
|
|
42
42
|
</ExampleContainer>
|
|
43
43
|
<ExampleContainer>
|
|
44
44
|
<Title title="Invalid" theme="light" level={4} />
|
|
45
|
-
<DxcNumberInput label="Error number input" helperText="Help message" error="Error message."
|
|
45
|
+
<DxcNumberInput label="Error number input" helperText="Help message" error="Error message." defaultValue="23" optional />
|
|
46
46
|
</ExampleContainer>
|
|
47
47
|
<BackgroundColorProvider color="#333333">
|
|
48
48
|
<DarkContainer>
|
|
@@ -53,7 +53,7 @@ export const Chromatic = () => (
|
|
|
53
53
|
</ExampleContainer>
|
|
54
54
|
<ExampleContainer>
|
|
55
55
|
<Title title="Helper text, value and error" theme="dark" level={4} />
|
|
56
|
-
<DxcNumberInput label="Number input" helperText="Help message" error="Error message."
|
|
56
|
+
<DxcNumberInput label="Number input" helperText="Help message" error="Error message." defaultValue="199" />
|
|
57
57
|
</ExampleContainer>
|
|
58
58
|
<ExampleContainer>
|
|
59
59
|
<Title title="Disabled and placeholder" theme="dark" level={4} />
|
|
@@ -61,7 +61,7 @@ export const Chromatic = () => (
|
|
|
61
61
|
</ExampleContainer>
|
|
62
62
|
<ExampleContainer>
|
|
63
63
|
<Title title="Disabled, helper text, optional and value" theme="dark" level={4} />
|
|
64
|
-
<DxcNumberInput label="Disabled number input" helperText="Help message" disabled optional
|
|
64
|
+
<DxcNumberInput label="Disabled number input" helperText="Help message" disabled optional defaultValue="1232454" />
|
|
65
65
|
</ExampleContainer>
|
|
66
66
|
</DarkContainer>
|
|
67
67
|
</BackgroundColorProvider>
|
|
@@ -8,7 +8,7 @@ var _react2 = require("@testing-library/react");
|
|
|
8
8
|
|
|
9
9
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
10
10
|
|
|
11
|
-
var _NumberInput = _interopRequireDefault(require("./NumberInput"));
|
|
11
|
+
var _NumberInput = _interopRequireDefault(require("./NumberInput.tsx"));
|
|
12
12
|
|
|
13
13
|
describe("Number input component tests", function () {
|
|
14
14
|
test("Number input renders with label", function () {
|
|
@@ -83,7 +83,7 @@ describe("Number input component tests", function () {
|
|
|
83
83
|
})),
|
|
84
84
|
getByRole = _render8.getByRole;
|
|
85
85
|
|
|
86
|
-
var input = getByRole("
|
|
86
|
+
var input = getByRole("spinbutton");
|
|
87
87
|
|
|
88
88
|
_userEvent["default"].type(input, "1");
|
|
89
89
|
|
|
@@ -135,16 +135,14 @@ describe("Number input component tests", function () {
|
|
|
135
135
|
_userEvent["default"].type(number, "t");
|
|
136
136
|
|
|
137
137
|
expect(onChange).not.toHaveBeenCalledWith({
|
|
138
|
-
value: "t"
|
|
139
|
-
error: null
|
|
138
|
+
value: "t"
|
|
140
139
|
});
|
|
141
140
|
expect(number.value).toBe("");
|
|
142
141
|
|
|
143
142
|
_userEvent["default"].type(number, "1");
|
|
144
143
|
|
|
145
144
|
expect(onChange).toHaveBeenCalledWith({
|
|
146
|
-
value: "1"
|
|
147
|
-
error: null
|
|
145
|
+
value: "1"
|
|
148
146
|
});
|
|
149
147
|
expect(number.value).toBe("1");
|
|
150
148
|
});
|
|
@@ -368,12 +366,7 @@ describe("Number input component tests", function () {
|
|
|
368
366
|
expect(number.value).toBe("10");
|
|
369
367
|
});
|
|
370
368
|
test("Increment and decrement the value with min, max and step", function () {
|
|
371
|
-
var onBlur = jest.fn(
|
|
372
|
-
var value = _ref3.value,
|
|
373
|
-
error = _ref3.error;
|
|
374
|
-
expect(value).toBe("1");
|
|
375
|
-
expect(error).toBe("Value must be greater than or equal to 5.");
|
|
376
|
-
});
|
|
369
|
+
var onBlur = jest.fn();
|
|
377
370
|
|
|
378
371
|
var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
379
372
|
label: "Number input label",
|
|
@@ -391,6 +384,10 @@ describe("Number input component tests", function () {
|
|
|
391
384
|
|
|
392
385
|
_react2.fireEvent.blur(number);
|
|
393
386
|
|
|
387
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
388
|
+
value: "1",
|
|
389
|
+
error: "Value must be greater than or equal to 5."
|
|
390
|
+
});
|
|
394
391
|
var increment = getAllByRole("button")[1];
|
|
395
392
|
|
|
396
393
|
_userEvent["default"].click(increment);
|
|
@@ -505,4 +502,41 @@ describe("Number input component tests", function () {
|
|
|
505
502
|
var increment = getAllByRole("button")[1];
|
|
506
503
|
expect(increment.getAttribute("aria-label")).toBe("Increment value");
|
|
507
504
|
});
|
|
505
|
+
test("Number input submits correct values in a form", function () {
|
|
506
|
+
var handlerOnSubmit = jest.fn(function (e) {
|
|
507
|
+
e.preventDefault();
|
|
508
|
+
var formData = new FormData(e.target);
|
|
509
|
+
var formProps = Object.fromEntries(formData);
|
|
510
|
+
expect(formProps).toStrictEqual({
|
|
511
|
+
data: "0"
|
|
512
|
+
});
|
|
513
|
+
});
|
|
514
|
+
|
|
515
|
+
var _render23 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
|
|
516
|
+
onSubmit: handlerOnSubmit
|
|
517
|
+
}, /*#__PURE__*/_react["default"].createElement(_NumberInput["default"], {
|
|
518
|
+
label: "Number input label",
|
|
519
|
+
name: "data"
|
|
520
|
+
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
521
|
+
type: "submit"
|
|
522
|
+
}, "Submit"))),
|
|
523
|
+
getByText = _render23.getByText,
|
|
524
|
+
getAllByRole = _render23.getAllByRole;
|
|
525
|
+
|
|
526
|
+
var less = getAllByRole("button")[0];
|
|
527
|
+
var more = getAllByRole("button")[1];
|
|
528
|
+
var submit = getByText("Submit");
|
|
529
|
+
|
|
530
|
+
_userEvent["default"].click(more);
|
|
531
|
+
|
|
532
|
+
expect(handlerOnSubmit).not.toHaveBeenCalled();
|
|
533
|
+
|
|
534
|
+
_userEvent["default"].click(less);
|
|
535
|
+
|
|
536
|
+
expect(handlerOnSubmit).not.toHaveBeenCalled();
|
|
537
|
+
|
|
538
|
+
_userEvent["default"].click(submit);
|
|
539
|
+
|
|
540
|
+
expect(handlerOnSubmit).toHaveBeenCalled();
|
|
541
|
+
});
|
|
508
542
|
});
|
package/number-input/types.d.ts
CHANGED
|
@@ -14,6 +14,10 @@ declare type Props = {
|
|
|
14
14
|
* Name attribute of the input element.
|
|
15
15
|
*/
|
|
16
16
|
name?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Initial value of the input element, only when it is uncontrolled.
|
|
19
|
+
*/
|
|
20
|
+
defaultValue?: string;
|
|
17
21
|
/**
|
|
18
22
|
* Value of the input element. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
|
|
19
23
|
*/
|
|
@@ -50,7 +54,7 @@ declare type Props = {
|
|
|
50
54
|
* lower than min, the onBlur and onChange functions will be called with
|
|
51
55
|
* the current value and an internal error informing that the current
|
|
52
56
|
* value is not correct. If a valid state is reached, the error parameter
|
|
53
|
-
* will be
|
|
57
|
+
* will not be defined in both events.
|
|
54
58
|
*/
|
|
55
59
|
min?: number;
|
|
56
60
|
/**
|
|
@@ -58,7 +62,7 @@ declare type Props = {
|
|
|
58
62
|
* surpasses max, the onBlur and onChange functions will be called with
|
|
59
63
|
* the current value and an internal error informing that the current
|
|
60
64
|
* value is not correct. If a valid state is reached, the error parameter
|
|
61
|
-
* will be
|
|
65
|
+
* will not be defined in both events.
|
|
62
66
|
*/
|
|
63
67
|
max?: number;
|
|
64
68
|
/**
|
|
@@ -69,26 +73,29 @@ declare type Props = {
|
|
|
69
73
|
* This function will be called when the user types within the input
|
|
70
74
|
* element of the component. An object including the current value and
|
|
71
75
|
* the error (if the value entered is not valid) will be passed to this
|
|
72
|
-
* function. If there is no error, error will be
|
|
76
|
+
* function. If there is no error, error will not be defined.
|
|
73
77
|
*/
|
|
74
78
|
onChange?: (val: {
|
|
75
79
|
value: string;
|
|
76
|
-
error
|
|
80
|
+
error?: string;
|
|
77
81
|
}) => void;
|
|
78
82
|
/**
|
|
79
83
|
* This function will be called when the input element loses the focus.
|
|
80
84
|
* An object including the input value and the error (if the value
|
|
81
85
|
* entered is not valid) will be passed to this function. If there is no error,
|
|
82
|
-
* error will be
|
|
86
|
+
* error will not be defined.
|
|
83
87
|
*/
|
|
84
88
|
onBlur?: (val: {
|
|
85
89
|
value: string;
|
|
86
|
-
error
|
|
90
|
+
error?: string;
|
|
87
91
|
}) => void;
|
|
88
92
|
/**
|
|
89
|
-
* If it is defined
|
|
90
|
-
* the error below the input component. If
|
|
91
|
-
*
|
|
93
|
+
* If it is a defined value and also a truthy string, the component will
|
|
94
|
+
* change its appearance, showing the error below the input component. If
|
|
95
|
+
* the defined value is an empty string, it will reserve a space below
|
|
96
|
+
* the component for a future error, but it would not change its look. In
|
|
97
|
+
* case of being undefined or null, both the appearance and the space for
|
|
98
|
+
* the error message would not be modified.
|
|
92
99
|
*/
|
|
93
100
|
error?: string;
|
|
94
101
|
/**
|
|
@@ -102,7 +109,7 @@ declare type Props = {
|
|
|
102
109
|
*/
|
|
103
110
|
margin?: Space | Margin;
|
|
104
111
|
/**
|
|
105
|
-
* Size of the component
|
|
112
|
+
* Size of the component.
|
|
106
113
|
*/
|
|
107
114
|
size?: "small" | "medium" | "large" | "fillParent";
|
|
108
115
|
/**
|
package/package.json
CHANGED
|
@@ -1,43 +1,36 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxc-technology/halstack-react",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-d3ac293",
|
|
4
4
|
"description": "DXC Halstack React components library",
|
|
5
5
|
"repository": "dxc-technology/halstack-react",
|
|
6
|
-
"homepage": "
|
|
6
|
+
"homepage": "https://developer.dxc.com/halstack",
|
|
7
7
|
"license": "Apache-2.0",
|
|
8
8
|
"author": {
|
|
9
9
|
"name": "DXC Technology",
|
|
10
10
|
"email": "DigitalInsurance@dxc.com",
|
|
11
|
-
"url": "https://dxc.com"
|
|
11
|
+
"url": "https://developer.dxc.com"
|
|
12
12
|
},
|
|
13
13
|
"main": "./main.js",
|
|
14
14
|
"types": "./main.d.ts",
|
|
15
15
|
"peerDependencies": {
|
|
16
|
-
"react": "^
|
|
17
|
-
"react-dom": "^
|
|
16
|
+
"react": "^18.x",
|
|
17
|
+
"react-dom": "^18.x",
|
|
18
18
|
"styled-components": "^5.0.1"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@
|
|
22
|
-
"@material-ui/core": "4.11.1",
|
|
23
|
-
"@material-ui/icons": "4.4.3",
|
|
24
|
-
"@material-ui/lab": "4.0.0-alpha.17",
|
|
25
|
-
"@material-ui/pickers": "3.2.2",
|
|
26
|
-
"@material-ui/styles": "4.0.2",
|
|
21
|
+
"@radix-ui/react-popover": "0.1.6",
|
|
27
22
|
"@types/styled-components": "^5.1.24",
|
|
28
23
|
"@types/uuid": "^8.3.4",
|
|
29
24
|
"color": "^3.1.3",
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"prop-types": "^15.7.2",
|
|
33
|
-
"rgb-hex": "^3.0.0",
|
|
25
|
+
"dayjs": "^1.11.1",
|
|
26
|
+
"slugify": "^1.6.5",
|
|
34
27
|
"uuid": "^8.3.2"
|
|
35
28
|
},
|
|
36
29
|
"scripts": {
|
|
37
|
-
"test": "jest",
|
|
30
|
+
"test": "jest --env=jsdom",
|
|
38
31
|
"test:watch": "npm test -- --watch --coverage",
|
|
39
32
|
"build": "babel src --extensions .js,.jsx,.ts,.tsx --out-dir ../dist --copy-files --verbose && node ../scripts/build/copy-package.js && tsc ",
|
|
40
|
-
"build:watch": "babel src --watch --out-dir ../dist --copy-files --verbose",
|
|
33
|
+
"build:watch": "babel src --watch --extensions .js,.jsx,.ts,.tsx --out-dir ../dist --copy-files --verbose",
|
|
41
34
|
"storybook": "start-storybook -p 6006",
|
|
42
35
|
"build-storybook": "build-storybook"
|
|
43
36
|
},
|
|
@@ -55,8 +48,10 @@
|
|
|
55
48
|
"@storybook/addon-links": "^6.4.9",
|
|
56
49
|
"@storybook/react": "^6.4.9",
|
|
57
50
|
"@storybook/testing-library": "0.0.7",
|
|
58
|
-
"@testing-library/react": "^
|
|
59
|
-
"@testing-library/user-event": "^
|
|
51
|
+
"@testing-library/react": "^13.0.0",
|
|
52
|
+
"@testing-library/user-event": "^13.0.0",
|
|
53
|
+
"@types/color": "^3.0.3",
|
|
54
|
+
"@types/react": "^18.0.18",
|
|
60
55
|
"babel-jest": "^24.8.0",
|
|
61
56
|
"babel-loader": "^8.0.6",
|
|
62
57
|
"chromatic": "^6.3.3",
|
|
@@ -70,9 +65,10 @@
|
|
|
70
65
|
"eslint-plugin-react-hooks": "^4.2.0",
|
|
71
66
|
"eslint-plugin-storybook": "^0.5.5",
|
|
72
67
|
"identity-obj-proxy": "^3.0.0",
|
|
73
|
-
"jest": "^
|
|
74
|
-
"
|
|
75
|
-
"react
|
|
68
|
+
"jest": "^29.2.2",
|
|
69
|
+
"jest-environment-jsdom": "^29.3.1",
|
|
70
|
+
"react": "^18.x",
|
|
71
|
+
"react-dom": "^18.x",
|
|
76
72
|
"react-test-renderer": "^16.8.6",
|
|
77
73
|
"storybook-addon-pseudo-states": "^1.0.0",
|
|
78
74
|
"styled-components": "^5.0.1",
|
|
@@ -82,7 +78,8 @@
|
|
|
82
78
|
"moduleNameMapper": {
|
|
83
79
|
"\\.(css|less|scss|sass)$": "identity-obj-proxy",
|
|
84
80
|
"\\.(svg)$": "<rootDir>/test/mocks/svgMock.js",
|
|
85
|
-
"\\.(png)$": "<rootDir>/test/mocks/pngMock.js"
|
|
81
|
+
"\\.(png)$": "<rootDir>/test/mocks/pngMock.js",
|
|
82
|
+
"^uuid$": "uuid"
|
|
86
83
|
}
|
|
87
84
|
}
|
|
88
85
|
}
|