@dxc-technology/halstack-react 0.0.0-c1c5f49 → 0.0.0-c2834c3
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 +10 -0
- package/BackgroundColorContext.js +1 -4
- package/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +298 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +15 -47
- package/accordion/Accordion.stories.tsx +307 -0
- package/accordion/Accordion.test.js +72 -0
- package/accordion/types.d.ts +8 -8
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +15 -17
- package/accordion-group/AccordionGroup.stories.tsx +225 -0
- package/accordion-group/AccordionGroup.test.js +151 -0
- package/accordion-group/types.d.ts +8 -8
- package/alert/Alert.js +6 -3
- package/alert/Alert.test.js +92 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +1 -1
- package/badge/types.d.ts +4 -0
- package/badge/types.js +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +84 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.js +2 -2
- package/box/Box.test.js +18 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +21 -26
- package/button/Button.stories.tsx +6 -8
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +3 -7
- package/card/Card.js +28 -29
- package/card/Card.stories.tsx +1 -1
- package/card/Card.test.js +50 -0
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +45 -41
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/Checkbox.test.js +78 -0
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +16 -76
- package/chip/Chip.stories.tsx +6 -8
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/common/variables.js +233 -327
- package/date-input/DateInput.js +63 -52
- package/date-input/DateInput.stories.tsx +7 -7
- package/date-input/DateInput.test.js +479 -0
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.js +8 -35
- package/dialog/Dialog.test.js +40 -0
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +22 -48
- package/dropdown/Dropdown.stories.tsx +249 -0
- package/dropdown/Dropdown.test.js +189 -0
- package/dropdown/types.d.ts +6 -15
- package/file-input/FileInput.d.ts +1 -1
- package/file-input/FileInput.js +153 -71
- package/file-input/FileInput.stories.tsx +507 -0
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.js +10 -8
- package/file-input/types.d.ts +32 -7
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +32 -113
- package/footer/{Footer.stories.jsx → Footer.stories.tsx} +1 -22
- package/footer/Footer.test.js +109 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +3 -3
- package/footer/types.d.ts +21 -17
- package/header/Header.js +29 -50
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +79 -0
- package/header/Icons.d.ts +2 -0
- package/heading/Heading.js +1 -1
- package/heading/Heading.stories.tsx +3 -2
- package/heading/Heading.test.js +186 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +84 -0
- package/inset/Inset.stories.tsx +229 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +10 -0
- package/layout/ApplicationLayout.js +14 -31
- package/layout/ApplicationLayout.stories.tsx +171 -0
- package/layout/types.d.ts +57 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +3 -2
- package/link/Link.js +71 -70
- package/link/Link.stories.tsx +91 -51
- package/link/Link.test.js +83 -0
- package/link/types.d.ts +10 -29
- package/list/List.d.ts +4 -0
- package/list/List.js +47 -0
- package/list/List.stories.tsx +95 -0
- package/list/types.d.ts +7 -0
- package/list/types.js +5 -0
- package/main.d.ts +11 -8
- package/main.js +68 -38
- package/number-input/NumberInput.js +14 -24
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +506 -0
- package/number-input/types.d.ts +17 -10
- package/package.json +9 -6
- package/paginator/Paginator.js +19 -46
- package/paginator/Paginator.test.js +266 -0
- package/password-input/PasswordInput.js +19 -17
- package/password-input/PasswordInput.stories.tsx +3 -3
- package/password-input/PasswordInput.test.js +180 -0
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.js +4 -4
- package/progress-bar/ProgressBar.test.js +65 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +116 -0
- package/quick-nav/QuickNav.stories.tsx +237 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio/Radio.js +12 -13
- package/radio/Radio.test.js +71 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +141 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +282 -0
- package/radio-group/RadioGroup.stories.tsx +100 -0
- package/radio-group/RadioGroup.test.js +695 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultsetTable/ResultsetTable.js +6 -3
- package/resultsetTable/ResultsetTable.stories.tsx +275 -0
- package/resultsetTable/ResultsetTable.test.js +306 -0
- package/resultsetTable/types.d.ts +2 -2
- package/row/Row.d.ts +3 -0
- package/row/Row.js +127 -0
- package/row/Row.stories.tsx +237 -0
- package/row/types.d.ts +28 -0
- package/row/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +152 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +110 -321
- package/select/Select.stories.tsx +103 -81
- package/select/Select.test.js +2057 -0
- package/select/types.d.ts +213 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.js +2 -2
- package/sidenav/Sidenav.stories.tsx +18 -1
- package/sidenav/Sidenav.test.js +56 -0
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +4 -3
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +150 -0
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +3 -3
- package/spinner/Spinner.stories.jsx +1 -0
- package/spinner/Spinner.test.js +64 -0
- package/stack/Stack.d.ts +3 -0
- package/stack/Stack.js +97 -0
- package/stack/Stack.stories.tsx +164 -0
- package/stack/types.d.ts +24 -0
- package/stack/types.js +5 -0
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +37 -21
- package/switch/Switch.stories.tsx +15 -15
- package/switch/Switch.test.js +98 -0
- package/switch/types.d.ts +6 -2
- package/table/Table.js +2 -2
- package/table/Table.stories.jsx +2 -1
- package/table/Table.test.js +26 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +17 -19
- package/tabs/Tabs.stories.tsx +7 -16
- package/tabs/Tabs.test.js +140 -0
- package/tabs/types.d.ts +27 -15
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +18 -28
- package/tag/Tag.stories.tsx +26 -29
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +23 -14
- package/text/Text.d.ts +7 -0
- package/text/Text.js +30 -0
- package/text/Text.stories.tsx +19 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +55 -0
- package/text-input/TextInput.js +82 -98
- package/text-input/TextInput.stories.tsx +34 -16
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +32 -13
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +34 -73
- package/textarea/Textarea.stories.jsx +37 -15
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +137 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +15 -17
- package/toggle-group/ToggleGroup.stories.tsx +27 -32
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +47 -26
- package/useTheme.d.ts +2 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +107 -46
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +13 -23
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +9 -9
- 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/chip/index.d.ts +0 -22
- 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/select/index.d.ts +0 -131
- 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/text-input/types.d.ts
CHANGED
|
@@ -6,12 +6,12 @@ declare type Margin = {
|
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
declare type SVG = React.SVGProps<SVGSVGElement
|
|
9
|
+
declare type SVG = React.SVGProps<SVGSVGElement>;
|
|
10
10
|
declare 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
16
|
* Icon to be shown in the action.
|
|
17
17
|
*/
|
|
@@ -30,6 +30,10 @@ declare type Props = {
|
|
|
30
30
|
* Name attribute of the input element.
|
|
31
31
|
*/
|
|
32
32
|
name?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Initial value of the input, only when it is uncontrolled.
|
|
35
|
+
*/
|
|
36
|
+
defaultValue?: string;
|
|
33
37
|
/**
|
|
34
38
|
* Value of the input. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
|
|
35
39
|
*/
|
|
@@ -74,26 +78,29 @@ declare type Props = {
|
|
|
74
78
|
* This function will be called when the user types within the input
|
|
75
79
|
* element of the component. An object including the current value and
|
|
76
80
|
* the error (if the value entered is not valid) will be passed to this
|
|
77
|
-
* function. If there is no error, error will be
|
|
81
|
+
* function. If there is no error, error will not be defined.
|
|
78
82
|
*/
|
|
79
83
|
onChange?: (val: {
|
|
80
84
|
value: string;
|
|
81
|
-
error
|
|
85
|
+
error?: string;
|
|
82
86
|
}) => void;
|
|
83
87
|
/**
|
|
84
88
|
* This function will be called when the input element loses the focus.
|
|
85
89
|
* An object including the input value and the error (if the value
|
|
86
90
|
* entered is not valid) will be passed to this function. If there is no error,
|
|
87
|
-
* error will be
|
|
91
|
+
* error will not be defined.
|
|
88
92
|
*/
|
|
89
93
|
onBlur?: (val: {
|
|
90
94
|
value: string;
|
|
91
|
-
error
|
|
95
|
+
error?: string;
|
|
92
96
|
}) => void;
|
|
93
97
|
/**
|
|
94
|
-
* If it is defined
|
|
95
|
-
* the error below the input component. If
|
|
96
|
-
*
|
|
98
|
+
* If it is a defined value and also a truthy string, the component will
|
|
99
|
+
* change its appearance, showing the error below the input component. If
|
|
100
|
+
* the defined value is an empty string, it will reserve a space below
|
|
101
|
+
* the component for a future error, but it would not change its look. In
|
|
102
|
+
* case of being undefined or null, both the appearance and the space for
|
|
103
|
+
* the error message would not be modified.
|
|
97
104
|
*/
|
|
98
105
|
error?: string;
|
|
99
106
|
/**
|
|
@@ -110,7 +117,7 @@ declare type Props = {
|
|
|
110
117
|
* pattern, the onBlur and onChange functions will be called with the
|
|
111
118
|
* current value and an internal error informing that this value does not
|
|
112
119
|
* match the pattern. If the pattern is met, the error parameter of both
|
|
113
|
-
* events will be
|
|
120
|
+
* events will not be defined.
|
|
114
121
|
*/
|
|
115
122
|
pattern?: string;
|
|
116
123
|
/**
|
|
@@ -120,7 +127,7 @@ declare type Props = {
|
|
|
120
127
|
* comply the minimum length, the onBlur and onChange functions will be called
|
|
121
128
|
* with the current value and an internal error informing that the value
|
|
122
129
|
* length does not comply the specified range. If a valid length is
|
|
123
|
-
* reached, the error parameter of both events will be
|
|
130
|
+
* reached, the error parameter of both events will not be defined.
|
|
124
131
|
*/
|
|
125
132
|
minLength?: number;
|
|
126
133
|
/**
|
|
@@ -130,7 +137,7 @@ declare type Props = {
|
|
|
130
137
|
* comply the maximum length, the onBlur and onChange functions will be called
|
|
131
138
|
* with the current value and an internal error informing that the value
|
|
132
139
|
* length does not comply the specified range. If a valid length is
|
|
133
|
-
* reached, the error parameter of both events will be
|
|
140
|
+
* reached, the error parameter of both events will not be defined.
|
|
134
141
|
*/
|
|
135
142
|
maxLength?: number;
|
|
136
143
|
/**
|
|
@@ -144,7 +151,7 @@ declare type Props = {
|
|
|
144
151
|
*/
|
|
145
152
|
margin?: Space | Margin;
|
|
146
153
|
/**
|
|
147
|
-
* Size of the component
|
|
154
|
+
* Size of the component.
|
|
148
155
|
*/
|
|
149
156
|
size?: "small" | "medium" | "large" | "fillParent";
|
|
150
157
|
/**
|
|
@@ -156,4 +163,16 @@ declare type Props = {
|
|
|
156
163
|
* Reference to the component.
|
|
157
164
|
*/
|
|
158
165
|
export declare type RefType = HTMLDivElement;
|
|
166
|
+
/**
|
|
167
|
+
* Single suggestion of the Autosuggest Text Input component.
|
|
168
|
+
*/
|
|
169
|
+
export declare type SuggestionProps = {
|
|
170
|
+
id: string;
|
|
171
|
+
value: string;
|
|
172
|
+
onClick: () => void;
|
|
173
|
+
suggestion: string;
|
|
174
|
+
isLast: boolean;
|
|
175
|
+
visuallyFocused: boolean;
|
|
176
|
+
highlighted: boolean;
|
|
177
|
+
};
|
|
159
178
|
export default Props;
|
package/textarea/Textarea.js
CHANGED
|
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
13
|
|
|
16
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
@@ -23,15 +21,15 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
23
21
|
|
|
24
22
|
var _utils = require("../common/utils.js");
|
|
25
23
|
|
|
26
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
24
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
27
25
|
|
|
28
|
-
var
|
|
26
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
29
27
|
|
|
30
28
|
var _variables = require("../common/variables.js");
|
|
31
29
|
|
|
32
30
|
var _uuid = require("uuid");
|
|
33
31
|
|
|
34
|
-
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext
|
|
32
|
+
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
35
33
|
|
|
36
34
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
37
35
|
|
|
@@ -39,26 +37,18 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
39
37
|
|
|
40
38
|
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
39
|
|
|
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
|
-
|
|
50
40
|
var patternMatch = function patternMatch(pattern, value) {
|
|
51
41
|
return new RegExp(pattern).test(value);
|
|
52
42
|
};
|
|
53
43
|
|
|
54
44
|
var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
55
|
-
var
|
|
56
|
-
label = _ref$label === void 0 ? "" : _ref$label,
|
|
45
|
+
var label = _ref.label,
|
|
57
46
|
_ref$name = _ref.name,
|
|
58
47
|
name = _ref$name === void 0 ? "" : _ref$name,
|
|
48
|
+
_ref$defaultValue = _ref.defaultValue,
|
|
49
|
+
defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
|
|
59
50
|
value = _ref.value,
|
|
60
|
-
|
|
61
|
-
helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
|
|
51
|
+
helperText = _ref.helperText,
|
|
62
52
|
_ref$placeholder = _ref.placeholder,
|
|
63
53
|
placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
|
|
64
54
|
_ref$disabled = _ref.disabled,
|
|
@@ -71,8 +61,7 @@ var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
71
61
|
rows = _ref$rows === void 0 ? 4 : _ref$rows,
|
|
72
62
|
onChange = _ref.onChange,
|
|
73
63
|
onBlur = _ref.onBlur,
|
|
74
|
-
|
|
75
|
-
error = _ref$error === void 0 ? "" : _ref$error,
|
|
64
|
+
error = _ref.error,
|
|
76
65
|
pattern = _ref.pattern,
|
|
77
66
|
minLength = _ref.minLength,
|
|
78
67
|
maxLength = _ref.maxLength,
|
|
@@ -84,7 +73,7 @@ var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
84
73
|
_ref$tabIndex = _ref.tabIndex,
|
|
85
74
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
86
75
|
|
|
87
|
-
var _useState = (0, _react.useState)(
|
|
76
|
+
var _useState = (0, _react.useState)(defaultValue),
|
|
88
77
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
89
78
|
innerValue = _useState2[0],
|
|
90
79
|
setInnerValue = _useState2[1];
|
|
@@ -95,12 +84,9 @@ var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
95
84
|
|
|
96
85
|
var colorsTheme = (0, _useTheme["default"])();
|
|
97
86
|
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
87
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
98
88
|
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
|
-
};
|
|
89
|
+
var errorId = "error-".concat(textareaId);
|
|
104
90
|
|
|
105
91
|
var isNotOptional = function isNotOptional(value) {
|
|
106
92
|
return value === "" && !optional;
|
|
@@ -114,32 +100,30 @@ var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
114
100
|
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
115
101
|
if (isNotOptional(newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
116
102
|
value: newValue,
|
|
117
|
-
error:
|
|
103
|
+
error: translatedLabels.formFields.requiredValueErrorMessage
|
|
118
104
|
});else if (isLengthIncorrect(newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
119
105
|
value: newValue,
|
|
120
|
-
error:
|
|
106
|
+
error: translatedLabels.formFields.lengthErrorMessage(minLength, maxLength)
|
|
121
107
|
});else if (newValue && pattern && !patternMatch(pattern, newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
122
108
|
value: newValue,
|
|
123
|
-
error:
|
|
109
|
+
error: translatedLabels.formFields.formatRequestedErrorMessage
|
|
124
110
|
});else onChange === null || onChange === void 0 ? void 0 : onChange({
|
|
125
|
-
value: newValue
|
|
126
|
-
error: null
|
|
111
|
+
value: newValue
|
|
127
112
|
});
|
|
128
113
|
};
|
|
129
114
|
|
|
130
115
|
var handleTOnBlur = function handleTOnBlur(event) {
|
|
131
116
|
if (isNotOptional(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
132
117
|
value: event.target.value,
|
|
133
|
-
error:
|
|
118
|
+
error: translatedLabels.formFields.requiredValueErrorMessage
|
|
134
119
|
});else if (isLengthIncorrect(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
135
120
|
value: event.target.value,
|
|
136
|
-
error:
|
|
121
|
+
error: translatedLabels.formFields.lengthErrorMessage(minLength, maxLength)
|
|
137
122
|
});else if (event.target.value && pattern && !patternMatch(pattern, event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
138
123
|
value: event.target.value,
|
|
139
|
-
error:
|
|
124
|
+
error: translatedLabels.formFields.formatRequestedErrorMessage
|
|
140
125
|
});else onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
141
|
-
value: event.target.value
|
|
142
|
-
error: null
|
|
126
|
+
value: event.target.value
|
|
143
127
|
});
|
|
144
128
|
};
|
|
145
129
|
|
|
@@ -162,11 +146,12 @@ var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
162
146
|
margin: margin,
|
|
163
147
|
size: size,
|
|
164
148
|
ref: ref
|
|
165
|
-
}, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
149
|
+
}, label && /*#__PURE__*/_react["default"].createElement(Label, {
|
|
166
150
|
htmlFor: textareaId,
|
|
167
151
|
disabled: disabled,
|
|
168
|
-
backgroundType: backgroundType
|
|
169
|
-
|
|
152
|
+
backgroundType: backgroundType,
|
|
153
|
+
helperText: helperText
|
|
154
|
+
}, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
170
155
|
disabled: disabled,
|
|
171
156
|
backgroundType: backgroundType
|
|
172
157
|
}, helperText), /*#__PURE__*/_react["default"].createElement(Textarea, {
|
|
@@ -186,12 +171,14 @@ var DxcTextarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
186
171
|
backgroundType: backgroundType,
|
|
187
172
|
ref: textareaRef,
|
|
188
173
|
tabIndex: tabIndex,
|
|
174
|
+
"aria-disabled": disabled,
|
|
189
175
|
"aria-invalid": error ? "true" : "false",
|
|
190
|
-
"aria-
|
|
176
|
+
"aria-errormessage": error ? errorId : undefined,
|
|
191
177
|
"aria-required": optional ? "false" : "true"
|
|
192
|
-
}), !disabled && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
178
|
+
}), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
193
179
|
id: errorId,
|
|
194
|
-
backgroundType: backgroundType
|
|
180
|
+
backgroundType: backgroundType,
|
|
181
|
+
"aria-live": error ? "assertive" : "off"
|
|
195
182
|
}, error)));
|
|
196
183
|
});
|
|
197
184
|
|
|
@@ -220,7 +207,7 @@ var TextareaContainer = _styledComponents["default"].div(_templateObject || (_te
|
|
|
220
207
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
221
208
|
});
|
|
222
209
|
|
|
223
|
-
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"])), function (props) {
|
|
210
|
+
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) {
|
|
224
211
|
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
|
|
225
212
|
}, function (props) {
|
|
226
213
|
return props.theme.fontFamily;
|
|
@@ -232,13 +219,15 @@ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObj
|
|
|
232
219
|
return props.theme.labelFontWeight;
|
|
233
220
|
}, function (props) {
|
|
234
221
|
return props.theme.labelLineHeight;
|
|
222
|
+
}, function (props) {
|
|
223
|
+
return !props.helperText && "margin-bottom: 0.25rem";
|
|
235
224
|
});
|
|
236
225
|
|
|
237
226
|
var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
|
|
238
227
|
return props.theme.optionalLabelFontWeight;
|
|
239
228
|
});
|
|
240
229
|
|
|
241
|
-
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"])), function (props) {
|
|
230
|
+
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) {
|
|
242
231
|
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledHelperTextFontColorOnDark : props.theme.disabledHelperTextFontColor : props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.theme.helperTextFontColor;
|
|
243
232
|
}, function (props) {
|
|
244
233
|
return props.theme.fontFamily;
|
|
@@ -252,12 +241,10 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
|
|
|
252
241
|
return props.theme.helperTextLineHeight;
|
|
253
242
|
});
|
|
254
243
|
|
|
255
|
-
var Textarea = _styledComponents["default"].textarea(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n ", "\n\n
|
|
244
|
+
var Textarea = _styledComponents["default"].textarea(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\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 (props) {
|
|
256
245
|
if (props.verticalGrow === "none") return "resize: none;";else if (props.verticalGrow === "auto") return "resize: none; overflow: hidden;";else if (props.verticalGrow === "manual") return "resize: vertical;";else return "resize: none;";
|
|
257
246
|
}, function (props) {
|
|
258
247
|
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");
|
|
261
248
|
}, function (props) {
|
|
262
249
|
if (props.disabled) return props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;else return props.backgroundType === "dark" ? props.theme.enabledBorderColorOnDark : props.theme.enabledBorderColor;
|
|
263
250
|
}, function (props) {
|
|
@@ -280,37 +267,11 @@ var Textarea = _styledComponents["default"].textarea(_templateObject5 || (_templ
|
|
|
280
267
|
return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledPlaceholderFontColorOnDark : props.theme.disabledPlaceholderFontColor : props.backgroundType === "dark" ? props.theme.placeholderFontColorOnDark : props.theme.placeholderFontColor;
|
|
281
268
|
});
|
|
282
269
|
|
|
283
|
-
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"])), function (props) {
|
|
270
|
+
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) {
|
|
284
271
|
return props.backgroundType === "dark" ? props.theme.errorMessageColorOnDark : props.theme.errorMessageColor;
|
|
285
272
|
}, function (props) {
|
|
286
273
|
return props.theme.fontFamily;
|
|
287
274
|
});
|
|
288
275
|
|
|
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
276
|
var _default = DxcTextarea;
|
|
316
277
|
exports["default"] = _default;
|
|
@@ -33,7 +33,7 @@ export const Chromatic = () => (
|
|
|
33
33
|
</ExampleContainer>
|
|
34
34
|
<ExampleContainer>
|
|
35
35
|
<Title title="Disabled with value" theme="light" level={4} />
|
|
36
|
-
<DxcTextarea label="Disabled"
|
|
36
|
+
<DxcTextarea label="Disabled" defaultValue="Example text" disabled />
|
|
37
37
|
</ExampleContainer>
|
|
38
38
|
<ExampleContainer>
|
|
39
39
|
<Title title="With error" theme="light" level={4} />
|
|
@@ -41,12 +41,21 @@ export const Chromatic = () => (
|
|
|
41
41
|
label="Textarea with error"
|
|
42
42
|
helperText="Helper text"
|
|
43
43
|
placeholder="Enter your text here..."
|
|
44
|
-
error="Error message"
|
|
44
|
+
error="Error message."
|
|
45
|
+
/>
|
|
46
|
+
</ExampleContainer>
|
|
47
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
48
|
+
<Title title="Hovered with error" theme="light" level={4} />
|
|
49
|
+
<DxcTextarea
|
|
50
|
+
label="Hovered textarea with error"
|
|
51
|
+
helperText="Helper text"
|
|
52
|
+
placeholder="Enter your text here..."
|
|
53
|
+
error="Error message."
|
|
45
54
|
/>
|
|
46
55
|
</ExampleContainer>
|
|
47
56
|
<ExampleContainer>
|
|
48
57
|
<Title title="Helper text and optional with value" theme="light" level={4} />
|
|
49
|
-
<DxcTextarea label="Helper & optional"
|
|
58
|
+
<DxcTextarea label="Helper & optional" defaultValue="Some text" helperText="Sample text" optional />
|
|
50
59
|
</ExampleContainer>
|
|
51
60
|
<ExampleContainer>
|
|
52
61
|
<Title title="Resizable" theme="light" level={4} />
|
|
@@ -57,36 +66,48 @@ export const Chromatic = () => (
|
|
|
57
66
|
<DxcTextarea
|
|
58
67
|
label="Manual vertical grow"
|
|
59
68
|
verticalGrow="manual"
|
|
60
|
-
|
|
69
|
+
defaultValue="Long textttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt"
|
|
61
70
|
/>
|
|
62
71
|
</ExampleContainer>
|
|
63
72
|
</>
|
|
64
73
|
<BackgroundColorProvider color="#333333">
|
|
65
74
|
<DarkContainer>
|
|
66
|
-
|
|
75
|
+
<ExampleContainer>
|
|
67
76
|
<Title title="Helper text and optional with value" theme="dark" level={4} />
|
|
68
|
-
<DxcTextarea label="Helper & optional"
|
|
69
|
-
|
|
77
|
+
<DxcTextarea label="Helper & optional" defaultValue="Some text" helperText="Sample text" optional />
|
|
78
|
+
</ExampleContainer>
|
|
79
|
+
<ExampleContainer>
|
|
70
80
|
<Title title="Disabled" theme="dark" level={4} />
|
|
71
81
|
<DxcTextarea
|
|
72
82
|
label="Disabled"
|
|
73
|
-
margin="medium"
|
|
74
83
|
optional
|
|
75
84
|
helperText="Sample text"
|
|
76
85
|
placeholder="Enter your text here..."
|
|
77
86
|
disabled
|
|
78
87
|
/>
|
|
88
|
+
</ExampleContainer>
|
|
89
|
+
<ExampleContainer>
|
|
79
90
|
<Title title="Disabled with value" theme="dark" level={4} />
|
|
80
|
-
<DxcTextarea label="Disabled"
|
|
91
|
+
<DxcTextarea label="Disabled" defaultValue="Example text" disabled />
|
|
92
|
+
</ExampleContainer>
|
|
93
|
+
<ExampleContainer>
|
|
81
94
|
<Title title="With error" theme="dark" level={4} />
|
|
82
95
|
<DxcTextarea
|
|
83
96
|
label="Textarea with error"
|
|
84
|
-
margin="medium"
|
|
85
97
|
helperText="Helper text"
|
|
86
98
|
placeholder="Enter your text here..."
|
|
87
|
-
error="Error message"
|
|
99
|
+
error="Error message."
|
|
100
|
+
/>
|
|
101
|
+
</ExampleContainer>
|
|
102
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
103
|
+
<Title title="Hovered with error" theme="dark" level={4} />
|
|
104
|
+
<DxcTextarea
|
|
105
|
+
label="Hovered textarea with error"
|
|
106
|
+
helperText="Helper text"
|
|
107
|
+
placeholder="Enter your text here..."
|
|
108
|
+
error="Error message."
|
|
88
109
|
/>
|
|
89
|
-
|
|
110
|
+
</ExampleContainer>
|
|
90
111
|
</DarkContainer>
|
|
91
112
|
</BackgroundColorProvider>
|
|
92
113
|
<Title title="Sizes" theme="light" level={2} />
|
|
@@ -105,15 +126,15 @@ export const Chromatic = () => (
|
|
|
105
126
|
<Title title="Margins" theme="light" level={2} />
|
|
106
127
|
<ExampleContainer>
|
|
107
128
|
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
108
|
-
<DxcTextarea label="
|
|
129
|
+
<DxcTextarea label="Xxsmall" margin="xxsmall" />
|
|
109
130
|
</ExampleContainer>
|
|
110
131
|
<ExampleContainer>
|
|
111
132
|
<Title title="Xsmall margin" theme="light" level={4} />
|
|
112
|
-
<DxcTextarea label="
|
|
133
|
+
<DxcTextarea label="xsmall" margin="xsmall" />
|
|
113
134
|
</ExampleContainer>
|
|
114
135
|
<ExampleContainer>
|
|
115
136
|
<Title title="Small margin" theme="light" level={4} />
|
|
116
|
-
<DxcTextarea label="
|
|
137
|
+
<DxcTextarea label="small" margin="small" />
|
|
117
138
|
</ExampleContainer>
|
|
118
139
|
<ExampleContainer>
|
|
119
140
|
<Title title="Medium margin" theme="light" level={4} />
|
|
@@ -130,6 +151,7 @@ export const Chromatic = () => (
|
|
|
130
151
|
<ExampleContainer>
|
|
131
152
|
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
132
153
|
<DxcTextarea label="Xxlarge" margin="xxlarge" />
|
|
154
|
+
<hr />
|
|
133
155
|
</ExampleContainer>
|
|
134
156
|
</>
|
|
135
157
|
);
|