@dxc-technology/halstack-react 0.0.0-7ffdc43 → 0.0.0-824a373
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/accordion/Accordion.js +122 -103
- package/accordion/Accordion.stories.tsx +1 -2
- package/accordion/Accordion.test.js +9 -10
- package/accordion/types.d.ts +5 -4
- package/accordion-group/AccordionGroup.js +1 -21
- package/accordion-group/AccordionGroup.stories.tsx +27 -1
- package/accordion-group/AccordionGroup.test.js +20 -45
- package/accordion-group/types.d.ts +10 -3
- package/alert/Alert.js +1 -1
- package/box/Box.js +1 -1
- package/box/types.d.ts +1 -0
- package/bulleted-list/types.d.ts +1 -1
- package/button/types.d.ts +1 -1
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +92 -99
- package/checkbox/Checkbox.stories.tsx +79 -59
- package/checkbox/Checkbox.test.js +93 -16
- package/checkbox/types.d.ts +6 -2
- package/chip/types.d.ts +1 -1
- package/common/variables.js +26 -14
- package/date-input/DateInput.js +3 -3
- package/dialog/Dialog.js +52 -28
- package/dialog/Dialog.stories.tsx +57 -2
- package/dialog/Dialog.test.js +34 -4
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +244 -247
- package/dropdown/Dropdown.stories.tsx +126 -63
- package/dropdown/Dropdown.test.js +509 -108
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +80 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +92 -0
- package/dropdown/types.d.ts +25 -5
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +173 -217
- package/file-input/FileInput.stories.tsx +38 -10
- package/file-input/FileInput.test.js +53 -12
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +38 -63
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +1 -1
- package/flex/Flex.js +31 -19
- package/flex/types.d.ts +15 -4
- package/footer/Footer.stories.tsx +8 -1
- package/footer/types.d.ts +2 -1
- package/header/Header.js +74 -72
- package/header/Header.stories.tsx +4 -4
- package/header/Icons.js +2 -2
- package/header/types.d.ts +3 -2
- package/layout/ApplicationLayout.stories.tsx +1 -0
- package/link/types.d.ts +1 -1
- package/number-input/NumberInput.test.js +38 -1
- package/package.json +10 -10
- package/paginator/Paginator.js +2 -2
- package/paginator/Paginator.test.js +1 -1
- package/password-input/PasswordInput.test.js +13 -12
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +56 -50
- package/progress-bar/ProgressBar.stories.jsx +3 -1
- package/progress-bar/ProgressBar.test.js +67 -22
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.js +11 -12
- package/quick-nav/QuickNav.stories.tsx +97 -19
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +43 -28
- package/radio-group/RadioGroup.js +24 -24
- package/radio-group/RadioGroup.stories.tsx +1 -0
- package/radio-group/RadioGroup.test.js +123 -96
- package/radio-group/types.d.ts +2 -2
- package/resultsetTable/ResultsetTable.js +1 -3
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +25 -2
- package/select/Select.js +17 -32
- package/select/Select.stories.tsx +6 -5
- package/select/Select.test.js +321 -250
- package/select/types.d.ts +2 -4
- package/sidenav/types.d.ts +1 -1
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +120 -95
- package/slider/Slider.stories.tsx +7 -1
- package/slider/Slider.test.js +121 -21
- package/slider/types.d.ts +6 -2
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +135 -68
- package/switch/Switch.stories.tsx +8 -30
- package/switch/Switch.test.js +144 -17
- package/switch/types.d.ts +6 -2
- package/table/Table.js +1 -1
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +135 -0
- package/tabs/Tabs.js +360 -104
- package/tabs/Tabs.stories.tsx +74 -0
- package/tabs/Tabs.test.js +217 -6
- package/tabs/types.d.ts +15 -5
- package/tabs-nav/NavTabs.js +5 -5
- package/tabs-nav/Tab.js +3 -5
- package/tabs-nav/types.d.ts +1 -1
- package/tag/Tag.js +1 -1
- package/tag/types.d.ts +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.js +7 -5
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +189 -282
- package/text-input/TextInput.stories.tsx +189 -182
- package/text-input/TextInput.test.js +222 -163
- package/text-input/types.d.ts +22 -3
- package/toggle-group/types.d.ts +1 -1
- package/wizard/types.d.ts +1 -1
package/radio-group/Radio.js
CHANGED
|
@@ -28,10 +28,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
28
28
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
|
|
29
29
|
|
|
30
30
|
var DxcRadio = function DxcRadio(_ref) {
|
|
31
|
-
var
|
|
32
|
-
|
|
33
|
-
var option = _ref.option,
|
|
34
|
-
currentValue = _ref.currentValue,
|
|
31
|
+
var label = _ref.label,
|
|
32
|
+
checked = _ref.checked,
|
|
35
33
|
onClick = _ref.onClick,
|
|
36
34
|
error = _ref.error,
|
|
37
35
|
disabled = _ref.disabled,
|
|
@@ -50,7 +48,7 @@ var DxcRadio = function DxcRadio(_ref) {
|
|
|
50
48
|
var _ref$current;
|
|
51
49
|
|
|
52
50
|
onClick();
|
|
53
|
-
|
|
51
|
+
document.activeElement !== (ref === null || ref === void 0 ? void 0 : ref.current) && (ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.focus());
|
|
54
52
|
};
|
|
55
53
|
|
|
56
54
|
var _useState3 = (0, _react.useState)(true),
|
|
@@ -75,52 +73,57 @@ var DxcRadio = function DxcRadio(_ref) {
|
|
|
75
73
|
error: error,
|
|
76
74
|
disabled: disabled,
|
|
77
75
|
readonly: readonly,
|
|
78
|
-
|
|
79
|
-
// Prevents div's onClick from stealing the radio input's focus
|
|
80
|
-
event.preventDefault();
|
|
81
|
-
},
|
|
82
|
-
onClick: handleOnClick
|
|
76
|
+
onClick: disabled ? undefined : handleOnClick
|
|
83
77
|
}, /*#__PURE__*/_react["default"].createElement(RadioInputContainer, null, /*#__PURE__*/_react["default"].createElement(RadioInput, {
|
|
84
78
|
error: error,
|
|
85
79
|
disabled: disabled,
|
|
86
80
|
readonly: readonly,
|
|
87
81
|
role: "radio",
|
|
88
|
-
"aria-checked":
|
|
89
|
-
"aria-disabled":
|
|
82
|
+
"aria-checked": checked,
|
|
83
|
+
"aria-disabled": disabled,
|
|
90
84
|
"aria-labelledby": radioLabelId,
|
|
91
85
|
tabIndex: disabled ? -1 : focused ? tabIndex : -1,
|
|
92
86
|
ref: ref
|
|
93
|
-
},
|
|
87
|
+
}, checked && /*#__PURE__*/_react["default"].createElement(Dot, {
|
|
94
88
|
disabled: disabled,
|
|
95
89
|
readonly: readonly,
|
|
96
90
|
error: error
|
|
97
91
|
}))), /*#__PURE__*/_react["default"].createElement(Label, {
|
|
98
92
|
id: radioLabelId,
|
|
99
93
|
disabled: disabled
|
|
100
|
-
},
|
|
94
|
+
}, label))));
|
|
101
95
|
};
|
|
102
96
|
|
|
103
|
-
var
|
|
97
|
+
var getRadioInputStateColor = function getRadioInputStateColor(props, state) {
|
|
98
|
+
switch (state) {
|
|
99
|
+
case "enabled":
|
|
100
|
+
return props.disabled ? props.theme.disabledRadioInputColor : props.error ? props.theme.errorRadioInputColor : props.readonly ? props.theme.readonlyRadioInputColor : props.theme.radioInputColor;
|
|
104
101
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}, function (props) {
|
|
108
|
-
return !props.disabled ? "\n &:hover {\n & > div > div { \n border-color: ".concat(props.error ? props.theme.hoverErrorRadioInputColor : props.readonly ? props.theme.hoverReadonlyRadioInputColor : props.theme.hoverRadioInputColor, ";\n & > span {\n background-color: ").concat(props.error ? props.theme.hoverErrorRadioInputColor : props.readonly ? props.theme.hoverReadonlyRadioInputColor : props.theme.hoverRadioInputColor, ";\n }\n };\n }\n &:active {\n & > div > div {\n border-color: ").concat(props.error ? props.theme.activeErrorRadioInputColor : props.readonly ? props.theme.activeReadonlyRadioInputColor : props.theme.activeRadioInputColor, ";\n & > span {\n background-color: ").concat(props.error ? props.theme.activeErrorRadioInputColor : props.readonly ? props.theme.activeReadonlyRadioInputColor : props.theme.activeRadioInputColor, ";\n }\n }\n }\n ") : "pointer-events: none;";
|
|
109
|
-
});
|
|
102
|
+
case "hover":
|
|
103
|
+
return props.error ? props.theme.hoverErrorRadioInputColor : props.readonly ? props.theme.hoverReadonlyRadioInputColor : props.theme.hoverRadioInputColor;
|
|
110
104
|
|
|
111
|
-
|
|
105
|
+
case "active":
|
|
106
|
+
return props.error ? props.theme.activeErrorRadioInputColor : props.readonly ? props.theme.activeReadonlyRadioInputColor : props.theme.activeRadioInputColor;
|
|
107
|
+
}
|
|
108
|
+
};
|
|
112
109
|
|
|
113
|
-
var
|
|
114
|
-
|
|
110
|
+
var RadioMainContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n"])));
|
|
111
|
+
|
|
112
|
+
var RadioInputContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n"])));
|
|
113
|
+
|
|
114
|
+
var RadioInput = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n border: 2px solid ", ";\n border-radius: 50%;\n\n &:focus {\n outline: 2px solid ", ";\n outline-offset: 1px;\n }\n ", "\n"])), function (props) {
|
|
115
|
+
return getRadioInputStateColor(props, "enabled");
|
|
116
|
+
}, function (props) {
|
|
117
|
+
return props.theme.focusBorderColor;
|
|
115
118
|
}, function (props) {
|
|
116
|
-
return
|
|
119
|
+
return props.disabled && "pointer-events: none;";
|
|
117
120
|
});
|
|
118
121
|
|
|
119
|
-
var Dot = _styledComponents["default"].span(
|
|
120
|
-
|
|
122
|
+
var Dot = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: 10px;\n width: 10px;\n border-radius: 50%;\n background-color: ", ";\n"])), function (props) {
|
|
123
|
+
return getRadioInputStateColor(props, "enabled");
|
|
121
124
|
});
|
|
122
125
|
|
|
123
|
-
var Label = _styledComponents["default"].span(
|
|
126
|
+
var Label = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n ", "\n"])), function (props) {
|
|
124
127
|
return props.theme.radioInputLabelMargin;
|
|
125
128
|
}, function (props) {
|
|
126
129
|
return props.theme.fontFamily;
|
|
@@ -133,7 +136,19 @@ var Label = _styledComponents["default"].span(_templateObject6 || (_templateObje
|
|
|
133
136
|
}, function (props) {
|
|
134
137
|
return props.theme.radioInputLabelLineHeight;
|
|
135
138
|
}, function (props) {
|
|
136
|
-
return props.disabled ? "color: ".concat(props.theme.disabledRadioInputLabelFontColor, ";
|
|
139
|
+
return props.disabled ? "color: ".concat(props.theme.disabledRadioInputLabelFontColor, ";") : "color: ".concat(props.theme.radioInputLabelFontColor);
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
var RadioContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n cursor: ", ";\n\n &:hover {\n ", " {\n border-color: ", ";\n }\n ", " {\n background-color: ", ";\n }\n }\n &:active {\n ", " {\n border-color: ", ";\n }\n ", " {\n background-color: ", ";\n }\n }\n"])), function (props) {
|
|
143
|
+
return props.disabled ? "not-allowed" : props.readonly ? "default" : "pointer";
|
|
144
|
+
}, RadioInput, function (props) {
|
|
145
|
+
return !props.disabled && getRadioInputStateColor(props, "hover");
|
|
146
|
+
}, Dot, function (props) {
|
|
147
|
+
return !props.disabled && getRadioInputStateColor(props, "hover");
|
|
148
|
+
}, RadioInput, function (props) {
|
|
149
|
+
return !props.disabled && getRadioInputStateColor(props, "active");
|
|
150
|
+
}, Dot, function (props) {
|
|
151
|
+
return !props.disabled && getRadioInputStateColor(props, "active");
|
|
137
152
|
});
|
|
138
153
|
|
|
139
154
|
var _default = /*#__PURE__*/_react["default"].memo(DxcRadio);
|
|
@@ -41,6 +41,8 @@ var getInitialFocusIndex = function getInitialFocusIndex(innerOptions, value) {
|
|
|
41
41
|
};
|
|
42
42
|
|
|
43
43
|
var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
44
|
+
var _ref2;
|
|
45
|
+
|
|
44
46
|
var label = _ref.label,
|
|
45
47
|
name = _ref.name,
|
|
46
48
|
helperText = _ref.helperText,
|
|
@@ -102,11 +104,11 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
|
|
|
102
104
|
value !== null && value !== void 0 ? value : setInnerValue(newValue);
|
|
103
105
|
onChange === null || onChange === void 0 ? void 0 : onChange(newValue);
|
|
104
106
|
}
|
|
105
|
-
}, [value, innerValue,
|
|
107
|
+
}, [value, innerValue, onChange]);
|
|
106
108
|
|
|
107
|
-
var handleOnBlur = function handleOnBlur(
|
|
109
|
+
var handleOnBlur = function handleOnBlur(event) {
|
|
108
110
|
// If the radio group loses the focus to an element not contained inside it...
|
|
109
|
-
if (!
|
|
111
|
+
if (!event.currentTarget.contains(event.relatedTarget)) {
|
|
110
112
|
setFirstTimeFocus(true);
|
|
111
113
|
var currentValue = value !== null && value !== void 0 ? value : innerValue;
|
|
112
114
|
!optional && !Boolean(currentValue) ? onBlur === null || onBlur === void 0 ? void 0 : onBlur({
|
|
@@ -149,27 +151,24 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
|
|
|
149
151
|
};
|
|
150
152
|
|
|
151
153
|
var handleOnKeyDown = function handleOnKeyDown(event) {
|
|
152
|
-
switch (event.
|
|
153
|
-
case
|
|
154
|
-
|
|
155
|
-
case
|
|
156
|
-
|
|
154
|
+
switch (event.key) {
|
|
155
|
+
case "Left":
|
|
156
|
+
case "ArrowLeft":
|
|
157
|
+
case "Up":
|
|
158
|
+
case "ArrowUp":
|
|
157
159
|
event.preventDefault();
|
|
158
160
|
setPreviousRadioChecked();
|
|
159
161
|
break;
|
|
160
162
|
|
|
161
|
-
case
|
|
162
|
-
|
|
163
|
-
case
|
|
164
|
-
|
|
163
|
+
case "Right":
|
|
164
|
+
case "ArrowRight":
|
|
165
|
+
case "Down":
|
|
166
|
+
case "ArrowDown":
|
|
165
167
|
event.preventDefault();
|
|
166
168
|
setNextRadioChecked();
|
|
167
169
|
break;
|
|
168
170
|
|
|
169
|
-
case
|
|
170
|
-
|
|
171
|
-
case 32:
|
|
172
|
-
// space
|
|
171
|
+
case " ":
|
|
173
172
|
event.preventDefault();
|
|
174
173
|
handleOnChange(innerOptions[currentFocusIndex].value);
|
|
175
174
|
break;
|
|
@@ -184,7 +183,7 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
|
|
|
184
183
|
id: radioGroupLabelId,
|
|
185
184
|
helperText: helperText,
|
|
186
185
|
disabled: disabled
|
|
187
|
-
}, label,
|
|
186
|
+
}, label, optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, " ".concat(translatedLabels.formFields.optionalLabel))), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
188
187
|
disabled: disabled
|
|
189
188
|
}, helperText), /*#__PURE__*/_react["default"].createElement(RadioGroup, {
|
|
190
189
|
onBlur: handleOnBlur,
|
|
@@ -194,20 +193,22 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
|
|
|
194
193
|
role: "radiogroup",
|
|
195
194
|
"aria-disabled": disabled,
|
|
196
195
|
"aria-labelledby": radioGroupLabelId,
|
|
197
|
-
"aria-invalid": error ?
|
|
196
|
+
"aria-invalid": error ? true : false,
|
|
198
197
|
"aria-errormessage": error ? errorId : undefined,
|
|
199
198
|
"aria-required": !disabled && !readonly && !optional,
|
|
200
199
|
"aria-readonly": readonly,
|
|
201
200
|
"aria-orientation": stacking === "column" ? "vertical" : "horizontal"
|
|
202
201
|
}, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
203
202
|
name: name,
|
|
204
|
-
|
|
203
|
+
disabled: disabled,
|
|
204
|
+
value: (_ref2 = value !== null && value !== void 0 ? value : innerValue) !== null && _ref2 !== void 0 ? _ref2 : "",
|
|
205
205
|
readOnly: true,
|
|
206
206
|
"aria-hidden": "true"
|
|
207
207
|
}), innerOptions.map(function (option, index) {
|
|
208
208
|
return /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
|
|
209
|
-
|
|
210
|
-
|
|
209
|
+
key: "radio-".concat(index),
|
|
210
|
+
label: option.label,
|
|
211
|
+
checked: (value !== null && value !== void 0 ? value : innerValue) === option.value,
|
|
211
212
|
onClick: function onClick() {
|
|
212
213
|
handleOnChange(option.value);
|
|
213
214
|
setCurrentFocusIndex(index);
|
|
@@ -216,8 +217,7 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
|
|
|
216
217
|
disabled: option.disabled || disabled,
|
|
217
218
|
focused: currentFocusIndex === index,
|
|
218
219
|
readonly: readonly,
|
|
219
|
-
tabIndex: tabIndex
|
|
220
|
-
key: "radio-".concat(index)
|
|
220
|
+
tabIndex: tabIndex
|
|
221
221
|
});
|
|
222
222
|
})), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
|
|
223
223
|
id: errorId,
|
|
@@ -263,7 +263,7 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
|
|
|
263
263
|
return props.theme.groupLabelMargin;
|
|
264
264
|
});
|
|
265
265
|
|
|
266
|
-
var RadioGroup = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n flex-direction: ", ";\n
|
|
266
|
+
var RadioGroup = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n flex-direction: ", ";\n row-gap: ", ";\n column-gap: ", ";\n"])), function (props) {
|
|
267
267
|
return props.stacking;
|
|
268
268
|
}, function (props) {
|
|
269
269
|
return props.theme.groupVerticalGutter;
|