@dxc-technology/halstack-react 0.0.0-9179a3a → 0.0.0-918d2c8
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.js +0 -1
- package/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +335 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +117 -136
- package/accordion/Accordion.stories.tsx +114 -19
- package/accordion/Accordion.test.js +71 -0
- package/accordion/types.d.ts +11 -10
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +15 -36
- package/accordion-group/AccordionGroup.stories.tsx +28 -2
- package/accordion-group/AccordionGroup.test.js +126 -0
- package/accordion-group/types.d.ts +16 -9
- package/alert/Alert.js +5 -2
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +92 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +5 -0
- package/{radio → badge}/types.js +0 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +51 -0
- package/bleed/Bleed.stories.tsx +341 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.js +23 -33
- package/box/Box.stories.tsx +15 -0
- package/box/Box.test.js +18 -0
- package/box/types.d.ts +1 -0
- 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/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +54 -79
- package/button/Button.stories.tsx +163 -14
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +8 -12
- package/card/Card.js +24 -27
- package/card/Card.stories.tsx +1 -1
- package/card/Card.test.js +50 -0
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +106 -109
- package/checkbox/Checkbox.stories.tsx +198 -130
- package/checkbox/Checkbox.test.js +155 -0
- package/checkbox/types.d.ts +14 -6
- package/chip/Chip.d.ts +1 -1
- package/chip/Chip.js +20 -64
- package/chip/Chip.stories.tsx +98 -13
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +5 -13
- package/common/variables.js +499 -554
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +171 -260
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +835 -0
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +146 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +126 -0
- package/date-input/types.d.ts +67 -9
- package/dialog/Dialog.js +47 -52
- package/dialog/Dialog.stories.tsx +99 -22
- package/dialog/Dialog.test.js +70 -0
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +248 -277
- package/dropdown/Dropdown.stories.tsx +438 -0
- package/dropdown/Dropdown.test.js +585 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +70 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +81 -0
- package/dropdown/types.d.ts +29 -18
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +159 -129
- package/file-input/FileInput.stories.tsx +618 -0
- package/file-input/FileInput.test.js +498 -0
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +43 -66
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +69 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +32 -0
- package/flex/types.js +5 -0
- package/footer/Footer.js +24 -99
- package/footer/Footer.stories.tsx +99 -1
- package/footer/Footer.test.js +109 -0
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +2 -1
- package/header/Header.js +107 -128
- package/header/Header.stories.tsx +189 -36
- package/header/Header.test.js +79 -0
- package/header/Icons.js +2 -2
- package/header/types.d.ts +3 -2
- 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 +51 -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 +16 -6
- package/layout/ApplicationLayout.js +71 -125
- package/layout/ApplicationLayout.stories.tsx +84 -93
- 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 +18 -33
- package/link/Link.d.ts +3 -2
- package/link/Link.js +61 -86
- package/link/Link.stories.tsx +159 -52
- package/link/Link.test.js +83 -0
- package/link/types.d.ts +9 -29
- package/main.d.ts +11 -15
- package/main.js +53 -79
- package/number-input/NumberInput.js +11 -18
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +542 -0
- package/number-input/types.d.ts +17 -10
- package/package.json +21 -22
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +19 -46
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +315 -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.stories.tsx +3 -3
- package/password-input/PasswordInput.test.js +181 -0
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +60 -54
- package/progress-bar/ProgressBar.stories.jsx +47 -12
- package/progress-bar/ProgressBar.test.js +110 -0
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +117 -0
- package/quick-nav/QuickNav.stories.tsx +356 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +156 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +283 -0
- package/radio-group/RadioGroup.stories.tsx +214 -0
- package/radio-group/RadioGroup.test.js +722 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +49 -105
- package/resultsetTable/ResultsetTable.stories.tsx +56 -32
- package/resultsetTable/ResultsetTable.test.js +325 -0
- package/resultsetTable/types.d.ts +2 -2
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +169 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +97 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +184 -383
- package/select/Select.stories.tsx +600 -201
- package/select/Select.test.js +2228 -0
- package/select/types.d.ts +210 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +182 -52
- package/sidenav/Sidenav.stories.tsx +249 -132
- package/sidenav/Sidenav.test.js +44 -0
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +122 -96
- package/slider/Slider.stories.tsx +72 -9
- package/slider/Slider.test.js +250 -0
- package/slider/types.d.ts +10 -2
- package/spinner/Spinner.js +3 -3
- package/spinner/Spinner.stories.jsx +27 -0
- package/spinner/Spinner.test.js +64 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +150 -67
- package/switch/Switch.stories.tsx +54 -43
- package/switch/Switch.test.js +225 -0
- package/switch/types.d.ts +12 -4
- package/table/Table.js +1 -1
- package/table/Table.stories.jsx +81 -1
- package/table/Table.test.js +26 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +133 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +364 -110
- package/tabs/Tabs.stories.tsx +122 -17
- package/tabs/Tabs.test.js +351 -0
- package/tabs/types.d.ts +39 -17
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +172 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +128 -0
- package/tabs-nav/types.d.ts +53 -0
- package/tabs-nav/types.js +5 -0
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +18 -28
- package/tag/Tag.stories.tsx +38 -28
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +23 -14
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +84 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +219 -332
- package/text-input/TextInput.stories.tsx +309 -196
- package/text-input/TextInput.test.js +1724 -0
- package/text-input/types.d.ts +51 -13
- package/textarea/Textarea.js +20 -27
- package/textarea/Textarea.stories.jsx +96 -15
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +18 -11
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +12 -14
- package/toggle-group/ToggleGroup.stories.tsx +69 -32
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +46 -25
- 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.d.ts +1 -1
- package/wizard/Wizard.js +111 -57
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +48 -19
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +12 -11
- package/ThemeContext.d.ts +0 -15
- package/ThemeContext.js +0 -243
- 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/common/RequiredComponent.js +0 -32
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/list/List.d.ts +0 -7
- package/list/List.js +0 -37
- package/list/List.stories.tsx +0 -70
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/types.d.ts +0 -54
- package/row/Row.d.ts +0 -11
- package/row/Row.js +0 -124
- package/row/Row.stories.tsx +0 -223
- package/select/index.d.ts +0 -131
- package/stack/Stack.d.ts +0 -10
- package/stack/Stack.js +0 -94
- package/stack/Stack.stories.tsx +0 -150
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- 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
|
@@ -0,0 +1,81 @@
|
|
|
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"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
|
+
|
|
16
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
17
|
+
|
|
18
|
+
var DropdownMenuItem = function DropdownMenuItem(_ref) {
|
|
19
|
+
var id = _ref.id,
|
|
20
|
+
visuallyFocused = _ref.visuallyFocused,
|
|
21
|
+
iconPosition = _ref.iconPosition,
|
|
22
|
+
_onClick = _ref.onClick,
|
|
23
|
+
option = _ref.option;
|
|
24
|
+
return /*#__PURE__*/_react["default"].createElement(DropdownMenuItemContainer, {
|
|
25
|
+
visuallyFocused: visuallyFocused,
|
|
26
|
+
onClick: function onClick() {
|
|
27
|
+
_onClick(option.value);
|
|
28
|
+
},
|
|
29
|
+
id: id,
|
|
30
|
+
role: "menuitem",
|
|
31
|
+
tabIndex: -1
|
|
32
|
+
}, iconPosition === "after" && /*#__PURE__*/_react["default"].createElement(DropdownMenuItemLabel, null, option.label), option.icon && /*#__PURE__*/_react["default"].createElement(DropdownMenuItemIcon, {
|
|
33
|
+
iconPosition: iconPosition,
|
|
34
|
+
label: option.label,
|
|
35
|
+
role: typeof option.icon === "string" ? undefined : "img"
|
|
36
|
+
}, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
37
|
+
src: option.icon
|
|
38
|
+
}) : option.icon), iconPosition === "before" && /*#__PURE__*/_react["default"].createElement(DropdownMenuItemLabel, null, option.label));
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
var DropdownMenuItemContainer = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: ", ";\n min-height: 36px;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n cursor: pointer;\n\n ", "\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
|
|
42
|
+
return props.theme.optionIconSpacing;
|
|
43
|
+
}, function (props) {
|
|
44
|
+
return props.theme.optionPaddingTop;
|
|
45
|
+
}, function (props) {
|
|
46
|
+
return props.theme.optionPaddingBottom;
|
|
47
|
+
}, function (props) {
|
|
48
|
+
return props.theme.optionPaddingLeft;
|
|
49
|
+
}, function (props) {
|
|
50
|
+
return props.theme.optionPaddingRight;
|
|
51
|
+
}, function (props) {
|
|
52
|
+
return props.visuallyFocused && "outline: ".concat(props.theme.focusColor, " solid 2px; outline-offset: -2px;");
|
|
53
|
+
}, function (props) {
|
|
54
|
+
return props.theme.hoverOptionBackgroundColor;
|
|
55
|
+
}, function (props) {
|
|
56
|
+
return props.theme.activeOptionBackgroundColor;
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
var DropdownMenuItemLabel = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5rem;\n color: ", ";\n white-space: nowrap;\n"])), function (props) {
|
|
60
|
+
return props.theme.optionFontFamily;
|
|
61
|
+
}, function (props) {
|
|
62
|
+
return props.theme.optionFontSize;
|
|
63
|
+
}, function (props) {
|
|
64
|
+
return props.theme.optionFontStyle;
|
|
65
|
+
}, function (props) {
|
|
66
|
+
return props.theme.optionFontWeight;
|
|
67
|
+
}, function (props) {
|
|
68
|
+
return props.theme.optionFontColor;
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
var DropdownMenuItemIcon = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n color: ", ";\n\n img,\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
|
|
72
|
+
return props.theme.optionIconColor;
|
|
73
|
+
}, function (props) {
|
|
74
|
+
return props.theme.optionIconSize;
|
|
75
|
+
}, function (props) {
|
|
76
|
+
return props.theme.optionIconSize;
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
var _default = /*#__PURE__*/_react["default"].memo(DropdownMenuItem);
|
|
80
|
+
|
|
81
|
+
exports["default"] = _default;
|
package/dropdown/types.d.ts
CHANGED
|
@@ -1,26 +1,23 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
-
declare type Margin = {
|
|
2
|
+
export declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
export declare type Margin = {
|
|
4
4
|
top?: Space;
|
|
5
5
|
bottom?: Space;
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
declare type
|
|
10
|
-
declare type
|
|
9
|
+
export declare type Size = "small" | "medium" | "large" | "fillParent" | "fitContent";
|
|
10
|
+
declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
11
|
+
export declare type Option = {
|
|
11
12
|
/**
|
|
12
13
|
* Option display value.
|
|
13
14
|
*/
|
|
14
15
|
label?: string;
|
|
15
16
|
/**
|
|
16
|
-
* Element used as the icon that will be placed next to the
|
|
17
|
+
* Element or path used as the icon that will be placed next to the
|
|
17
18
|
* option label.
|
|
18
19
|
*/
|
|
19
|
-
icon?: SVG;
|
|
20
|
-
/**
|
|
21
|
-
* @deprecated URL of the icon that will be placed next to the option label.
|
|
22
|
-
*/
|
|
23
|
-
iconSrc?: string;
|
|
20
|
+
icon?: string | SVG;
|
|
24
21
|
/**
|
|
25
22
|
* Option inner value.
|
|
26
23
|
*/
|
|
@@ -37,15 +34,10 @@ declare type Props = {
|
|
|
37
34
|
*/
|
|
38
35
|
optionsIconPosition?: "before" | "after";
|
|
39
36
|
/**
|
|
40
|
-
* Element used as the icon that will be placed next to the
|
|
41
|
-
* dropdown label.
|
|
42
|
-
*/
|
|
43
|
-
icon?: SVG;
|
|
44
|
-
/**
|
|
45
|
-
* @deprecated URL of the icon that will be placed next to the
|
|
37
|
+
* Element or path used as the icon that will be placed next to the
|
|
46
38
|
* dropdown label.
|
|
47
39
|
*/
|
|
48
|
-
|
|
40
|
+
icon?: string | SVG;
|
|
49
41
|
/**
|
|
50
42
|
* Whether the icon should appear after or before the label.
|
|
51
43
|
*/
|
|
@@ -76,7 +68,7 @@ declare type Props = {
|
|
|
76
68
|
/**
|
|
77
69
|
* Size of the component.
|
|
78
70
|
*/
|
|
79
|
-
size?:
|
|
71
|
+
size?: Size;
|
|
80
72
|
/**
|
|
81
73
|
* Value of the tabindex.
|
|
82
74
|
*/
|
|
@@ -86,4 +78,23 @@ declare type Props = {
|
|
|
86
78
|
*/
|
|
87
79
|
disabled?: boolean;
|
|
88
80
|
};
|
|
81
|
+
export declare type DropdownMenuProps = {
|
|
82
|
+
id: string;
|
|
83
|
+
dropdownTriggerId: string;
|
|
84
|
+
iconsPosition: "before" | "after";
|
|
85
|
+
visualFocusIndex: number;
|
|
86
|
+
menuItemOnClick: (value: string) => void;
|
|
87
|
+
onKeyDown: (event: React.KeyboardEvent<HTMLUListElement>) => void;
|
|
88
|
+
options: Option[];
|
|
89
|
+
styles: {
|
|
90
|
+
width: number;
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
export declare type DropdownMenuItemProps = {
|
|
94
|
+
id: string;
|
|
95
|
+
visuallyFocused: boolean;
|
|
96
|
+
iconPosition: "before" | "after";
|
|
97
|
+
onClick: (value: string) => void;
|
|
98
|
+
option: Option;
|
|
99
|
+
};
|
|
89
100
|
export default Props;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
2
|
import FileInputPropsType from "./types";
|
|
3
|
-
declare const DxcFileInput:
|
|
3
|
+
declare const DxcFileInput: React.ForwardRefExoticComponent<FileInputPropsType & React.RefAttributes<HTMLDivElement>>;
|
|
4
4
|
export default DxcFileInput;
|
package/file-input/FileInput.js
CHANGED
|
@@ -15,6 +15,8 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
15
15
|
|
|
16
16
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
17
17
|
|
|
18
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
|
+
|
|
18
20
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
19
21
|
|
|
20
22
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
@@ -31,16 +33,22 @@ var _variables = require("../common/variables.js");
|
|
|
31
33
|
|
|
32
34
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
33
35
|
|
|
36
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
37
|
+
|
|
34
38
|
var _Button = _interopRequireDefault(require("../button/Button"));
|
|
35
39
|
|
|
36
40
|
var _FileItem = _interopRequireDefault(require("./FileItem"));
|
|
37
41
|
|
|
38
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11
|
|
42
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
|
|
39
43
|
|
|
40
44
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
41
45
|
|
|
42
46
|
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; }
|
|
43
47
|
|
|
48
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
49
|
+
|
|
50
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
51
|
+
|
|
44
52
|
var audioIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
45
53
|
xmlns: "http://www.w3.org/2000/svg",
|
|
46
54
|
width: "24",
|
|
@@ -80,7 +88,18 @@ var fileIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
80
88
|
d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"
|
|
81
89
|
}));
|
|
82
90
|
|
|
83
|
-
var
|
|
91
|
+
var getFilePreview = function getFilePreview(file) {
|
|
92
|
+
if (file.type.includes("video")) return videoIcon;else if (file.type.includes("audio")) return audioIcon;else if (file.type.includes("image")) return new Promise(function (resolve) {
|
|
93
|
+
var reader = new FileReader();
|
|
94
|
+
reader.readAsDataURL(file);
|
|
95
|
+
|
|
96
|
+
reader.onload = function (e) {
|
|
97
|
+
resolve(e.target.result);
|
|
98
|
+
};
|
|
99
|
+
});else return fileIcon;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
var DxcFileInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
84
103
|
var _ref$name = _ref.name,
|
|
85
104
|
name = _ref$name === void 0 ? "" : _ref$name,
|
|
86
105
|
_ref$mode = _ref.mode,
|
|
@@ -121,49 +140,10 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
121
140
|
fileInputId = _useState6[0];
|
|
122
141
|
|
|
123
142
|
var colorsTheme = (0, _useTheme["default"])();
|
|
124
|
-
(0,
|
|
125
|
-
if (value) {
|
|
126
|
-
setFiles(value);
|
|
127
|
-
} else {
|
|
128
|
-
setFiles([]);
|
|
129
|
-
}
|
|
130
|
-
}, [value]);
|
|
131
|
-
|
|
132
|
-
var handleClick = function handleClick() {
|
|
133
|
-
document.getElementById(fileInputId).click();
|
|
134
|
-
};
|
|
143
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
135
144
|
|
|
136
145
|
var checkFileSize = function checkFileSize(file) {
|
|
137
|
-
if (file.size < minSize)
|
|
138
|
-
return "File size must be greater than min size.";
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
if (file.size > maxSize) {
|
|
142
|
-
return "File size must be less than max size.";
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
var getFilePreview = function getFilePreview(file) {
|
|
147
|
-
if (file.type.includes("video")) {
|
|
148
|
-
return videoIcon;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
if (file.type.includes("audio")) {
|
|
152
|
-
return audioIcon;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
if (file.type.includes("image")) {
|
|
156
|
-
return new Promise(function (resolve) {
|
|
157
|
-
var reader = new FileReader();
|
|
158
|
-
reader.readAsDataURL(file);
|
|
159
|
-
|
|
160
|
-
reader.onload = function (e) {
|
|
161
|
-
resolve(e.target.result);
|
|
162
|
-
};
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
return fileIcon;
|
|
146
|
+
if (file.size < minSize) return translatedLabels.fileInput.fileSizeGreaterThanErrorMessage;else if (file.size > maxSize) return translatedLabels.fileInput.fileSizeLessThanErrorMessage;
|
|
167
147
|
};
|
|
168
148
|
|
|
169
149
|
var getFilesToAdd = /*#__PURE__*/function () {
|
|
@@ -177,10 +157,10 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
177
157
|
return Promise.all(selectedFiles.map(function (selectedFile) {
|
|
178
158
|
return getFilePreview(selectedFile);
|
|
179
159
|
})).then(function (previews) {
|
|
180
|
-
return selectedFiles.map(function (
|
|
160
|
+
return selectedFiles.map(function (file, index) {
|
|
181
161
|
var fileInfo = {
|
|
182
|
-
file:
|
|
183
|
-
error: checkFileSize(
|
|
162
|
+
file: file,
|
|
163
|
+
error: checkFileSize(file),
|
|
184
164
|
preview: previews[index]
|
|
185
165
|
};
|
|
186
166
|
return fileInfo;
|
|
@@ -222,11 +202,7 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
222
202
|
case 3:
|
|
223
203
|
filesToAdd = _context2.sent;
|
|
224
204
|
finalFiles = [].concat((0, _toConsumableArray2["default"])(files), (0, _toConsumableArray2["default"])(filesToAdd));
|
|
225
|
-
|
|
226
|
-
if (typeof callbackFile === "function") {
|
|
227
|
-
callbackFile(finalFiles);
|
|
228
|
-
}
|
|
229
|
-
|
|
205
|
+
callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(finalFiles);
|
|
230
206
|
_context2.next = 19;
|
|
231
207
|
break;
|
|
232
208
|
|
|
@@ -253,10 +229,7 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
253
229
|
|
|
254
230
|
case 17:
|
|
255
231
|
fileToAdd = _context2.t0;
|
|
256
|
-
|
|
257
|
-
if (typeof callbackFile === "function") {
|
|
258
|
-
callbackFile(fileToAdd);
|
|
259
|
-
}
|
|
232
|
+
callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(fileToAdd);
|
|
260
233
|
|
|
261
234
|
case 19:
|
|
262
235
|
case "end":
|
|
@@ -279,17 +252,18 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
279
252
|
addFile(filesArray);
|
|
280
253
|
};
|
|
281
254
|
|
|
282
|
-
var onDelete = function
|
|
255
|
+
var onDelete = (0, _react.useCallback)(function (fileName) {
|
|
283
256
|
var filesCopy = (0, _toConsumableArray2["default"])(files);
|
|
284
257
|
var fileToRemove = filesCopy.find(function (file) {
|
|
285
258
|
return file.file.name === fileName;
|
|
286
259
|
});
|
|
287
260
|
var fileIndex = filesCopy.indexOf(fileToRemove);
|
|
288
261
|
filesCopy.splice(fileIndex, 1);
|
|
262
|
+
callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(filesCopy);
|
|
263
|
+
}, [files, callbackFile]);
|
|
289
264
|
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
}
|
|
265
|
+
var handleClick = function handleClick() {
|
|
266
|
+
document.getElementById(fileInputId).click();
|
|
293
267
|
};
|
|
294
268
|
|
|
295
269
|
var handleDrag = function handleDrag(e) {
|
|
@@ -298,7 +272,9 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
298
272
|
};
|
|
299
273
|
|
|
300
274
|
var handleDragIn = function handleDragIn(e) {
|
|
301
|
-
|
|
275
|
+
var _e$dataTransfer$items;
|
|
276
|
+
|
|
277
|
+
if (((_e$dataTransfer$items = e.dataTransfer.items) === null || _e$dataTransfer$items === void 0 ? void 0 : _e$dataTransfer$items.length) > 0) setIsDragging(true);
|
|
302
278
|
};
|
|
303
279
|
|
|
304
280
|
var handleDragOut = function handleDragOut(e) {
|
|
@@ -312,7 +288,7 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
312
288
|
setIsDragging(false);
|
|
313
289
|
var filesObject = e.dataTransfer.files;
|
|
314
290
|
|
|
315
|
-
if (filesObject
|
|
291
|
+
if ((filesObject === null || filesObject === void 0 ? void 0 : filesObject.length) > 0) {
|
|
316
292
|
var filesArray = Object.keys(filesObject).map(function (key) {
|
|
317
293
|
return filesObject[key];
|
|
318
294
|
});
|
|
@@ -320,55 +296,128 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
320
296
|
}
|
|
321
297
|
};
|
|
322
298
|
|
|
299
|
+
(0, _react.useEffect)(function () {
|
|
300
|
+
var getFiles = /*#__PURE__*/function () {
|
|
301
|
+
var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
302
|
+
var valueFiles;
|
|
303
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
304
|
+
while (1) {
|
|
305
|
+
switch (_context4.prev = _context4.next) {
|
|
306
|
+
case 0:
|
|
307
|
+
if (!value) {
|
|
308
|
+
_context4.next = 5;
|
|
309
|
+
break;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
_context4.next = 3;
|
|
313
|
+
return Promise.all(value.map( /*#__PURE__*/function () {
|
|
314
|
+
var _ref5 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(file) {
|
|
315
|
+
var preview;
|
|
316
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
317
|
+
while (1) {
|
|
318
|
+
switch (_context3.prev = _context3.next) {
|
|
319
|
+
case 0:
|
|
320
|
+
if (!file.preview) {
|
|
321
|
+
_context3.next = 4;
|
|
322
|
+
break;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
return _context3.abrupt("return", file);
|
|
326
|
+
|
|
327
|
+
case 4:
|
|
328
|
+
_context3.next = 6;
|
|
329
|
+
return getFilePreview(file.file);
|
|
330
|
+
|
|
331
|
+
case 6:
|
|
332
|
+
preview = _context3.sent;
|
|
333
|
+
return _context3.abrupt("return", _objectSpread(_objectSpread({}, file), {}, {
|
|
334
|
+
preview: preview
|
|
335
|
+
}));
|
|
336
|
+
|
|
337
|
+
case 8:
|
|
338
|
+
case "end":
|
|
339
|
+
return _context3.stop();
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
}, _callee3);
|
|
343
|
+
}));
|
|
344
|
+
|
|
345
|
+
return function (_x3) {
|
|
346
|
+
return _ref5.apply(this, arguments);
|
|
347
|
+
};
|
|
348
|
+
}()));
|
|
349
|
+
|
|
350
|
+
case 3:
|
|
351
|
+
valueFiles = _context4.sent;
|
|
352
|
+
setFiles(valueFiles);
|
|
353
|
+
|
|
354
|
+
case 5:
|
|
355
|
+
case "end":
|
|
356
|
+
return _context4.stop();
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
}, _callee4);
|
|
360
|
+
}));
|
|
361
|
+
|
|
362
|
+
return function getFiles() {
|
|
363
|
+
return _ref4.apply(this, arguments);
|
|
364
|
+
};
|
|
365
|
+
}();
|
|
366
|
+
|
|
367
|
+
getFiles();
|
|
368
|
+
}, [value]);
|
|
323
369
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
324
370
|
theme: colorsTheme.fileInput
|
|
325
371
|
}, /*#__PURE__*/_react["default"].createElement(FileInputContainer, {
|
|
326
372
|
margin: margin,
|
|
327
|
-
name: name
|
|
373
|
+
name: name,
|
|
374
|
+
ref: ref
|
|
328
375
|
}, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
329
376
|
htmlFor: fileInputId,
|
|
330
377
|
disabled: disabled
|
|
331
378
|
}, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
332
379
|
disabled: disabled
|
|
333
380
|
}, helperText), mode === "file" ? /*#__PURE__*/_react["default"].createElement(FileContainer, {
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
}, /*#__PURE__*/_react["default"].createElement(HiddenInputFile, {
|
|
381
|
+
singleFileMode: !multiple && files.length === 1
|
|
382
|
+
}, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
337
383
|
id: fileInputId,
|
|
338
384
|
type: "file",
|
|
339
385
|
accept: accept,
|
|
340
386
|
multiple: multiple,
|
|
341
|
-
onChange: selectFiles
|
|
387
|
+
onChange: selectFiles,
|
|
388
|
+
name: name,
|
|
389
|
+
disabled: disabled,
|
|
390
|
+
readOnly: true,
|
|
391
|
+
"aria-hidden": "true"
|
|
342
392
|
}), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
343
393
|
mode: "secondary",
|
|
344
|
-
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : multiple ?
|
|
394
|
+
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : multiple ? translatedLabels.fileInput.multipleButtonLabelDefault : translatedLabels.fileInput.singleButtonLabelDefault,
|
|
345
395
|
onClick: handleClick,
|
|
346
396
|
disabled: disabled,
|
|
347
|
-
size: "
|
|
397
|
+
size: "fitContent",
|
|
348
398
|
tabIndex: tabIndex
|
|
349
|
-
}), files.map(function (file) {
|
|
350
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
351
|
-
|
|
352
|
-
multiple: multiple,
|
|
353
|
-
files: files
|
|
354
|
-
}, /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
355
|
-
mode: mode,
|
|
356
|
-
multiple: multiple,
|
|
357
|
-
name: file.file.name,
|
|
399
|
+
}), files.length > 0 && /*#__PURE__*/_react["default"].createElement(FileItemListContainer, null, files.map(function (file, index) {
|
|
400
|
+
return /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
401
|
+
fileName: file.file.name,
|
|
358
402
|
error: file.error,
|
|
403
|
+
singleFileMode: !multiple && files.length === 1,
|
|
359
404
|
showPreview: mode === "file" && !multiple ? false : showPreview,
|
|
360
|
-
numFiles: files.length,
|
|
361
405
|
preview: file.preview,
|
|
362
406
|
type: file.file.type,
|
|
363
407
|
onDelete: onDelete,
|
|
364
|
-
tabIndex: tabIndex
|
|
365
|
-
|
|
366
|
-
|
|
408
|
+
tabIndex: tabIndex,
|
|
409
|
+
key: "file-".concat(index)
|
|
410
|
+
});
|
|
411
|
+
}))) : /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
367
412
|
id: fileInputId,
|
|
368
413
|
type: "file",
|
|
369
414
|
accept: accept,
|
|
370
415
|
multiple: multiple,
|
|
371
|
-
onChange: selectFiles
|
|
416
|
+
onChange: selectFiles,
|
|
417
|
+
name: name,
|
|
418
|
+
disabled: disabled,
|
|
419
|
+
readOnly: true,
|
|
420
|
+
"aria-hidden": "true"
|
|
372
421
|
}), /*#__PURE__*/_react["default"].createElement(DragDropArea, {
|
|
373
422
|
isDragging: isDragging,
|
|
374
423
|
disabled: disabled,
|
|
@@ -377,39 +426,30 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
377
426
|
onDragEnter: handleDragIn,
|
|
378
427
|
onDragOver: handleDrag,
|
|
379
428
|
onDragLeave: handleDragOut
|
|
380
|
-
}, /*#__PURE__*/_react["default"].createElement(ButtonContainer, {
|
|
381
|
-
mode: mode
|
|
382
429
|
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
383
430
|
mode: "secondary",
|
|
384
|
-
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel :
|
|
431
|
+
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : translatedLabels.fileInput.dropAreaButtonLabelDefault,
|
|
385
432
|
onClick: handleClick,
|
|
386
433
|
disabled: disabled,
|
|
387
434
|
size: "fitContent"
|
|
388
|
-
})
|
|
435
|
+
}), mode === "dropzone" ? /*#__PURE__*/_react["default"].createElement(DropzoneLabel, {
|
|
389
436
|
disabled: disabled
|
|
390
|
-
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ?
|
|
437
|
+
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault) : /*#__PURE__*/_react["default"].createElement(FiledropLabel, {
|
|
391
438
|
disabled: disabled
|
|
392
|
-
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ?
|
|
393
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
394
|
-
|
|
395
|
-
multiple: multiple,
|
|
396
|
-
files: files
|
|
397
|
-
}, /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
398
|
-
mode: mode,
|
|
399
|
-
multiple: multiple,
|
|
400
|
-
name: file.file.name,
|
|
439
|
+
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault)), files.length > 0 && /*#__PURE__*/_react["default"].createElement(FileItemListContainer, null, files.map(function (file, index) {
|
|
440
|
+
return /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
441
|
+
fileName: file.file.name,
|
|
401
442
|
error: file.error,
|
|
443
|
+
singleFileMode: false,
|
|
402
444
|
showPreview: showPreview,
|
|
403
|
-
numFiles: files.length,
|
|
404
445
|
preview: file.preview,
|
|
405
446
|
type: file.file.type,
|
|
406
447
|
onDelete: onDelete,
|
|
407
|
-
tabIndex: tabIndex
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
};
|
|
448
|
+
tabIndex: tabIndex,
|
|
449
|
+
key: "file-".concat(index)
|
|
450
|
+
});
|
|
451
|
+
}))), mode === "file" && !multiple && files.length === 1 && files[0].error && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, files[0].error)));
|
|
452
|
+
});
|
|
413
453
|
|
|
414
454
|
var FileInputContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: fit-content;\n"])), function (props) {
|
|
415
455
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
@@ -447,12 +487,20 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
|
|
|
447
487
|
return props.theme.helperTextLineHeight;
|
|
448
488
|
});
|
|
449
489
|
|
|
450
|
-
var
|
|
451
|
-
return props.
|
|
452
|
-
}
|
|
453
|
-
|
|
490
|
+
var FileContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", "\n margin-top: 0.25rem;\n"])), function (props) {
|
|
491
|
+
return props.singleFileMode ? "flex-direction: row; column-gap: 0.25rem;" : "flex-direction: column; row-gap: 0.25rem;";
|
|
492
|
+
});
|
|
493
|
+
|
|
494
|
+
var ValueInput = _styledComponents["default"].input(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
495
|
+
|
|
496
|
+
var FileItemListContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n row-gap: 0.25rem;\n"])));
|
|
497
|
+
|
|
498
|
+
var Container = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n row-gap: 0.25rem;\n margin-top: 0.25rem;\n"])));
|
|
499
|
+
|
|
500
|
+
var DragDropArea = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n ", "\n align-items: center;\n width: 320px;\n padding: ", ";\n overflow: hidden;\n box-shadow: 0 0 0 2px transparent;\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n ", "\n cursor: ", ";\n"])), function (props) {
|
|
501
|
+
return props.mode === "filedrop" ? "flex-direction: row; column-gap: 0.75rem; height: 48px;" : "justify-content: center; flex-direction: column; row-gap: 0.5rem; height: 160px;";
|
|
454
502
|
}, function (props) {
|
|
455
|
-
return props.mode === "filedrop" ? "
|
|
503
|
+
return props.mode === "filedrop" ? "calc(4px - ".concat(props.theme.dropBorderThickness, ") 1rem calc(4px - ").concat(props.theme.dropBorderThickness, ") calc(4px - ").concat(props.theme.dropBorderThickness, ")") : "1rem";
|
|
456
504
|
}, function (props) {
|
|
457
505
|
return props.theme.dropBorderRadius;
|
|
458
506
|
}, function (props) {
|
|
@@ -467,17 +515,7 @@ var DragDropArea = _styledComponents["default"].div(_templateObject4 || (_templa
|
|
|
467
515
|
return props.disabled && "not-allowed";
|
|
468
516
|
});
|
|
469
517
|
|
|
470
|
-
var
|
|
471
|
-
return props.multiple || props.files.length > 1 ? "column" : "row";
|
|
472
|
-
});
|
|
473
|
-
|
|
474
|
-
var HiddenInputFile = _styledComponents["default"].input(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n visibility: hidden;\n position: absolute;\n width: 0px;\n height: 0px;\n"])));
|
|
475
|
-
|
|
476
|
-
var ButtonContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
|
|
477
|
-
return props.mode === "filedrop" && "padding: 2px 12px 2px 3px";
|
|
478
|
-
});
|
|
479
|
-
|
|
480
|
-
var DropzoneLabel = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: -webkit-box;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 3;\n text-align: center;\n margin-top: 0.5rem;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
518
|
+
var DropzoneLabel = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: -webkit-box;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 3;\n text-align: center;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
481
519
|
return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
|
|
482
520
|
}, function (props) {
|
|
483
521
|
return props.theme.dropLabelFontFamily;
|
|
@@ -487,7 +525,7 @@ var DropzoneLabel = _styledComponents["default"].div(_templateObject8 || (_templ
|
|
|
487
525
|
return props.theme.dropLabelFontWeight;
|
|
488
526
|
});
|
|
489
527
|
|
|
490
|
-
var FiledropLabel = _styledComponents["default"].span(
|
|
528
|
+
var FiledropLabel = _styledComponents["default"].span(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
491
529
|
return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
|
|
492
530
|
}, function (props) {
|
|
493
531
|
return props.theme.dropLabelFontFamily;
|
|
@@ -497,15 +535,7 @@ var FiledropLabel = _styledComponents["default"].span(_templateObject9 || (_temp
|
|
|
497
535
|
return props.theme.dropLabelFontWeight;
|
|
498
536
|
});
|
|
499
537
|
|
|
500
|
-
var
|
|
501
|
-
|
|
502
|
-
var FileItemContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
503
|
-
return (props.multiple || props.files.length > 1 || props.mode !== "file") && "4px";
|
|
504
|
-
}, function (props) {
|
|
505
|
-
return props.mode === "file" && props.files.length === 1 && !props.multiple && "4px";
|
|
506
|
-
});
|
|
507
|
-
|
|
508
|
-
var ErrorMessage = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n margin-top: 0.25rem;\n"])), function (props) {
|
|
538
|
+
var ErrorMessage = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n margin-top: 0.25rem;\n"])), function (props) {
|
|
509
539
|
return props.theme.errorMessageFontColor;
|
|
510
540
|
}, function (props) {
|
|
511
541
|
return props.theme.errorMessageFontFamily;
|