@dxc-technology/halstack-react 0.0.0-dfd09f9 → 0.0.0-e01c6f9
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 +1235 -0
- package/HalstackContext.js +310 -0
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +116 -160
- package/accordion/Accordion.stories.tsx +103 -127
- package/accordion/Accordion.test.js +25 -41
- package/accordion/types.d.ts +5 -16
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +31 -98
- package/accordion-group/AccordionGroup.stories.tsx +94 -67
- package/accordion-group/AccordionGroup.test.js +52 -105
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/types.d.ts +11 -16
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +43 -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 +8 -19
- package/badge/types.d.ts +2 -1
- package/bleed/Bleed.js +14 -55
- package/bleed/Bleed.stories.tsx +95 -95
- package/bleed/types.d.ts +2 -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 +18 -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 +141 -180
- package/checkbox/Checkbox.stories.tsx +128 -94
- package/checkbox/Checkbox.test.js +160 -39
- package/checkbox/types.d.ts +12 -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 +1381 -0
- package/common/variables.js +998 -1117
- 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 +153 -299
- package/date-input/DateInput.stories.tsx +203 -56
- package/date-input/DateInput.test.js +700 -371
- 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 +72 -15
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +73 -107
- 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 +57 -115
- package/footer/Footer.stories.tsx +41 -19
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +2 -2
- package/footer/Icons.js +3 -8
- package/footer/types.d.ts +21 -28
- 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 +90 -170
- package/header/Header.stories.tsx +118 -39
- package/header/Header.test.js +13 -26
- 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 +2 -2
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +82 -166
- 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 +11 -12
- package/main.js +58 -109
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +90 -0
- package/nav-tabs/NavTabs.stories.tsx +274 -0
- package/nav-tabs/NavTabs.test.js +75 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +117 -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 +26 -35
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +701 -377
- package/number-input/types.d.ts +12 -6
- package/package.json +44 -46
- 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 +160 -143
- package/password-input/types.d.ts +9 -8
- 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.js +71 -41
- package/quick-nav/QuickNav.stories.tsx +146 -27
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +59 -76
- package/radio-group/RadioGroup.js +71 -116
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +518 -457
- package/radio-group/types.d.ts +10 -10
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.js +159 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +50 -25
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +117 -118
- package/{resultsetTable → resultset-table}/types.d.ts +7 -7
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +46 -51
- package/select/Option.js +20 -50
- package/select/Select.js +168 -242
- package/select/Select.stories.tsx +525 -136
- package/select/Select.test.js +2009 -1696
- package/select/types.d.ts +16 -20
- 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 -181
- package/slider/Slider.test.js +185 -81
- package/slider/types.d.ts +7 -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/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +143 -121
- package/switch/Switch.stories.tsx +41 -64
- package/switch/Switch.test.js +138 -56
- package/switch/types.d.ts +9 -5
- package/table/Table.js +8 -30
- package/table/{Table.stories.jsx → Table.stories.tsx} +80 -1
- package/table/Table.test.js +3 -8
- package/table/types.d.ts +8 -8
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +113 -0
- package/tabs/Tabs.js +314 -141
- package/tabs/Tabs.stories.tsx +119 -11
- package/tabs/Tabs.test.js +223 -69
- package/tabs/types.d.ts +28 -18
- package/tag/Tag.js +33 -68
- package/tag/Tag.stories.tsx +14 -1
- 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 +323 -547
- package/text-input/TextInput.stories.tsx +266 -275
- package/text-input/TextInput.test.js +1403 -1376
- package/text-input/types.d.ts +53 -14
- package/textarea/Textarea.js +79 -131
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +152 -183
- package/textarea/types.d.ts +10 -6
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +92 -106
- package/toggle-group/ToggleGroup.stories.tsx +49 -4
- package/toggle-group/ToggleGroup.test.js +69 -88
- package/toggle-group/types.d.ts +26 -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 +1133 -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 +121 -0
- package/wizard/Wizard.js +51 -91
- package/wizard/Wizard.stories.tsx +40 -1
- package/wizard/Wizard.test.js +54 -81
- package/wizard/types.d.ts +7 -7
- 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 -28
- 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 -24
- 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
- /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
package/text-input/types.d.ts
CHANGED
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
type Margin = {
|
|
4
4
|
top?: Space;
|
|
5
5
|
bottom?: Space;
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
10
|
+
type Action = {
|
|
11
11
|
/**
|
|
12
12
|
* This function will be called when the user clicks the action.
|
|
13
13
|
*/
|
|
14
14
|
onClick: () => void;
|
|
15
15
|
/**
|
|
16
|
-
* Icon to be
|
|
16
|
+
* Icon to be placed in the action..
|
|
17
17
|
*/
|
|
18
18
|
icon: string | SVG;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Text representing advisory information related
|
|
21
|
+
* to the button's action. Under the hood, this prop also serves
|
|
22
|
+
* as an accessible label for the component.
|
|
21
23
|
*/
|
|
22
24
|
title?: string;
|
|
23
25
|
};
|
|
24
|
-
|
|
26
|
+
type Props = {
|
|
25
27
|
/**
|
|
26
28
|
* Text to be placed above the input. This label will be used as the aria-label attribute of the list of suggestions.
|
|
27
29
|
*/
|
|
@@ -47,8 +49,7 @@ declare type Props = {
|
|
|
47
49
|
*/
|
|
48
50
|
placeholder?: string;
|
|
49
51
|
/**
|
|
50
|
-
* Action to be shown in the input.
|
|
51
|
-
* being the latter either an inline svg or a URL to the image.
|
|
52
|
+
* Action to be shown in the input.
|
|
52
53
|
*/
|
|
53
54
|
action?: Action;
|
|
54
55
|
/**
|
|
@@ -59,6 +60,12 @@ declare type Props = {
|
|
|
59
60
|
* If true, the component will be disabled.
|
|
60
61
|
*/
|
|
61
62
|
disabled?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* If true, the component will not be mutable, meaning the user can not edit the control.
|
|
65
|
+
* In addition, the clear action will not be displayed even if the flag is set to true
|
|
66
|
+
* and the custom action will not execute its onClick event.
|
|
67
|
+
*/
|
|
68
|
+
readOnly?: boolean;
|
|
62
69
|
/**
|
|
63
70
|
* If true, the input will be optional, showing '(Optional)'
|
|
64
71
|
* next to the label. Otherwise, the field will be considered required and an error will be
|
|
@@ -106,8 +113,9 @@ declare type Props = {
|
|
|
106
113
|
/**
|
|
107
114
|
* These are the options to be displayed as suggestions. It can be either an array or a function:
|
|
108
115
|
* - Array: Array of options that will be filtered by the component.
|
|
109
|
-
* - Function: This function will be called when the user changes the value
|
|
110
|
-
*
|
|
116
|
+
* - Function: This function will be called when the user changes the value.
|
|
117
|
+
* It will receive the new value as a parameter and should return a promise
|
|
118
|
+
* that resolves to an array with the filtered options.
|
|
111
119
|
*/
|
|
112
120
|
suggestions?: string[] | ((value: string) => Promise<string[]>);
|
|
113
121
|
/**
|
|
@@ -121,7 +129,7 @@ declare type Props = {
|
|
|
121
129
|
*/
|
|
122
130
|
pattern?: string;
|
|
123
131
|
/**
|
|
124
|
-
* Specifies the
|
|
132
|
+
* Specifies the minimum length allowed by the input.
|
|
125
133
|
* This will be checked both when the input element loses the
|
|
126
134
|
* focus and while typing within it. If the string entered does not
|
|
127
135
|
* comply the minimum length, the onBlur and onChange functions will be called
|
|
@@ -151,7 +159,7 @@ declare type Props = {
|
|
|
151
159
|
*/
|
|
152
160
|
margin?: Space | Margin;
|
|
153
161
|
/**
|
|
154
|
-
* Size of the component
|
|
162
|
+
* Size of the component.
|
|
155
163
|
*/
|
|
156
164
|
size?: "small" | "medium" | "large" | "fillParent";
|
|
157
165
|
/**
|
|
@@ -159,8 +167,39 @@ declare type Props = {
|
|
|
159
167
|
*/
|
|
160
168
|
tabIndex?: number;
|
|
161
169
|
};
|
|
170
|
+
/**
|
|
171
|
+
* List of suggestions of an Text Input component.
|
|
172
|
+
*/
|
|
173
|
+
export type SuggestionsProps = {
|
|
174
|
+
id: string;
|
|
175
|
+
value: string;
|
|
176
|
+
suggestions: string[];
|
|
177
|
+
visualFocusIndex: number;
|
|
178
|
+
highlightedSuggestions: boolean;
|
|
179
|
+
searchHasErrors: boolean;
|
|
180
|
+
isSearching: boolean;
|
|
181
|
+
suggestionOnClick: (suggestion: string) => void;
|
|
182
|
+
styles: React.CSSProperties;
|
|
183
|
+
};
|
|
162
184
|
/**
|
|
163
185
|
* Reference to the component.
|
|
164
186
|
*/
|
|
165
|
-
export
|
|
187
|
+
export type RefType = HTMLDivElement;
|
|
188
|
+
/**
|
|
189
|
+
* Single suggestion of an Text Input component.
|
|
190
|
+
*/
|
|
191
|
+
export type SuggestionProps = {
|
|
192
|
+
id: string;
|
|
193
|
+
value: string;
|
|
194
|
+
onClick: (suggestion: string) => void;
|
|
195
|
+
suggestion: string;
|
|
196
|
+
isLast: boolean;
|
|
197
|
+
visuallyFocused: boolean;
|
|
198
|
+
highlighted: boolean;
|
|
199
|
+
};
|
|
200
|
+
export type AutosuggestWrapperProps = {
|
|
201
|
+
condition: boolean;
|
|
202
|
+
wrapper: (children: React.ReactNode) => JSX.Element;
|
|
203
|
+
children: React.ReactNode;
|
|
204
|
+
};
|
|
166
205
|
export default Props;
|
package/textarea/Textarea.js
CHANGED
|
@@ -1,154 +1,117 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
|
|
14
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
-
|
|
18
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
13
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
|
-
|
|
22
|
-
var _utils = require("../common/utils.js");
|
|
23
|
-
|
|
14
|
+
var _utils = require("../common/utils");
|
|
24
15
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
|
-
|
|
26
|
-
var _variables = require("../common/variables
|
|
27
|
-
|
|
16
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
17
|
+
var _variables = require("../common/variables");
|
|
28
18
|
var _uuid = require("uuid");
|
|
29
|
-
|
|
30
|
-
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
31
|
-
|
|
32
19
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
33
|
-
|
|
34
|
-
function
|
|
35
|
-
|
|
36
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
37
|
-
|
|
38
|
-
var getNotOptionalErrorMessage = function getNotOptionalErrorMessage() {
|
|
39
|
-
return "This field is required. Please, enter a value.";
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
var getPatternErrorMessage = function getPatternErrorMessage() {
|
|
43
|
-
return "Please match the format requested.";
|
|
44
|
-
};
|
|
45
|
-
|
|
20
|
+
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 && Object.prototype.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; }
|
|
46
22
|
var patternMatch = function patternMatch(pattern, value) {
|
|
47
23
|
return new RegExp(pattern).test(value);
|
|
48
24
|
};
|
|
49
|
-
|
|
50
25
|
var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
51
26
|
var label = _ref.label,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
27
|
+
_ref$name = _ref.name,
|
|
28
|
+
name = _ref$name === void 0 ? "" : _ref$name,
|
|
29
|
+
_ref$defaultValue = _ref.defaultValue,
|
|
30
|
+
defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
|
|
31
|
+
value = _ref.value,
|
|
32
|
+
helperText = _ref.helperText,
|
|
33
|
+
_ref$placeholder = _ref.placeholder,
|
|
34
|
+
placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
|
|
35
|
+
_ref$disabled = _ref.disabled,
|
|
36
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
37
|
+
_ref$readOnly = _ref.readOnly,
|
|
38
|
+
readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
|
|
39
|
+
_ref$optional = _ref.optional,
|
|
40
|
+
optional = _ref$optional === void 0 ? false : _ref$optional,
|
|
41
|
+
_ref$verticalGrow = _ref.verticalGrow,
|
|
42
|
+
verticalGrow = _ref$verticalGrow === void 0 ? "auto" : _ref$verticalGrow,
|
|
43
|
+
_ref$rows = _ref.rows,
|
|
44
|
+
rows = _ref$rows === void 0 ? 4 : _ref$rows,
|
|
45
|
+
onChange = _ref.onChange,
|
|
46
|
+
onBlur = _ref.onBlur,
|
|
47
|
+
error = _ref.error,
|
|
48
|
+
pattern = _ref.pattern,
|
|
49
|
+
minLength = _ref.minLength,
|
|
50
|
+
maxLength = _ref.maxLength,
|
|
51
|
+
_ref$autocomplete = _ref.autocomplete,
|
|
52
|
+
autocomplete = _ref$autocomplete === void 0 ? "off" : _ref$autocomplete,
|
|
53
|
+
margin = _ref.margin,
|
|
54
|
+
_ref$size = _ref.size,
|
|
55
|
+
size = _ref$size === void 0 ? "medium" : _ref$size,
|
|
56
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
57
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
82
58
|
var _useState = (0, _react.useState)(defaultValue),
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
59
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
60
|
+
innerValue = _useState2[0],
|
|
61
|
+
setInnerValue = _useState2[1];
|
|
87
62
|
var _useState3 = (0, _react.useState)("textarea-".concat((0, _uuid.v4)())),
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
63
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
64
|
+
textareaId = _useState4[0];
|
|
91
65
|
var colorsTheme = (0, _useTheme["default"])();
|
|
92
|
-
var
|
|
66
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
93
67
|
var textareaRef = (0, _react.useRef)(null);
|
|
94
68
|
var errorId = "error-".concat(textareaId);
|
|
95
|
-
|
|
96
|
-
var getLengthErrorMessage = function getLengthErrorMessage() {
|
|
97
|
-
return "Min length ".concat(minLength, ", max length ").concat(maxLength, ".");
|
|
98
|
-
};
|
|
99
|
-
|
|
100
69
|
var isNotOptional = function isNotOptional(value) {
|
|
101
70
|
return value === "" && !optional;
|
|
102
71
|
};
|
|
103
|
-
|
|
104
72
|
var isLengthIncorrect = function isLengthIncorrect(value) {
|
|
105
73
|
return value !== "" && minLength && maxLength && (value.length < minLength || value.length > maxLength);
|
|
106
74
|
};
|
|
107
|
-
|
|
108
75
|
var changeValue = function changeValue(newValue) {
|
|
109
76
|
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
110
77
|
if (isNotOptional(newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
111
78
|
value: newValue,
|
|
112
|
-
error:
|
|
79
|
+
error: translatedLabels.formFields.requiredValueErrorMessage
|
|
113
80
|
});else if (isLengthIncorrect(newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
114
81
|
value: newValue,
|
|
115
|
-
error:
|
|
82
|
+
error: translatedLabels.formFields.lengthErrorMessage(minLength, maxLength)
|
|
116
83
|
});else if (newValue && pattern && !patternMatch(pattern, newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
117
84
|
value: newValue,
|
|
118
|
-
error:
|
|
85
|
+
error: translatedLabels.formFields.formatRequestedErrorMessage
|
|
119
86
|
});else onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
120
87
|
value: newValue
|
|
121
88
|
});
|
|
122
89
|
};
|
|
123
|
-
|
|
124
|
-
|
|
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
|
+
var handleOnBlur = function handleOnBlur(event) {
|
|
125
98
|
if (isNotOptional(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
126
99
|
value: event.target.value,
|
|
127
|
-
error:
|
|
100
|
+
error: translatedLabels.formFields.requiredValueErrorMessage
|
|
128
101
|
});else if (isLengthIncorrect(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
129
102
|
value: event.target.value,
|
|
130
|
-
error:
|
|
103
|
+
error: translatedLabels.formFields.lengthErrorMessage(minLength, maxLength)
|
|
131
104
|
});else if (event.target.value && pattern && !patternMatch(pattern, event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
132
105
|
value: event.target.value,
|
|
133
|
-
error:
|
|
106
|
+
error: translatedLabels.formFields.formatRequestedErrorMessage
|
|
134
107
|
});else onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
135
108
|
value: event.target.value
|
|
136
109
|
});
|
|
137
110
|
};
|
|
138
|
-
|
|
139
|
-
var handleTOnChange = function handleTOnChange(event) {
|
|
111
|
+
var handleOnChange = function handleOnChange(event) {
|
|
140
112
|
changeValue(event.target.value);
|
|
113
|
+
verticalGrow === "auto" && autoVerticalGrow();
|
|
141
114
|
};
|
|
142
|
-
|
|
143
|
-
(0, _react.useLayoutEffect)(function () {
|
|
144
|
-
if (verticalGrow === "auto") {
|
|
145
|
-
var textareaLineHeight = parseInt(window.getComputedStyle(textareaRef.current)["line-height"]);
|
|
146
|
-
var textareaPaddingTopBottom = parseInt(window.getComputedStyle(textareaRef.current)["padding-top"]) * 2;
|
|
147
|
-
textareaRef.current.style.height = "".concat(textareaLineHeight * rows, "px");
|
|
148
|
-
var newHeight = textareaRef.current.scrollHeight - textareaPaddingTopBottom;
|
|
149
|
-
textareaRef.current.style.height = "".concat(newHeight, "px");
|
|
150
|
-
}
|
|
151
|
-
}, [value, verticalGrow, rows, innerValue]);
|
|
152
115
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
153
116
|
theme: colorsTheme.textarea
|
|
154
117
|
}, /*#__PURE__*/_react["default"].createElement(TextareaContainer, {
|
|
@@ -158,11 +121,9 @@ var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
158
121
|
}, label && /*#__PURE__*/_react["default"].createElement(Label, {
|
|
159
122
|
htmlFor: textareaId,
|
|
160
123
|
disabled: disabled,
|
|
161
|
-
backgroundType: backgroundType,
|
|
162
124
|
helperText: helperText
|
|
163
|
-
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null,
|
|
164
|
-
disabled: disabled
|
|
165
|
-
backgroundType: backgroundType
|
|
125
|
+
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
126
|
+
disabled: disabled
|
|
166
127
|
}, helperText), /*#__PURE__*/_react["default"].createElement(Textarea, {
|
|
167
128
|
id: textareaId,
|
|
168
129
|
name: name,
|
|
@@ -170,39 +131,34 @@ var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
170
131
|
placeholder: placeholder,
|
|
171
132
|
verticalGrow: verticalGrow,
|
|
172
133
|
rows: rows,
|
|
173
|
-
onChange:
|
|
174
|
-
onBlur:
|
|
134
|
+
onChange: handleOnChange,
|
|
135
|
+
onBlur: handleOnBlur,
|
|
175
136
|
disabled: disabled,
|
|
137
|
+
readOnly: readOnly,
|
|
176
138
|
error: error,
|
|
177
139
|
minLength: minLength,
|
|
178
140
|
maxLength: maxLength,
|
|
179
141
|
autoComplete: autocomplete,
|
|
180
|
-
backgroundType: backgroundType,
|
|
181
142
|
ref: textareaRef,
|
|
182
143
|
tabIndex: tabIndex,
|
|
183
|
-
"aria-
|
|
184
|
-
"aria-invalid": error ? "true" : "false",
|
|
144
|
+
"aria-invalid": error ? true : false,
|
|
185
145
|
"aria-errormessage": error ? errorId : undefined,
|
|
186
|
-
"aria-required":
|
|
146
|
+
"aria-required": !disabled && !optional
|
|
187
147
|
}), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
188
148
|
id: errorId,
|
|
189
|
-
backgroundType: backgroundType,
|
|
190
149
|
"aria-live": error ? "assertive" : "off"
|
|
191
150
|
}, error)));
|
|
192
151
|
});
|
|
193
|
-
|
|
194
152
|
var sizes = {
|
|
195
153
|
small: "240px",
|
|
196
154
|
medium: "360px",
|
|
197
155
|
large: "480px",
|
|
198
156
|
fillParent: "100%"
|
|
199
157
|
};
|
|
200
|
-
|
|
201
158
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
202
159
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
203
160
|
};
|
|
204
|
-
|
|
205
|
-
var TextareaContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
161
|
+
var TextareaContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
206
162
|
return calculateWidth(props.margin, props.size);
|
|
207
163
|
}, function (props) {
|
|
208
164
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
@@ -215,9 +171,8 @@ var TextareaContainer = _styledComponents["default"].div(_templateObject || (_te
|
|
|
215
171
|
}, function (props) {
|
|
216
172
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
217
173
|
});
|
|
218
|
-
|
|
219
174
|
var Label = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n ", "\n"])), function (props) {
|
|
220
|
-
return props.disabled ? props.
|
|
175
|
+
return props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor;
|
|
221
176
|
}, function (props) {
|
|
222
177
|
return props.theme.fontFamily;
|
|
223
178
|
}, function (props) {
|
|
@@ -231,13 +186,11 @@ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObj
|
|
|
231
186
|
}, function (props) {
|
|
232
187
|
return !props.helperText && "margin-bottom: 0.25rem";
|
|
233
188
|
});
|
|
234
|
-
|
|
235
189
|
var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
|
|
236
190
|
return props.theme.optionalLabelFontWeight;
|
|
237
191
|
});
|
|
238
|
-
|
|
239
192
|
var HelperText = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n margin-bottom: 0.25rem;\n"])), function (props) {
|
|
240
|
-
return props.disabled ? props.
|
|
193
|
+
return props.disabled ? props.theme.disabledHelperTextFontColor : props.theme.helperTextFontColor;
|
|
241
194
|
}, function (props) {
|
|
242
195
|
return props.theme.fontFamily;
|
|
243
196
|
}, function (props) {
|
|
@@ -249,21 +202,19 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
|
|
|
249
202
|
}, function (props) {
|
|
250
203
|
return props.theme.helperTextLineHeight;
|
|
251
204
|
});
|
|
252
|
-
|
|
253
|
-
var
|
|
254
|
-
if (
|
|
255
|
-
}, function (props) {
|
|
256
|
-
if (props.disabled) return props.backgroundType === "dark" ? "background-color: ".concat(props.theme.disabledContainerFillColorOnDark, ";") : "background-color: ".concat(props.theme.disabledContainerFillColor, ";");else return "background-color: transparent;";
|
|
205
|
+
var Textarea = _styledComponents["default"].textarea(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n\n ", "\n\n padding: 0.5rem 1rem;\n box-shadow: 0 0 0 2px transparent;\n border-radius: 0.25rem;\n border: 1px solid\n ", ";\n\n ", "\n\n ", ";\n\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n\n ::placeholder {\n color: ", ";\n }\n"])), function (_ref2) {
|
|
206
|
+
var verticalGrow = _ref2.verticalGrow;
|
|
207
|
+
if (verticalGrow === "none") return "resize: none;";else if (verticalGrow === "auto") return "resize: none; overflow: hidden;";else if (verticalGrow === "manual") return "resize: vertical;";else return "resize: none;";
|
|
257
208
|
}, function (props) {
|
|
258
|
-
|
|
209
|
+
return props.disabled ? "background-color: ".concat(props.theme.disabledContainerFillColor, ";") : "background-color: transparent;";
|
|
259
210
|
}, function (props) {
|
|
260
|
-
return props.
|
|
211
|
+
if (props.disabled) return props.theme.disabledBorderColor;else if (props.error) return "transparent";else if (props.readOnly) return props.theme.readOnlyBorderColor;else props.theme.enabledBorderColor;
|
|
261
212
|
}, function (props) {
|
|
262
|
-
return props.disabled && "
|
|
213
|
+
return props.error && !props.disabled && "box-shadow: 0 0 0 2px ".concat(props.theme.errorBorderColor, ";\n ");
|
|
263
214
|
}, function (props) {
|
|
264
|
-
return !props.disabled
|
|
215
|
+
return !props.disabled ? "&:hover {\n border-color: ".concat(props.error ? "transparent" : props.readOnly ? props.theme.hoverReadOnlyBorderColor : props.theme.hoverBorderColor, ";\n ").concat(props.error && "box-shadow: 0 0 0 2px ".concat(props.theme.hoverErrorBorderColor, ";"), "\n }\n &:focus, &:focus-within {\n outline: none;\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(props.theme.focusBorderColor, ";\n }") : "cursor: not-allowed;";
|
|
265
216
|
}, function (props) {
|
|
266
|
-
return props.disabled ? props.
|
|
217
|
+
return props.disabled ? props.theme.disabledValueFontColor : props.theme.valueFontColor;
|
|
267
218
|
}, function (props) {
|
|
268
219
|
return props.theme.fontFamily;
|
|
269
220
|
}, function (props) {
|
|
@@ -273,14 +224,11 @@ var Textarea = _styledComponents["default"].textarea(_templateObject5 || (_templ
|
|
|
273
224
|
}, function (props) {
|
|
274
225
|
return props.theme.valueFontWeight;
|
|
275
226
|
}, function (props) {
|
|
276
|
-
return props.disabled ? props.
|
|
227
|
+
return props.disabled ? props.theme.disabledPlaceholderFontColor : props.theme.placeholderFontColor;
|
|
277
228
|
});
|
|
278
|
-
|
|
279
229
|
var Error = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: 0.75rem;\n font-weight: 400;\n min-height: 1.5em;\n line-height: 1.5em;\n margin-top: 0.25rem;\n"])), function (props) {
|
|
280
|
-
return props.
|
|
230
|
+
return props.theme.errorMessageColor;
|
|
281
231
|
}, function (props) {
|
|
282
232
|
return props.theme.fontFamily;
|
|
283
233
|
});
|
|
284
|
-
|
|
285
|
-
var _default = DxcTextarea;
|
|
286
|
-
exports["default"] = _default;
|
|
234
|
+
var _default = exports["default"] = DxcTextarea;
|