@dxc-technology/halstack-react 0.0.0-dfcca07 → 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 -0
- package/BackgroundColorContext.js +6 -26
- 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 +118 -194
- package/accordion/Accordion.stories.tsx +283 -0
- package/accordion/Accordion.test.js +56 -0
- package/accordion/types.d.ts +12 -23
- package/accordion-group/AccordionGroup.d.ts +5 -4
- package/accordion-group/AccordionGroup.js +39 -108
- package/accordion-group/AccordionGroup.stories.tsx +95 -68
- package/accordion-group/AccordionGroup.test.js +98 -0
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/types.d.ts +18 -23
- 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 +24 -60
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +75 -0
- package/alert/types.d.ts +5 -5
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +9 -20
- package/badge/types.d.ts +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +43 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +31 -82
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +13 -0
- 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/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +64 -123
- package/button/Button.stories.tsx +164 -96
- package/button/Button.test.js +36 -0
- package/button/types.d.ts +12 -12
- package/card/Card.d.ts +1 -1
- package/card/Card.js +59 -103
- package/card/Card.stories.tsx +13 -43
- package/card/Card.test.js +39 -0
- package/card/types.d.ts +6 -11
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +145 -183
- package/checkbox/Checkbox.stories.tsx +166 -136
- package/checkbox/Checkbox.test.js +199 -0
- package/checkbox/types.d.ts +19 -7
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +48 -148
- package/chip/Chip.stories.tsx +123 -30
- package/chip/Chip.test.js +41 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- 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 +1006 -1331
- 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/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.js +175 -313
- package/date-input/DateInput.stories.tsx +203 -56
- package/date-input/DateInput.test.js +808 -0
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +115 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +58 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +86 -22
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +69 -130
- package/dialog/Dialog.stories.tsx +320 -167
- package/dialog/Dialog.test.js +307 -0
- package/dialog/types.d.ts +18 -25
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +245 -328
- package/dropdown/Dropdown.stories.tsx +438 -0
- package/dropdown/Dropdown.test.js +599 -0
- 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 +36 -27
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +267 -299
- package/file-input/FileInput.stories.tsx +618 -0
- package/file-input/FileInput.test.js +459 -0
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +52 -101
- package/file-input/types.d.ts +53 -11
- 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/flex/types.js +5 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +60 -201
- package/footer/{Footer.stories.jsx → Footer.stories.tsx} +38 -37
- package/footer/Footer.test.js +85 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +4 -9
- package/footer/types.d.ts +22 -33
- 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/grid/types.js +5 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +100 -204
- package/header/Header.stories.tsx +152 -63
- package/header/Header.test.js +66 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +4 -9
- package/header/types.d.ts +5 -19
- package/heading/Heading.js +11 -33
- package/heading/Heading.stories.tsx +3 -2
- package/heading/Heading.test.js +169 -0
- 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/image/types.js +5 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +43 -0
- package/inset/Inset.stories.tsx +230 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +20 -0
- package/layout/ApplicationLayout.js +83 -184
- package/layout/ApplicationLayout.stories.tsx +162 -0
- 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 +41 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +3 -2
- package/link/Link.js +65 -111
- package/link/Link.stories.tsx +159 -52
- package/link/Link.test.js +63 -0
- package/link/types.d.ts +15 -35
- package/main.d.ts +15 -13
- package/main.js +70 -97
- 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 +28 -47
- package/number-input/NumberInput.stories.tsx +44 -28
- package/number-input/NumberInput.test.js +830 -0
- package/number-input/types.d.ts +28 -15
- package/package.json +46 -45
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +21 -47
- package/paginator/Paginator.js +35 -98
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +335 -0
- 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 +58 -125
- package/password-input/PasswordInput.stories.tsx +3 -35
- package/password-input/PasswordInput.test.js +198 -0
- package/password-input/types.d.ts +21 -17
- package/progress-bar/ProgressBar.js +66 -92
- package/progress-bar/ProgressBar.stories.tsx +93 -0
- package/progress-bar/ProgressBar.test.js +93 -0
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +94 -0
- package/quick-nav/QuickNav.stories.tsx +356 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +124 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +235 -0
- package/radio-group/RadioGroup.stories.tsx +214 -0
- package/radio-group/RadioGroup.test.js +756 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.js +159 -0
- package/resultset-table/ResultsetTable.stories.tsx +300 -0
- package/resultset-table/ResultsetTable.test.js +305 -0
- package/{resultsetTable → resultset-table}/types.d.ts +8 -8
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +89 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +143 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +80 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +227 -511
- package/select/Select.stories.tsx +603 -204
- package/select/Select.test.js +2370 -0
- package/select/types.d.ts +209 -0
- package/select/types.js +5 -0
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +132 -72
- package/sidenav/Sidenav.stories.tsx +251 -134
- package/sidenav/Sidenav.test.js +37 -0
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +149 -181
- package/slider/Slider.test.js +254 -0
- package/slider/types.d.ts +11 -3
- package/spinner/Spinner.js +32 -76
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
- package/spinner/Spinner.test.js +55 -0
- package/spinner/types.d.ts +3 -3
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +150 -115
- package/switch/Switch.stories.tsx +45 -68
- package/switch/Switch.test.js +180 -0
- package/switch/types.d.ts +13 -5
- package/table/Table.js +9 -31
- package/table/{Table.stories.jsx → Table.stories.tsx} +81 -1
- package/table/Table.test.js +21 -0
- package/table/types.d.ts +8 -8
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +113 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +318 -147
- package/tabs/Tabs.stories.tsx +122 -17
- package/tabs/Tabs.test.js +294 -0
- package/tabs/types.d.ts +46 -24
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +44 -86
- package/tag/Tag.stories.tsx +38 -28
- package/tag/Tag.test.js +49 -0
- package/tag/types.d.ts +25 -16
- 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 +330 -544
- package/text-input/TextInput.stories.tsx +280 -271
- package/text-input/TextInput.test.js +1739 -0
- package/text-input/types.d.ts +71 -25
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +95 -177
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +406 -0
- package/textarea/types.d.ts +141 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +97 -113
- package/toggle-group/ToggleGroup.stories.tsx +76 -36
- package/toggle-group/ToggleGroup.test.js +137 -0
- package/toggle-group/types.d.ts +66 -36
- 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 +1134 -0
- 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.d.ts +1 -1
- package/wizard/Wizard.js +123 -104
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +48 -19
- package/wizard/Wizard.test.js +114 -0
- package/wizard/types.d.ts +14 -14
- package/ThemeContext.js +0 -246
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/card/ice-cream.jpg +0 -0
- package/chip/index.d.ts +0 -22
- package/common/RequiredComponent.js +0 -32
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- 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/types.d.ts +0 -54
- package/resultsetTable/ResultsetTable.js +0 -251
- package/select/index.d.ts +0 -131
- package/slider/Slider.stories.tsx +0 -177
- package/textarea/Textarea.stories.jsx +0 -135
- package/textarea/index.d.ts +0 -127
- package/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
- package/wizard/Icons.js +0 -65
- /package/{radio → action-icon}/types.js +0 -0
- /package/{resultsetTable → badge}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → bleed/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
|
-
onClick: (
|
|
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
|
*/
|
|
@@ -30,6 +32,10 @@ declare type Props = {
|
|
|
30
32
|
* Name attribute of the input element.
|
|
31
33
|
*/
|
|
32
34
|
name?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Initial value of the input, only when it is uncontrolled.
|
|
37
|
+
*/
|
|
38
|
+
defaultValue?: string;
|
|
33
39
|
/**
|
|
34
40
|
* Value of the input. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
|
|
35
41
|
*/
|
|
@@ -43,8 +49,7 @@ declare type Props = {
|
|
|
43
49
|
*/
|
|
44
50
|
placeholder?: string;
|
|
45
51
|
/**
|
|
46
|
-
* Action to be shown in the input.
|
|
47
|
-
* being the latter either an inline svg or a URL to the image.
|
|
52
|
+
* Action to be shown in the input.
|
|
48
53
|
*/
|
|
49
54
|
action?: Action;
|
|
50
55
|
/**
|
|
@@ -55,6 +60,12 @@ declare type Props = {
|
|
|
55
60
|
* If true, the component will be disabled.
|
|
56
61
|
*/
|
|
57
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;
|
|
58
69
|
/**
|
|
59
70
|
* If true, the input will be optional, showing '(Optional)'
|
|
60
71
|
* next to the label. Otherwise, the field will be considered required and an error will be
|
|
@@ -74,33 +85,37 @@ declare type Props = {
|
|
|
74
85
|
* This function will be called when the user types within the input
|
|
75
86
|
* element of the component. An object including the current value and
|
|
76
87
|
* the error (if the value entered is not valid) will be passed to this
|
|
77
|
-
* function. If there is no error, error will be
|
|
88
|
+
* function. If there is no error, error will not be defined.
|
|
78
89
|
*/
|
|
79
90
|
onChange?: (val: {
|
|
80
91
|
value: string;
|
|
81
|
-
error
|
|
92
|
+
error?: string;
|
|
82
93
|
}) => void;
|
|
83
94
|
/**
|
|
84
95
|
* This function will be called when the input element loses the focus.
|
|
85
96
|
* An object including the input value and the error (if the value
|
|
86
97
|
* entered is not valid) will be passed to this function. If there is no error,
|
|
87
|
-
* error will be
|
|
98
|
+
* error will not be defined.
|
|
88
99
|
*/
|
|
89
100
|
onBlur?: (val: {
|
|
90
101
|
value: string;
|
|
91
|
-
error
|
|
102
|
+
error?: string;
|
|
92
103
|
}) => void;
|
|
93
104
|
/**
|
|
94
|
-
* If it is defined
|
|
95
|
-
* the error below the input component. If
|
|
96
|
-
*
|
|
105
|
+
* If it is a defined value and also a truthy string, the component will
|
|
106
|
+
* change its appearance, showing the error below the input component. If
|
|
107
|
+
* the defined value is an empty string, it will reserve a space below
|
|
108
|
+
* the component for a future error, but it would not change its look. In
|
|
109
|
+
* case of being undefined or null, both the appearance and the space for
|
|
110
|
+
* the error message would not be modified.
|
|
97
111
|
*/
|
|
98
112
|
error?: string;
|
|
99
113
|
/**
|
|
100
114
|
* These are the options to be displayed as suggestions. It can be either an array or a function:
|
|
101
115
|
* - Array: Array of options that will be filtered by the component.
|
|
102
|
-
* - Function: This function will be called when the user changes the value
|
|
103
|
-
*
|
|
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.
|
|
104
119
|
*/
|
|
105
120
|
suggestions?: string[] | ((value: string) => Promise<string[]>);
|
|
106
121
|
/**
|
|
@@ -110,17 +125,17 @@ declare type Props = {
|
|
|
110
125
|
* pattern, the onBlur and onChange functions will be called with the
|
|
111
126
|
* current value and an internal error informing that this value does not
|
|
112
127
|
* match the pattern. If the pattern is met, the error parameter of both
|
|
113
|
-
* events will be
|
|
128
|
+
* events will not be defined.
|
|
114
129
|
*/
|
|
115
130
|
pattern?: string;
|
|
116
131
|
/**
|
|
117
|
-
* Specifies the
|
|
132
|
+
* Specifies the minimum length allowed by the input.
|
|
118
133
|
* This will be checked both when the input element loses the
|
|
119
134
|
* focus and while typing within it. If the string entered does not
|
|
120
135
|
* comply the minimum length, the onBlur and onChange functions will be called
|
|
121
136
|
* with the current value and an internal error informing that the value
|
|
122
137
|
* length does not comply the specified range. If a valid length is
|
|
123
|
-
* reached, the error parameter of both events will be
|
|
138
|
+
* reached, the error parameter of both events will not be defined.
|
|
124
139
|
*/
|
|
125
140
|
minLength?: number;
|
|
126
141
|
/**
|
|
@@ -130,7 +145,7 @@ declare type Props = {
|
|
|
130
145
|
* comply the maximum length, the onBlur and onChange functions will be called
|
|
131
146
|
* with the current value and an internal error informing that the value
|
|
132
147
|
* length does not comply the specified range. If a valid length is
|
|
133
|
-
* reached, the error parameter of both events will be
|
|
148
|
+
* reached, the error parameter of both events will not be defined.
|
|
134
149
|
*/
|
|
135
150
|
maxLength?: number;
|
|
136
151
|
/**
|
|
@@ -144,7 +159,7 @@ declare type Props = {
|
|
|
144
159
|
*/
|
|
145
160
|
margin?: Space | Margin;
|
|
146
161
|
/**
|
|
147
|
-
* Size of the component
|
|
162
|
+
* Size of the component.
|
|
148
163
|
*/
|
|
149
164
|
size?: "small" | "medium" | "large" | "fillParent";
|
|
150
165
|
/**
|
|
@@ -152,8 +167,39 @@ declare type Props = {
|
|
|
152
167
|
*/
|
|
153
168
|
tabIndex?: number;
|
|
154
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
|
+
};
|
|
155
184
|
/**
|
|
156
185
|
* Reference to the component.
|
|
157
186
|
*/
|
|
158
|
-
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
|
+
};
|
|
159
205
|
export default Props;
|
package/textarea/Textarea.js
CHANGED
|
@@ -1,174 +1,129 @@
|
|
|
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
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
|
-
|
|
16
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
|
-
|
|
18
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
|
-
|
|
20
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
-
|
|
22
13
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
23
|
-
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
var
|
|
27
|
-
|
|
28
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
|
-
|
|
30
|
-
var _variables = require("../common/variables.js");
|
|
31
|
-
|
|
14
|
+
var _utils = require("../common/utils");
|
|
15
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
16
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
17
|
+
var _variables = require("../common/variables");
|
|
32
18
|
var _uuid = require("uuid");
|
|
33
|
-
|
|
34
|
-
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
|
|
35
|
-
|
|
36
19
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
37
|
-
|
|
38
|
-
function
|
|
39
|
-
|
|
40
|
-
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; }
|
|
41
|
-
|
|
42
|
-
var getNotOptionalErrorMessage = function getNotOptionalErrorMessage() {
|
|
43
|
-
return "This field is required. Please, enter a value.";
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
var getPatternErrorMessage = function getPatternErrorMessage() {
|
|
47
|
-
return "Please match the format requested.";
|
|
48
|
-
};
|
|
49
|
-
|
|
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; }
|
|
50
22
|
var patternMatch = function patternMatch(pattern, value) {
|
|
51
23
|
return new RegExp(pattern).test(value);
|
|
52
24
|
};
|
|
53
|
-
|
|
54
25
|
var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
55
|
-
var
|
|
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
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
var _useState = (0, _react.useState)(
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
26
|
+
var label = _ref.label,
|
|
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;
|
|
58
|
+
var _useState = (0, _react.useState)(defaultValue),
|
|
59
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
60
|
+
innerValue = _useState2[0],
|
|
61
|
+
setInnerValue = _useState2[1];
|
|
92
62
|
var _useState3 = (0, _react.useState)("textarea-".concat((0, _uuid.v4)())),
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
63
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
|
|
64
|
+
textareaId = _useState4[0];
|
|
96
65
|
var colorsTheme = (0, _useTheme["default"])();
|
|
97
|
-
var
|
|
66
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
98
67
|
var textareaRef = (0, _react.useRef)(null);
|
|
99
|
-
var errorId = "error-
|
|
100
|
-
|
|
101
|
-
var getLengthErrorMessage = function getLengthErrorMessage() {
|
|
102
|
-
return "Min length ".concat(minLength, ", max length ").concat(maxLength, ".");
|
|
103
|
-
};
|
|
104
|
-
|
|
68
|
+
var errorId = "error-".concat(textareaId);
|
|
105
69
|
var isNotOptional = function isNotOptional(value) {
|
|
106
70
|
return value === "" && !optional;
|
|
107
71
|
};
|
|
108
|
-
|
|
109
72
|
var isLengthIncorrect = function isLengthIncorrect(value) {
|
|
110
73
|
return value !== "" && minLength && maxLength && (value.length < minLength || value.length > maxLength);
|
|
111
74
|
};
|
|
112
|
-
|
|
113
75
|
var changeValue = function changeValue(newValue) {
|
|
114
76
|
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
115
77
|
if (isNotOptional(newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
116
78
|
value: newValue,
|
|
117
|
-
error:
|
|
79
|
+
error: translatedLabels.formFields.requiredValueErrorMessage
|
|
118
80
|
});else if (isLengthIncorrect(newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
119
81
|
value: newValue,
|
|
120
|
-
error:
|
|
82
|
+
error: translatedLabels.formFields.lengthErrorMessage(minLength, maxLength)
|
|
121
83
|
});else if (newValue && pattern && !patternMatch(pattern, newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
122
84
|
value: newValue,
|
|
123
|
-
error:
|
|
85
|
+
error: translatedLabels.formFields.formatRequestedErrorMessage
|
|
124
86
|
});else onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
125
|
-
value: newValue
|
|
126
|
-
error: null
|
|
87
|
+
value: newValue
|
|
127
88
|
});
|
|
128
89
|
};
|
|
129
|
-
|
|
130
|
-
|
|
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) {
|
|
131
98
|
if (isNotOptional(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
132
99
|
value: event.target.value,
|
|
133
|
-
error:
|
|
100
|
+
error: translatedLabels.formFields.requiredValueErrorMessage
|
|
134
101
|
});else if (isLengthIncorrect(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
135
102
|
value: event.target.value,
|
|
136
|
-
error:
|
|
103
|
+
error: translatedLabels.formFields.lengthErrorMessage(minLength, maxLength)
|
|
137
104
|
});else if (event.target.value && pattern && !patternMatch(pattern, event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
138
105
|
value: event.target.value,
|
|
139
|
-
error:
|
|
106
|
+
error: translatedLabels.formFields.formatRequestedErrorMessage
|
|
140
107
|
});else onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
141
|
-
value: event.target.value
|
|
142
|
-
error: null
|
|
108
|
+
value: event.target.value
|
|
143
109
|
});
|
|
144
110
|
};
|
|
145
|
-
|
|
146
|
-
var handleTOnChange = function handleTOnChange(event) {
|
|
111
|
+
var handleOnChange = function handleOnChange(event) {
|
|
147
112
|
changeValue(event.target.value);
|
|
113
|
+
verticalGrow === "auto" && autoVerticalGrow();
|
|
148
114
|
};
|
|
149
|
-
|
|
150
|
-
(0, _react.useLayoutEffect)(function () {
|
|
151
|
-
if (verticalGrow === "auto") {
|
|
152
|
-
var textareaLineHeight = parseInt(window.getComputedStyle(textareaRef.current)["line-height"]);
|
|
153
|
-
var textareaPaddingTopBottom = parseInt(window.getComputedStyle(textareaRef.current)["padding-top"]) * 2;
|
|
154
|
-
textareaRef.current.style.height = "".concat(textareaLineHeight * rows, "px");
|
|
155
|
-
var newHeight = textareaRef.current.scrollHeight - textareaPaddingTopBottom;
|
|
156
|
-
textareaRef.current.style.height = "".concat(newHeight, "px");
|
|
157
|
-
}
|
|
158
|
-
}, [value, verticalGrow, rows, innerValue]);
|
|
159
115
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
160
116
|
theme: colorsTheme.textarea
|
|
161
117
|
}, /*#__PURE__*/_react["default"].createElement(TextareaContainer, {
|
|
162
118
|
margin: margin,
|
|
163
119
|
size: size,
|
|
164
120
|
ref: ref
|
|
165
|
-
}, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
121
|
+
}, label && /*#__PURE__*/_react["default"].createElement(Label, {
|
|
166
122
|
htmlFor: textareaId,
|
|
167
123
|
disabled: disabled,
|
|
168
|
-
|
|
169
|
-
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null,
|
|
170
|
-
disabled: disabled
|
|
171
|
-
backgroundType: backgroundType
|
|
124
|
+
helperText: helperText
|
|
125
|
+
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
126
|
+
disabled: disabled
|
|
172
127
|
}, helperText), /*#__PURE__*/_react["default"].createElement(Textarea, {
|
|
173
128
|
id: textareaId,
|
|
174
129
|
name: name,
|
|
@@ -176,37 +131,34 @@ var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
176
131
|
placeholder: placeholder,
|
|
177
132
|
verticalGrow: verticalGrow,
|
|
178
133
|
rows: rows,
|
|
179
|
-
onChange:
|
|
180
|
-
onBlur:
|
|
134
|
+
onChange: handleOnChange,
|
|
135
|
+
onBlur: handleOnBlur,
|
|
181
136
|
disabled: disabled,
|
|
137
|
+
readOnly: readOnly,
|
|
182
138
|
error: error,
|
|
183
139
|
minLength: minLength,
|
|
184
140
|
maxLength: maxLength,
|
|
185
141
|
autoComplete: autocomplete,
|
|
186
|
-
backgroundType: backgroundType,
|
|
187
142
|
ref: textareaRef,
|
|
188
143
|
tabIndex: tabIndex,
|
|
189
|
-
"aria-invalid": error ?
|
|
190
|
-
"aria-
|
|
191
|
-
"aria-required":
|
|
192
|
-
}), !disabled && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
144
|
+
"aria-invalid": error ? true : false,
|
|
145
|
+
"aria-errormessage": error ? errorId : undefined,
|
|
146
|
+
"aria-required": !disabled && !optional
|
|
147
|
+
}), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
193
148
|
id: errorId,
|
|
194
|
-
|
|
149
|
+
"aria-live": error ? "assertive" : "off"
|
|
195
150
|
}, error)));
|
|
196
151
|
});
|
|
197
|
-
|
|
198
152
|
var sizes = {
|
|
199
153
|
small: "240px",
|
|
200
154
|
medium: "360px",
|
|
201
155
|
large: "480px",
|
|
202
156
|
fillParent: "100%"
|
|
203
157
|
};
|
|
204
|
-
|
|
205
158
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
206
159
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
207
160
|
};
|
|
208
|
-
|
|
209
|
-
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) {
|
|
210
162
|
return calculateWidth(props.margin, props.size);
|
|
211
163
|
}, function (props) {
|
|
212
164
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
@@ -219,9 +171,8 @@ var TextareaContainer = _styledComponents["default"].div(_templateObject || (_te
|
|
|
219
171
|
}, function (props) {
|
|
220
172
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
221
173
|
});
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
|
|
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) {
|
|
175
|
+
return props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor;
|
|
225
176
|
}, function (props) {
|
|
226
177
|
return props.theme.fontFamily;
|
|
227
178
|
}, function (props) {
|
|
@@ -232,14 +183,14 @@ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObj
|
|
|
232
183
|
return props.theme.labelFontWeight;
|
|
233
184
|
}, function (props) {
|
|
234
185
|
return props.theme.labelLineHeight;
|
|
186
|
+
}, function (props) {
|
|
187
|
+
return !props.helperText && "margin-bottom: 0.25rem";
|
|
235
188
|
});
|
|
236
|
-
|
|
237
189
|
var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
|
|
238
190
|
return props.theme.optionalLabelFontWeight;
|
|
239
191
|
});
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledHelperTextFontColorOnDark : props.theme.disabledHelperTextFontColor : props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.theme.helperTextFontColor;
|
|
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) {
|
|
193
|
+
return props.disabled ? props.theme.disabledHelperTextFontColor : props.theme.helperTextFontColor;
|
|
243
194
|
}, function (props) {
|
|
244
195
|
return props.theme.fontFamily;
|
|
245
196
|
}, function (props) {
|
|
@@ -251,23 +202,19 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
|
|
|
251
202
|
}, function (props) {
|
|
252
203
|
return props.theme.helperTextLineHeight;
|
|
253
204
|
});
|
|
254
|
-
|
|
255
|
-
var
|
|
256
|
-
if (
|
|
257
|
-
}, function (props) {
|
|
258
|
-
if (props.disabled) return props.backgroundType === "dark" ? "background-color: ".concat(props.theme.disabledContainerFillColorOnDark, ";") : "background-color: ".concat(props.theme.disabledContainerFillColor, ";");else return "background-color: transparent;";
|
|
259
|
-
}, function (props) {
|
|
260
|
-
return "".concat(props.theme.inputMarginTop, " 0 ").concat(props.theme.inputMarginBottom, " 0");
|
|
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;";
|
|
261
208
|
}, function (props) {
|
|
262
|
-
|
|
209
|
+
return props.disabled ? "background-color: ".concat(props.theme.disabledContainerFillColor, ";") : "background-color: transparent;";
|
|
263
210
|
}, function (props) {
|
|
264
|
-
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;
|
|
265
212
|
}, function (props) {
|
|
266
|
-
return props.disabled && "
|
|
213
|
+
return props.error && !props.disabled && "box-shadow: 0 0 0 2px ".concat(props.theme.errorBorderColor, ";\n ");
|
|
267
214
|
}, function (props) {
|
|
268
|
-
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;";
|
|
269
216
|
}, function (props) {
|
|
270
|
-
return props.disabled ? props.
|
|
217
|
+
return props.disabled ? props.theme.disabledValueFontColor : props.theme.valueFontColor;
|
|
271
218
|
}, function (props) {
|
|
272
219
|
return props.theme.fontFamily;
|
|
273
220
|
}, function (props) {
|
|
@@ -277,40 +224,11 @@ var Textarea = _styledComponents["default"].textarea(_templateObject5 || (_templ
|
|
|
277
224
|
}, function (props) {
|
|
278
225
|
return props.theme.valueFontWeight;
|
|
279
226
|
}, function (props) {
|
|
280
|
-
return props.disabled ? props.
|
|
227
|
+
return props.disabled ? props.theme.disabledPlaceholderFontColor : props.theme.placeholderFontColor;
|
|
281
228
|
});
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
return props.backgroundType === "dark" ? props.theme.errorMessageColorOnDark : props.theme.errorMessageColor;
|
|
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) {
|
|
230
|
+
return props.theme.errorMessageColor;
|
|
285
231
|
}, function (props) {
|
|
286
232
|
return props.theme.fontFamily;
|
|
287
233
|
});
|
|
288
|
-
|
|
289
|
-
DxcTextarea.propTypes = {
|
|
290
|
-
label: _propTypes["default"].string,
|
|
291
|
-
name: _propTypes["default"].string,
|
|
292
|
-
value: _propTypes["default"].string,
|
|
293
|
-
helperText: _propTypes["default"].string,
|
|
294
|
-
placeholder: _propTypes["default"].string,
|
|
295
|
-
verticalGrow: _propTypes["default"].oneOf(["auto", "none", "manual"]),
|
|
296
|
-
rows: _propTypes["default"].number,
|
|
297
|
-
minLength: _propTypes["default"].number,
|
|
298
|
-
maxLength: _propTypes["default"].number,
|
|
299
|
-
pattern: _propTypes["default"].string,
|
|
300
|
-
disabled: _propTypes["default"].bool,
|
|
301
|
-
optional: _propTypes["default"].bool,
|
|
302
|
-
onChange: _propTypes["default"].func,
|
|
303
|
-
onBlur: _propTypes["default"].func,
|
|
304
|
-
error: _propTypes["default"].string,
|
|
305
|
-
autocomplete: _propTypes["default"].string,
|
|
306
|
-
margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
307
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
308
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
309
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
310
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
311
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
312
|
-
size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
|
|
313
|
-
tabIndex: _propTypes["default"].number
|
|
314
|
-
};
|
|
315
|
-
var _default = DxcTextarea;
|
|
316
|
-
exports["default"] = _default;
|
|
234
|
+
var _default = exports["default"] = DxcTextarea;
|