@dxc-technology/halstack-react 0.0.0-63ee6f9 → 0.0.0-64ec938
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/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +295 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +7 -28
- package/accordion/Accordion.stories.tsx +12 -12
- package/accordion/Accordion.test.js +19 -4
- package/accordion/types.d.ts +4 -0
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +14 -15
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +24 -6
- package/accordion-group/types.d.ts +4 -0
- package/alert/Alert.js +4 -1
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +1 -0
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +94 -95
- package/bleed/types.d.ts +1 -1
- package/box/Box.js +22 -32
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/{list → bulleted-list}/types.js +0 -0
- package/button/Button.js +14 -11
- package/card/Card.js +24 -27
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +38 -28
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/types.d.ts +3 -3
- package/common/variables.js +197 -84
- package/date-input/DateInput.js +38 -20
- package/date-input/DateInput.test.js +9 -22
- package/date-input/types.d.ts +12 -9
- package/dialog/Dialog.js +4 -32
- package/dropdown/Dropdown.js +13 -17
- package/dropdown/Dropdown.stories.tsx +1 -1
- package/file-input/FileInput.js +9 -6
- package/file-input/FileItem.js +7 -5
- package/flex/Flex.d.ts +3 -0
- package/flex/Flex.js +74 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +21 -0
- package/{radio → flex}/types.js +0 -0
- package/footer/Footer.js +15 -88
- package/footer/Icons.js +1 -1
- package/header/Header.js +27 -48
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +18 -2
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +36 -36
- package/inset/types.d.ts +25 -1
- package/layout/ApplicationLayout.d.ts +4 -3
- package/layout/ApplicationLayout.js +68 -113
- package/layout/ApplicationLayout.stories.tsx +14 -59
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +5 -10
- package/link/Link.d.ts +3 -2
- package/link/Link.js +57 -74
- package/link/Link.stories.tsx +88 -53
- package/link/Link.test.js +7 -15
- package/link/types.d.ts +7 -23
- package/main.d.ts +8 -5
- package/main.js +51 -21
- package/number-input/NumberInput.test.js +2 -4
- package/number-input/types.d.ts +13 -10
- package/package.json +7 -5
- package/paginator/Paginator.js +17 -38
- package/paginator/Paginator.test.js +42 -0
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +7 -4
- package/password-input/PasswordInput.test.js +3 -6
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.js +1 -1
- package/progress-bar/ProgressBar.stories.jsx +11 -11
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +118 -0
- package/quick-nav/QuickNav.stories.tsx +264 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.js +1 -1
- package/radio-group/RadioGroup.js +10 -7
- package/resultsetTable/ResultsetTable.test.js +42 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +175 -0
- package/select/Option.js +1 -1
- package/select/Select.js +106 -186
- package/select/Select.stories.tsx +144 -100
- package/select/Select.test.js +377 -231
- package/select/types.d.ts +32 -11
- package/sidenav/Sidenav.d.ts +1 -1
- package/sidenav/Sidenav.js +20 -9
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +2 -1
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +31 -10
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +1 -1
- package/stack/Stack.d.ts +2 -1
- package/stack/Stack.js +29 -70
- package/stack/Stack.stories.tsx +189 -90
- package/stack/types.d.ts +15 -7
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +35 -19
- package/switch/Switch.stories.tsx +14 -14
- package/switch/Switch.test.js +25 -0
- package/switch/types.d.ts +6 -2
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +9 -11
- package/tabs/Tabs.stories.tsx +0 -8
- package/tabs/Tabs.test.js +26 -9
- package/tabs/types.d.ts +4 -0
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +170 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +132 -0
- package/tabs-nav/types.d.ts +53 -0
- package/tabs-nav/types.js +5 -0
- package/tag/Tag.js +5 -8
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +55 -0
- package/text-input/TextInput.js +48 -76
- package/text-input/TextInput.test.js +22 -35
- package/text-input/types.d.ts +27 -12
- package/textarea/Textarea.js +12 -23
- package/textarea/Textarea.test.js +10 -20
- package/textarea/types.d.ts +14 -11
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +5 -4
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.js +35 -4
- package/toggle-group/types.d.ts +8 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.js +35 -29
- package/ThemeContext.d.ts +0 -10
- package/ThemeContext.js +0 -243
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/Radio.test.js +0 -71
- package/radio/types.d.ts +0 -54
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
package/date-input/types.d.ts
CHANGED
|
@@ -54,28 +54,31 @@ declare type Props = {
|
|
|
54
54
|
* element of the component. An object including the string value, the
|
|
55
55
|
* error and the date value will be passed to this function.
|
|
56
56
|
* If the string value is a valid date, error will
|
|
57
|
-
* be
|
|
57
|
+
* be undefined. Also, if the string value is not a valid date, date will be undefined.
|
|
58
58
|
*/
|
|
59
59
|
onChange?: (val: {
|
|
60
60
|
value: string;
|
|
61
|
-
error
|
|
62
|
-
date
|
|
61
|
+
error?: string;
|
|
62
|
+
date?: Date;
|
|
63
63
|
}) => void;
|
|
64
64
|
/**
|
|
65
65
|
* This function will be called when the input element loses the focus.
|
|
66
66
|
* An object including the string value, the error and the date value
|
|
67
67
|
* will be passed to this function. If the string value is a valid date, error will
|
|
68
|
-
* be
|
|
68
|
+
* be undefined. Also, if the string value is not a valid date, date will be undefined.
|
|
69
69
|
*/
|
|
70
70
|
onBlur?: (val: {
|
|
71
71
|
value: string;
|
|
72
|
-
error
|
|
73
|
-
date
|
|
72
|
+
error?: string;
|
|
73
|
+
date?: Date;
|
|
74
74
|
}) => void;
|
|
75
75
|
/**
|
|
76
|
-
* If it is defined
|
|
77
|
-
* the error below the date input
|
|
78
|
-
*
|
|
76
|
+
* If it is a defined value and also a truthy string, the component will
|
|
77
|
+
* change its appearance, showing the error below the date input
|
|
78
|
+
* component. If the defined value is an empty string, it will reserve a
|
|
79
|
+
* space below the component for a future error, but it would not change
|
|
80
|
+
* its look. In case of being undefined or null, both the appearance and
|
|
81
|
+
* the space for the error message would not be modified.
|
|
79
82
|
*/
|
|
80
83
|
error?: string;
|
|
81
84
|
/**
|
package/dialog/Dialog.js
CHANGED
|
@@ -13,9 +13,7 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
|
13
13
|
|
|
14
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
15
|
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
|
19
17
|
|
|
20
18
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
19
|
|
|
@@ -45,12 +43,6 @@ var DxcDialog = function DxcDialog(_ref) {
|
|
|
45
43
|
padding = _ref$padding === void 0 ? "small" : _ref$padding,
|
|
46
44
|
_ref$tabIndex = _ref.tabIndex,
|
|
47
45
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
48
|
-
|
|
49
|
-
var _useState = (0, _react.useState)(false),
|
|
50
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
51
|
-
isResponsive = _useState2[0],
|
|
52
|
-
setIsResponsive = _useState2[1];
|
|
53
|
-
|
|
54
46
|
var colorsTheme = (0, _useTheme["default"])();
|
|
55
47
|
|
|
56
48
|
var handleClose = function handleClose() {
|
|
@@ -61,21 +53,6 @@ var DxcDialog = function DxcDialog(_ref) {
|
|
|
61
53
|
onBackgroundClick === null || onBackgroundClick === void 0 ? void 0 : onBackgroundClick();
|
|
62
54
|
};
|
|
63
55
|
|
|
64
|
-
var handleResize = function handleResize(width) {
|
|
65
|
-
setIsResponsive(width && width <= _variables.responsiveSizes.tablet);
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
var handleEventListener = function handleEventListener() {
|
|
69
|
-
handleResize(window.innerWidth);
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
(0, _react.useEffect)(function () {
|
|
73
|
-
window.addEventListener("resize", handleEventListener);
|
|
74
|
-
handleResize(window.innerWidth);
|
|
75
|
-
return function () {
|
|
76
|
-
window.removeEventListener("resize", handleEventListener);
|
|
77
|
-
};
|
|
78
|
-
}, []);
|
|
79
56
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
80
57
|
theme: colorsTheme.dialog
|
|
81
58
|
}, /*#__PURE__*/_react["default"].createElement(DialogContainer, {
|
|
@@ -83,8 +60,7 @@ var DxcDialog = function DxcDialog(_ref) {
|
|
|
83
60
|
isCloseVisible: isCloseVisible,
|
|
84
61
|
onClose: handleOverlayClick,
|
|
85
62
|
overlay: overlay,
|
|
86
|
-
padding: padding
|
|
87
|
-
isResponsive: isResponsive
|
|
63
|
+
padding: padding
|
|
88
64
|
}, isCloseVisible && /*#__PURE__*/_react["default"].createElement(CloseIconContainer, {
|
|
89
65
|
onClick: handleClose,
|
|
90
66
|
tabIndex: tabIndex
|
|
@@ -104,7 +80,7 @@ var DxcDialog = function DxcDialog(_ref) {
|
|
|
104
80
|
}, children))));
|
|
105
81
|
};
|
|
106
82
|
|
|
107
|
-
var DialogContainer = (0, _styledComponents["default"])(_Dialog["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n overflow: unset;\n font-family: ", ";\n\n .MuiBackdrop-root {\n background-color: ", ";\n opacity: ", " !important;\n }\n .MuiDialog-paperWidthSm {\n background-color: ", ";\n
|
|
83
|
+
var DialogContainer = (0, _styledComponents["default"])(_Dialog["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n overflow: unset;\n font-family: ", ";\n\n .MuiBackdrop-root {\n background-color: ", ";\n opacity: ", " !important;\n }\n .MuiDialog-paperWidthSm {\n background-color: ", ";\n @media (min-width: ", "rem) {\n max-width: 80%;\n min-width: 800px;\n }\n\n @media (max-width: ", "rem) {\n //mobile phones\n max-width: 92%;\n min-width: 92%;\n }\n\n box-sizing: border-box;\n min-height: ", ";\n box-shadow: ", ";\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n }\n"])), function (props) {
|
|
108
84
|
return props.theme.fontFamily;
|
|
109
85
|
}, function (props) {
|
|
110
86
|
return props.overlay === true ? props.theme.overlayColor : "transparent";
|
|
@@ -112,11 +88,7 @@ var DialogContainer = (0, _styledComponents["default"])(_Dialog["default"])(_tem
|
|
|
112
88
|
return props.overlay === true && props.theme.overlayOpacity;
|
|
113
89
|
}, function (props) {
|
|
114
90
|
return props.theme.backgroundColor;
|
|
115
|
-
}, function (props) {
|
|
116
|
-
return props.isResponsive ? "92%" : "80%";
|
|
117
|
-
}, function (props) {
|
|
118
|
-
return props.isResponsive ? "92%" : "800px";
|
|
119
|
-
}, function (props) {
|
|
91
|
+
}, _variables.responsiveSizes.medium, _variables.responsiveSizes.medium, function (props) {
|
|
120
92
|
return props.isCloseVisible ? "72px" : "";
|
|
121
93
|
}, function (props) {
|
|
122
94
|
return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
|
package/dropdown/Dropdown.js
CHANGED
|
@@ -138,6 +138,11 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
138
138
|
}));
|
|
139
139
|
};
|
|
140
140
|
|
|
141
|
+
var labelComponent = /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, {
|
|
142
|
+
iconPosition: iconPosition,
|
|
143
|
+
label: label
|
|
144
|
+
}, label);
|
|
145
|
+
|
|
141
146
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
142
147
|
theme: colorsTheme.dropdown
|
|
143
148
|
}, /*#__PURE__*/_react["default"].createElement(DXCDropdownContainer, {
|
|
@@ -160,18 +165,14 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
160
165
|
ref: ref,
|
|
161
166
|
tabIndex: tabIndex
|
|
162
167
|
}, /*#__PURE__*/_react["default"].createElement(DropdownTriggerContainer, {
|
|
163
|
-
iconPosition: iconPosition,
|
|
164
168
|
caretHidden: caretHidden
|
|
165
|
-
}, icon && /*#__PURE__*/_react["default"].createElement(ButtonIconContainer, {
|
|
169
|
+
}, iconPosition === "after" && labelComponent, icon && /*#__PURE__*/_react["default"].createElement(ButtonIconContainer, {
|
|
166
170
|
label: label,
|
|
167
171
|
iconPosition: iconPosition,
|
|
168
172
|
disabled: disabled
|
|
169
173
|
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(ButtonIcon, {
|
|
170
174
|
src: icon
|
|
171
|
-
}) : icon), /*#__PURE__*/_react["default"].createElement(
|
|
172
|
-
iconPosition: iconPosition,
|
|
173
|
-
label: label
|
|
174
|
-
}, label)), /*#__PURE__*/_react["default"].createElement(CaretIconContainer, {
|
|
175
|
+
}) : icon), iconPosition === "before" && labelComponent), /*#__PURE__*/_react["default"].createElement(CaretIconContainer, {
|
|
175
176
|
caretHidden: caretHidden,
|
|
176
177
|
disabled: disabled
|
|
177
178
|
}, !caretHidden && (anchorEl === null ? /*#__PURE__*/_react["default"].createElement(DownArrowIcon, null) : /*#__PURE__*/_react["default"].createElement(UpArrowIcon, null)))), /*#__PURE__*/_react["default"].createElement(DXCMenu, {
|
|
@@ -187,7 +188,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
187
188
|
vertical: "top",
|
|
188
189
|
horizontal: "left"
|
|
189
190
|
},
|
|
190
|
-
optionsIconPosition: optionsIconPosition,
|
|
191
191
|
size: size,
|
|
192
192
|
width: width,
|
|
193
193
|
role: undefined,
|
|
@@ -209,12 +209,14 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
209
209
|
onClick: function onClick(event) {
|
|
210
210
|
return handleMenuItemClick(option);
|
|
211
211
|
}
|
|
212
|
-
},
|
|
212
|
+
}, optionsIconPosition === "after" && /*#__PURE__*/_react["default"].createElement("span", {
|
|
213
|
+
className: "optionLabel"
|
|
214
|
+
}, option.label), option.icon && /*#__PURE__*/_react["default"].createElement(ListIconContainer, {
|
|
213
215
|
label: option.label,
|
|
214
216
|
iconPosition: optionsIconPosition
|
|
215
217
|
}, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(ListIcon, {
|
|
216
218
|
src: option.icon
|
|
217
|
-
}) : option.icon), /*#__PURE__*/_react["default"].createElement("span", {
|
|
219
|
+
}) : option.icon), optionsIconPosition === "before" && /*#__PURE__*/_react["default"].createElement("span", {
|
|
218
220
|
className: "optionLabel"
|
|
219
221
|
}, option.label));
|
|
220
222
|
})))));
|
|
@@ -251,7 +253,7 @@ var DXCDropdownContainer = _styledComponents["default"].div(_templateObject || (
|
|
|
251
253
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
252
254
|
});
|
|
253
255
|
|
|
254
|
-
var DXCMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n\n .MuiMenuItem-gutters {\n width: ", ";\n }\n .MuiMenuItem-root {\n min-height: 36px;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n height: auto;\n }\n .MuiPaper-root {\n min-width: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n max-height: 230px;\n overflow-y: auto;\n\n ::-webkit-scrollbar {\n width: 3px;\n }\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n\n .MuiList-padding {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n .MuiListItem-button {\n display: flex;\n
|
|
256
|
+
var DXCMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n\n .MuiMenuItem-gutters {\n width: ", ";\n }\n .MuiMenuItem-root {\n min-height: 36px;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n height: auto;\n }\n .MuiPaper-root {\n min-width: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n max-height: 230px;\n overflow-y: auto;\n\n ::-webkit-scrollbar {\n width: 3px;\n }\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n\n .MuiList-padding {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n .MuiListItem-button {\n display: flex;\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n cursor: pointer;\n }\n .MuiListItem-button:focus {\n outline: ", " solid 2px;\n outline-offset: -2px;\n }\n .MuiListItem-button:hover {\n background-color: ", ";\n }\n .MuiListItem-button:active {\n background-color: ", ";\n outline: ", " solid 2px;\n outline-offset: -2px;\n }\n }\n"])), function (props) {
|
|
255
257
|
return calculateWidth(props.margin, props.size);
|
|
256
258
|
}, function (props) {
|
|
257
259
|
return props.theme.optionPaddingTop;
|
|
@@ -277,10 +279,6 @@ var DXCMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObj
|
|
|
277
279
|
return props.theme.scrollBarTrackColor;
|
|
278
280
|
}, function (props) {
|
|
279
281
|
return props.theme.scrollBarThumbColor;
|
|
280
|
-
}, function (props) {
|
|
281
|
-
return props.optionsIconPosition === "after" && "row-reverse" || "row";
|
|
282
|
-
}, function (props) {
|
|
283
|
-
return props.optionsIconPosition === "after" && "flex-end" || "";
|
|
284
282
|
}, function (props) {
|
|
285
283
|
return props.theme.optionBackgroundColor;
|
|
286
284
|
}, function (props) {
|
|
@@ -345,9 +343,7 @@ var DropdownTrigger = _styledComponents["default"].button(_templateObject3 || (_
|
|
|
345
343
|
|
|
346
344
|
var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n text-align: left;\n text-overflow: ellipsis;\n overflow: hidden;\n"])));
|
|
347
345
|
|
|
348
|
-
var DropdownTriggerContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n
|
|
349
|
-
return props.iconPosition === "after" && "row-reverse" || "row";
|
|
350
|
-
}, function (props) {
|
|
346
|
+
var DropdownTriggerContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-left: 0px;\n margin-right: 0px;\n width: ", ";\n white-space: nowrap;\n"])), function (props) {
|
|
351
347
|
return props.caretHidden ? "100%" : "calc(100% - 36px)";
|
|
352
348
|
});
|
|
353
349
|
|
|
@@ -17,7 +17,7 @@ const iconSVG = (
|
|
|
17
17
|
);
|
|
18
18
|
|
|
19
19
|
const iconSVGLarge = (
|
|
20
|
-
<svg
|
|
20
|
+
<svg enableBackground="new 0 0 24 24" height="48px" viewBox="0 0 24 24" width="48px" fill="currentColor">
|
|
21
21
|
<g>
|
|
22
22
|
<path d="M0,0h24v24H0V0z" fill="none" />
|
|
23
23
|
<path d="M0,0h24v24H0V0z" fill="none" />
|
package/file-input/FileInput.js
CHANGED
|
@@ -33,6 +33,8 @@ var _variables = require("../common/variables.js");
|
|
|
33
33
|
|
|
34
34
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
35
35
|
|
|
36
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
37
|
+
|
|
36
38
|
var _Button = _interopRequireDefault(require("../button/Button"));
|
|
37
39
|
|
|
38
40
|
var _FileItem = _interopRequireDefault(require("./FileItem"));
|
|
@@ -127,6 +129,7 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
127
129
|
fileInputId = _useState6[0];
|
|
128
130
|
|
|
129
131
|
var colorsTheme = (0, _useTheme["default"])();
|
|
132
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
130
133
|
(0, _react.useEffect)(function () {
|
|
131
134
|
var getFiles = /*#__PURE__*/function () {
|
|
132
135
|
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
@@ -204,11 +207,11 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
204
207
|
|
|
205
208
|
var checkFileSize = function checkFileSize(file) {
|
|
206
209
|
if (file.size < minSize) {
|
|
207
|
-
return
|
|
210
|
+
return translatedLabels.fileInput.fileSizeGreaterThanErrorMessage;
|
|
208
211
|
}
|
|
209
212
|
|
|
210
213
|
if (file.size > maxSize) {
|
|
211
|
-
return
|
|
214
|
+
return translatedLabels.fileInput.fileSizeLessThanErrorMessage;
|
|
212
215
|
}
|
|
213
216
|
};
|
|
214
217
|
|
|
@@ -410,7 +413,7 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
410
413
|
onChange: selectFiles
|
|
411
414
|
}), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
412
415
|
mode: "secondary",
|
|
413
|
-
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : multiple ?
|
|
416
|
+
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : multiple ? translatedLabels.fileInput.multipleButtonLabelDefault : translatedLabels.fileInput.singleButtonLabelDefault,
|
|
414
417
|
onClick: handleClick,
|
|
415
418
|
disabled: disabled,
|
|
416
419
|
size: "medium",
|
|
@@ -450,15 +453,15 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
450
453
|
mode: mode
|
|
451
454
|
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
452
455
|
mode: "secondary",
|
|
453
|
-
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel :
|
|
456
|
+
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : translatedLabels.fileInput.dropAreaButtonLabelDefault,
|
|
454
457
|
onClick: handleClick,
|
|
455
458
|
disabled: disabled,
|
|
456
459
|
size: "fitContent"
|
|
457
460
|
})), mode === "dropzone" ? /*#__PURE__*/_react["default"].createElement(DropzoneLabel, {
|
|
458
461
|
disabled: disabled
|
|
459
|
-
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ?
|
|
462
|
+
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault) : /*#__PURE__*/_react["default"].createElement(FiledropLabel, {
|
|
460
463
|
disabled: disabled
|
|
461
|
-
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ?
|
|
464
|
+
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault)), files.map(function (file) {
|
|
462
465
|
return /*#__PURE__*/_react["default"].createElement(FileItemContainer, {
|
|
463
466
|
mode: mode,
|
|
464
467
|
multiple: multiple,
|
package/file-input/FileItem.js
CHANGED
|
@@ -133,9 +133,9 @@ var FileItemContainer = _styledComponents["default"].div(_templateObject3 || (_t
|
|
|
133
133
|
var ImagePreview = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 48px;\n height: 48px;\n object-fit: contain;\n margin-right: 12px;\n border-radius: 2px;\n"])));
|
|
134
134
|
|
|
135
135
|
var IconPreviewContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 12px;\n background-color: ", ";\n width: 48px;\n height: 48px;\n border-radius: 2px;\n color: ", ";\n"])), function (props) {
|
|
136
|
-
return props.error ? props.theme.
|
|
136
|
+
return props.error ? props.theme.errorFilePreviewBackgroundColor : props.theme.filePreviewBackgroundColor;
|
|
137
137
|
}, function (props) {
|
|
138
|
-
return props.error ? props.theme.
|
|
138
|
+
return props.error ? props.theme.errorFilePreviewIconColor : props.theme.filePreviewIconColor;
|
|
139
139
|
});
|
|
140
140
|
|
|
141
141
|
var IconPreview = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
@@ -156,14 +156,16 @@ var FileName = _styledComponents["default"].span(_templateObject7 || (_templateO
|
|
|
156
156
|
|
|
157
157
|
var ErrorIcon = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n color: #d0011b;\n"])));
|
|
158
158
|
|
|
159
|
-
var DeleteIcon = _styledComponents["default"].button(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n margin-left: 4px;\n background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n padding: 3px;\n cursor: pointer;\n svg {\n line-height: 18px;\n }\n &:hover {\n background-color: ", ";\n }\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
|
|
159
|
+
var DeleteIcon = _styledComponents["default"].button(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n margin-left: 4px;\n background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n padding: 3px;\n cursor: pointer;\n color: ", ";\n svg {\n line-height: 18px;\n }\n &:hover {\n background-color: ", ";\n }\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
|
|
160
160
|
return props.theme.fontFamily;
|
|
161
|
+
}, function (props) {
|
|
162
|
+
return props.theme.deleteFileItemColor;
|
|
161
163
|
}, function (props) {
|
|
162
164
|
return props.theme.hoverDeleteFileItemBackgroundColor;
|
|
163
165
|
}, function (props) {
|
|
164
|
-
return props.theme.
|
|
166
|
+
return props.theme.focusDeleteFileItemBorderColor;
|
|
165
167
|
}, function (props) {
|
|
166
|
-
return props.theme.
|
|
168
|
+
return props.theme.focusDeleteFileItemBorderColor;
|
|
167
169
|
}, function (props) {
|
|
168
170
|
return props.theme.activeDeleteFileItemBackgroundColor;
|
|
169
171
|
});
|
package/flex/Flex.d.ts
ADDED
package/flex/Flex.js
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = Flex;
|
|
9
|
+
|
|
10
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
+
|
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
17
|
+
|
|
18
|
+
var _templateObject;
|
|
19
|
+
|
|
20
|
+
function Flex(_ref) {
|
|
21
|
+
var _ref$direction = _ref.direction,
|
|
22
|
+
direction = _ref$direction === void 0 ? "row" : _ref$direction,
|
|
23
|
+
_ref$wrap = _ref.wrap,
|
|
24
|
+
wrap = _ref$wrap === void 0 ? "nowrap" : _ref$wrap,
|
|
25
|
+
_ref$justifyContent = _ref.justifyContent,
|
|
26
|
+
justifyContent = _ref$justifyContent === void 0 ? "flex-start" : _ref$justifyContent,
|
|
27
|
+
_ref$alignItems = _ref.alignItems,
|
|
28
|
+
alignItems = _ref$alignItems === void 0 ? "stretch" : _ref$alignItems,
|
|
29
|
+
_ref$alignContent = _ref.alignContent,
|
|
30
|
+
alignContent = _ref$alignContent === void 0 ? "normal" : _ref$alignContent,
|
|
31
|
+
_ref$gap = _ref.gap,
|
|
32
|
+
gap = _ref$gap === void 0 ? "0" : _ref$gap,
|
|
33
|
+
_ref$order = _ref.order,
|
|
34
|
+
order = _ref$order === void 0 ? 0 : _ref$order,
|
|
35
|
+
_ref$grow = _ref.grow,
|
|
36
|
+
grow = _ref$grow === void 0 ? 0 : _ref$grow,
|
|
37
|
+
_ref$shrink = _ref.shrink,
|
|
38
|
+
shrink = _ref$shrink === void 0 ? 1 : _ref$shrink,
|
|
39
|
+
_ref$basis = _ref.basis,
|
|
40
|
+
basis = _ref$basis === void 0 ? "auto" : _ref$basis,
|
|
41
|
+
_ref$alignSelf = _ref.alignSelf,
|
|
42
|
+
alignSelf = _ref$alignSelf === void 0 ? "auto" : _ref$alignSelf,
|
|
43
|
+
as = _ref.as,
|
|
44
|
+
children = _ref.children;
|
|
45
|
+
return /*#__PURE__*/_react["default"].createElement(FlexContainer, {
|
|
46
|
+
direction: direction,
|
|
47
|
+
wrap: wrap,
|
|
48
|
+
justifyContent: justifyContent,
|
|
49
|
+
alignItems: alignItems,
|
|
50
|
+
alignContent: alignContent,
|
|
51
|
+
order: order,
|
|
52
|
+
grow: grow,
|
|
53
|
+
shrink: shrink,
|
|
54
|
+
basis: basis,
|
|
55
|
+
alignSelf: alignSelf,
|
|
56
|
+
gap: gap,
|
|
57
|
+
as: as
|
|
58
|
+
}, children);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
var FlexContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", "\n"])), function (_ref2) {
|
|
62
|
+
var direction = _ref2.direction,
|
|
63
|
+
wrap = _ref2.wrap,
|
|
64
|
+
justifyContent = _ref2.justifyContent,
|
|
65
|
+
alignItems = _ref2.alignItems,
|
|
66
|
+
alignContent = _ref2.alignContent,
|
|
67
|
+
gap = _ref2.gap,
|
|
68
|
+
order = _ref2.order,
|
|
69
|
+
grow = _ref2.grow,
|
|
70
|
+
shrink = _ref2.shrink,
|
|
71
|
+
basis = _ref2.basis,
|
|
72
|
+
alignSelf = _ref2.alignSelf;
|
|
73
|
+
return "flex-direction: ".concat(direction, "; \n flex-wrap: ").concat(wrap, "; \n justify-content: ").concat(justifyContent, "; \n align-items: ").concat(alignItems, ";\n align-content: ").concat(alignContent, ";\n gap: ").concat((0, _typeof2["default"])(gap) === "object" ? "".concat(gap.rowGap, " ").concat(gap.columnGap) : gap, ";\n order: ").concat(order, ";\n flex-grow: ").concat(grow, ";\n flex-shrink: ").concat(shrink, ";\n flex-basis: ").concat(basis, ";\n align-self: ").concat(alignSelf, ";\n ");
|
|
74
|
+
});
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import Title from "../../.storybook/components/Title";
|
|
3
|
+
import styled from "styled-components";
|
|
4
|
+
import DxcFlex from "./Flex";
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
title: "Flex",
|
|
8
|
+
component: DxcFlex,
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export const Chromatic = () => (
|
|
12
|
+
<>
|
|
13
|
+
<Title title="Default" level={4} />
|
|
14
|
+
<Container>
|
|
15
|
+
<DxcFlex>
|
|
16
|
+
<Placeholder />
|
|
17
|
+
<Placeholder width="50px" />
|
|
18
|
+
<Placeholder />
|
|
19
|
+
<Placeholder width="50px" />
|
|
20
|
+
<Placeholder width="50px" />
|
|
21
|
+
</DxcFlex>
|
|
22
|
+
</Container>
|
|
23
|
+
<Title title="Direction column, wrap, justify content end, align items center and gap" level={4} />
|
|
24
|
+
<Container>
|
|
25
|
+
<DxcFlex direction="column" wrap="wrap" justifyContent="end" alignItems="center" gap="20px">
|
|
26
|
+
<Placeholder />
|
|
27
|
+
<Placeholder width="100px" />
|
|
28
|
+
<Placeholder />
|
|
29
|
+
<Placeholder width="100px" />
|
|
30
|
+
<Placeholder />
|
|
31
|
+
</DxcFlex>
|
|
32
|
+
</Container>
|
|
33
|
+
<Title title="Wrap with align content space between, row and column gaps, and as a span" level={4} />
|
|
34
|
+
<Container height="250px">
|
|
35
|
+
<DxcFlex wrap="wrap" alignContent="space-between" as="span" gap={{ rowGap: "10px", columnGap: "20px" }}>
|
|
36
|
+
<Placeholder />
|
|
37
|
+
<Placeholder />
|
|
38
|
+
<Placeholder />
|
|
39
|
+
<Placeholder />
|
|
40
|
+
<Placeholder width="100px" />
|
|
41
|
+
<Placeholder />
|
|
42
|
+
<Placeholder />
|
|
43
|
+
<Placeholder width="100px" />
|
|
44
|
+
<Placeholder />
|
|
45
|
+
<Placeholder />
|
|
46
|
+
<Placeholder width="100px" />
|
|
47
|
+
<Placeholder />
|
|
48
|
+
</DxcFlex>
|
|
49
|
+
</Container>
|
|
50
|
+
<Title title="Basis 100%, order, grow and align self" level={4} />
|
|
51
|
+
<Container height="75px">
|
|
52
|
+
<DxcFlex basis="100%">
|
|
53
|
+
<DxcFlex order={3} grow={1} alignSelf="flex-end">
|
|
54
|
+
<PlaceholderGrowAndShrink>order 3, grow 1, align self end</PlaceholderGrowAndShrink>
|
|
55
|
+
</DxcFlex>
|
|
56
|
+
<DxcFlex order={-1} grow={4}>
|
|
57
|
+
<PlaceholderGrowAndShrink>order -1, grow 4</PlaceholderGrowAndShrink>
|
|
58
|
+
</DxcFlex>
|
|
59
|
+
<DxcFlex order={5} grow={1}>
|
|
60
|
+
<PlaceholderGrowAndShrink>order 5, grow 1</PlaceholderGrowAndShrink>
|
|
61
|
+
</DxcFlex>
|
|
62
|
+
<DxcFlex order={2} grow={2}>
|
|
63
|
+
<PlaceholderGrowAndShrink>order 2. grow 2</PlaceholderGrowAndShrink>
|
|
64
|
+
</DxcFlex>
|
|
65
|
+
</DxcFlex>
|
|
66
|
+
</Container>
|
|
67
|
+
<Title title="Basis and shrink" level={4} />
|
|
68
|
+
<Container>
|
|
69
|
+
<DxcFlex basis="600px">
|
|
70
|
+
<DxcFlex shrink={4} basis="400px">
|
|
71
|
+
<PlaceholderGrowAndShrink>shrink 4</PlaceholderGrowAndShrink>
|
|
72
|
+
</DxcFlex>
|
|
73
|
+
<DxcFlex shrink={2} basis="400px">
|
|
74
|
+
<PlaceholderGrowAndShrink>shrink 2</PlaceholderGrowAndShrink>
|
|
75
|
+
</DxcFlex>
|
|
76
|
+
<DxcFlex shrink={1} basis="400px">
|
|
77
|
+
<PlaceholderGrowAndShrink>shrink 1</PlaceholderGrowAndShrink>
|
|
78
|
+
</DxcFlex>
|
|
79
|
+
</DxcFlex>
|
|
80
|
+
</Container>
|
|
81
|
+
</>
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
const Container = styled.div<{ height?: string }>`
|
|
85
|
+
display: flex;
|
|
86
|
+
background: #f2eafa;
|
|
87
|
+
margin: 2.5rem;
|
|
88
|
+
${({ height }) => (height ? `height: ${height}` : "max-height: 150px")};
|
|
89
|
+
`;
|
|
90
|
+
|
|
91
|
+
const Placeholder = styled.div<{ width?: string }>`
|
|
92
|
+
height: 40px;
|
|
93
|
+
min-width: ${({ width }) => width || "200px"};
|
|
94
|
+
border: 1px solid #a46ede;
|
|
95
|
+
background-color: #e5d5f6;
|
|
96
|
+
`;
|
|
97
|
+
|
|
98
|
+
const PlaceholderGrowAndShrink = styled.div`
|
|
99
|
+
height: 40px;
|
|
100
|
+
width: 100%;
|
|
101
|
+
border: 1px solid #a46ede;
|
|
102
|
+
background-color: #e5d5f6;
|
|
103
|
+
`;
|
package/flex/types.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type Gap = {
|
|
3
|
+
rowGap: string;
|
|
4
|
+
columnGap: string;
|
|
5
|
+
};
|
|
6
|
+
declare type Props = {
|
|
7
|
+
direction?: "row" | "row-reverse" | "column" | "column-reverse";
|
|
8
|
+
wrap?: "nowrap" | "wrap" | "wrap-reverse";
|
|
9
|
+
justifyContent?: "flex-start" | "flex-end" | "start" | "end" | "left" | "right" | "center" | "space-between" | "space-around" | "space-evenly";
|
|
10
|
+
alignItems?: "stretch" | "flex-start" | "flex-end" | "start" | "end" | "self-start" | "self-end" | "center" | "baseline";
|
|
11
|
+
alignContent?: "normal" | "flex-start" | "flex-end" | "start" | "end" | "center" | "space-between" | "space-around" | "space-evenly" | "stretch";
|
|
12
|
+
gap?: string | Gap;
|
|
13
|
+
order?: number;
|
|
14
|
+
grow?: number;
|
|
15
|
+
shrink?: number;
|
|
16
|
+
basis?: string;
|
|
17
|
+
alignSelf?: "auto" | "flex-start" | "flex-end" | "center" | "baseline" | "stretch";
|
|
18
|
+
as?: React.ElementType;
|
|
19
|
+
children: React.ReactNode;
|
|
20
|
+
};
|
|
21
|
+
export default Props;
|
package/{radio → flex}/types.js
RENAMED
|
File without changes
|