@dxc-technology/halstack-react 0.0.0-74c93cf → 0.0.0-74dd241
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.js +1 -1
- package/HalstackContext.d.ts +2 -5
- package/HalstackContext.js +6 -6
- package/accordion/Accordion.accessibility.test.d.ts +1 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +9 -10
- package/accordion/Accordion.stories.tsx +4 -15
- package/accordion/Accordion.test.d.ts +1 -0
- package/accordion/Accordion.test.js +3 -3
- package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
- package/accordion-group/AccordionGroup.js +1 -1
- package/accordion-group/AccordionGroup.stories.tsx +23 -23
- package/accordion-group/AccordionGroup.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.test.js +5 -9
- package/accordion-group/AccordionGroupAccordion.js +1 -1
- package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
- package/action-icon/ActionIcon.accessibility.test.js +63 -0
- package/action-icon/ActionIcon.test.d.ts +1 -0
- package/action-icon/ActionIcon.test.js +1 -1
- package/alert/Alert.accessibility.test.d.ts +1 -0
- package/alert/Alert.accessibility.test.js +95 -0
- package/alert/Alert.js +21 -72
- package/alert/Alert.test.d.ts +1 -0
- package/alert/Alert.test.js +1 -1
- package/badge/Badge.accessibility.test.d.ts +1 -0
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.js +6 -4
- package/badge/Badge.stories.tsx +11 -11
- package/badge/Badge.test.d.ts +1 -0
- package/badge/Badge.test.js +2 -2
- package/badge/types.d.ts +1 -1
- package/box/Box.accessibility.test.d.ts +1 -0
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.js +1 -1
- package/box/Box.test.d.ts +1 -0
- package/box/Box.test.js +1 -1
- package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
- package/breadcrumbs/Breadcrumbs.d.ts +4 -0
- package/breadcrumbs/Breadcrumbs.js +79 -0
- package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
- package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.test.js +168 -0
- package/breadcrumbs/Item.d.ts +4 -0
- package/breadcrumbs/Item.js +52 -0
- package/breadcrumbs/dropdownTheme.d.ts +53 -0
- package/breadcrumbs/dropdownTheme.js +62 -0
- package/breadcrumbs/types.d.ts +16 -0
- package/breadcrumbs/types.js +5 -0
- package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
- package/bulleted-list/BulletedList.accessibility.test.js +119 -0
- package/bulleted-list/BulletedList.js +7 -4
- package/bulleted-list/BulletedList.stories.tsx +1 -1
- package/button/Button.accessibility.test.d.ts +1 -0
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.js +1 -1
- package/button/Button.stories.tsx +3 -4
- package/button/Button.test.d.ts +1 -0
- package/button/Button.test.js +1 -1
- package/card/Card.accessibility.test.d.ts +1 -0
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.js +3 -2
- package/card/Card.stories.tsx +1 -1
- package/card/Card.test.d.ts +1 -0
- package/card/Card.test.js +1 -1
- package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +10 -13
- package/checkbox/Checkbox.test.d.ts +1 -0
- package/checkbox/Checkbox.test.js +1 -1
- package/chip/Chip.accessibility.test.d.ts +1 -0
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +11 -6
- package/chip/Chip.stories.tsx +6 -25
- package/chip/Chip.test.d.ts +1 -0
- package/chip/Chip.test.js +5 -5
- package/common/coreTokens.js +3 -3
- package/common/variables.d.ts +2 -5
- package/common/variables.js +68 -71
- package/container/Container.stories.tsx +3 -3
- package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
- package/contextual-menu/ContextualMenu.d.ts +3 -5
- package/contextual-menu/ContextualMenu.js +89 -52
- package/contextual-menu/ContextualMenu.stories.tsx +115 -74
- package/contextual-menu/ContextualMenu.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.test.js +200 -24
- package/contextual-menu/GroupItem.d.ts +4 -0
- package/contextual-menu/GroupItem.js +67 -0
- package/contextual-menu/ItemAction.d.ts +4 -0
- package/contextual-menu/ItemAction.js +50 -0
- package/contextual-menu/MenuItem.d.ts +4 -0
- package/contextual-menu/MenuItem.js +29 -0
- package/contextual-menu/SingleItem.d.ts +4 -0
- package/contextual-menu/SingleItem.js +38 -0
- package/contextual-menu/types.d.ts +50 -11
- package/date-input/Calendar.js +47 -31
- package/date-input/DateInput.accessibility.test.d.ts +1 -0
- package/date-input/DateInput.accessibility.test.js +229 -0
- package/date-input/DateInput.js +28 -23
- package/date-input/DateInput.stories.tsx +18 -12
- package/date-input/DateInput.test.d.ts +1 -0
- package/date-input/DateInput.test.js +39 -39
- package/date-input/DatePicker.js +13 -7
- package/date-input/YearPicker.js +10 -5
- package/dialog/Dialog.accessibility.test.d.ts +1 -0
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.js +9 -20
- package/dialog/Dialog.stories.tsx +8 -4
- package/dialog/Dialog.test.d.ts +1 -0
- package/dialog/Dialog.test.js +112 -49
- package/divider/Divider.accessibility.test.d.ts +1 -0
- package/divider/Divider.accessibility.test.js +33 -0
- package/divider/Divider.test.d.ts +1 -0
- package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
- package/dropdown/Dropdown.accessibility.test.js +183 -0
- package/dropdown/Dropdown.js +16 -15
- package/dropdown/Dropdown.stories.tsx +11 -11
- package/dropdown/Dropdown.test.d.ts +1 -0
- package/dropdown/Dropdown.test.js +101 -72
- package/dropdown/DropdownMenu.js +4 -4
- package/dropdown/DropdownMenuItem.js +2 -1
- package/file-input/FileInput.accessibility.test.d.ts +1 -0
- package/file-input/FileInput.accessibility.test.js +167 -0
- package/file-input/FileInput.js +6 -47
- package/file-input/FileInput.test.d.ts +1 -0
- package/file-input/FileInput.test.js +51 -106
- package/file-input/FileItem.js +18 -28
- package/file-input/types.d.ts +0 -4
- package/footer/Footer.accessibility.test.d.ts +1 -0
- package/footer/Footer.accessibility.test.js +125 -0
- package/footer/Footer.js +8 -6
- package/footer/Footer.stories.tsx +40 -3
- package/footer/Footer.test.d.ts +1 -0
- package/footer/Footer.test.js +1 -1
- package/footer/Icons.js +2 -30
- package/footer/types.d.ts +1 -1
- package/grid/Grid.stories.tsx +3 -1
- package/header/Header.accessibility.test.d.ts +1 -0
- package/header/Header.accessibility.test.js +94 -0
- package/header/Header.js +12 -22
- package/header/Header.stories.tsx +17 -1
- package/header/Header.test.d.ts +1 -0
- package/header/Header.test.js +1 -1
- package/header/Icons.js +1 -6
- package/heading/Heading.accessibility.test.d.ts +1 -0
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.d.ts +1 -0
- package/heading/Heading.test.js +1 -14
- package/icon/Icon.accessibility.test.d.ts +1 -0
- package/icon/Icon.accessibility.test.js +30 -0
- package/icon/Icon.js +1 -1
- package/image/Image.accessibility.test.d.ts +1 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.js +1 -1
- package/layout/ApplicationLayout.js +9 -6
- package/layout/Icons.d.ts +0 -1
- package/layout/Icons.js +1 -11
- package/link/Link.accessibility.test.d.ts +1 -0
- package/link/Link.accessibility.test.js +108 -0
- package/link/Link.js +8 -6
- package/link/Link.stories.tsx +4 -4
- package/link/Link.test.d.ts +1 -0
- package/link/Link.test.js +1 -1
- package/link/types.d.ts +1 -1
- package/main.d.ts +2 -1
- package/main.js +8 -1
- package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.js +19 -4
- package/nav-tabs/NavTabs.stories.tsx +41 -23
- package/nav-tabs/NavTabs.test.d.ts +1 -0
- package/nav-tabs/NavTabs.test.js +10 -9
- package/nav-tabs/Tab.js +17 -18
- package/nav-tabs/types.d.ts +1 -1
- package/number-input/NumberInput.accessibility.test.d.ts +1 -0
- package/number-input/NumberInput.accessibility.test.js +227 -0
- package/number-input/NumberInput.js +1 -1
- package/number-input/NumberInput.stories.tsx +2 -16
- package/number-input/NumberInput.test.d.ts +1 -0
- package/number-input/NumberInput.test.js +6 -7
- package/package.json +31 -27
- package/paginator/Paginator.accessibility.test.d.ts +1 -0
- package/paginator/Paginator.accessibility.test.js +78 -0
- package/paginator/Paginator.js +13 -10
- package/paginator/Paginator.test.d.ts +1 -0
- package/paginator/Paginator.test.js +2 -3
- package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
- package/password-input/PasswordInput.accessibility.test.js +152 -0
- package/password-input/PasswordInput.js +7 -7
- package/password-input/PasswordInput.stories.tsx +1 -1
- package/password-input/PasswordInput.test.d.ts +1 -0
- package/password-input/PasswordInput.test.js +6 -7
- package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +6 -4
- package/progress-bar/ProgressBar.test.d.ts +1 -0
- package/progress-bar/ProgressBar.test.js +1 -1
- package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.js +1 -1
- package/radio-group/Radio.js +6 -9
- package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +14 -16
- package/radio-group/RadioGroup.test.d.ts +1 -0
- package/radio-group/RadioGroup.test.js +3 -5
- package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
- package/resultset-table/ResultsetTable.js +3 -2
- package/resultset-table/ResultsetTable.stories.tsx +13 -1
- package/resultset-table/ResultsetTable.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.test.js +2 -4
- package/select/Listbox.js +24 -16
- package/select/Option.js +12 -10
- package/select/Select.accessibility.test.d.ts +1 -0
- package/select/Select.accessibility.test.js +227 -0
- package/select/Select.js +38 -28
- package/select/Select.stories.tsx +60 -112
- package/select/Select.test.d.ts +1 -0
- package/select/Select.test.js +371 -474
- package/select/types.d.ts +1 -1
- package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.js +16 -12
- package/sidenav/Sidenav.stories.tsx +5 -10
- package/sidenav/Sidenav.test.d.ts +1 -0
- package/sidenav/Sidenav.test.js +1 -1
- package/sidenav/types.d.ts +2 -2
- package/slider/Slider.accessibility.test.d.ts +1 -0
- package/slider/Slider.accessibility.test.js +103 -0
- package/slider/Slider.js +11 -13
- package/slider/Slider.stories.tsx +180 -0
- package/slider/Slider.test.d.ts +1 -0
- package/slider/Slider.test.js +13 -11
- package/spinner/Spinner.accessibility.test.d.ts +1 -0
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +6 -2
- package/spinner/Spinner.test.d.ts +1 -0
- package/spinner/Spinner.test.js +1 -1
- package/status-light/StatusLight.accessibility.test.d.ts +1 -0
- package/status-light/StatusLight.accessibility.test.js +157 -0
- package/status-light/StatusLight.test.d.ts +1 -0
- package/status-light/StatusLight.test.js +1 -1
- package/switch/Switch.accessibility.test.d.ts +1 -0
- package/switch/Switch.accessibility.test.js +98 -0
- package/switch/Switch.js +6 -9
- package/switch/Switch.stories.tsx +12 -0
- package/switch/Switch.test.d.ts +1 -0
- package/switch/Switch.test.js +1 -1
- package/table/Table.accessibility.test.d.ts +1 -0
- package/table/Table.accessibility.test.js +92 -0
- package/table/Table.js +1 -1
- package/table/Table.stories.tsx +13 -1
- package/table/Table.test.d.ts +1 -0
- package/table/Table.test.js +2 -4
- package/tabs/Tab.js +6 -5
- package/tabs/Tabs.accessibility.test.d.ts +1 -0
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +9 -20
- package/tabs/Tabs.stories.tsx +7 -3
- package/tabs/Tabs.test.d.ts +1 -0
- package/tabs/Tabs.test.js +20 -38
- package/tabs/types.d.ts +2 -2
- package/tag/Tag.accessibility.test.d.ts +1 -0
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +7 -7
- package/tag/Tag.stories.tsx +5 -8
- package/tag/Tag.test.d.ts +1 -0
- package/tag/Tag.test.js +5 -13
- package/tag/types.d.ts +2 -2
- package/text-input/Suggestion.js +1 -1
- package/text-input/Suggestions.js +17 -7
- package/text-input/TextInput.accessibility.test.d.ts +1 -0
- package/text-input/TextInput.accessibility.test.js +320 -0
- package/text-input/TextInput.js +34 -30
- package/text-input/TextInput.stories.tsx +10 -7
- package/text-input/TextInput.test.d.ts +1 -0
- package/text-input/TextInput.test.js +2 -3
- package/textarea/Textarea.accessibility.test.d.ts +1 -0
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +14 -13
- package/textarea/Textarea.test.d.ts +1 -0
- package/textarea/Textarea.test.js +1 -1
- package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.js +10 -12
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.test.js +1 -1
- package/toggle-group/types.d.ts +2 -2
- package/typography/Typography.accessibility.test.d.ts +1 -0
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.stories.tsx +1 -3
- package/useTheme.d.ts +2 -5
- package/utils/BaseTypography.js +1 -1
- package/utils/FocusLock.js +3 -2
- package/wizard/Wizard.accessibility.test.d.ts +1 -0
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.js +14 -25
- package/wizard/Wizard.stories.tsx +20 -1
- package/wizard/Wizard.test.d.ts +1 -0
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +1 -1
- package/contextual-menu/MenuItemAction.d.ts +0 -4
- package/contextual-menu/MenuItemAction.js +0 -46
- package/date-input/Icons.d.ts +0 -6
- package/date-input/Icons.js +0 -58
- package/paginator/Icons.d.ts +0 -5
- package/paginator/Icons.js +0 -40
- package/password-input/Icons.d.ts +0 -6
- package/password-input/Icons.js +0 -35
- package/select/Icons.d.ts +0 -10
- package/select/Icons.js +0 -89
- package/sidenav/Icons.d.ts +0 -7
- package/sidenav/Icons.js +0 -47
- package/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -56
package/text-input/TextInput.js
CHANGED
|
@@ -17,14 +17,13 @@ var _variables = require("../common/variables");
|
|
|
17
17
|
var _utils = require("../common/utils");
|
|
18
18
|
var _Suggestions = _interopRequireDefault(require("./Suggestions"));
|
|
19
19
|
var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
|
|
20
|
-
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
21
|
-
var _uuid = require("uuid");
|
|
22
20
|
var _ActionIcon = _interopRequireDefault(require("../action-icon/ActionIcon"));
|
|
23
21
|
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
24
22
|
var _NumberInputContext = require("../number-input/NumberInputContext");
|
|
23
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
25
24
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
|
|
26
25
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
27
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
26
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
28
27
|
var sizes = {
|
|
29
28
|
small: "240px",
|
|
30
29
|
medium: "360px",
|
|
@@ -132,35 +131,33 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, re
|
|
|
132
131
|
size = _ref2$size === void 0 ? "medium" : _ref2$size,
|
|
133
132
|
_ref2$tabIndex = _ref2.tabIndex,
|
|
134
133
|
tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
|
|
135
|
-
var
|
|
136
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
137
|
-
inputId = _useState4[0];
|
|
134
|
+
var inputId = "input-".concat((0, _react.useId)());
|
|
138
135
|
var autosuggestId = "suggestions-".concat(inputId);
|
|
139
136
|
var errorId = "error-".concat(inputId);
|
|
140
|
-
var
|
|
137
|
+
var _useState3 = (0, _react.useState)(defaultValue),
|
|
138
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
139
|
+
innerValue = _useState4[0],
|
|
140
|
+
setInnerValue = _useState4[1];
|
|
141
|
+
var _useState5 = (0, _react.useState)(false),
|
|
141
142
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
142
|
-
|
|
143
|
-
|
|
143
|
+
isOpen = _useState6[0],
|
|
144
|
+
changeIsOpen = _useState6[1];
|
|
144
145
|
var _useState7 = (0, _react.useState)(false),
|
|
145
146
|
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
146
|
-
|
|
147
|
-
|
|
147
|
+
isSearching = _useState8[0],
|
|
148
|
+
changeIsSearching = _useState8[1];
|
|
148
149
|
var _useState9 = (0, _react.useState)(false),
|
|
149
150
|
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
var _useState11 = (0, _react.useState)(
|
|
151
|
+
isAutosuggestError = _useState10[0],
|
|
152
|
+
changeIsAutosuggestError = _useState10[1];
|
|
153
|
+
var _useState11 = (0, _react.useState)([]),
|
|
153
154
|
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
var _useState13 = (0, _react.useState)(
|
|
155
|
+
filteredSuggestions = _useState12[0],
|
|
156
|
+
changeFilteredSuggestions = _useState12[1];
|
|
157
|
+
var _useState13 = (0, _react.useState)(-1),
|
|
157
158
|
_useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
var _useState15 = (0, _react.useState)(-1),
|
|
161
|
-
_useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
|
|
162
|
-
visualFocusIndex = _useState16[0],
|
|
163
|
-
changeVisualFocusIndex = _useState16[1];
|
|
159
|
+
visualFocusIndex = _useState14[0],
|
|
160
|
+
changeVisualFocusIndex = _useState14[1];
|
|
164
161
|
var inputRef = (0, _react.useRef)(null);
|
|
165
162
|
var inputContainerRef = (0, _react.useRef)(null);
|
|
166
163
|
var actionRef = (0, _react.useRef)(null);
|
|
@@ -281,6 +278,7 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, re
|
|
|
281
278
|
case "Esc":
|
|
282
279
|
case "Escape":
|
|
283
280
|
event.preventDefault();
|
|
281
|
+
isOpen && event.stopPropagation();
|
|
284
282
|
if (hasSuggestions(suggestions)) {
|
|
285
283
|
changeValue("");
|
|
286
284
|
isOpen && closeSuggestions();
|
|
@@ -364,7 +362,10 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, re
|
|
|
364
362
|
open: isOpen && (filteredSuggestions.length > 0 || isSearching || isAutosuggestError)
|
|
365
363
|
}, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
|
|
366
364
|
asChild: true,
|
|
367
|
-
|
|
365
|
+
type: undefined,
|
|
366
|
+
"aria-controls": undefined,
|
|
367
|
+
"aria-haspopup": undefined,
|
|
368
|
+
"aria-expanded": undefined
|
|
368
369
|
}, children), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
|
|
369
370
|
sideOffset: 5,
|
|
370
371
|
style: {
|
|
@@ -440,22 +441,24 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, re
|
|
|
440
441
|
"aria-errormessage": error ? errorId : undefined,
|
|
441
442
|
"aria-required": !disabled && !optional
|
|
442
443
|
}), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, {
|
|
443
|
-
"aria-
|
|
444
|
-
},
|
|
444
|
+
"aria-hidden": "true"
|
|
445
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
446
|
+
icon: "filled_error"
|
|
447
|
+
})), !disabled && !readOnly && clearable && (value !== null && value !== void 0 ? value : innerValue).length > 0 && /*#__PURE__*/_react["default"].createElement(_ActionIcon["default"], {
|
|
445
448
|
onClick: handleClearActionOnClick,
|
|
446
|
-
icon:
|
|
449
|
+
icon: "close",
|
|
447
450
|
tabIndex: tabIndex,
|
|
448
451
|
title: translatedLabels.textInput.clearFieldActionTitle
|
|
449
452
|
}), (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number" && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_ActionIcon["default"], {
|
|
450
453
|
onClick: !readOnly ? handleDecrementActionOnClick : undefined,
|
|
451
|
-
icon:
|
|
454
|
+
icon: "remove",
|
|
452
455
|
tabIndex: tabIndex,
|
|
453
456
|
ref: actionRef,
|
|
454
457
|
title: translatedLabels.numberInput.decrementValueTitle,
|
|
455
458
|
disabled: disabled
|
|
456
459
|
}), /*#__PURE__*/_react["default"].createElement(_ActionIcon["default"], {
|
|
457
460
|
onClick: !readOnly ? handleIncrementActionOnClick : undefined,
|
|
458
|
-
icon:
|
|
461
|
+
icon: "add",
|
|
459
462
|
tabIndex: tabIndex,
|
|
460
463
|
ref: actionRef,
|
|
461
464
|
title: translatedLabels.numberInput.incrementValueTitle,
|
|
@@ -471,6 +474,7 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, re
|
|
|
471
474
|
disabled: disabled
|
|
472
475
|
}, suffix))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
473
476
|
id: errorId,
|
|
477
|
+
role: "alert",
|
|
474
478
|
"aria-live": error ? "assertive" : "off"
|
|
475
479
|
}, error)));
|
|
476
480
|
});
|
|
@@ -554,7 +558,7 @@ var Suffix = _styledComponents["default"].span(_templateObject8 || (_templateObj
|
|
|
554
558
|
}, function (props) {
|
|
555
559
|
return props.theme.fontFamily;
|
|
556
560
|
});
|
|
557
|
-
var ErrorIcon = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n color: ", ";\n\n svg {\n line-height: 18px;\n font-size: 1.25rem;\n }\n"])), function (props) {
|
|
561
|
+
var ErrorIcon = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n font-size: 18px;\n color: ", ";\n\n svg {\n line-height: 18px;\n font-size: 1.25rem;\n }\n"])), function (props) {
|
|
558
562
|
return props.theme.errorIconColor;
|
|
559
563
|
});
|
|
560
564
|
var Error = _styledComponents["default"].span(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1.5em;\n margin-top: 0.25rem;\n"])), function (props) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { userEvent, within } from "@storybook/
|
|
2
|
+
import { userEvent, within } from "@storybook/test";
|
|
3
3
|
import Title from "../../.storybook/components/Title";
|
|
4
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
5
|
import DxcTextInput from "./TextInput";
|
|
@@ -21,6 +21,7 @@ const action = {
|
|
|
21
21
|
<path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" />
|
|
22
22
|
</svg>
|
|
23
23
|
),
|
|
24
|
+
title: "Copy",
|
|
24
25
|
};
|
|
25
26
|
|
|
26
27
|
const actionLargeIconSVG = {
|
|
@@ -31,11 +32,13 @@ const actionLargeIconSVG = {
|
|
|
31
32
|
<path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z" />
|
|
32
33
|
</svg>
|
|
33
34
|
),
|
|
35
|
+
title: "Clock",
|
|
34
36
|
};
|
|
35
37
|
|
|
36
38
|
const actionLargeIconURL = {
|
|
37
39
|
onClick: () => {},
|
|
38
40
|
icon: "search",
|
|
41
|
+
title: "Search",
|
|
39
42
|
};
|
|
40
43
|
|
|
41
44
|
const country = ["Afghanistan"];
|
|
@@ -371,7 +374,7 @@ const AutosuggestListbox = () => {
|
|
|
371
374
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
372
375
|
<Title title="Hovered suggestion" theme="light" level={4} />
|
|
373
376
|
<Suggestions
|
|
374
|
-
id="
|
|
377
|
+
id="x1"
|
|
375
378
|
value=""
|
|
376
379
|
suggestions={country}
|
|
377
380
|
visualFocusIndex={-1}
|
|
@@ -385,7 +388,7 @@ const AutosuggestListbox = () => {
|
|
|
385
388
|
<ExampleContainer pseudoState="pseudo-active">
|
|
386
389
|
<Title title="Active suggestion" theme="light" level={4} />
|
|
387
390
|
<Suggestions
|
|
388
|
-
id="
|
|
391
|
+
id="x2"
|
|
389
392
|
value=""
|
|
390
393
|
suggestions={country}
|
|
391
394
|
visualFocusIndex={-1}
|
|
@@ -399,7 +402,7 @@ const AutosuggestListbox = () => {
|
|
|
399
402
|
<ExampleContainer>
|
|
400
403
|
<Title title="Focused suggestion" theme="light" level={4} />
|
|
401
404
|
<Suggestions
|
|
402
|
-
id="
|
|
405
|
+
id="x3"
|
|
403
406
|
value=""
|
|
404
407
|
suggestions={country}
|
|
405
408
|
visualFocusIndex={0}
|
|
@@ -413,7 +416,7 @@ const AutosuggestListbox = () => {
|
|
|
413
416
|
<ExampleContainer>
|
|
414
417
|
<Title title="Highlighted suggestion" theme="light" level={4} />
|
|
415
418
|
<Suggestions
|
|
416
|
-
id="
|
|
419
|
+
id="x4"
|
|
417
420
|
value="Afgh"
|
|
418
421
|
suggestions={country}
|
|
419
422
|
visualFocusIndex={-1}
|
|
@@ -428,7 +431,7 @@ const AutosuggestListbox = () => {
|
|
|
428
431
|
<ExampleContainer>
|
|
429
432
|
<Title title="Autosuggest Error" theme="light" level={3} />
|
|
430
433
|
<Suggestions
|
|
431
|
-
id="
|
|
434
|
+
id="x5"
|
|
432
435
|
value=""
|
|
433
436
|
suggestions={country}
|
|
434
437
|
visualFocusIndex={-1}
|
|
@@ -442,7 +445,7 @@ const AutosuggestListbox = () => {
|
|
|
442
445
|
<ExampleContainer>
|
|
443
446
|
<Title title="Autosuggest Searching message" theme="light" level={3} />
|
|
444
447
|
<Suggestions
|
|
445
|
-
id="
|
|
448
|
+
id="x6"
|
|
446
449
|
value=""
|
|
447
450
|
suggestions={country}
|
|
448
451
|
visualFocusIndex={-1}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -8,7 +8,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _react2 = require("@testing-library/react");
|
|
10
10
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
11
|
-
var _TextInput = _interopRequireDefault(require("./TextInput
|
|
11
|
+
var _TextInput = _interopRequireDefault(require("./TextInput"));
|
|
12
12
|
// Mocking DOMRect for Radix Primitive Popover
|
|
13
13
|
global.globalThis = global;
|
|
14
14
|
global.DOMRect = {
|
|
@@ -27,7 +27,7 @@ global.ResizeObserver = /*#__PURE__*/function () {
|
|
|
27
27
|
function ResizeObserver() {
|
|
28
28
|
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
29
29
|
}
|
|
30
|
-
(0, _createClass2["default"])(ResizeObserver, [{
|
|
30
|
+
return (0, _createClass2["default"])(ResizeObserver, [{
|
|
31
31
|
key: "observe",
|
|
32
32
|
value: function observe() {}
|
|
33
33
|
}, {
|
|
@@ -37,7 +37,6 @@ global.ResizeObserver = /*#__PURE__*/function () {
|
|
|
37
37
|
key: "disconnect",
|
|
38
38
|
value: function disconnect() {}
|
|
39
39
|
}]);
|
|
40
|
-
return ResizeObserver;
|
|
41
40
|
}();
|
|
42
41
|
var countries = ["Afghanistan", "Albania", "Algeria", "Andorra", "Angola", "Antigua and Barbuda", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Cabo Verde", "Cambodia", "Cameroon", "Canada", "Cayman Islands, The", "Central African Republic", "Chad", "Democratic Republic of the Congo", "Dominican Republic", "Dominica", "Denmark", "Djibouti"];
|
|
43
42
|
var specialCharacters = ["/", "\\", "*", "(", ")", "[", "]", "+", "?", "*{[]}|"];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
var _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
9
|
+
var _Textarea = _interopRequireDefault(require("./Textarea"));
|
|
10
|
+
describe("Textarea component accessibility tests", function () {
|
|
11
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
12
|
+
var _render, container, results;
|
|
13
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
14
|
+
while (1) switch (_context.prev = _context.next) {
|
|
15
|
+
case 0:
|
|
16
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
17
|
+
label: "Example label",
|
|
18
|
+
helperText: "Helper Text",
|
|
19
|
+
defaultValue: "Value",
|
|
20
|
+
margin: "medium",
|
|
21
|
+
placeholder: "Placeholder",
|
|
22
|
+
verticalGrow: "manual",
|
|
23
|
+
name: "Name",
|
|
24
|
+
autocomplete: "on",
|
|
25
|
+
minLength: 0,
|
|
26
|
+
maxLength: 100,
|
|
27
|
+
optional: true
|
|
28
|
+
})), container = _render.container;
|
|
29
|
+
_context.next = 3;
|
|
30
|
+
return (0, _axeHelper.axe)(container);
|
|
31
|
+
case 3:
|
|
32
|
+
results = _context.sent;
|
|
33
|
+
expect(results).toHaveNoViolations();
|
|
34
|
+
case 5:
|
|
35
|
+
case "end":
|
|
36
|
+
return _context.stop();
|
|
37
|
+
}
|
|
38
|
+
}, _callee);
|
|
39
|
+
})));
|
|
40
|
+
it("Should not have basic accessibility issues for pattern mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
41
|
+
var _render2, container, results;
|
|
42
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
43
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
44
|
+
case 0:
|
|
45
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
46
|
+
label: "Example label",
|
|
47
|
+
helperText: "Helper Text",
|
|
48
|
+
defaultValue: "Value",
|
|
49
|
+
margin: "medium",
|
|
50
|
+
placeholder: "Placeholder",
|
|
51
|
+
verticalGrow: "manual",
|
|
52
|
+
name: "Name",
|
|
53
|
+
autocomplete: "on",
|
|
54
|
+
minLength: 0,
|
|
55
|
+
maxLength: 100,
|
|
56
|
+
pattern: "^.*(?=.*[a-zA-Z])(?=.*)(?=.*[!&$%&? \"]).*$"
|
|
57
|
+
})), container = _render2.container;
|
|
58
|
+
_context2.next = 3;
|
|
59
|
+
return (0, _axeHelper.axe)(container);
|
|
60
|
+
case 3:
|
|
61
|
+
results = _context2.sent;
|
|
62
|
+
expect(results).toHaveNoViolations();
|
|
63
|
+
case 5:
|
|
64
|
+
case "end":
|
|
65
|
+
return _context2.stop();
|
|
66
|
+
}
|
|
67
|
+
}, _callee2);
|
|
68
|
+
})));
|
|
69
|
+
it("Should not have basic accessibility issues for error mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
70
|
+
var _render3, container, results;
|
|
71
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
72
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
73
|
+
case 0:
|
|
74
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
75
|
+
label: "Example label",
|
|
76
|
+
helperText: "Helper Text",
|
|
77
|
+
defaultValue: "Value",
|
|
78
|
+
margin: "medium",
|
|
79
|
+
placeholder: "Placeholder",
|
|
80
|
+
verticalGrow: "manual",
|
|
81
|
+
name: "Name",
|
|
82
|
+
error: "Error message.",
|
|
83
|
+
minLength: 0,
|
|
84
|
+
maxLength: 100
|
|
85
|
+
})), container = _render3.container;
|
|
86
|
+
_context3.next = 3;
|
|
87
|
+
return (0, _axeHelper.axe)(container);
|
|
88
|
+
case 3:
|
|
89
|
+
results = _context3.sent;
|
|
90
|
+
expect(results).toHaveNoViolations();
|
|
91
|
+
case 5:
|
|
92
|
+
case "end":
|
|
93
|
+
return _context3.stop();
|
|
94
|
+
}
|
|
95
|
+
}, _callee3);
|
|
96
|
+
})));
|
|
97
|
+
it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
98
|
+
var _render4, container, results;
|
|
99
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
100
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
101
|
+
case 0:
|
|
102
|
+
_render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
103
|
+
label: "Example label",
|
|
104
|
+
helperText: "Helper Text",
|
|
105
|
+
defaultValue: "Value",
|
|
106
|
+
margin: "medium",
|
|
107
|
+
placeholder: "Placeholder",
|
|
108
|
+
verticalGrow: "manual",
|
|
109
|
+
name: "Name",
|
|
110
|
+
autocomplete: "on",
|
|
111
|
+
minLength: 0,
|
|
112
|
+
maxLength: 100,
|
|
113
|
+
disabled: true
|
|
114
|
+
})), container = _render4.container;
|
|
115
|
+
_context4.next = 3;
|
|
116
|
+
return (0, _axeHelper.axe)(container);
|
|
117
|
+
case 3:
|
|
118
|
+
results = _context4.sent;
|
|
119
|
+
expect(results).toHaveNoViolations();
|
|
120
|
+
case 5:
|
|
121
|
+
case "end":
|
|
122
|
+
return _context4.stop();
|
|
123
|
+
}
|
|
124
|
+
}, _callee4);
|
|
125
|
+
})));
|
|
126
|
+
it("Should not have basic accessibility issues for read-only mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
127
|
+
var _render5, container, results;
|
|
128
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
129
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
130
|
+
case 0:
|
|
131
|
+
_render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
132
|
+
label: "Example label",
|
|
133
|
+
helperText: "Helper Text",
|
|
134
|
+
defaultValue: "Value",
|
|
135
|
+
margin: "medium",
|
|
136
|
+
placeholder: "Placeholder",
|
|
137
|
+
verticalGrow: "manual",
|
|
138
|
+
name: "Name",
|
|
139
|
+
autocomplete: "on",
|
|
140
|
+
minLength: 0,
|
|
141
|
+
maxLength: 100,
|
|
142
|
+
readOnly: true
|
|
143
|
+
})), container = _render5.container;
|
|
144
|
+
_context5.next = 3;
|
|
145
|
+
return (0, _axeHelper.axe)(container);
|
|
146
|
+
case 3:
|
|
147
|
+
results = _context5.sent;
|
|
148
|
+
expect(results).toHaveNoViolations();
|
|
149
|
+
case 5:
|
|
150
|
+
case "end":
|
|
151
|
+
return _context5.stop();
|
|
152
|
+
}
|
|
153
|
+
}, _callee5);
|
|
154
|
+
})));
|
|
155
|
+
});
|
package/textarea/Textarea.js
CHANGED
|
@@ -15,10 +15,9 @@ var _utils = require("../common/utils");
|
|
|
15
15
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
16
16
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
17
17
|
var _variables = require("../common/variables");
|
|
18
|
-
var _uuid = require("uuid");
|
|
19
18
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
20
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
21
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
20
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
22
21
|
var patternMatch = function patternMatch(pattern, value) {
|
|
23
22
|
return new RegExp(pattern).test(value);
|
|
24
23
|
};
|
|
@@ -59,12 +58,11 @@ var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
59
58
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
60
59
|
innerValue = _useState2[0],
|
|
61
60
|
setInnerValue = _useState2[1];
|
|
62
|
-
var
|
|
63
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
64
|
-
textareaId = _useState4[0];
|
|
61
|
+
var textareaId = "textarea-".concat((0, _react.useId)());
|
|
65
62
|
var colorsTheme = (0, _useTheme["default"])();
|
|
66
63
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
67
64
|
var textareaRef = (0, _react.useRef)(null);
|
|
65
|
+
var prevValueRef = (0, _react.useRef)(null);
|
|
68
66
|
var errorId = "error-".concat(textareaId);
|
|
69
67
|
var isNotOptional = function isNotOptional(value) {
|
|
70
68
|
return value === "" && !optional;
|
|
@@ -87,13 +85,6 @@ var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
87
85
|
value: newValue
|
|
88
86
|
});
|
|
89
87
|
};
|
|
90
|
-
var autoVerticalGrow = function autoVerticalGrow() {
|
|
91
|
-
var textareaLineHeight = parseInt(window.getComputedStyle(textareaRef.current)["line-height"]);
|
|
92
|
-
var textareaPaddingTopBottom = parseInt(window.getComputedStyle(textareaRef.current)["padding-top"]) * 2;
|
|
93
|
-
textareaRef.current.style.height = "".concat(textareaLineHeight * rows, "px");
|
|
94
|
-
var newHeight = textareaRef.current.scrollHeight - textareaPaddingTopBottom;
|
|
95
|
-
textareaRef.current.style.height = "".concat(newHeight, "px");
|
|
96
|
-
};
|
|
97
88
|
var handleOnBlur = function handleOnBlur(event) {
|
|
98
89
|
if (isNotOptional(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
99
90
|
value: event.target.value,
|
|
@@ -110,8 +101,17 @@ var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
110
101
|
};
|
|
111
102
|
var handleOnChange = function handleOnChange(event) {
|
|
112
103
|
changeValue(event.target.value);
|
|
113
|
-
verticalGrow === "auto" && autoVerticalGrow();
|
|
114
104
|
};
|
|
105
|
+
(0, _react.useEffect)(function () {
|
|
106
|
+
if (verticalGrow === "auto" && prevValueRef.current !== (value !== null && value !== void 0 ? value : innerValue)) {
|
|
107
|
+
var textareaLineHeight = parseInt(window.getComputedStyle(textareaRef.current)["line-height"]);
|
|
108
|
+
var textareaPaddingTopBottom = parseInt(window.getComputedStyle(textareaRef.current)["padding-top"]) * 2;
|
|
109
|
+
textareaRef.current.style.height = "".concat(textareaLineHeight * rows, "px");
|
|
110
|
+
var newHeight = textareaRef.current.scrollHeight - textareaPaddingTopBottom;
|
|
111
|
+
textareaRef.current.style.height = "".concat(newHeight, "px");
|
|
112
|
+
prevValueRef.current = value !== null && value !== void 0 ? value : innerValue;
|
|
113
|
+
}
|
|
114
|
+
}, [verticalGrow, value, innerValue, rows]);
|
|
115
115
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
116
116
|
theme: colorsTheme.textarea
|
|
117
117
|
}, /*#__PURE__*/_react["default"].createElement(TextareaContainer, {
|
|
@@ -146,6 +146,7 @@ var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
146
146
|
"aria-required": !disabled && !optional
|
|
147
147
|
}), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
148
148
|
id: errorId,
|
|
149
|
+
role: "alert",
|
|
149
150
|
"aria-live": error ? "assertive" : "off"
|
|
150
151
|
}, error)));
|
|
151
152
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -6,7 +6,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
6
6
|
var _react = _interopRequireDefault(require("react"));
|
|
7
7
|
var _react2 = require("@testing-library/react");
|
|
8
8
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
9
|
-
var _Textarea = _interopRequireDefault(require("./Textarea
|
|
9
|
+
var _Textarea = _interopRequireDefault(require("./Textarea"));
|
|
10
10
|
describe("Textarea component tests", function () {
|
|
11
11
|
test("Renders with correct label", function () {
|
|
12
12
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Textarea["default"], {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
var _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
9
|
+
var _ToggleGroup = _interopRequireDefault(require("./ToggleGroup"));
|
|
10
|
+
var ethernetSVG = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
11
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
12
|
+
height: "24px",
|
|
13
|
+
viewBox: "0 0 24 24",
|
|
14
|
+
width: "24px",
|
|
15
|
+
fill: "currentColor"
|
|
16
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
17
|
+
d: "M0 0h24v24H0V0z",
|
|
18
|
+
fill: "none"
|
|
19
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
20
|
+
d: "M7.77 6.76L6.23 5.48.82 12l5.41 6.52 1.54-1.28L3.42 12l4.35-5.24zM7 13h2v-2H7v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6.77-7.52l-1.54 1.28L20.58 12l-4.35 5.24 1.54 1.28L23.18 12l-5.41-6.52z"
|
|
21
|
+
}));
|
|
22
|
+
var gMobileSVG = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
23
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
24
|
+
height: "24px",
|
|
25
|
+
viewBox: "0 0 24 24",
|
|
26
|
+
width: "24px",
|
|
27
|
+
fill: "currentColor"
|
|
28
|
+
}, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
|
|
29
|
+
d: "M0,0h24v24H0V0z",
|
|
30
|
+
fill: "none"
|
|
31
|
+
})), /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
|
|
32
|
+
d: "M3,7v2h5v2H4v2h4v2H3v2h5c1.1,0,2-0.9,2-2v-1.5c0-0.83-0.67-1.5-1.5-1.5c0.83,0,1.5-0.67,1.5-1.5V9c0-1.1-0.9-2-2-2H3z M21,11v4c0,1.1-0.9,2-2,2h-5c-1.1,0-2-0.9-2-2V9c0-1.1,0.9-2,2-2h5c1.1,0,2,0.9,2,2h-7v6h5v-2h-2.5v-2H21z"
|
|
33
|
+
}))));
|
|
34
|
+
var wifiSVG = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
35
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
36
|
+
height: "24px",
|
|
37
|
+
viewBox: "0 0 24 24",
|
|
38
|
+
width: "24px",
|
|
39
|
+
fill: "currentColor"
|
|
40
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
41
|
+
d: "M0 0h24v24H0V0zm0 0h24v24H0V0z",
|
|
42
|
+
fill: "none"
|
|
43
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
44
|
+
d: "M1 9l2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9zm8 8l3 3 3-3c-1.65-1.66-4.34-1.66-6 0zm-4-4l2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13z"
|
|
45
|
+
}));
|
|
46
|
+
var options = [{
|
|
47
|
+
value: 1,
|
|
48
|
+
icon: wifiSVG,
|
|
49
|
+
title: "WiFi connection"
|
|
50
|
+
}, {
|
|
51
|
+
value: 2,
|
|
52
|
+
icon: ethernetSVG,
|
|
53
|
+
title: "Ethernet connection"
|
|
54
|
+
}, {
|
|
55
|
+
value: 3,
|
|
56
|
+
icon: gMobileSVG,
|
|
57
|
+
title: "3G Mobile data connection"
|
|
58
|
+
}];
|
|
59
|
+
describe("Toggle group component accessibility tests", function () {
|
|
60
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
61
|
+
var _render, container, results;
|
|
62
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
63
|
+
while (1) switch (_context.prev = _context.next) {
|
|
64
|
+
case 0:
|
|
65
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
|
|
66
|
+
label: "Toggle group label",
|
|
67
|
+
helperText: "Toggle group helper text",
|
|
68
|
+
options: options,
|
|
69
|
+
margin: "medium",
|
|
70
|
+
defaultValue: [2],
|
|
71
|
+
multiple: true
|
|
72
|
+
})), container = _render.container;
|
|
73
|
+
_context.next = 3;
|
|
74
|
+
return (0, _axeHelper.axe)(container);
|
|
75
|
+
case 3:
|
|
76
|
+
results = _context.sent;
|
|
77
|
+
expect(results).toHaveNoViolations();
|
|
78
|
+
case 5:
|
|
79
|
+
case "end":
|
|
80
|
+
return _context.stop();
|
|
81
|
+
}
|
|
82
|
+
}, _callee);
|
|
83
|
+
})));
|
|
84
|
+
it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
85
|
+
var _render2, container, results;
|
|
86
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
87
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
88
|
+
case 0:
|
|
89
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
|
|
90
|
+
label: "Toggle group label",
|
|
91
|
+
helperText: "Toggle group helper text",
|
|
92
|
+
options: options,
|
|
93
|
+
margin: "medium",
|
|
94
|
+
disabled: true
|
|
95
|
+
})), container = _render2.container;
|
|
96
|
+
_context2.next = 3;
|
|
97
|
+
return (0, _axeHelper.axe)(container);
|
|
98
|
+
case 3:
|
|
99
|
+
results = _context2.sent;
|
|
100
|
+
expect(results).toHaveNoViolations();
|
|
101
|
+
case 5:
|
|
102
|
+
case "end":
|
|
103
|
+
return _context2.stop();
|
|
104
|
+
}
|
|
105
|
+
}, _callee2);
|
|
106
|
+
})));
|
|
107
|
+
});
|