@dxc-technology/halstack-react 0.0.0-5a1e592 → 0.0.0-5b15506
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 +4 -21
- package/HalstackContext.d.ts +32 -139
- package/HalstackContext.js +10 -35
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +33 -84
- package/accordion/Accordion.stories.tsx +5 -51
- package/accordion/Accordion.test.js +18 -33
- package/accordion/types.d.ts +6 -6
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +2 -3
- package/accordion-group/AccordionGroup.js +17 -44
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +42 -60
- package/accordion-group/AccordionGroupAccordion.js +11 -23
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +7 -7
- package/action-icon/ActionIcon.accessibility.test.js +63 -0
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -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.accessibility.test.js +95 -0
- package/alert/Alert.js +29 -118
- package/alert/Alert.test.js +28 -45
- package/alert/types.d.ts +5 -5
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +142 -42
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/bleed/Bleed.js +13 -21
- package/bleed/types.d.ts +2 -2
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.js +11 -33
- package/box/Box.test.js +1 -6
- package/box/types.d.ts +3 -3
- package/bulleted-list/BulletedList.accessibility.test.js +107 -0
- package/bulleted-list/BulletedList.js +22 -55
- package/bulleted-list/BulletedList.stories.tsx +2 -93
- package/bulleted-list/types.d.ts +5 -5
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.js +36 -59
- package/button/Button.stories.tsx +33 -133
- package/button/Button.test.js +13 -21
- package/button/types.d.ts +5 -5
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.js +21 -44
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +5 -5
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +55 -109
- package/checkbox/Checkbox.stories.tsx +0 -54
- package/checkbox/Checkbox.test.js +79 -108
- package/checkbox/types.d.ts +4 -4
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +20 -36
- package/chip/Chip.stories.tsx +5 -24
- package/chip/Chip.test.js +17 -30
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.d.ts +105 -14
- package/common/coreTokens.js +40 -23
- package/common/utils.js +2 -8
- package/common/variables.d.ts +32 -136
- package/common/variables.js +43 -154
- 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/container/types.js +5 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
- package/contextual-menu/ContextualMenu.d.ts +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/Calendar.js +13 -57
- package/date-input/DateInput.accessibility.test.js +216 -0
- package/date-input/DateInput.js +45 -94
- package/date-input/DateInput.stories.tsx +1 -30
- package/date-input/DateInput.test.js +667 -708
- package/date-input/DatePicker.js +23 -48
- package/date-input/YearPicker.js +8 -34
- package/date-input/types.d.ts +28 -26
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.js +13 -40
- package/dialog/Dialog.stories.tsx +170 -0
- package/dialog/Dialog.test.js +126 -188
- package/dialog/types.d.ts +18 -13
- package/divider/Divider.accessibility.test.js +33 -0
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +21 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.accessibility.test.js +180 -0
- package/dropdown/Dropdown.js +59 -128
- package/dropdown/Dropdown.stories.tsx +5 -16
- package/dropdown/Dropdown.test.js +391 -378
- package/dropdown/DropdownMenu.js +8 -19
- package/dropdown/DropdownMenuItem.js +11 -20
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.js +180 -284
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +279 -354
- package/file-input/FileItem.js +25 -66
- package/file-input/types.d.ts +9 -9
- package/flex/Flex.js +25 -39
- package/flex/types.d.ts +6 -6
- package/footer/Footer.accessibility.test.js +117 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +43 -68
- package/footer/Footer.stories.tsx +46 -2
- package/footer/Footer.test.js +18 -32
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +66 -7
- package/footer/types.d.ts +17 -17
- package/grid/Grid.js +1 -16
- package/grid/types.d.ts +10 -10
- package/header/Header.accessibility.test.js +84 -0
- package/header/Header.d.ts +1 -1
- package/header/Header.js +36 -103
- package/header/Header.test.js +12 -25
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +7 -8
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +9 -31
- package/heading/Heading.test.js +70 -87
- package/heading/types.d.ts +7 -7
- package/icon/Icon.accessibility.test.js +30 -0
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.d.ts +2 -2
- package/image/Image.js +17 -32
- package/image/Image.stories.tsx +3 -1
- package/image/types.d.ts +2 -2
- package/inset/Inset.js +13 -21
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +2 -2
- package/layout/ApplicationLayout.js +15 -55
- package/layout/Icons.d.ts +5 -5
- package/layout/Icons.js +1 -7
- package/layout/types.d.ts +3 -3
- package/link/Link.accessibility.test.js +112 -0
- package/link/Link.js +28 -47
- package/link/Link.stories.tsx +2 -2
- package/link/Link.test.js +23 -41
- package/link/types.d.ts +14 -14
- package/main.d.ts +7 -4
- package/main.js +32 -60
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +19 -48
- package/nav-tabs/NavTabs.stories.tsx +30 -25
- package/nav-tabs/NavTabs.test.js +38 -45
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +33 -62
- package/nav-tabs/types.d.ts +10 -10
- package/number-input/NumberInput.accessibility.test.js +228 -0
- package/number-input/NumberInput.d.ts +0 -7
- package/number-input/NumberInput.js +47 -39
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +839 -575
- package/number-input/NumberInputContext.d.ts +3 -0
- package/number-input/NumberInputContext.js +8 -0
- package/number-input/types.d.ts +17 -5
- package/package.json +39 -37
- package/paginator/Icons.d.ts +5 -5
- package/paginator/Icons.js +5 -19
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +15 -43
- package/paginator/Paginator.test.js +224 -207
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.js +3 -19
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.js +27 -50
- package/password-input/PasswordInput.stories.tsx +1 -34
- package/password-input/PasswordInput.test.js +153 -129
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +21 -53
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
- package/progress-bar/ProgressBar.test.js +35 -52
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +1 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.js +15 -47
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +34 -80
- package/radio-group/RadioGroup.test.js +504 -497
- package/radio-group/types.d.ts +5 -5
- package/resultset-table/Icons.d.ts +7 -0
- package/{resultsetTable → resultset-table}/Icons.js +1 -5
- package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.js +44 -69
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +106 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +148 -92
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- package/resultset-table/types.js +5 -0
- package/select/Listbox.js +18 -42
- package/select/Option.js +26 -35
- package/select/Select.accessibility.test.js +217 -0
- package/select/Select.js +101 -169
- package/select/Select.stories.tsx +33 -97
- package/select/Select.test.js +1894 -1846
- package/select/types.d.ts +15 -16
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.js +44 -81
- package/sidenav/Sidenav.stories.tsx +4 -9
- package/sidenav/Sidenav.test.js +3 -10
- package/{layout → sidenav}/SidenavContext.d.ts +1 -1
- package/{layout → sidenav}/SidenavContext.js +3 -9
- package/sidenav/types.d.ts +20 -20
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.js +68 -125
- package/slider/Slider.test.js +107 -103
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +16 -54
- package/spinner/Spinner.test.js +25 -34
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.accessibility.test.js +157 -0
- 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.accessibility.test.js +89 -0
- package/switch/Switch.js +49 -97
- package/switch/Switch.stories.tsx +0 -34
- package/switch/Switch.test.js +51 -96
- package/switch/types.d.ts +4 -4
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.js +82 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +76 -33
- package/table/{Table.stories.jsx → Table.stories.tsx} +297 -2
- package/table/Table.test.js +93 -6
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +22 -37
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +59 -147
- package/tabs/Tabs.stories.tsx +2 -4
- package/tabs/Tabs.test.js +57 -131
- package/tabs/types.d.ts +21 -21
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +27 -57
- package/tag/Tag.stories.tsx +4 -7
- package/tag/Tag.test.js +17 -36
- package/tag/types.d.ts +9 -9
- package/text-input/Suggestion.js +9 -26
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +19 -67
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +193 -285
- package/text-input/TextInput.stories.tsx +10 -153
- package/text-input/TextInput.test.js +1213 -1269
- package/text-input/types.d.ts +21 -17
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +49 -93
- package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -108
- package/textarea/Textarea.test.js +135 -208
- package/textarea/types.d.ts +5 -5
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.js +25 -64
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.js +48 -81
- package/toggle-group/types.d.ts +12 -12
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.js +4 -13
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +29 -133
- package/useTheme.js +1 -8
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +2 -2
- package/utils/BaseTypography.js +16 -30
- package/utils/FocusLock.js +25 -39
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.js +27 -65
- package/wizard/Wizard.stories.tsx +19 -0
- package/wizard/Wizard.test.js +53 -80
- package/wizard/types.d.ts +8 -8
- package/common/OpenSans.css +0 -69
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/date-input/Icons.d.ts +0 -6
- package/date-input/Icons.js +0 -75
- package/password-input/Icons.d.ts +0 -6
- package/password-input/Icons.js +0 -39
- package/resultsetTable/Icons.d.ts +0 -7
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/select/Icons.d.ts +0 -10
- package/select/Icons.js +0 -93
- package/sidenav/Icons.d.ts +0 -7
- package/sidenav/Icons.js +0 -51
- package/slider/Slider.stories.tsx +0 -240
- package/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -60
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +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
9
|
var _Textarea = _interopRequireDefault(require("./Textarea.tsx"));
|
|
12
|
-
|
|
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,20 +62,18 @@ 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
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
78
|
expect(textarea.getAttribute("aria-invalid")).toBe("false");
|
|
89
79
|
expect(textarea.getAttribute("aria-describedBy")).toBeNull();
|
|
@@ -91,107 +81,96 @@ describe("Textarea component tests", function () {
|
|
|
91
81
|
});
|
|
92
82
|
test("Renders with correct initial value", function () {
|
|
93
83
|
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
84
|
+
label: "Example label",
|
|
85
|
+
placeholder: "Placeholder",
|
|
86
|
+
defaultValue: "Example text"
|
|
87
|
+
})),
|
|
88
|
+
getByLabelText = _render8.getByLabelText;
|
|
100
89
|
var textarea = getByLabelText("Example label");
|
|
101
90
|
expect(textarea.value).toBe("Example text");
|
|
102
91
|
});
|
|
103
92
|
test("Disabled textarea can not be modified", function () {
|
|
104
93
|
var onChange = jest.fn();
|
|
105
|
-
|
|
106
94
|
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
95
|
+
label: "Example label",
|
|
96
|
+
onChange: onChange,
|
|
97
|
+
disabled: true
|
|
98
|
+
})),
|
|
99
|
+
getByLabelText = _render9.getByLabelText;
|
|
113
100
|
var textarea = getByLabelText("Example label");
|
|
114
|
-
|
|
115
101
|
_userEvent["default"].type(textarea, "Test");
|
|
116
|
-
|
|
117
102
|
expect(onChange).not.toHaveBeenCalled();
|
|
118
103
|
});
|
|
119
104
|
test("Read-only textarea does not trigger onChange function", function () {
|
|
120
105
|
var onChange = jest.fn();
|
|
121
|
-
|
|
122
106
|
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
107
|
+
label: "Example label",
|
|
108
|
+
onChange: onChange,
|
|
109
|
+
readOnly: true
|
|
110
|
+
})),
|
|
111
|
+
getByLabelText = _render10.getByLabelText;
|
|
129
112
|
var textarea = getByLabelText("Example label");
|
|
130
|
-
|
|
131
113
|
_userEvent["default"].type(textarea, "Test");
|
|
132
|
-
|
|
133
114
|
expect(onChange).not.toHaveBeenCalled();
|
|
134
115
|
});
|
|
135
|
-
test("Read-only textarea sends its value on submit", function () {
|
|
136
|
-
var handlerOnSubmit
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
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
|
+
})));
|
|
163
150
|
test("Not optional constraint (onBlur)", function () {
|
|
164
151
|
var onChange = jest.fn();
|
|
165
152
|
var onBlur = jest.fn();
|
|
166
|
-
|
|
167
153
|
var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
154
|
+
label: "Example label",
|
|
155
|
+
placeholder: "Placeholder",
|
|
156
|
+
onChange: onChange,
|
|
157
|
+
onBlur: onBlur
|
|
158
|
+
})),
|
|
159
|
+
getByLabelText = _render12.getByLabelText;
|
|
175
160
|
var textarea = getByLabelText("Example label");
|
|
176
|
-
|
|
177
161
|
_react2.fireEvent.focus(textarea);
|
|
178
|
-
|
|
179
162
|
_react2.fireEvent.blur(textarea);
|
|
180
|
-
|
|
181
163
|
expect(onBlur).toHaveBeenCalled();
|
|
182
164
|
expect(onBlur).toHaveBeenCalledWith({
|
|
183
165
|
value: "",
|
|
184
166
|
error: "This field is required. Please, enter a value."
|
|
185
167
|
});
|
|
186
|
-
|
|
187
168
|
_react2.fireEvent.change(textarea, {
|
|
188
169
|
target: {
|
|
189
170
|
value: "Test"
|
|
190
171
|
}
|
|
191
172
|
});
|
|
192
|
-
|
|
193
173
|
_react2.fireEvent.blur(textarea);
|
|
194
|
-
|
|
195
174
|
expect(onBlur).toHaveBeenCalled();
|
|
196
175
|
expect(onBlur).toHaveBeenCalledWith({
|
|
197
176
|
value: "Test"
|
|
@@ -199,31 +178,24 @@ describe("Textarea component tests", function () {
|
|
|
199
178
|
});
|
|
200
179
|
test("Not optional constraint (onChange)", function () {
|
|
201
180
|
var onChange = jest.fn();
|
|
202
|
-
|
|
203
181
|
var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
182
|
+
label: "Example label",
|
|
183
|
+
placeholder: "Placeholder",
|
|
184
|
+
onChange: onChange
|
|
185
|
+
})),
|
|
186
|
+
getByLabelText = _render13.getByLabelText;
|
|
210
187
|
var textarea = getByLabelText("Example label");
|
|
211
|
-
|
|
212
188
|
_react2.fireEvent.focus(textarea);
|
|
213
|
-
|
|
214
189
|
_react2.fireEvent.change(textarea, {
|
|
215
190
|
target: {
|
|
216
191
|
value: "Test"
|
|
217
192
|
}
|
|
218
193
|
});
|
|
219
|
-
|
|
220
194
|
expect(onChange).toHaveBeenCalled();
|
|
221
195
|
expect(onChange).toHaveBeenCalledWith({
|
|
222
196
|
value: "Test"
|
|
223
197
|
});
|
|
224
|
-
|
|
225
198
|
_userEvent["default"].clear(textarea);
|
|
226
|
-
|
|
227
199
|
expect(onChange).toHaveBeenCalled();
|
|
228
200
|
expect(onChange).toHaveBeenCalledWith({
|
|
229
201
|
value: "",
|
|
@@ -233,57 +205,46 @@ describe("Textarea component tests", function () {
|
|
|
233
205
|
test("Pattern constraint", function () {
|
|
234
206
|
var onChange = jest.fn();
|
|
235
207
|
var onBlur = jest.fn();
|
|
236
|
-
|
|
237
208
|
var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
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;
|
|
250
220
|
var textarea = getByLabelText("Example label");
|
|
251
|
-
|
|
252
221
|
_react2.fireEvent.change(textarea, {
|
|
253
222
|
target: {
|
|
254
223
|
value: "pattern test"
|
|
255
224
|
}
|
|
256
225
|
});
|
|
257
|
-
|
|
258
226
|
expect(onChange).toHaveBeenCalled();
|
|
259
227
|
expect(onChange).toHaveBeenCalledWith({
|
|
260
228
|
value: "pattern test",
|
|
261
229
|
error: "Please match the format requested."
|
|
262
230
|
});
|
|
263
|
-
|
|
264
231
|
_react2.fireEvent.blur(textarea);
|
|
265
|
-
|
|
266
232
|
expect(onBlur).toHaveBeenCalled();
|
|
267
233
|
expect(onBlur).toHaveBeenCalledWith({
|
|
268
234
|
value: "pattern test",
|
|
269
235
|
error: "Please match the format requested."
|
|
270
236
|
});
|
|
271
|
-
|
|
272
237
|
_userEvent["default"].clear(textarea);
|
|
273
|
-
|
|
274
238
|
_react2.fireEvent.change(textarea, {
|
|
275
239
|
target: {
|
|
276
240
|
value: "pattern4&"
|
|
277
241
|
}
|
|
278
242
|
});
|
|
279
|
-
|
|
280
243
|
expect(onChange).toHaveBeenCalled();
|
|
281
244
|
expect(onChange).toHaveBeenCalledWith({
|
|
282
245
|
value: "pattern4&"
|
|
283
246
|
});
|
|
284
|
-
|
|
285
247
|
_react2.fireEvent.blur(textarea);
|
|
286
|
-
|
|
287
248
|
expect(onBlur).toHaveBeenCalled();
|
|
288
249
|
expect(onBlur).toHaveBeenCalledWith({
|
|
289
250
|
value: "pattern4&"
|
|
@@ -292,58 +253,47 @@ describe("Textarea component tests", function () {
|
|
|
292
253
|
test("Length constraint", function () {
|
|
293
254
|
var onChange = jest.fn();
|
|
294
255
|
var onBlur = jest.fn();
|
|
295
|
-
|
|
296
256
|
var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
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;
|
|
310
269
|
var textarea = getByLabelText("Example label");
|
|
311
|
-
|
|
312
270
|
_react2.fireEvent.change(textarea, {
|
|
313
271
|
target: {
|
|
314
272
|
value: "test"
|
|
315
273
|
}
|
|
316
274
|
});
|
|
317
|
-
|
|
318
275
|
expect(onChange).toHaveBeenCalled();
|
|
319
276
|
expect(onChange).toHaveBeenCalledWith({
|
|
320
277
|
value: "test",
|
|
321
278
|
error: "Min length 5, max length 10."
|
|
322
279
|
});
|
|
323
|
-
|
|
324
280
|
_react2.fireEvent.blur(textarea);
|
|
325
|
-
|
|
326
281
|
expect(onBlur).toHaveBeenCalled();
|
|
327
282
|
expect(onBlur).toHaveBeenCalledWith({
|
|
328
283
|
value: "test",
|
|
329
284
|
error: "Min length 5, max length 10."
|
|
330
285
|
});
|
|
331
|
-
|
|
332
286
|
_userEvent["default"].clear(textarea);
|
|
333
|
-
|
|
334
287
|
_react2.fireEvent.change(textarea, {
|
|
335
288
|
target: {
|
|
336
289
|
value: "length"
|
|
337
290
|
}
|
|
338
291
|
});
|
|
339
|
-
|
|
340
292
|
expect(onChange).toHaveBeenCalled();
|
|
341
293
|
expect(onChange).toHaveBeenCalledWith({
|
|
342
294
|
value: "length"
|
|
343
295
|
});
|
|
344
|
-
|
|
345
296
|
_react2.fireEvent.blur(textarea);
|
|
346
|
-
|
|
347
297
|
expect(onBlur).toHaveBeenCalled();
|
|
348
298
|
expect(onBlur).toHaveBeenCalledWith({
|
|
349
299
|
value: "length"
|
|
@@ -352,77 +302,63 @@ describe("Textarea component tests", function () {
|
|
|
352
302
|
test("Pattern and length constraints", function () {
|
|
353
303
|
var onChange = jest.fn();
|
|
354
304
|
var onBlur = jest.fn();
|
|
355
|
-
|
|
356
305
|
var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
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;
|
|
371
319
|
var textarea = getByLabelText("Example label");
|
|
372
|
-
|
|
373
320
|
_react2.fireEvent.change(textarea, {
|
|
374
321
|
target: {
|
|
375
322
|
value: "test"
|
|
376
323
|
}
|
|
377
324
|
});
|
|
378
|
-
|
|
379
325
|
expect(onChange).toHaveBeenCalled();
|
|
380
326
|
expect(onChange).toHaveBeenCalledWith({
|
|
381
327
|
value: "test",
|
|
382
328
|
error: "Min length 5, max length 10."
|
|
383
329
|
});
|
|
384
|
-
|
|
385
330
|
_react2.fireEvent.blur(textarea);
|
|
386
|
-
|
|
387
331
|
expect(onBlur).toHaveBeenCalled();
|
|
388
332
|
expect(onBlur).toHaveBeenCalledWith({
|
|
389
333
|
value: "test",
|
|
390
334
|
error: "Min length 5, max length 10."
|
|
391
335
|
});
|
|
392
|
-
|
|
393
336
|
_react2.fireEvent.change(textarea, {
|
|
394
337
|
target: {
|
|
395
338
|
value: "tests"
|
|
396
339
|
}
|
|
397
340
|
});
|
|
398
|
-
|
|
399
341
|
expect(onChange).toHaveBeenCalled();
|
|
400
342
|
expect(onChange).toHaveBeenCalledWith({
|
|
401
343
|
value: "tests",
|
|
402
344
|
error: "Please match the format requested."
|
|
403
345
|
});
|
|
404
|
-
|
|
405
346
|
_react2.fireEvent.blur(textarea);
|
|
406
|
-
|
|
407
347
|
expect(onBlur).toHaveBeenCalled();
|
|
408
348
|
expect(onBlur).toHaveBeenCalledWith({
|
|
409
349
|
value: "tests",
|
|
410
350
|
error: "Please match the format requested."
|
|
411
351
|
});
|
|
412
|
-
|
|
413
352
|
_react2.fireEvent.change(textarea, {
|
|
414
353
|
target: {
|
|
415
354
|
value: "tests4&"
|
|
416
355
|
}
|
|
417
356
|
});
|
|
418
|
-
|
|
419
357
|
expect(onChange).toHaveBeenCalled();
|
|
420
358
|
expect(onChange).toHaveBeenCalledWith({
|
|
421
359
|
value: "tests4&"
|
|
422
360
|
});
|
|
423
|
-
|
|
424
361
|
_react2.fireEvent.blur(textarea);
|
|
425
|
-
|
|
426
362
|
expect(onBlur).toHaveBeenCalled();
|
|
427
363
|
expect(onBlur).toHaveBeenCalledWith({
|
|
428
364
|
value: "tests4&"
|
|
@@ -430,23 +366,18 @@ describe("Textarea component tests", function () {
|
|
|
430
366
|
});
|
|
431
367
|
test("onBlur function is called correctly", function () {
|
|
432
368
|
var onBlur = jest.fn();
|
|
433
|
-
|
|
434
369
|
var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
370
|
+
label: "Example label",
|
|
371
|
+
onBlur: onBlur
|
|
372
|
+
})),
|
|
373
|
+
getByLabelText = _render17.getByLabelText;
|
|
440
374
|
var textarea = getByLabelText("Example label");
|
|
441
|
-
|
|
442
375
|
_react2.fireEvent.change(textarea, {
|
|
443
376
|
target: {
|
|
444
377
|
value: "Blur test"
|
|
445
378
|
}
|
|
446
379
|
});
|
|
447
|
-
|
|
448
380
|
_react2.fireEvent.blur(textarea);
|
|
449
|
-
|
|
450
381
|
expect(onBlur).toHaveBeenCalled();
|
|
451
382
|
expect(onBlur).toHaveBeenCalledWith({
|
|
452
383
|
value: "Blur test"
|
|
@@ -454,22 +385,18 @@ describe("Textarea component tests", function () {
|
|
|
454
385
|
});
|
|
455
386
|
test("onChange function is called correctly", function () {
|
|
456
387
|
var onChange = jest.fn();
|
|
457
|
-
|
|
458
388
|
var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
389
|
+
label: "Example label",
|
|
390
|
+
value: "Test value",
|
|
391
|
+
onChange: onChange
|
|
392
|
+
})),
|
|
393
|
+
getByLabelText = _render18.getByLabelText;
|
|
465
394
|
var textarea = getByLabelText("Example label");
|
|
466
|
-
|
|
467
395
|
_react2.fireEvent.change(textarea, {
|
|
468
396
|
target: {
|
|
469
397
|
value: "Controlled test"
|
|
470
398
|
}
|
|
471
399
|
});
|
|
472
|
-
|
|
473
400
|
expect(onChange).toHaveBeenCalled();
|
|
474
401
|
expect(onChange).toHaveBeenCalledWith({
|
|
475
402
|
value: "Controlled test"
|
package/textarea/types.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
+
type Margin = {
|
|
3
3
|
top?: Space;
|
|
4
4
|
bottom?: Space;
|
|
5
5
|
left?: Space;
|
|
6
6
|
right?: Space;
|
|
7
7
|
};
|
|
8
|
-
|
|
8
|
+
type Props = {
|
|
9
9
|
/**
|
|
10
10
|
* Text to be placed above the textarea.
|
|
11
11
|
*/
|
|
@@ -96,7 +96,7 @@ declare type Props = {
|
|
|
96
96
|
*/
|
|
97
97
|
pattern?: string;
|
|
98
98
|
/**
|
|
99
|
-
* Specifies the
|
|
99
|
+
* Specifies the minimum length allowed by the textarea.
|
|
100
100
|
* This will be checked both when the textarea loses the
|
|
101
101
|
* focus and while typing within it. If the string entered does not
|
|
102
102
|
* comply the minimum length, the onBlur and onChange functions will be called
|
|
@@ -137,5 +137,5 @@ declare type Props = {
|
|
|
137
137
|
/**
|
|
138
138
|
* Reference to the component.
|
|
139
139
|
*/
|
|
140
|
-
export
|
|
140
|
+
export type RefType = HTMLDivElement;
|
|
141
141
|
export default Props;
|