@dxc-technology/halstack-react 0.0.0-d3554d7 → 0.0.0-d3df47e
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 +1 -10
- package/BackgroundColorContext.js +5 -22
- package/HalstackContext.d.ts +1221 -0
- package/HalstackContext.js +310 -0
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +116 -181
- package/accordion/Accordion.stories.tsx +103 -127
- package/accordion/Accordion.test.js +32 -33
- package/accordion/types.d.ts +9 -16
- package/accordion-group/AccordionGroup.d.ts +5 -4
- package/accordion-group/AccordionGroup.js +38 -107
- package/accordion-group/AccordionGroup.stories.tsx +95 -68
- package/accordion-group/AccordionGroup.test.js +55 -90
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/types.d.ts +15 -16
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +47 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/alert/Alert.js +23 -59
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +29 -46
- package/alert/types.d.ts +5 -5
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +142 -40
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -2
- package/bleed/Bleed.js +14 -55
- package/bleed/Bleed.stories.tsx +95 -95
- package/bleed/types.d.ts +26 -2
- package/box/Box.d.ts +1 -1
- package/box/Box.js +30 -81
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +2 -7
- package/box/types.d.ts +3 -14
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +89 -0
- package/bulleted-list/BulletedList.stories.tsx +115 -0
- package/bulleted-list/types.d.ts +38 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +62 -113
- package/button/Button.stories.tsx +160 -90
- package/button/Button.test.js +20 -17
- package/button/types.d.ts +12 -8
- package/card/Card.d.ts +1 -1
- package/card/Card.js +58 -102
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +11 -22
- package/card/types.d.ts +6 -11
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +144 -182
- package/checkbox/Checkbox.stories.tsx +166 -136
- package/checkbox/Checkbox.test.js +163 -29
- package/checkbox/types.d.ts +18 -6
- package/chip/Chip.js +39 -79
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +16 -31
- package/chip/types.d.ts +4 -4
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1367 -0
- package/common/variables.js +1002 -1136
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.js +171 -306
- package/date-input/DateInput.stories.tsx +203 -56
- package/date-input/DateInput.test.js +708 -369
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +115 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +58 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +86 -22
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +68 -130
- package/dialog/Dialog.stories.tsx +320 -167
- package/dialog/Dialog.test.js +287 -20
- package/dialog/types.d.ts +18 -25
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +243 -304
- package/dropdown/Dropdown.stories.tsx +245 -56
- package/dropdown/Dropdown.test.js +575 -165
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +63 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +67 -0
- package/dropdown/types.d.ts +32 -14
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +246 -357
- package/file-input/FileInput.stories.tsx +123 -12
- package/file-input/FileInput.test.js +369 -367
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +50 -99
- package/file-input/types.d.ts +25 -8
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +70 -190
- package/footer/Footer.stories.tsx +60 -19
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +67 -8
- package/footer/types.d.ts +25 -26
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +76 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +99 -203
- package/header/Header.stories.tsx +152 -63
- package/header/Header.test.js +31 -28
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +4 -9
- package/header/types.d.ts +5 -19
- package/heading/Heading.js +10 -32
- package/heading/Heading.test.js +71 -88
- package/heading/types.d.ts +7 -7
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/inset/Inset.js +14 -55
- package/inset/Inset.stories.tsx +37 -36
- package/inset/types.d.ts +26 -2
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +84 -181
- package/layout/ApplicationLayout.stories.tsx +85 -94
- package/layout/Icons.d.ts +8 -0
- package/layout/Icons.js +51 -48
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +13 -0
- package/layout/types.d.ts +19 -35
- package/link/Link.d.ts +3 -2
- package/link/Link.js +61 -99
- package/link/Link.stories.tsx +155 -53
- package/link/Link.test.js +25 -53
- package/link/types.d.ts +15 -31
- package/main.d.ts +14 -13
- package/main.js +65 -101
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +93 -0
- package/nav-tabs/NavTabs.stories.tsx +276 -0
- package/nav-tabs/NavTabs.test.js +76 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +118 -0
- package/nav-tabs/types.d.ts +52 -0
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +27 -43
- package/number-input/NumberInput.stories.tsx +44 -28
- package/number-input/NumberInput.test.js +703 -381
- package/number-input/types.d.ts +28 -15
- package/package.json +46 -47
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +21 -47
- package/paginator/Paginator.js +34 -91
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +280 -211
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +22 -0
- package/paragraph/Paragraph.stories.tsx +27 -0
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.js +57 -123
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +162 -147
- package/password-input/types.d.ts +21 -17
- package/progress-bar/ProgressBar.js +65 -91
- package/progress-bar/ProgressBar.stories.tsx +93 -0
- package/progress-bar/ProgressBar.test.js +72 -44
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +94 -0
- package/quick-nav/QuickNav.stories.tsx +356 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +59 -76
- package/radio-group/RadioGroup.js +72 -116
- package/radio-group/RadioGroup.stories.tsx +135 -17
- package/radio-group/RadioGroup.test.js +529 -467
- package/radio-group/types.d.ts +86 -9
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +1 -1
- package/resultset-table/ResultsetTable.js +165 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +69 -25
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +117 -118
- package/{resultsetTable → resultset-table}/types.d.ts +13 -7
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +89 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +143 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +87 -0
- package/select/Select.js +223 -502
- package/select/Select.stories.tsx +534 -145
- package/select/Select.test.js +2009 -1539
- package/select/types.d.ts +64 -25
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +131 -71
- package/sidenav/Sidenav.stories.tsx +251 -151
- package/sidenav/Sidenav.test.js +26 -45
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +148 -180
- package/slider/Slider.test.js +198 -73
- package/slider/types.d.ts +11 -3
- package/spinner/Spinner.js +31 -75
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
- package/spinner/Spinner.test.js +26 -35
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +149 -114
- package/switch/Switch.stories.tsx +44 -67
- package/switch/Switch.test.js +146 -39
- package/switch/types.d.ts +13 -5
- package/table/Table.d.ts +1 -1
- package/table/Table.js +25 -32
- package/table/{Table.stories.jsx → Table.stories.tsx} +178 -1
- package/table/Table.test.js +3 -8
- package/table/types.d.ts +12 -6
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +116 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +316 -145
- package/tabs/Tabs.stories.tsx +120 -14
- package/tabs/Tabs.test.js +238 -67
- package/tabs/types.d.ts +29 -15
- package/tag/Tag.js +41 -78
- package/tag/Tag.stories.tsx +25 -8
- package/tag/Tag.test.js +20 -31
- package/tag/types.d.ts +7 -7
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +56 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +67 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +84 -0
- package/text-input/TextInput.js +324 -548
- package/text-input/TextInput.stories.tsx +272 -281
- package/text-input/TextInput.test.js +1425 -1377
- package/text-input/types.d.ts +70 -24
- package/textarea/Textarea.js +82 -134
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +168 -198
- package/textarea/types.d.ts +27 -16
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +92 -105
- package/toggle-group/ToggleGroup.stories.tsx +53 -8
- package/toggle-group/ToggleGroup.test.js +78 -66
- package/toggle-group/types.d.ts +34 -17
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +23 -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 +1119 -1
- package/useTheme.js +4 -11
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +14 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +124 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +70 -101
- package/wizard/Wizard.stories.tsx +48 -19
- package/wizard/Wizard.test.js +73 -87
- package/wizard/types.d.ts +12 -8
- package/ThemeContext.d.ts +0 -10
- package/ThemeContext.js +0 -243
- package/card/ice-cream.jpg +0 -0
- 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/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/progress-bar/ProgressBar.stories.jsx +0 -58
- 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/resultsetTable/ResultsetTable.js +0 -254
- 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/slider/Slider.stories.tsx +0 -177
- 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/textarea/Textarea.stories.jsx +0 -157
- /package/{list → action-icon}/types.js +0 -0
- /package/{radio → bulleted-list}/types.js +0 -0
- /package/{resultsetTable → container}/types.js +0 -0
- /package/{row → flex}/types.js +0 -0
- /package/{stack → grid}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → image/types.js} +0 -0
|
@@ -1,43 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
5
6
|
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
|
|
7
7
|
var _react2 = require("@testing-library/react");
|
|
8
|
-
|
|
9
8
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
10
|
-
|
|
11
|
-
var _Textarea = _interopRequireDefault(require("./Textarea"));
|
|
12
|
-
|
|
9
|
+
var _Textarea = _interopRequireDefault(require("./Textarea.tsx"));
|
|
13
10
|
describe("Textarea component tests", function () {
|
|
14
11
|
test("Renders with correct label", function () {
|
|
15
12
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
label: "Example label"
|
|
14
|
+
})),
|
|
15
|
+
getByText = _render.getByText;
|
|
20
16
|
expect(getByText("Example label")).toBeTruthy();
|
|
21
17
|
});
|
|
22
18
|
test("Renders with correct label and helper text", function () {
|
|
23
19
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
20
|
+
label: "Example label",
|
|
21
|
+
helperText: "Example helper text"
|
|
22
|
+
})),
|
|
23
|
+
getByText = _render2.getByText;
|
|
29
24
|
expect(getByText("Example label")).toBeTruthy();
|
|
30
25
|
expect(getByText("Example helper text")).toBeTruthy();
|
|
31
26
|
});
|
|
32
27
|
test("Renders with correct label and optional", function () {
|
|
33
28
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
29
|
+
label: "Example label",
|
|
30
|
+
helperText: "Example helper text",
|
|
31
|
+
optional: true
|
|
32
|
+
})),
|
|
33
|
+
getByText = _render3.getByText,
|
|
34
|
+
getByRole = _render3.getByRole;
|
|
41
35
|
var textarea = getByRole("textbox");
|
|
42
36
|
expect(getByText("Example label")).toBeTruthy();
|
|
43
37
|
expect(getByText("(Optional)")).toBeTruthy();
|
|
@@ -46,21 +40,19 @@ describe("Textarea component tests", function () {
|
|
|
46
40
|
});
|
|
47
41
|
test("Renders with correct placeholder", function () {
|
|
48
42
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
43
|
+
placeholder: "Placeholder"
|
|
44
|
+
})),
|
|
45
|
+
getByRole = _render4.getByRole;
|
|
53
46
|
var textarea = getByRole("textbox");
|
|
54
47
|
expect(textarea.getAttribute("placeholder")).toBe("Placeholder");
|
|
55
48
|
});
|
|
56
49
|
test("Renders with error message and correct aria attributes", function () {
|
|
57
50
|
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
51
|
+
label: "Example label",
|
|
52
|
+
error: "Error message."
|
|
53
|
+
})),
|
|
54
|
+
getByText = _render5.getByText,
|
|
55
|
+
getByLabelText = _render5.getByLabelText;
|
|
64
56
|
var textarea = getByLabelText("Example label");
|
|
65
57
|
var errorMessage = getByText("Error message.");
|
|
66
58
|
expect(errorMessage).toBeTruthy();
|
|
@@ -70,109 +62,140 @@ describe("Textarea component tests", function () {
|
|
|
70
62
|
});
|
|
71
63
|
test("Renders with correct default rows", function () {
|
|
72
64
|
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
65
|
+
label: "Example label",
|
|
66
|
+
rows: 10
|
|
67
|
+
})),
|
|
68
|
+
getByLabelText = _render6.getByLabelText;
|
|
78
69
|
var textarea = getByLabelText("Example label");
|
|
79
70
|
expect(textarea.rows).toBe(10);
|
|
80
71
|
});
|
|
81
|
-
test("Renders with correct
|
|
72
|
+
test("Renders with correct accessibility attributes", function () {
|
|
82
73
|
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
74
|
+
label: "Example label"
|
|
75
|
+
})),
|
|
76
|
+
getByLabelText = _render7.getByLabelText;
|
|
87
77
|
var textarea = getByLabelText("Example label");
|
|
88
|
-
expect(textarea.getAttribute("aria-disabled")).toBe("false");
|
|
89
78
|
expect(textarea.getAttribute("aria-invalid")).toBe("false");
|
|
90
79
|
expect(textarea.getAttribute("aria-describedBy")).toBeNull();
|
|
91
80
|
expect(textarea.getAttribute("aria-required")).toBe("true");
|
|
92
81
|
});
|
|
93
|
-
test("
|
|
94
|
-
var onChange = jest.fn();
|
|
95
|
-
|
|
82
|
+
test("Renders with correct initial value", function () {
|
|
96
83
|
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
84
|
+
label: "Example label",
|
|
85
|
+
placeholder: "Placeholder",
|
|
86
|
+
defaultValue: "Example text"
|
|
87
|
+
})),
|
|
88
|
+
getByLabelText = _render8.getByLabelText;
|
|
89
|
+
var textarea = getByLabelText("Example label");
|
|
90
|
+
expect(textarea.value).toBe("Example text");
|
|
91
|
+
});
|
|
92
|
+
test("Disabled textarea can not be modified", function () {
|
|
93
|
+
var onChange = jest.fn();
|
|
94
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
95
|
+
label: "Example label",
|
|
96
|
+
onChange: onChange,
|
|
97
|
+
disabled: true
|
|
98
|
+
})),
|
|
99
|
+
getByLabelText = _render9.getByLabelText;
|
|
103
100
|
var textarea = getByLabelText("Example label");
|
|
104
|
-
expect(textarea.getAttribute("aria-disabled")).toBe("true");
|
|
105
|
-
|
|
106
101
|
_userEvent["default"].type(textarea, "Test");
|
|
107
|
-
|
|
108
102
|
expect(onChange).not.toHaveBeenCalled();
|
|
109
103
|
});
|
|
104
|
+
test("Read-only textarea does not trigger onChange function", function () {
|
|
105
|
+
var onChange = jest.fn();
|
|
106
|
+
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
107
|
+
label: "Example label",
|
|
108
|
+
onChange: onChange,
|
|
109
|
+
readOnly: true
|
|
110
|
+
})),
|
|
111
|
+
getByLabelText = _render10.getByLabelText;
|
|
112
|
+
var textarea = getByLabelText("Example label");
|
|
113
|
+
_userEvent["default"].type(textarea, "Test");
|
|
114
|
+
expect(onChange).not.toHaveBeenCalled();
|
|
115
|
+
});
|
|
116
|
+
test("Read-only textarea sends its value on submit", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
117
|
+
var handlerOnSubmit, _render11, getByText, submit;
|
|
118
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
119
|
+
while (1) switch (_context.prev = _context.next) {
|
|
120
|
+
case 0:
|
|
121
|
+
handlerOnSubmit = jest.fn(function (e) {
|
|
122
|
+
e.preventDefault();
|
|
123
|
+
var formData = new FormData(e.target);
|
|
124
|
+
var formProps = Object.fromEntries(formData);
|
|
125
|
+
expect(formProps).toStrictEqual({
|
|
126
|
+
data: "Comments"
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
_render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
|
|
130
|
+
onSubmit: handlerOnSubmit
|
|
131
|
+
}, /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
132
|
+
label: "Example label",
|
|
133
|
+
name: "data",
|
|
134
|
+
defaultValue: "Comments",
|
|
135
|
+
readOnly: true
|
|
136
|
+
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
137
|
+
type: "submit"
|
|
138
|
+
}, "Submit"))), getByText = _render11.getByText;
|
|
139
|
+
submit = getByText("Submit");
|
|
140
|
+
_context.next = 5;
|
|
141
|
+
return _userEvent["default"].click(submit);
|
|
142
|
+
case 5:
|
|
143
|
+
expect(handlerOnSubmit).toHaveBeenCalled();
|
|
144
|
+
case 6:
|
|
145
|
+
case "end":
|
|
146
|
+
return _context.stop();
|
|
147
|
+
}
|
|
148
|
+
}, _callee);
|
|
149
|
+
})));
|
|
110
150
|
test("Not optional constraint (onBlur)", function () {
|
|
111
151
|
var onChange = jest.fn();
|
|
112
152
|
var onBlur = jest.fn();
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
getByLabelText = _render9.getByLabelText;
|
|
121
|
-
|
|
153
|
+
var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
154
|
+
label: "Example label",
|
|
155
|
+
placeholder: "Placeholder",
|
|
156
|
+
onChange: onChange,
|
|
157
|
+
onBlur: onBlur
|
|
158
|
+
})),
|
|
159
|
+
getByLabelText = _render12.getByLabelText;
|
|
122
160
|
var textarea = getByLabelText("Example label");
|
|
123
|
-
|
|
124
161
|
_react2.fireEvent.focus(textarea);
|
|
125
|
-
|
|
126
162
|
_react2.fireEvent.blur(textarea);
|
|
127
|
-
|
|
128
163
|
expect(onBlur).toHaveBeenCalled();
|
|
129
164
|
expect(onBlur).toHaveBeenCalledWith({
|
|
130
165
|
value: "",
|
|
131
166
|
error: "This field is required. Please, enter a value."
|
|
132
167
|
});
|
|
133
|
-
|
|
134
168
|
_react2.fireEvent.change(textarea, {
|
|
135
169
|
target: {
|
|
136
170
|
value: "Test"
|
|
137
171
|
}
|
|
138
172
|
});
|
|
139
|
-
|
|
140
173
|
_react2.fireEvent.blur(textarea);
|
|
141
|
-
|
|
142
174
|
expect(onBlur).toHaveBeenCalled();
|
|
143
175
|
expect(onBlur).toHaveBeenCalledWith({
|
|
144
|
-
value: "Test"
|
|
145
|
-
error: null
|
|
176
|
+
value: "Test"
|
|
146
177
|
});
|
|
147
178
|
});
|
|
148
179
|
test("Not optional constraint (onChange)", function () {
|
|
149
180
|
var onChange = jest.fn();
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
getByLabelText = _render10.getByLabelText;
|
|
157
|
-
|
|
181
|
+
var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
182
|
+
label: "Example label",
|
|
183
|
+
placeholder: "Placeholder",
|
|
184
|
+
onChange: onChange
|
|
185
|
+
})),
|
|
186
|
+
getByLabelText = _render13.getByLabelText;
|
|
158
187
|
var textarea = getByLabelText("Example label");
|
|
159
|
-
|
|
160
188
|
_react2.fireEvent.focus(textarea);
|
|
161
|
-
|
|
162
189
|
_react2.fireEvent.change(textarea, {
|
|
163
190
|
target: {
|
|
164
191
|
value: "Test"
|
|
165
192
|
}
|
|
166
193
|
});
|
|
167
|
-
|
|
168
194
|
expect(onChange).toHaveBeenCalled();
|
|
169
195
|
expect(onChange).toHaveBeenCalledWith({
|
|
170
|
-
value: "Test"
|
|
171
|
-
error: null
|
|
196
|
+
value: "Test"
|
|
172
197
|
});
|
|
173
|
-
|
|
174
198
|
_userEvent["default"].clear(textarea);
|
|
175
|
-
|
|
176
199
|
expect(onChange).toHaveBeenCalled();
|
|
177
200
|
expect(onChange).toHaveBeenCalledWith({
|
|
178
201
|
value: "",
|
|
@@ -182,254 +205,201 @@ describe("Textarea component tests", function () {
|
|
|
182
205
|
test("Pattern constraint", function () {
|
|
183
206
|
var onChange = jest.fn();
|
|
184
207
|
var onBlur = jest.fn();
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
getByLabelText = _render11.getByLabelText;
|
|
198
|
-
|
|
208
|
+
var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
209
|
+
label: "Example label",
|
|
210
|
+
placeholder: "Placeholder",
|
|
211
|
+
onChange: onChange,
|
|
212
|
+
onBlur: onBlur,
|
|
213
|
+
margin: {
|
|
214
|
+
left: "medium",
|
|
215
|
+
right: "medium"
|
|
216
|
+
},
|
|
217
|
+
pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
|
|
218
|
+
})),
|
|
219
|
+
getByLabelText = _render14.getByLabelText;
|
|
199
220
|
var textarea = getByLabelText("Example label");
|
|
200
|
-
|
|
201
221
|
_react2.fireEvent.change(textarea, {
|
|
202
222
|
target: {
|
|
203
223
|
value: "pattern test"
|
|
204
224
|
}
|
|
205
225
|
});
|
|
206
|
-
|
|
207
226
|
expect(onChange).toHaveBeenCalled();
|
|
208
227
|
expect(onChange).toHaveBeenCalledWith({
|
|
209
228
|
value: "pattern test",
|
|
210
229
|
error: "Please match the format requested."
|
|
211
230
|
});
|
|
212
|
-
|
|
213
231
|
_react2.fireEvent.blur(textarea);
|
|
214
|
-
|
|
215
232
|
expect(onBlur).toHaveBeenCalled();
|
|
216
233
|
expect(onBlur).toHaveBeenCalledWith({
|
|
217
234
|
value: "pattern test",
|
|
218
235
|
error: "Please match the format requested."
|
|
219
236
|
});
|
|
220
|
-
|
|
221
237
|
_userEvent["default"].clear(textarea);
|
|
222
|
-
|
|
223
238
|
_react2.fireEvent.change(textarea, {
|
|
224
239
|
target: {
|
|
225
240
|
value: "pattern4&"
|
|
226
241
|
}
|
|
227
242
|
});
|
|
228
|
-
|
|
229
243
|
expect(onChange).toHaveBeenCalled();
|
|
230
244
|
expect(onChange).toHaveBeenCalledWith({
|
|
231
|
-
value: "pattern4&"
|
|
232
|
-
error: null
|
|
245
|
+
value: "pattern4&"
|
|
233
246
|
});
|
|
234
|
-
|
|
235
247
|
_react2.fireEvent.blur(textarea);
|
|
236
|
-
|
|
237
248
|
expect(onBlur).toHaveBeenCalled();
|
|
238
249
|
expect(onBlur).toHaveBeenCalledWith({
|
|
239
|
-
value: "pattern4&"
|
|
240
|
-
error: null
|
|
250
|
+
value: "pattern4&"
|
|
241
251
|
});
|
|
242
252
|
});
|
|
243
253
|
test("Length constraint", function () {
|
|
244
254
|
var onChange = jest.fn();
|
|
245
255
|
var onBlur = jest.fn();
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
getByLabelText = _render12.getByLabelText;
|
|
260
|
-
|
|
256
|
+
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
257
|
+
label: "Example label",
|
|
258
|
+
placeholder: "Placeholder",
|
|
259
|
+
onChange: onChange,
|
|
260
|
+
onBlur: onBlur,
|
|
261
|
+
margin: {
|
|
262
|
+
left: "medium",
|
|
263
|
+
right: "medium"
|
|
264
|
+
},
|
|
265
|
+
minLength: 5,
|
|
266
|
+
maxLength: 10
|
|
267
|
+
})),
|
|
268
|
+
getByLabelText = _render15.getByLabelText;
|
|
261
269
|
var textarea = getByLabelText("Example label");
|
|
262
|
-
|
|
263
270
|
_react2.fireEvent.change(textarea, {
|
|
264
271
|
target: {
|
|
265
272
|
value: "test"
|
|
266
273
|
}
|
|
267
274
|
});
|
|
268
|
-
|
|
269
275
|
expect(onChange).toHaveBeenCalled();
|
|
270
276
|
expect(onChange).toHaveBeenCalledWith({
|
|
271
277
|
value: "test",
|
|
272
278
|
error: "Min length 5, max length 10."
|
|
273
279
|
});
|
|
274
|
-
|
|
275
280
|
_react2.fireEvent.blur(textarea);
|
|
276
|
-
|
|
277
281
|
expect(onBlur).toHaveBeenCalled();
|
|
278
282
|
expect(onBlur).toHaveBeenCalledWith({
|
|
279
283
|
value: "test",
|
|
280
284
|
error: "Min length 5, max length 10."
|
|
281
285
|
});
|
|
282
|
-
|
|
283
286
|
_userEvent["default"].clear(textarea);
|
|
284
|
-
|
|
285
287
|
_react2.fireEvent.change(textarea, {
|
|
286
288
|
target: {
|
|
287
289
|
value: "length"
|
|
288
290
|
}
|
|
289
291
|
});
|
|
290
|
-
|
|
291
292
|
expect(onChange).toHaveBeenCalled();
|
|
292
293
|
expect(onChange).toHaveBeenCalledWith({
|
|
293
|
-
value: "length"
|
|
294
|
-
error: null
|
|
294
|
+
value: "length"
|
|
295
295
|
});
|
|
296
|
-
|
|
297
296
|
_react2.fireEvent.blur(textarea);
|
|
298
|
-
|
|
299
297
|
expect(onBlur).toHaveBeenCalled();
|
|
300
298
|
expect(onBlur).toHaveBeenCalledWith({
|
|
301
|
-
value: "length"
|
|
302
|
-
error: null
|
|
299
|
+
value: "length"
|
|
303
300
|
});
|
|
304
301
|
});
|
|
305
302
|
test("Pattern and length constraints", function () {
|
|
306
303
|
var onChange = jest.fn();
|
|
307
304
|
var onBlur = jest.fn();
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
getByLabelText = _render13.getByLabelText;
|
|
323
|
-
|
|
305
|
+
var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
306
|
+
label: "Example label",
|
|
307
|
+
placeholder: "Placeholder",
|
|
308
|
+
onChange: onChange,
|
|
309
|
+
onBlur: onBlur,
|
|
310
|
+
margin: {
|
|
311
|
+
left: "medium",
|
|
312
|
+
right: "medium"
|
|
313
|
+
},
|
|
314
|
+
pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$",
|
|
315
|
+
minLength: 5,
|
|
316
|
+
maxLength: 10
|
|
317
|
+
})),
|
|
318
|
+
getByLabelText = _render16.getByLabelText;
|
|
324
319
|
var textarea = getByLabelText("Example label");
|
|
325
|
-
|
|
326
320
|
_react2.fireEvent.change(textarea, {
|
|
327
321
|
target: {
|
|
328
322
|
value: "test"
|
|
329
323
|
}
|
|
330
324
|
});
|
|
331
|
-
|
|
332
325
|
expect(onChange).toHaveBeenCalled();
|
|
333
326
|
expect(onChange).toHaveBeenCalledWith({
|
|
334
327
|
value: "test",
|
|
335
328
|
error: "Min length 5, max length 10."
|
|
336
329
|
});
|
|
337
|
-
|
|
338
330
|
_react2.fireEvent.blur(textarea);
|
|
339
|
-
|
|
340
331
|
expect(onBlur).toHaveBeenCalled();
|
|
341
332
|
expect(onBlur).toHaveBeenCalledWith({
|
|
342
333
|
value: "test",
|
|
343
334
|
error: "Min length 5, max length 10."
|
|
344
335
|
});
|
|
345
|
-
|
|
346
336
|
_react2.fireEvent.change(textarea, {
|
|
347
337
|
target: {
|
|
348
338
|
value: "tests"
|
|
349
339
|
}
|
|
350
340
|
});
|
|
351
|
-
|
|
352
341
|
expect(onChange).toHaveBeenCalled();
|
|
353
342
|
expect(onChange).toHaveBeenCalledWith({
|
|
354
343
|
value: "tests",
|
|
355
344
|
error: "Please match the format requested."
|
|
356
345
|
});
|
|
357
|
-
|
|
358
346
|
_react2.fireEvent.blur(textarea);
|
|
359
|
-
|
|
360
347
|
expect(onBlur).toHaveBeenCalled();
|
|
361
348
|
expect(onBlur).toHaveBeenCalledWith({
|
|
362
349
|
value: "tests",
|
|
363
350
|
error: "Please match the format requested."
|
|
364
351
|
});
|
|
365
|
-
|
|
366
352
|
_react2.fireEvent.change(textarea, {
|
|
367
353
|
target: {
|
|
368
354
|
value: "tests4&"
|
|
369
355
|
}
|
|
370
356
|
});
|
|
371
|
-
|
|
372
357
|
expect(onChange).toHaveBeenCalled();
|
|
373
358
|
expect(onChange).toHaveBeenCalledWith({
|
|
374
|
-
value: "tests4&"
|
|
375
|
-
error: null
|
|
359
|
+
value: "tests4&"
|
|
376
360
|
});
|
|
377
|
-
|
|
378
361
|
_react2.fireEvent.blur(textarea);
|
|
379
|
-
|
|
380
362
|
expect(onBlur).toHaveBeenCalled();
|
|
381
363
|
expect(onBlur).toHaveBeenCalledWith({
|
|
382
|
-
value: "tests4&"
|
|
383
|
-
error: null
|
|
364
|
+
value: "tests4&"
|
|
384
365
|
});
|
|
385
366
|
});
|
|
386
367
|
test("onBlur function is called correctly", function () {
|
|
387
368
|
var onBlur = jest.fn();
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
getByLabelText = _render14.getByLabelText;
|
|
394
|
-
|
|
369
|
+
var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
370
|
+
label: "Example label",
|
|
371
|
+
onBlur: onBlur
|
|
372
|
+
})),
|
|
373
|
+
getByLabelText = _render17.getByLabelText;
|
|
395
374
|
var textarea = getByLabelText("Example label");
|
|
396
|
-
|
|
397
375
|
_react2.fireEvent.change(textarea, {
|
|
398
376
|
target: {
|
|
399
377
|
value: "Blur test"
|
|
400
378
|
}
|
|
401
379
|
});
|
|
402
|
-
|
|
403
380
|
_react2.fireEvent.blur(textarea);
|
|
404
|
-
|
|
405
381
|
expect(onBlur).toHaveBeenCalled();
|
|
406
382
|
expect(onBlur).toHaveBeenCalledWith({
|
|
407
|
-
value: "Blur test"
|
|
408
|
-
error: null
|
|
383
|
+
value: "Blur test"
|
|
409
384
|
});
|
|
410
385
|
});
|
|
411
386
|
test("onChange function is called correctly", function () {
|
|
412
387
|
var onChange = jest.fn();
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
getByLabelText = _render15.getByLabelText;
|
|
420
|
-
|
|
388
|
+
var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
389
|
+
label: "Example label",
|
|
390
|
+
value: "Test value",
|
|
391
|
+
onChange: onChange
|
|
392
|
+
})),
|
|
393
|
+
getByLabelText = _render18.getByLabelText;
|
|
421
394
|
var textarea = getByLabelText("Example label");
|
|
422
|
-
|
|
423
395
|
_react2.fireEvent.change(textarea, {
|
|
424
396
|
target: {
|
|
425
397
|
value: "Controlled test"
|
|
426
398
|
}
|
|
427
399
|
});
|
|
428
|
-
|
|
429
400
|
expect(onChange).toHaveBeenCalled();
|
|
430
401
|
expect(onChange).toHaveBeenCalledWith({
|
|
431
|
-
value: "Controlled test"
|
|
432
|
-
error: null
|
|
402
|
+
value: "Controlled test"
|
|
433
403
|
});
|
|
434
404
|
expect(textarea.value).toBe("Test value");
|
|
435
405
|
});
|