@dxc-technology/halstack-react 0.0.0-301f60b → 0.0.0-335f028
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 +10 -0
- package/{ThemeContext.js → HalstackContext.js} +6 -6
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +7 -28
- package/accordion/Accordion.stories.tsx +11 -11
- package/accordion/Accordion.test.js +19 -4
- package/accordion/types.d.ts +4 -0
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +13 -15
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +24 -6
- package/accordion-group/types.d.ts +4 -0
- package/bleed/types.d.ts +24 -0
- package/button/Button.js +14 -11
- package/card/Card.js +27 -28
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +40 -39
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/Checkbox.test.js +13 -0
- package/checkbox/types.d.ts +7 -3
- package/common/variables.js +6 -7
- package/date-input/DateInput.js +50 -39
- package/date-input/DateInput.stories.tsx +7 -7
- package/date-input/DateInput.test.js +69 -59
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.js +4 -32
- package/dropdown/Dropdown.js +13 -17
- package/footer/Footer.js +10 -85
- package/header/Header.js +20 -44
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +18 -2
- package/inset/types.d.ts +24 -0
- package/layout/ApplicationLayout.js +5 -18
- package/link/Link.d.ts +3 -2
- package/link/Link.js +65 -56
- package/link/Link.stories.tsx +87 -52
- package/link/Link.test.js +7 -15
- package/link/types.d.ts +8 -23
- package/main.d.ts +3 -2
- package/main.js +13 -5
- package/number-input/NumberInput.js +11 -18
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +2 -4
- package/number-input/types.d.ts +16 -9
- package/package.json +6 -5
- package/password-input/PasswordInput.test.js +2 -4
- package/password-input/types.d.ts +13 -10
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +64 -0
- package/quick-nav/QuickNav.stories.tsx +237 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio/Radio.js +10 -11
- package/row/types.d.ts +18 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +148 -0
- package/select/Option.js +1 -1
- package/select/Select.js +71 -156
- package/select/Select.stories.tsx +19 -19
- package/select/Select.test.js +405 -248
- package/select/types.d.ts +42 -12
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +2 -1
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +31 -10
- package/slider/types.d.ts +4 -0
- package/stack/types.d.ts +15 -0
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +32 -19
- package/switch/Switch.stories.tsx +14 -14
- package/switch/Switch.test.js +25 -0
- package/switch/types.d.ts +6 -2
- 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 +4 -0
- package/tag/Tag.js +14 -19
- package/tag/Tag.stories.tsx +12 -8
- package/text-input/TextInput.js +2 -4
- package/text-input/TextInput.test.js +21 -34
- package/text-input/types.d.ts +13 -10
- package/textarea/Textarea.js +2 -4
- package/textarea/Textarea.test.js +10 -20
- package/textarea/types.d.ts +13 -10
- 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 +8 -0
- package/useTheme.js +2 -2
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +28 -19
- package/wizard/Wizard.stories.tsx +13 -23
- package/wizard/Wizard.test.js +36 -23
- package/wizard/types.d.ts +6 -2
- package/ThemeContext.d.ts +0 -10
package/checkbox/types.d.ts
CHANGED
|
@@ -6,6 +6,10 @@ declare type Margin = {
|
|
|
6
6
|
right?: Space;
|
|
7
7
|
};
|
|
8
8
|
declare type Props = {
|
|
9
|
+
/**
|
|
10
|
+
* Initial state of the checkbox, only when it is uncontrolled.
|
|
11
|
+
*/
|
|
12
|
+
defaultChecked?: boolean;
|
|
9
13
|
/**
|
|
10
14
|
* If true, the component is checked. If undefined the component will be
|
|
11
15
|
* uncontrolled and the value will be managed internally by the component.
|
|
@@ -33,14 +37,14 @@ declare type Props = {
|
|
|
33
37
|
*/
|
|
34
38
|
disabled?: boolean;
|
|
35
39
|
/**
|
|
36
|
-
* If true, the
|
|
40
|
+
* If true, the component will display '(Optional)' next to the label.
|
|
37
41
|
*/
|
|
38
|
-
|
|
42
|
+
optional?: boolean;
|
|
39
43
|
/**
|
|
40
44
|
* This function will be called when the user clicks the checkbox.
|
|
41
45
|
* The new value will be passed as a parameter.
|
|
42
46
|
*/
|
|
43
|
-
onChange?: (
|
|
47
|
+
onChange?: (value: boolean) => void;
|
|
44
48
|
/**
|
|
45
49
|
* Size of the margin to be applied to the component
|
|
46
50
|
* ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
package/common/variables.js
CHANGED
|
@@ -712,7 +712,7 @@ var componentTokens = {
|
|
|
712
712
|
link: {
|
|
713
713
|
fontColor: globalTokens.hal_blue_s_35,
|
|
714
714
|
fontFamily: globalTokens.inherit,
|
|
715
|
-
fontSize: globalTokens.
|
|
715
|
+
fontSize: globalTokens.inherit,
|
|
716
716
|
fontStyle: globalTokens.type_normal,
|
|
717
717
|
fontWeight: globalTokens.type_regular,
|
|
718
718
|
iconSize: "16px",
|
|
@@ -1330,12 +1330,11 @@ var spaces = {
|
|
|
1330
1330
|
};
|
|
1331
1331
|
exports.spaces = spaces;
|
|
1332
1332
|
var responsiveSizes = {
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
desktop: "1440"
|
|
1333
|
+
xsmall: "20",
|
|
1334
|
+
small: "30",
|
|
1335
|
+
medium: "45",
|
|
1336
|
+
large: "66",
|
|
1337
|
+
xlarge: "90"
|
|
1339
1338
|
};
|
|
1340
1339
|
exports.responsiveSizes = responsiveSizes;
|
|
1341
1340
|
var typeface = {
|
package/date-input/DateInput.js
CHANGED
|
@@ -11,6 +11,8 @@ exports["default"] = void 0;
|
|
|
11
11
|
|
|
12
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
13
|
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
|
|
14
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
17
|
|
|
16
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -23,9 +25,9 @@ var _ClickAwayListener = _interopRequireDefault(require("@material-ui/core/Click
|
|
|
23
25
|
|
|
24
26
|
var _Popover = _interopRequireDefault(require("@material-ui/core/Popover"));
|
|
25
27
|
|
|
26
|
-
var
|
|
28
|
+
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
27
29
|
|
|
28
|
-
var
|
|
30
|
+
var _dayjs2 = _interopRequireDefault(require("@date-io/dayjs"));
|
|
29
31
|
|
|
30
32
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
31
33
|
|
|
@@ -39,34 +41,37 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
39
41
|
|
|
40
42
|
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; }
|
|
41
43
|
|
|
44
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
45
|
+
|
|
46
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
47
|
+
|
|
48
|
+
var getValueForPicker = function getValueForPicker(value, format) {
|
|
49
|
+
return (0, _dayjs["default"])(value, format.toUpperCase(), true).format();
|
|
50
|
+
};
|
|
51
|
+
|
|
42
52
|
var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
43
53
|
var label = _ref.label,
|
|
44
|
-
|
|
45
|
-
|
|
54
|
+
name = _ref.name,
|
|
55
|
+
_ref$defaultValue = _ref.defaultValue,
|
|
56
|
+
defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
|
|
46
57
|
value = _ref.value,
|
|
47
58
|
_ref$format = _ref.format,
|
|
48
59
|
format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
|
|
49
60
|
helperText = _ref.helperText,
|
|
50
61
|
_ref$placeholder = _ref.placeholder,
|
|
51
62
|
placeholder = _ref$placeholder === void 0 ? false : _ref$placeholder,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
56
|
-
_ref$optional = _ref.optional,
|
|
57
|
-
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
63
|
+
clearable = _ref.clearable,
|
|
64
|
+
disabled = _ref.disabled,
|
|
65
|
+
optional = _ref.optional,
|
|
58
66
|
onChange = _ref.onChange,
|
|
59
67
|
onBlur = _ref.onBlur,
|
|
60
68
|
error = _ref.error,
|
|
61
|
-
|
|
62
|
-
autocomplete = _ref$autocomplete === void 0 ? "off" : _ref$autocomplete,
|
|
69
|
+
autocomplete = _ref.autocomplete,
|
|
63
70
|
margin = _ref.margin,
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
_ref$tabIndex = _ref.tabIndex,
|
|
67
|
-
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
71
|
+
size = _ref.size,
|
|
72
|
+
tabIndex = _ref.tabIndex;
|
|
68
73
|
|
|
69
|
-
var _useState = (0, _react.useState)(
|
|
74
|
+
var _useState = (0, _react.useState)(defaultValue),
|
|
70
75
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
71
76
|
innerValue = _useState2[0],
|
|
72
77
|
setInnerValue = _useState2[1];
|
|
@@ -95,12 +100,13 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
95
100
|
};
|
|
96
101
|
|
|
97
102
|
var handleCalendarOnClick = function handleCalendarOnClick(newDate) {
|
|
98
|
-
var newValue = (0,
|
|
103
|
+
var newValue = (0, _dayjs["default"])(newDate).format(format.toUpperCase());
|
|
99
104
|
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
100
|
-
onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
105
|
+
newDate !== null && newDate !== void 0 && newDate.toJSON() ? onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
101
106
|
value: newValue,
|
|
102
|
-
|
|
103
|
-
|
|
107
|
+
date: newDate
|
|
108
|
+
}) : onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
109
|
+
value: newValue
|
|
104
110
|
});
|
|
105
111
|
};
|
|
106
112
|
|
|
@@ -108,29 +114,33 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
108
114
|
var newValue = _ref2.value,
|
|
109
115
|
inputError = _ref2.error;
|
|
110
116
|
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
111
|
-
var
|
|
112
|
-
var invalidDateMessage = newValue !== "" && !
|
|
113
|
-
|
|
117
|
+
var dayjsDate = (0, _dayjs["default"])(newValue, format.toUpperCase(), true);
|
|
118
|
+
var invalidDateMessage = newValue !== "" && !dayjsDate.isValid() && "Invalid date.";
|
|
119
|
+
var callbackParams = inputError || invalidDateMessage ? {
|
|
114
120
|
value: newValue,
|
|
115
|
-
error: inputError || invalidDateMessage
|
|
116
|
-
|
|
117
|
-
|
|
121
|
+
error: inputError || invalidDateMessage
|
|
122
|
+
} : {
|
|
123
|
+
value: newValue
|
|
124
|
+
};
|
|
125
|
+
dayjsDate.isValid() ? onChange === null || onChange === void 0 ? void 0 : onChange(_objectSpread(_objectSpread({}, callbackParams), {}, {
|
|
126
|
+
date: dayjsDate.toDate()
|
|
127
|
+
})) : onChange === null || onChange === void 0 ? void 0 : onChange(callbackParams);
|
|
118
128
|
};
|
|
119
129
|
|
|
120
130
|
var handleIOnBlur = function handleIOnBlur(_ref3) {
|
|
121
131
|
var value = _ref3.value,
|
|
122
132
|
inputError = _ref3.error;
|
|
123
|
-
var
|
|
124
|
-
var invalidDateMessage = value !== "" && !
|
|
125
|
-
|
|
133
|
+
var dayjsDate = (0, _dayjs["default"])(value, format.toUpperCase(), true);
|
|
134
|
+
var invalidDateMessage = value !== "" && !dayjsDate.isValid() && "Invalid date.";
|
|
135
|
+
var callbackParams = inputError || invalidDateMessage ? {
|
|
126
136
|
value: value,
|
|
127
|
-
error: inputError || invalidDateMessage
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
137
|
+
error: inputError || invalidDateMessage
|
|
138
|
+
} : {
|
|
139
|
+
value: value
|
|
140
|
+
};
|
|
141
|
+
dayjsDate.isValid() ? onBlur === null || onBlur === void 0 ? void 0 : onBlur(_objectSpread(_objectSpread({}, callbackParams), {}, {
|
|
142
|
+
date: dayjsDate.toDate()
|
|
143
|
+
})) : onBlur === null || onBlur === void 0 ? void 0 : onBlur(callbackParams);
|
|
134
144
|
};
|
|
135
145
|
|
|
136
146
|
var openCalendar = function openCalendar() {
|
|
@@ -300,10 +310,11 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
300
310
|
}, /*#__PURE__*/_react["default"].createElement(_core.MuiThemeProvider, {
|
|
301
311
|
theme: dateTheme
|
|
302
312
|
}, /*#__PURE__*/_react["default"].createElement(_pickers.MuiPickersUtilsProvider, {
|
|
303
|
-
utils:
|
|
313
|
+
utils: _dayjs2["default"]
|
|
304
314
|
}, /*#__PURE__*/_react["default"].createElement(StyledDPicker, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
305
315
|
label: label,
|
|
306
316
|
name: name,
|
|
317
|
+
defaultValue: defaultValue,
|
|
307
318
|
value: value !== null && value !== void 0 ? value : innerValue,
|
|
308
319
|
helperText: helperText,
|
|
309
320
|
placeholder: placeholder ? format.toUpperCase() : null,
|
|
@@ -343,7 +354,7 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
|
|
|
343
354
|
"aria-modal": "true"
|
|
344
355
|
}, /*#__PURE__*/_react["default"].createElement(_pickers.DatePicker, {
|
|
345
356
|
variant: "static",
|
|
346
|
-
value: getValueForPicker(),
|
|
357
|
+
value: getValueForPicker(value !== null && value !== void 0 ? value : innerValue, format),
|
|
347
358
|
onChange: function onChange(date) {
|
|
348
359
|
return handleCalendarOnClick(date);
|
|
349
360
|
},
|
|
@@ -19,7 +19,7 @@ export const Chromatic = () => (
|
|
|
19
19
|
</ExampleContainer>
|
|
20
20
|
<ExampleContainer>
|
|
21
21
|
<Title title="Disabled" theme="light" level={4} />
|
|
22
|
-
<DxcDateInput label="Disabled date input" helperText="Help message"
|
|
22
|
+
<DxcDateInput label="Disabled date input" helperText="Help message" defaultValue="06-04-2027" clearable disabled />
|
|
23
23
|
</ExampleContainer>
|
|
24
24
|
<ExampleContainer>
|
|
25
25
|
<Title title="Invalid" theme="light" level={4} />
|
|
@@ -27,7 +27,7 @@ export const Chromatic = () => (
|
|
|
27
27
|
</ExampleContainer>
|
|
28
28
|
<ExampleContainer>
|
|
29
29
|
<Title title="Relation between icons" theme="light" level={4} />
|
|
30
|
-
<DxcDateInput label="Error date input" error="Error message."
|
|
30
|
+
<DxcDateInput label="Error date input" error="Error message." defaultValue="06-04-2027" clearable />
|
|
31
31
|
</ExampleContainer>
|
|
32
32
|
<BackgroundColorProvider color="#333333">
|
|
33
33
|
<DarkContainer>
|
|
@@ -38,7 +38,7 @@ export const Chromatic = () => (
|
|
|
38
38
|
</ExampleContainer>
|
|
39
39
|
<ExampleContainer>
|
|
40
40
|
<Title title="Disabled" theme="dark" level={4} />
|
|
41
|
-
<DxcDateInput label="Disabled Date input" helperText="Help message"
|
|
41
|
+
<DxcDateInput label="Disabled Date input" helperText="Help message" defaultValue="06-04-2027" clearable disabled />
|
|
42
42
|
</ExampleContainer>
|
|
43
43
|
<ExampleContainer>
|
|
44
44
|
<Title title="Invalid" theme="dark" level={4} />
|
|
@@ -46,7 +46,7 @@ export const Chromatic = () => (
|
|
|
46
46
|
</ExampleContainer>
|
|
47
47
|
<ExampleContainer>
|
|
48
48
|
<Title title="Relation between icons" theme="dark" level={4} />
|
|
49
|
-
<DxcDateInput label="Error date input"
|
|
49
|
+
<DxcDateInput label="Error date input" defaultValue="06-04-2027" error="Error message." clearable />
|
|
50
50
|
</ExampleContainer>
|
|
51
51
|
</DarkContainer>
|
|
52
52
|
</BackgroundColorProvider>
|
|
@@ -98,7 +98,7 @@ export const Chromatic = () => (
|
|
|
98
98
|
const DatePicker = () => (
|
|
99
99
|
<ExampleContainer expanded>
|
|
100
100
|
<Title title="Show date input" theme="light" level={4} />
|
|
101
|
-
<DxcDateInput label="Date input"
|
|
101
|
+
<DxcDateInput label="Date input" defaultValue="10-06-2023" />
|
|
102
102
|
</ExampleContainer>
|
|
103
103
|
);
|
|
104
104
|
|
|
@@ -113,7 +113,7 @@ ShowDatePicker.play = async ({ canvasElement }) => {
|
|
|
113
113
|
const YearPicker = () => (
|
|
114
114
|
<ExampleContainer expanded>
|
|
115
115
|
<Title title="Show date input" theme="light" level={4} />
|
|
116
|
-
<DxcDateInput label="Date input"
|
|
116
|
+
<DxcDateInput label="Date input" defaultValue="10-06-2023" />
|
|
117
117
|
</ExampleContainer>
|
|
118
118
|
);
|
|
119
119
|
|
|
@@ -126,7 +126,7 @@ ShowYearPicker.play = async () => {
|
|
|
126
126
|
const YearPickerFocus = () => (
|
|
127
127
|
<ExampleContainer expanded>
|
|
128
128
|
<Title title="Show date input" theme="light" level={4} />
|
|
129
|
-
<DxcDateInput label="Date input"
|
|
129
|
+
<DxcDateInput label="Date input" defaultValue="10-06-2023" />
|
|
130
130
|
</ExampleContainer>
|
|
131
131
|
);
|
|
132
132
|
|
|
@@ -37,7 +37,7 @@ describe("DateInput component tests", function () {
|
|
|
37
37
|
|
|
38
38
|
expect(input.value).toBe("");
|
|
39
39
|
});
|
|
40
|
-
test("Renders with
|
|
40
|
+
test("Renders with custom error", function () {
|
|
41
41
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
42
42
|
error: "Personalized error."
|
|
43
43
|
})),
|
|
@@ -45,6 +45,29 @@ describe("DateInput component tests", function () {
|
|
|
45
45
|
|
|
46
46
|
expect(getByText("Personalized error.")).toBeTruthy();
|
|
47
47
|
});
|
|
48
|
+
test("Renders with an initial value when it is uncontrolled", function () {
|
|
49
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
50
|
+
label: "Default label",
|
|
51
|
+
placeholder: "Placeholder",
|
|
52
|
+
defaultValue: "21-10-2015"
|
|
53
|
+
})),
|
|
54
|
+
getByText = _render3.getByText,
|
|
55
|
+
getByRole = _render3.getByRole;
|
|
56
|
+
|
|
57
|
+
var input = getByRole("textbox");
|
|
58
|
+
var calendarAction = getByRole("button");
|
|
59
|
+
var d = new Date(2015, 9, 21);
|
|
60
|
+
var options = {
|
|
61
|
+
weekday: "short",
|
|
62
|
+
month: "short",
|
|
63
|
+
day: "numeric"
|
|
64
|
+
};
|
|
65
|
+
expect(input.value).toBe("21-10-2015");
|
|
66
|
+
|
|
67
|
+
_userEvent["default"].click(calendarAction);
|
|
68
|
+
|
|
69
|
+
expect(getByText(d.toLocaleString("en-US", options))).toBeTruthy();
|
|
70
|
+
});
|
|
48
71
|
test("Renders with correct format: user typed date but it's invalid, onBlur error", function () {
|
|
49
72
|
var onBlur = jest.fn(function (_ref) {
|
|
50
73
|
var value = _ref.value,
|
|
@@ -53,12 +76,12 @@ describe("DateInput component tests", function () {
|
|
|
53
76
|
expect(error).toBe("Invalid date.");
|
|
54
77
|
});
|
|
55
78
|
|
|
56
|
-
var
|
|
79
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
57
80
|
label: "With format MM/dd/yyyy",
|
|
58
81
|
format: "MM/dd/yyyy",
|
|
59
82
|
onBlur: onBlur
|
|
60
83
|
})),
|
|
61
|
-
getByRole =
|
|
84
|
+
getByRole = _render4.getByRole;
|
|
62
85
|
|
|
63
86
|
var input = getByRole("textbox");
|
|
64
87
|
|
|
@@ -69,12 +92,12 @@ describe("DateInput component tests", function () {
|
|
|
69
92
|
test("Renders with correct format: user typed date but it's invalid, onChange error", function () {
|
|
70
93
|
var onChange = jest.fn();
|
|
71
94
|
|
|
72
|
-
var
|
|
95
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
73
96
|
label: "With format MM/dd/yyyy",
|
|
74
97
|
format: "MM/dd/yyyy",
|
|
75
98
|
onChange: onChange
|
|
76
99
|
})),
|
|
77
|
-
getByRole =
|
|
100
|
+
getByRole = _render5.getByRole;
|
|
78
101
|
|
|
79
102
|
var input = getByRole("textbox");
|
|
80
103
|
|
|
@@ -83,14 +106,13 @@ describe("DateInput component tests", function () {
|
|
|
83
106
|
expect(onChange).toHaveBeenCalledTimes(10);
|
|
84
107
|
expect(onChange).toHaveBeenCalledWith({
|
|
85
108
|
value: "10/90/2010",
|
|
86
|
-
error: "Invalid date."
|
|
87
|
-
date: null
|
|
109
|
+
error: "Invalid date."
|
|
88
110
|
});
|
|
89
111
|
});
|
|
90
112
|
test("Calendar renders with correct date: today's date", function () {
|
|
91
|
-
var
|
|
92
|
-
getByText =
|
|
93
|
-
getByRole =
|
|
113
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], null)),
|
|
114
|
+
getByText = _render6.getByText,
|
|
115
|
+
getByRole = _render6.getByRole;
|
|
94
116
|
|
|
95
117
|
var calendarAction = getByRole("button");
|
|
96
118
|
var d = new Date();
|
|
@@ -105,11 +127,11 @@ describe("DateInput component tests", function () {
|
|
|
105
127
|
expect(getByText(d.toLocaleString("en-US", options))).toBeTruthy();
|
|
106
128
|
});
|
|
107
129
|
test("Calendar renders with correct date: value prop", function () {
|
|
108
|
-
var
|
|
130
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
109
131
|
value: "20-10-2019"
|
|
110
132
|
})),
|
|
111
|
-
getByText =
|
|
112
|
-
getByRole =
|
|
133
|
+
getByText = _render7.getByText,
|
|
134
|
+
getByRole = _render7.getByRole;
|
|
113
135
|
|
|
114
136
|
var calendarAction = getByRole("button");
|
|
115
137
|
var d = new Date(2019, 9, 20);
|
|
@@ -124,9 +146,9 @@ describe("DateInput component tests", function () {
|
|
|
124
146
|
expect(getByText(d.toLocaleString("en-US", options))).toBeTruthy();
|
|
125
147
|
});
|
|
126
148
|
test("Calendar renders with correct date: user typed value", function () {
|
|
127
|
-
var
|
|
128
|
-
getByText =
|
|
129
|
-
getByRole =
|
|
149
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], null)),
|
|
150
|
+
getByText = _render8.getByText,
|
|
151
|
+
getByRole = _render8.getByRole;
|
|
130
152
|
|
|
131
153
|
var calendarAction = getByRole("button");
|
|
132
154
|
var d = new Date(2010, 0, 1);
|
|
@@ -146,11 +168,11 @@ describe("DateInput component tests", function () {
|
|
|
146
168
|
test("Calendar renders with correct date: invalid date, renders with today's date", function () {
|
|
147
169
|
var onBlur = jest.fn();
|
|
148
170
|
|
|
149
|
-
var
|
|
171
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
150
172
|
onBlur: onBlur
|
|
151
173
|
})),
|
|
152
|
-
getByText =
|
|
153
|
-
getByRole =
|
|
174
|
+
getByText = _render9.getByText,
|
|
175
|
+
getByRole = _render9.getByRole;
|
|
154
176
|
|
|
155
177
|
var calendarAction = getByRole("button");
|
|
156
178
|
var d = new Date();
|
|
@@ -168,8 +190,7 @@ describe("DateInput component tests", function () {
|
|
|
168
190
|
expect(onBlur).toHaveBeenCalled();
|
|
169
191
|
expect(onBlur).toHaveBeenCalledWith({
|
|
170
192
|
value: "01-01-xxxx",
|
|
171
|
-
error: "Invalid date."
|
|
172
|
-
date: null
|
|
193
|
+
error: "Invalid date."
|
|
173
194
|
});
|
|
174
195
|
|
|
175
196
|
_userEvent["default"].click(calendarAction);
|
|
@@ -177,12 +198,12 @@ describe("DateInput component tests", function () {
|
|
|
177
198
|
expect(getByText(d.toLocaleString("en-US", options))).toBeTruthy();
|
|
178
199
|
});
|
|
179
200
|
test("Selecting a date from the calendar with an specific format", function () {
|
|
180
|
-
var
|
|
201
|
+
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
181
202
|
label: "With format M-dd-yyyy",
|
|
182
203
|
format: "M-dd-yyyy"
|
|
183
204
|
})),
|
|
184
|
-
getByText =
|
|
185
|
-
getByRole =
|
|
205
|
+
getByText = _render10.getByText,
|
|
206
|
+
getByRole = _render10.getByRole;
|
|
186
207
|
|
|
187
208
|
var input = getByRole("textbox");
|
|
188
209
|
var calendarAction = getByRole("button");
|
|
@@ -212,8 +233,8 @@ describe("DateInput component tests", function () {
|
|
|
212
233
|
expect(input.value).toBe("".concat(d.getMonth() + 1, "-10-").concat(d.getFullYear()));
|
|
213
234
|
});
|
|
214
235
|
test("Selecting a date from the calendar (using keyboard presses)", function () {
|
|
215
|
-
var
|
|
216
|
-
getByRole =
|
|
236
|
+
var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], null)),
|
|
237
|
+
getByRole = _render11.getByRole;
|
|
217
238
|
|
|
218
239
|
var calendarAction = getByRole("button");
|
|
219
240
|
var input = getByRole("textbox");
|
|
@@ -263,11 +284,11 @@ describe("DateInput component tests", function () {
|
|
|
263
284
|
var onBlur = jest.fn();
|
|
264
285
|
var onChange = jest.fn();
|
|
265
286
|
|
|
266
|
-
var
|
|
287
|
+
var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
267
288
|
onChange: onChange,
|
|
268
289
|
onBlur: onBlur
|
|
269
290
|
})),
|
|
270
|
-
getByRole =
|
|
291
|
+
getByRole = _render12.getByRole;
|
|
271
292
|
|
|
272
293
|
var input = getByRole("textbox");
|
|
273
294
|
var d = new Date(2011, 9, 10);
|
|
@@ -278,7 +299,6 @@ describe("DateInput component tests", function () {
|
|
|
278
299
|
expect(onChange).toHaveBeenCalledTimes(10);
|
|
279
300
|
expect(onChange).toHaveBeenCalledWith({
|
|
280
301
|
value: "10-10-2011",
|
|
281
|
-
error: null,
|
|
282
302
|
date: d
|
|
283
303
|
});
|
|
284
304
|
|
|
@@ -287,7 +307,6 @@ describe("DateInput component tests", function () {
|
|
|
287
307
|
expect(onBlur).toHaveBeenCalled();
|
|
288
308
|
expect(onBlur).toHaveBeenCalledWith({
|
|
289
309
|
value: "10-10-2011",
|
|
290
|
-
error: null,
|
|
291
310
|
date: d
|
|
292
311
|
});
|
|
293
312
|
});
|
|
@@ -295,11 +314,11 @@ describe("DateInput component tests", function () {
|
|
|
295
314
|
var onBlur = jest.fn();
|
|
296
315
|
var onChange = jest.fn();
|
|
297
316
|
|
|
298
|
-
var
|
|
317
|
+
var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
299
318
|
onChange: onChange,
|
|
300
319
|
onBlur: onBlur
|
|
301
320
|
})),
|
|
302
|
-
getByRole =
|
|
321
|
+
getByRole = _render13.getByRole;
|
|
303
322
|
|
|
304
323
|
var input = getByRole("textbox");
|
|
305
324
|
|
|
@@ -309,8 +328,7 @@ describe("DateInput component tests", function () {
|
|
|
309
328
|
expect(onChange).toHaveBeenCalledTimes(6);
|
|
310
329
|
expect(onChange).toHaveBeenCalledWith({
|
|
311
330
|
value: "10-10-",
|
|
312
|
-
error: "Invalid date."
|
|
313
|
-
date: null
|
|
331
|
+
error: "Invalid date."
|
|
314
332
|
});
|
|
315
333
|
|
|
316
334
|
_react2.fireEvent.blur(input);
|
|
@@ -318,17 +336,16 @@ describe("DateInput component tests", function () {
|
|
|
318
336
|
expect(onBlur).toHaveBeenCalled();
|
|
319
337
|
expect(onBlur).toHaveBeenCalledWith({
|
|
320
338
|
value: "10-10-",
|
|
321
|
-
error: "Invalid date."
|
|
322
|
-
date: null
|
|
339
|
+
error: "Invalid date."
|
|
323
340
|
});
|
|
324
341
|
});
|
|
325
342
|
test("onBlur function removes the error when it is fixed", function () {
|
|
326
343
|
var onBlur = jest.fn();
|
|
327
344
|
|
|
328
|
-
var
|
|
345
|
+
var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
329
346
|
onBlur: onBlur
|
|
330
347
|
})),
|
|
331
|
-
getByRole =
|
|
348
|
+
getByRole = _render14.getByRole;
|
|
332
349
|
|
|
333
350
|
var input = getByRole("textbox");
|
|
334
351
|
var d = new Date(2002, 1, 20);
|
|
@@ -342,8 +359,7 @@ describe("DateInput component tests", function () {
|
|
|
342
359
|
expect(onBlur).toHaveBeenCalled();
|
|
343
360
|
expect(onBlur).toHaveBeenCalledWith({
|
|
344
361
|
value: "test",
|
|
345
|
-
error: "Invalid date."
|
|
346
|
-
date: null
|
|
362
|
+
error: "Invalid date."
|
|
347
363
|
});
|
|
348
364
|
|
|
349
365
|
_userEvent["default"].clear(input);
|
|
@@ -357,18 +373,17 @@ describe("DateInput component tests", function () {
|
|
|
357
373
|
expect(onBlur).toHaveBeenCalled();
|
|
358
374
|
expect(onBlur).toHaveBeenCalledWith({
|
|
359
375
|
value: "20-02-2002",
|
|
360
|
-
error: null,
|
|
361
376
|
date: d
|
|
362
377
|
});
|
|
363
378
|
});
|
|
364
379
|
test("onBlur function removes the error when the input is empty", function () {
|
|
365
380
|
var onBlur = jest.fn();
|
|
366
381
|
|
|
367
|
-
var
|
|
382
|
+
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
368
383
|
onBlur: onBlur,
|
|
369
384
|
optional: true
|
|
370
385
|
})),
|
|
371
|
-
getByRole =
|
|
386
|
+
getByRole = _render15.getByRole;
|
|
372
387
|
|
|
373
388
|
var input = getByRole("textbox");
|
|
374
389
|
|
|
@@ -381,8 +396,7 @@ describe("DateInput component tests", function () {
|
|
|
381
396
|
expect(onBlur).toHaveBeenCalled();
|
|
382
397
|
expect(onBlur).toHaveBeenCalledWith({
|
|
383
398
|
value: "test",
|
|
384
|
-
error: "Invalid date."
|
|
385
|
-
date: null
|
|
399
|
+
error: "Invalid date."
|
|
386
400
|
});
|
|
387
401
|
|
|
388
402
|
_userEvent["default"].clear(input);
|
|
@@ -391,20 +405,18 @@ describe("DateInput component tests", function () {
|
|
|
391
405
|
|
|
392
406
|
expect(onBlur).toHaveBeenCalled();
|
|
393
407
|
expect(onBlur).toHaveBeenCalledWith({
|
|
394
|
-
value: ""
|
|
395
|
-
error: null,
|
|
396
|
-
date: null
|
|
408
|
+
value: ""
|
|
397
409
|
});
|
|
398
410
|
});
|
|
399
411
|
test("onBlur & onChange functions error: required field (not optional)", function () {
|
|
400
412
|
var onBlur = jest.fn();
|
|
401
413
|
var onChange = jest.fn();
|
|
402
414
|
|
|
403
|
-
var
|
|
415
|
+
var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
404
416
|
onBlur: onBlur,
|
|
405
417
|
onChange: onChange
|
|
406
418
|
})),
|
|
407
|
-
getByRole =
|
|
419
|
+
getByRole = _render16.getByRole;
|
|
408
420
|
|
|
409
421
|
var date = getByRole("textbox");
|
|
410
422
|
|
|
@@ -419,22 +431,20 @@ describe("DateInput component tests", function () {
|
|
|
419
431
|
expect(onBlur).toHaveBeenCalled();
|
|
420
432
|
expect(onBlur).toHaveBeenCalledWith({
|
|
421
433
|
value: "",
|
|
422
|
-
error: "This field is required. Please, enter a value."
|
|
423
|
-
date: null
|
|
434
|
+
error: "This field is required. Please, enter a value."
|
|
424
435
|
});
|
|
425
436
|
expect(onChange).toHaveBeenCalled();
|
|
426
437
|
expect(onChange).toHaveBeenCalledWith({
|
|
427
438
|
value: "",
|
|
428
|
-
error: "This field is required. Please, enter a value."
|
|
429
|
-
date: null
|
|
439
|
+
error: "This field is required. Please, enter a value."
|
|
430
440
|
});
|
|
431
441
|
});
|
|
432
442
|
test("Disabled date input (calendar action must be shown but not clickable)", function () {
|
|
433
|
-
var
|
|
443
|
+
var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
434
444
|
disabled: true
|
|
435
445
|
})),
|
|
436
|
-
getByRole =
|
|
437
|
-
queryByText =
|
|
446
|
+
getByRole = _render17.getByRole,
|
|
447
|
+
queryByText = _render17.queryByText;
|
|
438
448
|
|
|
439
449
|
var calendarAction = getByRole("button");
|
|
440
450
|
var d = new Date();
|
|
@@ -450,10 +460,10 @@ describe("DateInput component tests", function () {
|
|
|
450
460
|
expect(queryByText(d.toLocaleString("en-US", options))).toBeFalsy();
|
|
451
461
|
});
|
|
452
462
|
test("Input has correct accesibility attributes", function () {
|
|
453
|
-
var
|
|
463
|
+
var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
454
464
|
label: "Date input label"
|
|
455
465
|
})),
|
|
456
|
-
getByRole =
|
|
466
|
+
getByRole = _render18.getByRole;
|
|
457
467
|
|
|
458
468
|
var input = getByRole("textbox");
|
|
459
469
|
expect(input.getAttribute("aria-autocomplete")).toBeNull();
|