@dxc-technology/halstack-react 0.0.0-fdc49d2 → 0.0.0-feed711
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 +12 -0
- package/HalstackContext.js +295 -0
- package/accordion/Accordion.js +5 -27
- package/accordion/Accordion.stories.tsx +4 -4
- package/accordion/types.d.ts +1 -1
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +14 -15
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +24 -6
- package/accordion-group/types.d.ts +5 -1
- package/alert/Alert.js +4 -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 +1 -1
- package/box/Box.js +22 -32
- 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/{list → bulleted-list}/types.js +0 -0
- package/button/Button.js +53 -68
- package/button/Button.stories.tsx +9 -0
- package/button/types.d.ts +7 -7
- package/card/Card.js +24 -27
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +38 -28
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/types.d.ts +3 -3
- package/chip/types.d.ts +1 -1
- package/common/variables.js +229 -98
- package/date-input/DateInput.js +41 -23
- package/date-input/DateInput.test.js +9 -22
- package/date-input/types.d.ts +12 -9
- package/dialog/Dialog.js +46 -50
- package/dialog/Dialog.stories.tsx +1 -2
- package/dialog/Dialog.test.js +34 -4
- package/dialog/types.d.ts +2 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +242 -250
- package/dropdown/Dropdown.stories.tsx +126 -63
- package/dropdown/Dropdown.test.js +510 -108
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +80 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +92 -0
- package/dropdown/types.d.ts +25 -5
- package/file-input/FileInput.js +9 -6
- package/file-input/FileItem.js +7 -5
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +21 -0
- package/{radio → flex}/types.js +0 -0
- package/footer/Footer.js +15 -88
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +1 -1
- package/header/Header.js +95 -114
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +18 -2
- package/header/Icons.js +2 -2
- package/header/types.d.ts +2 -2
- 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 +71 -131
- package/layout/ApplicationLayout.stories.tsx +83 -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 +57 -74
- package/link/Link.stories.tsx +95 -53
- package/link/Link.test.js +7 -15
- package/link/types.d.ts +7 -23
- package/main.d.ts +7 -10
- package/main.js +43 -61
- package/number-input/NumberInput.test.js +2 -4
- package/number-input/types.d.ts +13 -10
- package/package.json +14 -12
- package/paginator/Paginator.js +17 -38
- package/paginator/Paginator.test.js +42 -0
- 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 +3 -6
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +57 -51
- package/progress-bar/ProgressBar.stories.jsx +13 -11
- package/progress-bar/ProgressBar.test.js +67 -22
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.js +83 -25
- package/quick-nav/QuickNav.stories.tsx +43 -16
- package/quick-nav/types.d.ts +4 -8
- package/radio-group/Radio.js +1 -1
- package/radio-group/RadioGroup.js +21 -20
- package/resultsetTable/ResultsetTable.test.js +42 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +199 -0
- package/select/Option.js +1 -1
- package/select/Select.js +102 -199
- package/select/Select.stories.tsx +145 -100
- package/select/Select.test.js +440 -281
- package/select/types.d.ts +31 -12
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +184 -52
- package/sidenav/Sidenav.stories.tsx +154 -156
- package/sidenav/Sidenav.test.js +25 -37
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +5 -4
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +68 -10
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +113 -54
- package/switch/Switch.stories.tsx +16 -38
- package/switch/Switch.test.js +122 -8
- package/switch/types.d.ts +5 -6
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +9 -11
- package/tabs/Tabs.stories.tsx +0 -8
- package/tabs/Tabs.test.js +26 -9
- package/tabs/types.d.ts +5 -1
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +170 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +130 -0
- package/tabs-nav/types.d.ts +53 -0
- package/{row → tabs-nav}/types.js +0 -0
- package/tag/Tag.js +5 -8
- package/tag/types.d.ts +1 -1
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +55 -0
- package/text-input/TextInput.js +60 -97
- package/text-input/TextInput.stories.tsx +1 -2
- package/text-input/TextInput.test.js +22 -35
- package/text-input/types.d.ts +27 -12
- package/textarea/Textarea.js +10 -19
- package/textarea/types.d.ts +10 -7
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +5 -4
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.js +35 -4
- package/toggle-group/types.d.ts +9 -1
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/{stack → typography}/types.js +0 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.js +43 -44
- package/wizard/Wizard.stories.tsx +20 -1
- package/wizard/types.d.ts +5 -4
- package/ThemeContext.d.ts +0 -10
- package/ThemeContext.js +0 -243
- 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 -28
- 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 -24
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
|
@@ -106,8 +106,7 @@ describe("DateInput component tests", function () {
|
|
|
106
106
|
expect(onChange).toHaveBeenCalledTimes(10);
|
|
107
107
|
expect(onChange).toHaveBeenCalledWith({
|
|
108
108
|
value: "10/90/2010",
|
|
109
|
-
error: "Invalid date."
|
|
110
|
-
date: null
|
|
109
|
+
error: "Invalid date."
|
|
111
110
|
});
|
|
112
111
|
});
|
|
113
112
|
test("Calendar renders with correct date: today's date", function () {
|
|
@@ -191,8 +190,7 @@ describe("DateInput component tests", function () {
|
|
|
191
190
|
expect(onBlur).toHaveBeenCalled();
|
|
192
191
|
expect(onBlur).toHaveBeenCalledWith({
|
|
193
192
|
value: "01-01-xxxx",
|
|
194
|
-
error: "Invalid date."
|
|
195
|
-
date: null
|
|
193
|
+
error: "Invalid date."
|
|
196
194
|
});
|
|
197
195
|
|
|
198
196
|
_userEvent["default"].click(calendarAction);
|
|
@@ -301,7 +299,6 @@ describe("DateInput component tests", function () {
|
|
|
301
299
|
expect(onChange).toHaveBeenCalledTimes(10);
|
|
302
300
|
expect(onChange).toHaveBeenCalledWith({
|
|
303
301
|
value: "10-10-2011",
|
|
304
|
-
error: null,
|
|
305
302
|
date: d
|
|
306
303
|
});
|
|
307
304
|
|
|
@@ -310,7 +307,6 @@ describe("DateInput component tests", function () {
|
|
|
310
307
|
expect(onBlur).toHaveBeenCalled();
|
|
311
308
|
expect(onBlur).toHaveBeenCalledWith({
|
|
312
309
|
value: "10-10-2011",
|
|
313
|
-
error: null,
|
|
314
310
|
date: d
|
|
315
311
|
});
|
|
316
312
|
});
|
|
@@ -332,8 +328,7 @@ describe("DateInput component tests", function () {
|
|
|
332
328
|
expect(onChange).toHaveBeenCalledTimes(6);
|
|
333
329
|
expect(onChange).toHaveBeenCalledWith({
|
|
334
330
|
value: "10-10-",
|
|
335
|
-
error: "Invalid date."
|
|
336
|
-
date: null
|
|
331
|
+
error: "Invalid date."
|
|
337
332
|
});
|
|
338
333
|
|
|
339
334
|
_react2.fireEvent.blur(input);
|
|
@@ -341,8 +336,7 @@ describe("DateInput component tests", function () {
|
|
|
341
336
|
expect(onBlur).toHaveBeenCalled();
|
|
342
337
|
expect(onBlur).toHaveBeenCalledWith({
|
|
343
338
|
value: "10-10-",
|
|
344
|
-
error: "Invalid date."
|
|
345
|
-
date: null
|
|
339
|
+
error: "Invalid date."
|
|
346
340
|
});
|
|
347
341
|
});
|
|
348
342
|
test("onBlur function removes the error when it is fixed", function () {
|
|
@@ -365,8 +359,7 @@ describe("DateInput component tests", function () {
|
|
|
365
359
|
expect(onBlur).toHaveBeenCalled();
|
|
366
360
|
expect(onBlur).toHaveBeenCalledWith({
|
|
367
361
|
value: "test",
|
|
368
|
-
error: "Invalid date."
|
|
369
|
-
date: null
|
|
362
|
+
error: "Invalid date."
|
|
370
363
|
});
|
|
371
364
|
|
|
372
365
|
_userEvent["default"].clear(input);
|
|
@@ -380,7 +373,6 @@ describe("DateInput component tests", function () {
|
|
|
380
373
|
expect(onBlur).toHaveBeenCalled();
|
|
381
374
|
expect(onBlur).toHaveBeenCalledWith({
|
|
382
375
|
value: "20-02-2002",
|
|
383
|
-
error: null,
|
|
384
376
|
date: d
|
|
385
377
|
});
|
|
386
378
|
});
|
|
@@ -404,8 +396,7 @@ describe("DateInput component tests", function () {
|
|
|
404
396
|
expect(onBlur).toHaveBeenCalled();
|
|
405
397
|
expect(onBlur).toHaveBeenCalledWith({
|
|
406
398
|
value: "test",
|
|
407
|
-
error: "Invalid date."
|
|
408
|
-
date: null
|
|
399
|
+
error: "Invalid date."
|
|
409
400
|
});
|
|
410
401
|
|
|
411
402
|
_userEvent["default"].clear(input);
|
|
@@ -414,9 +405,7 @@ describe("DateInput component tests", function () {
|
|
|
414
405
|
|
|
415
406
|
expect(onBlur).toHaveBeenCalled();
|
|
416
407
|
expect(onBlur).toHaveBeenCalledWith({
|
|
417
|
-
value: ""
|
|
418
|
-
error: null,
|
|
419
|
-
date: null
|
|
408
|
+
value: ""
|
|
420
409
|
});
|
|
421
410
|
});
|
|
422
411
|
test("onBlur & onChange functions error: required field (not optional)", function () {
|
|
@@ -442,14 +431,12 @@ describe("DateInput component tests", function () {
|
|
|
442
431
|
expect(onBlur).toHaveBeenCalled();
|
|
443
432
|
expect(onBlur).toHaveBeenCalledWith({
|
|
444
433
|
value: "",
|
|
445
|
-
error: "This field is required. Please, enter a value."
|
|
446
|
-
date: null
|
|
434
|
+
error: "This field is required. Please, enter a value."
|
|
447
435
|
});
|
|
448
436
|
expect(onChange).toHaveBeenCalled();
|
|
449
437
|
expect(onChange).toHaveBeenCalledWith({
|
|
450
438
|
value: "",
|
|
451
|
-
error: "This field is required. Please, enter a value."
|
|
452
|
-
date: null
|
|
439
|
+
error: "This field is required. Please, enter a value."
|
|
453
440
|
});
|
|
454
441
|
});
|
|
455
442
|
test("Disabled date input (calendar action must be shown but not clickable)", function () {
|
package/date-input/types.d.ts
CHANGED
|
@@ -54,28 +54,31 @@ declare type Props = {
|
|
|
54
54
|
* element of the component. An object including the string value, the
|
|
55
55
|
* error and the date value will be passed to this function.
|
|
56
56
|
* If the string value is a valid date, error will
|
|
57
|
-
* be
|
|
57
|
+
* be undefined. Also, if the string value is not a valid date, date will be undefined.
|
|
58
58
|
*/
|
|
59
59
|
onChange?: (val: {
|
|
60
60
|
value: string;
|
|
61
|
-
error
|
|
62
|
-
date
|
|
61
|
+
error?: string;
|
|
62
|
+
date?: Date;
|
|
63
63
|
}) => void;
|
|
64
64
|
/**
|
|
65
65
|
* This function will be called when the input element loses the focus.
|
|
66
66
|
* An object including the string value, the error and the date value
|
|
67
67
|
* will be passed to this function. If the string value is a valid date, error will
|
|
68
|
-
* be
|
|
68
|
+
* be undefined. Also, if the string value is not a valid date, date will be undefined.
|
|
69
69
|
*/
|
|
70
70
|
onBlur?: (val: {
|
|
71
71
|
value: string;
|
|
72
|
-
error
|
|
73
|
-
date
|
|
72
|
+
error?: string;
|
|
73
|
+
date?: Date;
|
|
74
74
|
}) => void;
|
|
75
75
|
/**
|
|
76
|
-
* If it is defined
|
|
77
|
-
* the error below the date input
|
|
78
|
-
*
|
|
76
|
+
* If it is a defined value and also a truthy string, the component will
|
|
77
|
+
* change its appearance, showing the error below the date input
|
|
78
|
+
* component. If the defined value is an empty string, it will reserve a
|
|
79
|
+
* space below the component for a future error, but it would not change
|
|
80
|
+
* its look. In case of being undefined or null, both the appearance and
|
|
81
|
+
* the space for the error message would not be modified.
|
|
79
82
|
*/
|
|
80
83
|
error?: string;
|
|
81
84
|
/**
|
package/dialog/Dialog.js
CHANGED
|
@@ -13,21 +13,17 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
|
13
13
|
|
|
14
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
15
|
|
|
16
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
-
|
|
18
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
17
|
|
|
20
18
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
19
|
|
|
22
|
-
var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
|
|
23
|
-
|
|
24
20
|
var _variables = require("../common/variables.js");
|
|
25
21
|
|
|
26
22
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
27
23
|
|
|
28
24
|
var _BackgroundColorContext = require("../BackgroundColorContext");
|
|
29
25
|
|
|
30
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
26
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
31
27
|
|
|
32
28
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
29
|
|
|
@@ -45,12 +41,6 @@ var DxcDialog = function DxcDialog(_ref) {
|
|
|
45
41
|
padding = _ref$padding === void 0 ? "small" : _ref$padding,
|
|
46
42
|
_ref$tabIndex = _ref.tabIndex,
|
|
47
43
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
48
|
-
|
|
49
|
-
var _useState = (0, _react.useState)(false),
|
|
50
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
51
|
-
isResponsive = _useState2[0],
|
|
52
|
-
setIsResponsive = _useState2[1];
|
|
53
|
-
|
|
54
44
|
var colorsTheme = (0, _useTheme["default"])();
|
|
55
45
|
|
|
56
46
|
var handleClose = function handleClose() {
|
|
@@ -61,31 +51,37 @@ var DxcDialog = function DxcDialog(_ref) {
|
|
|
61
51
|
onBackgroundClick === null || onBackgroundClick === void 0 ? void 0 : onBackgroundClick();
|
|
62
52
|
};
|
|
63
53
|
|
|
64
|
-
var
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
handleResize(window.innerWidth);
|
|
54
|
+
var handleOnKeyDown = function handleOnKeyDown(event) {
|
|
55
|
+
if (event.key === "Escape") {
|
|
56
|
+
event.preventDefault();
|
|
57
|
+
handleClose();
|
|
58
|
+
}
|
|
70
59
|
};
|
|
71
60
|
|
|
72
61
|
(0, _react.useEffect)(function () {
|
|
73
|
-
|
|
74
|
-
|
|
62
|
+
if (isCloseVisible) {
|
|
63
|
+
window.addEventListener("keydown", handleOnKeyDown);
|
|
64
|
+
}
|
|
65
|
+
|
|
75
66
|
return function () {
|
|
76
|
-
window.removeEventListener("
|
|
67
|
+
window.removeEventListener("keydown", handleOnKeyDown);
|
|
77
68
|
};
|
|
78
|
-
}, []);
|
|
69
|
+
}, [isCloseVisible]);
|
|
79
70
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
80
71
|
theme: colorsTheme.dialog
|
|
81
|
-
}, /*#__PURE__*/_react["default"].createElement(DialogContainer, {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
72
|
+
}, /*#__PURE__*/_react["default"].createElement(BodyStyle, null), /*#__PURE__*/_react["default"].createElement(DialogContainer, {
|
|
73
|
+
role: "presentation"
|
|
74
|
+
}, overlay && /*#__PURE__*/_react["default"].createElement(Overlay, {
|
|
75
|
+
onClick: handleOverlayClick
|
|
76
|
+
}), /*#__PURE__*/_react["default"].createElement(Dialog, {
|
|
77
|
+
role: "dialog",
|
|
78
|
+
"aria-modal": overlay,
|
|
79
|
+
isCloseVisible: isCloseVisible
|
|
80
|
+
}, /*#__PURE__*/_react["default"].createElement(Children, {
|
|
81
|
+
padding: padding
|
|
82
|
+
}, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
83
|
+
color: colorsTheme.dialog.backgroundColor
|
|
84
|
+
}, children)), isCloseVisible && /*#__PURE__*/_react["default"].createElement(CloseIconContainer, {
|
|
89
85
|
onClick: handleClose,
|
|
90
86
|
tabIndex: tabIndex
|
|
91
87
|
}, /*#__PURE__*/_react["default"].createElement(CloseIcon, {
|
|
@@ -99,28 +95,34 @@ var DxcDialog = function DxcDialog(_ref) {
|
|
|
99
95
|
fill: "none"
|
|
100
96
|
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
101
97
|
d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
|
|
102
|
-
})))
|
|
103
|
-
color: colorsTheme.dialog.backgroundColor
|
|
104
|
-
}, children))));
|
|
98
|
+
}))))));
|
|
105
99
|
};
|
|
106
100
|
|
|
107
|
-
var
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
return props.
|
|
101
|
+
var BodyStyle = (0, _styledComponents.createGlobalStyle)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n body {\n overflow: hidden;\n }\n"])));
|
|
102
|
+
|
|
103
|
+
var DialogContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n inset: 0px;\n height: 100%;\n z-index: 1300;\n"])));
|
|
104
|
+
|
|
105
|
+
var Overlay = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n inset: 0px;\n height: 100%;\n background-color: ", ";\n opacity: ", ";\n"])), function (props) {
|
|
106
|
+
return props.theme.overlayColor;
|
|
113
107
|
}, function (props) {
|
|
108
|
+
return props.theme.overlayOpacity;
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
var Dialog = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n z-index: 1300;\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n ", "\n box-sizing: border-box;\n box-shadow: ", ";\n border-radius: 4px;\n\n @media (min-width: ", "rem) {\n max-width: 80%;\n min-width: 800px;\n }\n\n @media (max-width: ", "rem) {\n //mobile phones\n max-width: 92%;\n min-width: 92%;\n }\n"])), function (props) {
|
|
114
112
|
return props.theme.backgroundColor;
|
|
115
113
|
}, function (props) {
|
|
116
|
-
return props.
|
|
114
|
+
return props.theme.fontFamily;
|
|
117
115
|
}, function (props) {
|
|
118
|
-
return props.
|
|
116
|
+
return props.theme.fontSize;
|
|
119
117
|
}, function (props) {
|
|
120
|
-
return props.
|
|
118
|
+
return props.theme.fontWeight;
|
|
121
119
|
}, function (props) {
|
|
122
|
-
return
|
|
120
|
+
return props.isCloseVisible && "min-height: 72px;";
|
|
123
121
|
}, function (props) {
|
|
122
|
+
return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
|
|
123
|
+
}, _variables.responsiveSizes.medium, _variables.responsiveSizes.medium);
|
|
124
|
+
|
|
125
|
+
var Children = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
|
|
124
126
|
return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : _variables.spaces["small"];
|
|
125
127
|
}, function (props) {
|
|
126
128
|
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
|
|
@@ -132,13 +134,7 @@ var DialogContainer = (0, _styledComponents["default"])(_Dialog["default"])(_tem
|
|
|
132
134
|
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
|
|
133
135
|
});
|
|
134
136
|
|
|
135
|
-
var
|
|
136
|
-
|
|
137
|
-
var CloseIconContainer = _styledComponents["default"].button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: flex-end;\n position: absolute;\n top: ", ";\n right: ", ";\n cursor: pointer;\n padding: 0;\n margin: 0;\n background: none;\n color: ", ";\n width: ", ";\n height: ", ";\n border: none;\n"])), function (props) {
|
|
138
|
-
return props.theme.closeIconTopPosition;
|
|
139
|
-
}, function (props) {
|
|
140
|
-
return props.theme.closeIconRightPosition;
|
|
141
|
-
}, function (props) {
|
|
137
|
+
var CloseIconContainer = _styledComponents["default"].button(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n padding: 0;\n margin: 0;\n background: none;\n border: none;\n position: relative;\n top: 20px;\n right: 20px;\n color: ", ";\n width: ", ";\n height: ", ";\n"])), function (props) {
|
|
142
138
|
return props.theme.closeIconColor;
|
|
143
139
|
}, function (props) {
|
|
144
140
|
return props.theme.closeIconWidth;
|
|
@@ -146,7 +142,7 @@ var CloseIconContainer = _styledComponents["default"].button(_templateObject3 ||
|
|
|
146
142
|
return props.theme.closeIconHeight;
|
|
147
143
|
});
|
|
148
144
|
|
|
149
|
-
var CloseIcon = _styledComponents["default"].svg(
|
|
145
|
+
var CloseIcon = _styledComponents["default"].svg(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: ", ";\n height: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n"])), function (props) {
|
|
150
146
|
return props.theme.closeIconBackgroundColor;
|
|
151
147
|
}, function (props) {
|
|
152
148
|
return props.theme.closeIconWidth;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { userEvent, within } from "@storybook/testing-library";
|
|
3
2
|
import DxcDialog from "./Dialog";
|
|
4
3
|
import Title from "../../.storybook/components/Title";
|
|
5
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
@@ -209,4 +208,4 @@ export const DialogWithXxlargePadding = () => (
|
|
|
209
208
|
</p>{" "}
|
|
210
209
|
</DxcDialog>
|
|
211
210
|
</ExampleContainer>
|
|
212
|
-
);
|
|
211
|
+
);
|
package/dialog/Dialog.test.js
CHANGED
|
@@ -9,10 +9,13 @@ var _react2 = require("@testing-library/react");
|
|
|
9
9
|
var _Dialog = _interopRequireDefault(require("./Dialog"));
|
|
10
10
|
|
|
11
11
|
describe("Dialog component tests", function () {
|
|
12
|
-
test("Dialog renders with correct text", function () {
|
|
12
|
+
test("Dialog renders with correct text and accesibility attributes", function () {
|
|
13
13
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, "dialog-text")),
|
|
14
|
-
getByText = _render.getByText
|
|
14
|
+
getByText = _render.getByText,
|
|
15
|
+
getByRole = _render.getByRole;
|
|
15
16
|
|
|
17
|
+
expect(getByRole("dialog")).toBeTruthy();
|
|
18
|
+
expect(getByRole("dialog").getAttribute("aria-modal")).toBe("true");
|
|
16
19
|
expect(getByText("dialog-text")).toBeTruthy();
|
|
17
20
|
});
|
|
18
21
|
test("Dialog renders without close button", function () {
|
|
@@ -23,18 +26,45 @@ describe("Dialog component tests", function () {
|
|
|
23
26
|
|
|
24
27
|
expect(queryByRole("button")).toBeFalsy();
|
|
25
28
|
});
|
|
29
|
+
test("Dialog renders with aria-modal false when overlay is not used", function () {
|
|
30
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
31
|
+
isCloseVisible: false,
|
|
32
|
+
overlay: false
|
|
33
|
+
}, "dialog-text")),
|
|
34
|
+
getByRole = _render3.getByRole;
|
|
35
|
+
|
|
36
|
+
expect(getByRole("dialog")).toBeTruthy();
|
|
37
|
+
expect(getByRole("dialog").getAttribute("aria-modal")).toBe("false");
|
|
38
|
+
});
|
|
26
39
|
test("Calls correct function onCloseClick", function () {
|
|
27
40
|
var onCloseClick = jest.fn();
|
|
28
41
|
|
|
29
|
-
var
|
|
42
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
30
43
|
onCloseClick: onCloseClick
|
|
31
44
|
}, "dialog-text")),
|
|
32
|
-
getByRole =
|
|
45
|
+
getByRole = _render4.getByRole;
|
|
33
46
|
|
|
34
47
|
var closeButton = getByRole("button");
|
|
35
48
|
|
|
36
49
|
_react2.fireEvent.click(closeButton);
|
|
37
50
|
|
|
51
|
+
expect(onCloseClick).toHaveBeenCalled();
|
|
52
|
+
});
|
|
53
|
+
test("Calls correct function onCloseClick when 'escape' key is pressed", function () {
|
|
54
|
+
var onCloseClick = jest.fn();
|
|
55
|
+
|
|
56
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
57
|
+
onCloseClick: onCloseClick
|
|
58
|
+
}, "dialog-text")),
|
|
59
|
+
getByRole = _render5.getByRole;
|
|
60
|
+
|
|
61
|
+
_react2.fireEvent.keyDown(getByRole("button"), {
|
|
62
|
+
key: "Escape",
|
|
63
|
+
code: "Escape",
|
|
64
|
+
keyCode: 27,
|
|
65
|
+
charCode: 27
|
|
66
|
+
});
|
|
67
|
+
|
|
38
68
|
expect(onCloseClick).toHaveBeenCalled();
|
|
39
69
|
});
|
|
40
70
|
});
|
package/dialog/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
-
declare type Padding = {
|
|
2
|
+
export declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
export declare type Padding = {
|
|
4
4
|
top?: Space;
|
|
5
5
|
bottom?: Space;
|
|
6
6
|
left?: Space;
|
package/dropdown/Dropdown.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import DropdownPropsType from "./types";
|
|
3
|
-
declare const DxcDropdown: ({ options, optionsIconPosition, icon, iconPosition, label, caretHidden,
|
|
3
|
+
declare const DxcDropdown: ({ options, optionsIconPosition, icon, iconPosition, label, caretHidden, disabled, expandOnHover, onSelectOption, margin, size, tabIndex, }: DropdownPropsType) => JSX.Element;
|
|
4
4
|
export default DxcDropdown;
|