@dxc-technology/halstack-react 0.0.0-da90bf9 → 0.0.0-da9270d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +1 -0
- package/BackgroundColorContext.js +8 -24
- package/HalstackContext.d.ts +1235 -0
- package/HalstackContext.js +310 -0
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +4 -0
- package/accordion/Accordion.js +120 -291
- package/accordion/Accordion.stories.tsx +283 -0
- package/accordion/Accordion.test.js +56 -0
- package/accordion/types.d.ts +57 -0
- package/accordion/types.js +5 -0
- package/accordion-group/AccordionGroup.d.ts +8 -0
- package/accordion-group/AccordionGroup.js +57 -142
- package/accordion-group/AccordionGroup.stories.tsx +252 -0
- package/accordion-group/AccordionGroup.test.js +98 -0
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/types.d.ts +67 -0
- package/accordion-group/types.js +5 -0
- package/alert/Alert.d.ts +4 -0
- package/alert/Alert.js +55 -204
- package/alert/Alert.stories.tsx +198 -0
- package/alert/Alert.test.js +75 -0
- package/alert/types.d.ts +49 -0
- package/alert/types.js +5 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +15 -30
- package/badge/types.d.ts +5 -0
- package/badge/types.js +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +43 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.d.ts +4 -0
- package/box/Box.js +35 -116
- package/box/Box.stories.tsx +119 -0
- package/box/Box.test.js +13 -0
- package/box/types.d.ts +32 -0
- package/box/types.js +5 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +89 -0
- package/bulleted-list/BulletedList.stories.tsx +115 -0
- package/bulleted-list/types.d.ts +38 -0
- package/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +4 -0
- package/button/Button.js +67 -185
- package/button/Button.stories.tsx +344 -0
- package/button/Button.test.js +36 -0
- package/button/types.d.ts +57 -0
- package/button/types.js +5 -0
- package/card/Card.d.ts +4 -0
- package/card/Card.js +60 -194
- package/card/Card.stories.tsx +171 -0
- package/card/Card.test.js +39 -0
- package/card/types.d.ts +62 -0
- package/card/types.js +5 -0
- package/checkbox/Checkbox.d.ts +4 -0
- package/checkbox/Checkbox.js +147 -231
- package/checkbox/Checkbox.stories.tsx +222 -0
- package/checkbox/Checkbox.test.js +199 -0
- package/checkbox/types.d.ts +72 -0
- package/checkbox/types.js +5 -0
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +50 -194
- package/chip/Chip.stories.tsx +214 -0
- package/chip/Chip.test.js +41 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1381 -0
- package/common/variables.js +1006 -1319
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/container/types.js +5 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.d.ts +4 -0
- package/date-input/DateInput.js +179 -356
- package/date-input/DateInput.stories.tsx +285 -0
- package/date-input/DateInput.test.js +808 -0
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +115 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +58 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +164 -0
- package/date-input/types.js +5 -0
- package/dialog/Dialog.d.ts +4 -0
- package/dialog/Dialog.js +70 -184
- package/dialog/Dialog.stories.tsx +365 -0
- package/dialog/Dialog.test.js +307 -0
- package/dialog/types.d.ts +36 -0
- package/dialog/types.js +5 -0
- package/dropdown/Dropdown.d.ts +4 -0
- package/dropdown/Dropdown.js +247 -457
- package/dropdown/Dropdown.stories.tsx +438 -0
- package/dropdown/Dropdown.test.js +599 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +63 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +67 -0
- package/dropdown/types.d.ts +98 -0
- package/dropdown/types.js +5 -0
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +297 -462
- package/file-input/FileInput.stories.tsx +618 -0
- package/file-input/FileInput.test.js +459 -0
- package/file-input/FileItem.d.ts +4 -0
- package/file-input/FileItem.js +61 -213
- package/file-input/types.d.ts +129 -0
- package/file-input/types.js +5 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/flex/types.js +5 -0
- package/footer/Footer.d.ts +4 -0
- package/footer/Footer.js +64 -360
- package/footer/Footer.stories.tsx +152 -0
- package/footer/Footer.test.js +85 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +16 -21
- package/footer/types.d.ts +58 -0
- package/footer/types.js +5 -0
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +76 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/grid/types.js +5 -0
- package/header/Header.d.ts +8 -0
- package/header/Header.js +122 -372
- package/header/Header.stories.tsx +251 -0
- package/header/Header.test.js +66 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +9 -39
- package/header/types.d.ts +33 -0
- package/header/types.js +5 -0
- package/heading/Heading.d.ts +4 -0
- package/heading/Heading.js +31 -124
- package/heading/Heading.stories.tsx +54 -0
- package/heading/Heading.test.js +169 -0
- package/heading/types.d.ts +33 -0
- package/heading/types.js +5 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +43 -0
- package/inset/Inset.stories.tsx +230 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +20 -0
- package/layout/ApplicationLayout.js +85 -278
- package/layout/ApplicationLayout.stories.tsx +162 -0
- package/layout/Icons.d.ts +8 -0
- package/layout/Icons.js +51 -48
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +13 -0
- package/layout/types.d.ts +41 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +4 -0
- package/link/Link.js +67 -189
- package/link/Link.stories.tsx +253 -0
- package/link/Link.test.js +63 -0
- package/link/types.d.ts +54 -0
- package/link/types.js +5 -0
- package/main.d.ts +46 -40
- package/main.js +117 -140
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +90 -0
- package/nav-tabs/NavTabs.stories.tsx +274 -0
- package/nav-tabs/NavTabs.test.js +75 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +117 -0
- package/nav-tabs/types.d.ts +52 -0
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.d.ts +11 -0
- package/number-input/NumberInput.js +32 -101
- package/number-input/NumberInput.stories.tsx +131 -0
- package/number-input/NumberInput.test.js +830 -0
- package/number-input/types.d.ts +130 -0
- package/number-input/types.js +5 -0
- package/package.json +53 -49
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +26 -52
- package/paginator/Paginator.d.ts +4 -0
- package/paginator/Paginator.js +41 -211
- package/paginator/Paginator.stories.tsx +87 -0
- package/paginator/Paginator.test.js +335 -0
- package/paginator/types.d.ts +38 -0
- package/paginator/types.js +5 -0
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +22 -0
- package/paragraph/Paragraph.stories.tsx +27 -0
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.d.ts +4 -0
- package/password-input/PasswordInput.js +66 -172
- package/password-input/PasswordInput.stories.tsx +99 -0
- package/password-input/PasswordInput.test.js +198 -0
- package/password-input/types.d.ts +111 -0
- package/password-input/types.js +5 -0
- package/progress-bar/ProgressBar.d.ts +4 -0
- package/progress-bar/ProgressBar.js +76 -174
- package/progress-bar/ProgressBar.stories.tsx +93 -0
- package/progress-bar/ProgressBar.test.js +93 -0
- package/progress-bar/types.d.ts +37 -0
- package/progress-bar/types.js +5 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +94 -0
- package/quick-nav/QuickNav.stories.tsx +356 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +124 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +235 -0
- package/radio-group/RadioGroup.stories.tsx +214 -0
- package/radio-group/RadioGroup.test.js +756 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.d.ts +4 -0
- package/resultset-table/ResultsetTable.js +159 -0
- package/resultset-table/ResultsetTable.stories.tsx +300 -0
- package/resultset-table/ResultsetTable.test.js +305 -0
- package/resultset-table/types.d.ts +67 -0
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +89 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +143 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +80 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +294 -849
- package/select/Select.stories.tsx +971 -0
- package/select/Select.test.js +2370 -0
- package/select/types.d.ts +209 -0
- package/select/types.js +5 -0
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- package/sidenav/Sidenav.d.ts +10 -0
- package/sidenav/Sidenav.js +134 -117
- package/sidenav/Sidenav.stories.tsx +282 -0
- package/sidenav/Sidenav.test.js +37 -0
- package/sidenav/types.d.ts +76 -0
- package/sidenav/types.js +5 -0
- package/slider/Slider.d.ts +4 -0
- package/slider/Slider.js +172 -291
- package/slider/Slider.test.js +254 -0
- package/slider/types.d.ts +86 -0
- package/slider/types.js +5 -0
- package/spinner/Spinner.d.ts +4 -0
- package/spinner/Spinner.js +66 -241
- package/spinner/Spinner.stories.tsx +129 -0
- package/spinner/Spinner.test.js +55 -0
- package/spinner/types.d.ts +32 -0
- package/spinner/types.js +5 -0
- package/switch/Switch.d.ts +4 -0
- package/switch/Switch.js +153 -161
- package/switch/Switch.stories.tsx +137 -0
- package/switch/Switch.test.js +180 -0
- package/switch/types.d.ts +66 -0
- package/switch/types.js +5 -0
- package/table/Table.d.ts +4 -0
- package/table/Table.js +14 -50
- package/table/Table.stories.tsx +356 -0
- package/table/Table.test.js +21 -0
- package/table/types.d.ts +21 -0
- package/table/types.js +5 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +113 -0
- package/tabs/Tabs.d.ts +4 -0
- package/tabs/Tabs.js +322 -281
- package/tabs/Tabs.stories.tsx +226 -0
- package/tabs/Tabs.test.js +294 -0
- package/tabs/types.d.ts +92 -0
- package/tabs/types.js +5 -0
- package/tag/Tag.d.ts +4 -0
- package/tag/Tag.js +61 -192
- package/tag/Tag.stories.tsx +155 -0
- package/tag/Tag.test.js +49 -0
- package/tag/types.d.ts +69 -0
- package/tag/types.js +5 -0
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +56 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +67 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +84 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +360 -757
- package/text-input/TextInput.stories.tsx +465 -0
- package/text-input/TextInput.test.js +1739 -0
- package/text-input/types.d.ts +205 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +105 -240
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +406 -0
- package/textarea/types.d.ts +141 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +107 -233
- package/toggle-group/ToggleGroup.stories.tsx +218 -0
- package/toggle-group/ToggleGroup.test.js +137 -0
- package/toggle-group/types.d.ts +114 -0
- package/toggle-group/types.js +5 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +23 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +1134 -0
- package/useTheme.js +4 -11
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +14 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +121 -0
- package/wizard/Wizard.d.ts +4 -0
- package/wizard/Wizard.js +138 -293
- package/wizard/Wizard.stories.tsx +253 -0
- package/wizard/Wizard.test.js +114 -0
- package/wizard/types.d.ts +64 -0
- package/wizard/types.js +5 -0
- package/ThemeContext.js +0 -250
- package/V3Select/V3Select.js +0 -549
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -264
- package/V3Textarea/index.d.ts +0 -27
- package/accordion/index.d.ts +0 -28
- package/accordion-group/index.d.ts +0 -16
- package/alert/index.d.ts +0 -51
- package/box/index.d.ts +0 -25
- package/button/Button.stories.js +0 -27
- package/button/index.d.ts +0 -24
- package/card/index.d.ts +0 -22
- package/checkbox/index.d.ts +0 -24
- package/chip/index.d.ts +0 -22
- package/common/RequiredComponent.js +0 -40
- package/date/Date.js +0 -379
- package/date/index.d.ts +0 -27
- package/date-input/index.d.ts +0 -95
- package/dialog/index.d.ts +0 -18
- package/dropdown/index.d.ts +0 -26
- package/file-input/index.d.ts +0 -81
- package/footer/index.d.ts +0 -25
- package/header/index.d.ts +0 -25
- package/heading/index.d.ts +0 -17
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -705
- package/input-text/index.d.ts +0 -36
- package/link/index.d.ts +0 -23
- package/number-input/NumberInputContext.js +0 -16
- package/number-input/index.d.ts +0 -113
- package/paginator/index.d.ts +0 -20
- package/password-input/index.d.ts +0 -94
- package/progress-bar/index.d.ts +0 -18
- package/radio/Radio.js +0 -209
- package/radio/index.d.ts +0 -23
- package/resultsetTable/ResultsetTable.js +0 -358
- package/resultsetTable/index.d.ts +0 -19
- package/select/index.d.ts +0 -131
- package/sidenav/index.d.ts +0 -13
- package/slider/index.d.ts +0 -29
- package/spinner/index.d.ts +0 -17
- package/switch/index.d.ts +0 -24
- package/table/index.d.ts +0 -13
- package/tabs/index.d.ts +0 -19
- package/tag/index.d.ts +0 -24
- package/text-input/index.d.ts +0 -135
- package/textarea/index.d.ts +0 -117
- package/toggle/Toggle.js +0 -220
- package/toggle/index.d.ts +0 -21
- package/toggle-group/index.d.ts +0 -21
- package/upload/Upload.js +0 -205
- package/upload/buttons-upload/ButtonsUpload.js +0 -135
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -329
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -189
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -123
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -148
- package/upload/transactions/Transactions.js +0 -138
- package/wizard/Icons.js +0 -65
- package/wizard/index.d.ts +0 -18
package/file-input/FileItem.js
CHANGED
|
@@ -1,243 +1,105 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
-
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
10
|
var _react = _interopRequireDefault(require("react"));
|
|
15
|
-
|
|
16
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
|
-
|
|
18
11
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
19
|
-
|
|
20
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return data;
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
return data;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
function _templateObject9() {
|
|
33
|
-
var data = (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: 4px;\n margin-left: 4px;\n background-color: transparent;\n padding: 3px;\n cursor: pointer;\n svg {\n line-height: 18px;\n }\n &:hover {\n background-color: ", ";\n }\n &:focus {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n }\n"]);
|
|
34
|
-
|
|
35
|
-
_templateObject9 = function _templateObject9() {
|
|
36
|
-
return data;
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
return data;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
function _templateObject8() {
|
|
43
|
-
var data = (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"]);
|
|
44
|
-
|
|
45
|
-
_templateObject8 = function _templateObject8() {
|
|
46
|
-
return data;
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
return data;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function _templateObject7() {
|
|
53
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n width: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
|
|
54
|
-
|
|
55
|
-
_templateObject7 = function _templateObject7() {
|
|
56
|
-
return data;
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
return data;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function _templateObject6() {
|
|
63
|
-
var data = (0, _taggedTemplateLiteral2["default"])([""]);
|
|
64
|
-
|
|
65
|
-
_templateObject6 = function _templateObject6() {
|
|
66
|
-
return data;
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
return data;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
function _templateObject5() {
|
|
73
|
-
var data = (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"]);
|
|
74
|
-
|
|
75
|
-
_templateObject5 = function _templateObject5() {
|
|
76
|
-
return data;
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
return data;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function _templateObject4() {
|
|
83
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 48px;\n height: 48px;\n object-fit: contain;\n margin-right: 12px;\n border-radius: 2px;\n"]);
|
|
84
|
-
|
|
85
|
-
_templateObject4 = function _templateObject4() {
|
|
86
|
-
return data;
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
return data;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
function _templateObject3() {
|
|
93
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n align-items: center;\n"]);
|
|
94
|
-
|
|
95
|
-
_templateObject3 = function _templateObject3() {
|
|
96
|
-
return data;
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
return data;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
function _templateObject2() {
|
|
103
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n"]);
|
|
104
|
-
|
|
105
|
-
_templateObject2 = function _templateObject2() {
|
|
106
|
-
return data;
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
return data;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
function _templateObject() {
|
|
113
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n padding: ", ";\n background-color: ", ";\n border-radius: ", ";\n width: ", ";\n min-height: ", ";\n border-color: ", ";\n border-width: ", ";\n border-style: ", ";\n display: flex;\n justify-content: center;\n"]);
|
|
114
|
-
|
|
115
|
-
_templateObject = function _templateObject() {
|
|
116
|
-
return data;
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
return data;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
var deleteIcon = _react["default"].createElement("svg", {
|
|
12
|
+
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
13
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
14
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
15
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
16
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
17
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
18
|
+
var deleteIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
123
19
|
xmlns: "http://www.w3.org/2000/svg",
|
|
124
20
|
width: "24",
|
|
125
21
|
height: "24",
|
|
126
22
|
viewBox: "0 0 24 24",
|
|
127
23
|
fill: "currentColor"
|
|
128
|
-
}, _react["default"].createElement("path", {
|
|
24
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
129
25
|
d: "M0 0h24v24H0V0z",
|
|
130
26
|
fill: "none"
|
|
131
|
-
}), _react["default"].createElement("path", {
|
|
27
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
132
28
|
d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
|
|
133
29
|
}));
|
|
134
|
-
|
|
135
|
-
var errorIcon = _react["default"].createElement("svg", {
|
|
30
|
+
var errorIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
136
31
|
xmlns: "http://www.w3.org/2000/svg",
|
|
137
32
|
height: "24px",
|
|
138
33
|
viewBox: "0 0 24 24",
|
|
139
34
|
width: "24px",
|
|
140
35
|
fill: "currentColor"
|
|
141
|
-
}, _react["default"].createElement("path", {
|
|
36
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
142
37
|
d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"
|
|
143
38
|
}));
|
|
144
|
-
|
|
145
39
|
var FileItem = function FileItem(_ref) {
|
|
146
|
-
var
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
onDelete = _ref.onDelete;
|
|
40
|
+
var _ref$fileName = _ref.fileName,
|
|
41
|
+
fileName = _ref$fileName === void 0 ? "" : _ref$fileName,
|
|
42
|
+
_ref$error = _ref.error,
|
|
43
|
+
error = _ref$error === void 0 ? "" : _ref$error,
|
|
44
|
+
singleFileMode = _ref.singleFileMode,
|
|
45
|
+
showPreview = _ref.showPreview,
|
|
46
|
+
preview = _ref.preview,
|
|
47
|
+
type = _ref.type,
|
|
48
|
+
onDelete = _ref.onDelete,
|
|
49
|
+
tabIndex = _ref.tabIndex;
|
|
157
50
|
var colorsTheme = (0, _useTheme["default"])();
|
|
158
|
-
var
|
|
159
|
-
|
|
51
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
160
52
|
var getIconAriaLabel = function getIconAriaLabel() {
|
|
161
|
-
if (type.includes("video"))
|
|
162
|
-
return "video";
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
if (type.includes("audio")) {
|
|
166
|
-
return "audio";
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
return "file";
|
|
53
|
+
if (type.includes("video")) return "video";else if (type.includes("audio")) return "audio";else return "file";
|
|
170
54
|
};
|
|
171
|
-
|
|
172
|
-
return _react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
55
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
173
56
|
theme: colorsTheme.fileInput
|
|
174
|
-
}, _react["default"].createElement(
|
|
175
|
-
mode: mode,
|
|
176
|
-
multiple: multiple,
|
|
57
|
+
}, /*#__PURE__*/_react["default"].createElement(MainContainer, {
|
|
177
58
|
error: error,
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
}, showPreview && (
|
|
59
|
+
singleFileMode: singleFileMode,
|
|
60
|
+
showPreview: showPreview
|
|
61
|
+
}, showPreview && (type.includes("image") ? /*#__PURE__*/_react["default"].createElement(ImagePreview, {
|
|
181
62
|
src: preview,
|
|
182
|
-
alt:
|
|
183
|
-
}) : _react["default"].createElement(
|
|
63
|
+
alt: fileName
|
|
64
|
+
}) : /*#__PURE__*/_react["default"].createElement(IconPreview, {
|
|
184
65
|
error: error,
|
|
185
66
|
"aria-label": getIconAriaLabel()
|
|
186
|
-
}, _react["default"].createElement(
|
|
187
|
-
|
|
188
|
-
},
|
|
189
|
-
mode: mode,
|
|
190
|
-
multiple: multiple,
|
|
191
|
-
error: error,
|
|
192
|
-
showPreview: showPreview,
|
|
193
|
-
numFiles: numFiles
|
|
194
|
-
}, name), error && _react["default"].createElement(ErrorIcon, {
|
|
195
|
-
"aria-label": "Error"
|
|
196
|
-
}, errorIcon), _react["default"].createElement(DeleteIcon, {
|
|
197
|
-
error: error,
|
|
67
|
+
}, preview)), /*#__PURE__*/_react["default"].createElement(FileItemContent, null, /*#__PURE__*/_react["default"].createElement(FileName, null, fileName), /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
68
|
+
gap: "0.25rem"
|
|
69
|
+
}, error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, errorIcon), /*#__PURE__*/_react["default"].createElement(DeleteFileAction, {
|
|
198
70
|
onClick: function onClick() {
|
|
199
|
-
|
|
71
|
+
onDelete(fileName);
|
|
200
72
|
},
|
|
201
|
-
|
|
202
|
-
|
|
73
|
+
type: "button",
|
|
74
|
+
title: translatedLabels.fileInput.deleteFileActionTitle,
|
|
75
|
+
"aria-label": translatedLabels.fileInput.deleteFileActionTitle,
|
|
76
|
+
tabIndex: tabIndex
|
|
77
|
+
}, deleteIcon)), error && !singleFileMode && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, error))));
|
|
203
78
|
};
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
return props.showPreview ? "8px" : "8px 8px 8px 16px";
|
|
79
|
+
var MainContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n gap: 0.75rem;\n width: ", ";\n padding: ", ";\n ", ";\n border-color: ", ";\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n"])), function (props) {
|
|
80
|
+
return props.singleFileMode ? "230px" : "320px";
|
|
207
81
|
}, function (props) {
|
|
208
|
-
return props.
|
|
82
|
+
return props.showPreview ? "calc(8px - ".concat(props.theme.fileItemBorderThickness, ")") : "calc(8px - ".concat(props.theme.fileItemBorderThickness, ") calc(8px - ").concat(props.theme.fileItemBorderThickness, ") calc(8px - ").concat(props.theme.fileItemBorderThickness, ") 16px");
|
|
209
83
|
}, function (props) {
|
|
210
|
-
return props.theme.
|
|
211
|
-
}, function (props) {
|
|
212
|
-
return props.mode === "file" && !props.multiple && props.numFiles === 1 ? "calc(230px - 26px)" : !props.showPreview ? "calc(320px - 26px)" : props.showPreview && "calc(320px - 18px)";
|
|
213
|
-
}, function (props) {
|
|
214
|
-
return props.mode === "file" && !props.multiple && props.numFiles === 1 || !props.showPreview && !props.error ? "calc(40px - 18px)" : !props.showPreview && props.error ? "calc(59px - 18px)" : "calc(64px - 18px)";
|
|
84
|
+
return props.error ? "background-color: ".concat(props.theme.errorFileItemBackgroundColor, ";") : "";
|
|
215
85
|
}, function (props) {
|
|
216
86
|
return props.error ? props.theme.errorFileItemBorderColor : props.theme.fileItemBorderColor;
|
|
217
87
|
}, function (props) {
|
|
218
88
|
return props.theme.fileItemBorderThickness;
|
|
219
89
|
}, function (props) {
|
|
220
90
|
return props.theme.fileItemBorderStyle;
|
|
91
|
+
}, function (props) {
|
|
92
|
+
return props.theme.fileItemBorderRadius;
|
|
221
93
|
});
|
|
222
|
-
|
|
223
|
-
var
|
|
224
|
-
|
|
225
|
-
var FileItemContainer = _styledComponents["default"].div(_templateObject3());
|
|
226
|
-
|
|
227
|
-
var ImagePreview = _styledComponents["default"].img(_templateObject4());
|
|
228
|
-
|
|
229
|
-
var IconPreviewContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
|
|
230
|
-
return props.error ? props.theme.errorFileItemIconBackgroundColor : props.theme.fileItemIconBackgroundColor;
|
|
94
|
+
var ImagePreview = _styledComponents["default"].img(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: 48px;\n height: 48px;\n border-radius: 2px;\n object-fit: contain;\n"])));
|
|
95
|
+
var IconPreview = _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 background-color: ", ";\n width: 48px;\n height: 48px;\n padding: 15px;\n border-radius: 2px;\n color: ", ";\n\n svg {\n height: 18px;\n width: 18px;\n }\n"])), function (props) {
|
|
96
|
+
return props.error ? props.theme.errorFilePreviewBackgroundColor : props.theme.filePreviewBackgroundColor;
|
|
231
97
|
}, function (props) {
|
|
232
|
-
return props.error ? props.theme.
|
|
98
|
+
return props.error ? props.theme.errorFilePreviewIconColor : props.theme.filePreviewIconColor;
|
|
233
99
|
});
|
|
234
|
-
|
|
235
|
-
var
|
|
236
|
-
|
|
237
|
-
var FileName = _styledComponents["default"].span(_templateObject7(), function (props) {
|
|
100
|
+
var FileItemContent = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n display: grid;\n grid-template-columns: auto min-content;\n grid-template-rows: min-content auto;\n column-gap: 0.25rem;\n"])));
|
|
101
|
+
var FileName = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n align-self: center;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n"])), function (props) {
|
|
238
102
|
return props.theme.fileNameFontColor;
|
|
239
|
-
}, function (props) {
|
|
240
|
-
return props.mode === "file" && !props.multiple && props.error && props.numFiles === 1 ? "calc(230px - 76px)" : props.mode === "file" && !props.multiple && !props.error && props.numFiles === 1 ? "calc(230px - 50px)" : !props.showPreview && !props.error ? "calc(320px - 52px)" : !props.showPreview && props.error ? "calc(320px - 76px)" : props.showPreview && props.error ? "calc(320px - 128px)" : props.showPreview && !props.error && "calc(320px - 102px)";
|
|
241
103
|
}, function (props) {
|
|
242
104
|
return props.theme.fileItemFontFamily;
|
|
243
105
|
}, function (props) {
|
|
@@ -247,20 +109,19 @@ var FileName = _styledComponents["default"].span(_templateObject7(), function (p
|
|
|
247
109
|
}, function (props) {
|
|
248
110
|
return props.theme.fileItemLineHeight;
|
|
249
111
|
});
|
|
250
|
-
|
|
251
|
-
var
|
|
252
|
-
|
|
253
|
-
var DeleteIcon = _styledComponents["default"].button(_templateObject9(), function (props) {
|
|
112
|
+
var ErrorIcon = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (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"])));
|
|
113
|
+
var DeleteFileAction = _styledComponents["default"].button(_templateObject7 || (_templateObject7 = (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 background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n padding: 3px;\n cursor: pointer;\n color: ", ";\n\n svg {\n line-height: 18px;\n }\n &:hover {\n background-color: ", ";\n }\n &:focus,\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
|
|
254
114
|
return props.theme.fontFamily;
|
|
255
115
|
}, function (props) {
|
|
256
|
-
return props.
|
|
116
|
+
return props.theme.deleteFileItemColor;
|
|
257
117
|
}, function (props) {
|
|
258
|
-
return props.
|
|
118
|
+
return props.theme.hoverDeleteFileItemBackgroundColor;
|
|
259
119
|
}, function (props) {
|
|
260
|
-
return props.
|
|
120
|
+
return props.theme.focusDeleteFileItemBorderColor;
|
|
121
|
+
}, function (props) {
|
|
122
|
+
return props.theme.activeDeleteFileItemBackgroundColor;
|
|
261
123
|
});
|
|
262
|
-
|
|
263
|
-
var ErrorMessage = _styledComponents["default"].span(_templateObject10(), function (props) {
|
|
124
|
+
var ErrorMessage = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
|
|
264
125
|
return props.theme.errorMessageFontColor;
|
|
265
126
|
}, function (props) {
|
|
266
127
|
return props.theme.errorMessageFontFamily;
|
|
@@ -271,17 +132,4 @@ var ErrorMessage = _styledComponents["default"].span(_templateObject10(), functi
|
|
|
271
132
|
}, function (props) {
|
|
272
133
|
return props.theme.errorMessageLineHeight;
|
|
273
134
|
});
|
|
274
|
-
|
|
275
|
-
FileItem.propTypes = {
|
|
276
|
-
mode: _propTypes["default"].string,
|
|
277
|
-
multiple: _propTypes["default"].bool,
|
|
278
|
-
name: _propTypes["default"].string,
|
|
279
|
-
type: _propTypes["default"].string,
|
|
280
|
-
showPreview: _propTypes["default"]["boolean"],
|
|
281
|
-
numFiles: _propTypes["default"].number,
|
|
282
|
-
preview: _propTypes["default"].string,
|
|
283
|
-
error: _propTypes["default"].string,
|
|
284
|
-
onDelete: _propTypes["default"].func
|
|
285
|
-
};
|
|
286
|
-
var _default = FileItem;
|
|
287
|
-
exports["default"] = _default;
|
|
135
|
+
var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(FileItem);
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
+
type Margin = {
|
|
3
|
+
top?: Space;
|
|
4
|
+
bottom?: Space;
|
|
5
|
+
left?: Space;
|
|
6
|
+
right?: Space;
|
|
7
|
+
};
|
|
8
|
+
export type FileData = {
|
|
9
|
+
/**
|
|
10
|
+
* Selected file.
|
|
11
|
+
*/
|
|
12
|
+
file: File;
|
|
13
|
+
/**
|
|
14
|
+
* Error of the file. If it is defined, it will be shown and the file item will be mark as invalid.
|
|
15
|
+
*/
|
|
16
|
+
error?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Preview of the file.
|
|
19
|
+
*/
|
|
20
|
+
preview?: string;
|
|
21
|
+
};
|
|
22
|
+
type CommonProps = {
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated Name attribute.
|
|
25
|
+
*/
|
|
26
|
+
name?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Text to be placed above the component.
|
|
29
|
+
*/
|
|
30
|
+
label?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Text to be placed inside the button.
|
|
33
|
+
*/
|
|
34
|
+
buttonLabel?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Helper text to be placed above the component.
|
|
37
|
+
*/
|
|
38
|
+
helperText?: string;
|
|
39
|
+
/**
|
|
40
|
+
* The file types that the component accepts. Its value must be one of all the possible values of the HTML file input's accept attribute.
|
|
41
|
+
*/
|
|
42
|
+
accept?: string;
|
|
43
|
+
/**
|
|
44
|
+
* An array of files representing the selected files.
|
|
45
|
+
*/
|
|
46
|
+
value: FileData[];
|
|
47
|
+
/**
|
|
48
|
+
* The minimum file size (in bytes) allowed. If the size of the file does not comply the minSize, the file will have an error.
|
|
49
|
+
*/
|
|
50
|
+
minSize?: number;
|
|
51
|
+
/**
|
|
52
|
+
* The maximum file size (in bytes) allowed. If the size of the file does not comply the maxSize, the file will have an error.
|
|
53
|
+
*/
|
|
54
|
+
maxSize?: number;
|
|
55
|
+
/**
|
|
56
|
+
* If true, if the file is an image, a preview of it will be shown. If not, an icon refering to the file type will be shown.
|
|
57
|
+
*/
|
|
58
|
+
showPreview?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* If true, the component allows multiple file items and will show all of them. If false, only one file will be shown, and if there is already one
|
|
61
|
+
* file selected and a new one is chosen, it will be replaced by the new selected one.
|
|
62
|
+
*/
|
|
63
|
+
multiple?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* If true, the component will be disabled.
|
|
66
|
+
*/
|
|
67
|
+
disabled?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* This function will be called when the user selects or drops a file. The list of files will be sent as a parameter.
|
|
70
|
+
* In this function, the files can be updated or returned as they come. These files must be passed to the value in order to be shown.
|
|
71
|
+
*/
|
|
72
|
+
callbackFile: (files: FileData[]) => void;
|
|
73
|
+
/**
|
|
74
|
+
* Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
75
|
+
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
|
|
76
|
+
*/
|
|
77
|
+
margin?: Space | Margin;
|
|
78
|
+
/**
|
|
79
|
+
* Value of the tabindex attribute.
|
|
80
|
+
*/
|
|
81
|
+
tabIndex?: number;
|
|
82
|
+
};
|
|
83
|
+
type DropModeProps = CommonProps & {
|
|
84
|
+
/**
|
|
85
|
+
* Uses one of the available file input modes:
|
|
86
|
+
* 'file': Files are selected by clicking the button and selecting it through the file explorer.
|
|
87
|
+
* 'filedrop': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
|
|
88
|
+
* 'dropzone': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
|
|
89
|
+
* The drag and drop area of this mode is bigger than the one of the filedrop mode.
|
|
90
|
+
*/
|
|
91
|
+
mode: "filedrop" | "dropzone";
|
|
92
|
+
/**
|
|
93
|
+
* Text to be placed inside the drag and drop zone alongside the button.
|
|
94
|
+
*/
|
|
95
|
+
dropAreaLabel?: string;
|
|
96
|
+
};
|
|
97
|
+
type FileModeProps = CommonProps & {
|
|
98
|
+
/**
|
|
99
|
+
* Uses one of the available file input modes:
|
|
100
|
+
* 'file': Files are selected by clicking the button and selecting it through the file explorer.
|
|
101
|
+
* 'filedrop': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
|
|
102
|
+
* 'dropzone': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
|
|
103
|
+
* The drag and drop area of this mode is bigger than the one of the filedrop mode.
|
|
104
|
+
*/
|
|
105
|
+
mode?: "file";
|
|
106
|
+
/**
|
|
107
|
+
* Text to be placed inside the drag and drop zone alongside the button.
|
|
108
|
+
*/
|
|
109
|
+
dropAreaLabel?: never;
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Reference to the component.
|
|
113
|
+
*/
|
|
114
|
+
export type RefType = HTMLDivElement;
|
|
115
|
+
type Props = DropModeProps | FileModeProps;
|
|
116
|
+
/**
|
|
117
|
+
* Single file item preview.
|
|
118
|
+
*/
|
|
119
|
+
export type FileItemProps = {
|
|
120
|
+
fileName?: string;
|
|
121
|
+
error?: string;
|
|
122
|
+
showPreview: boolean;
|
|
123
|
+
singleFileMode: boolean;
|
|
124
|
+
preview: string;
|
|
125
|
+
type: string;
|
|
126
|
+
onDelete: (fileName: string) => void;
|
|
127
|
+
tabIndex: number;
|
|
128
|
+
};
|
|
129
|
+
export default Props;
|
package/flex/Flex.d.ts
ADDED
package/flex/Flex.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
14
|
+
var _templateObject;
|
|
15
|
+
var _excluded = ["direction", "wrap", "gap", "order", "grow", "shrink", "basis", "children"],
|
|
16
|
+
_excluded2 = ["justifyContent", "alignItems", "alignContent", "alignSelf"];
|
|
17
|
+
var DxcFlex = function DxcFlex(_ref) {
|
|
18
|
+
var _ref$direction = _ref.direction,
|
|
19
|
+
direction = _ref$direction === void 0 ? "row" : _ref$direction,
|
|
20
|
+
_ref$wrap = _ref.wrap,
|
|
21
|
+
wrap = _ref$wrap === void 0 ? "nowrap" : _ref$wrap,
|
|
22
|
+
_ref$gap = _ref.gap,
|
|
23
|
+
gap = _ref$gap === void 0 ? "0rem" : _ref$gap,
|
|
24
|
+
_ref$order = _ref.order,
|
|
25
|
+
order = _ref$order === void 0 ? 0 : _ref$order,
|
|
26
|
+
_ref$grow = _ref.grow,
|
|
27
|
+
grow = _ref$grow === void 0 ? 0 : _ref$grow,
|
|
28
|
+
_ref$shrink = _ref.shrink,
|
|
29
|
+
shrink = _ref$shrink === void 0 ? 1 : _ref$shrink,
|
|
30
|
+
_ref$basis = _ref.basis,
|
|
31
|
+
basis = _ref$basis === void 0 ? "auto" : _ref$basis,
|
|
32
|
+
children = _ref.children,
|
|
33
|
+
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
34
|
+
return /*#__PURE__*/_react["default"].createElement(Flex, (0, _extends2["default"])({
|
|
35
|
+
$direction: direction,
|
|
36
|
+
$wrap: wrap,
|
|
37
|
+
$order: order,
|
|
38
|
+
$grow: grow,
|
|
39
|
+
$shrink: shrink,
|
|
40
|
+
$basis: basis,
|
|
41
|
+
$gap: gap
|
|
42
|
+
}, props), children);
|
|
43
|
+
};
|
|
44
|
+
var Flex = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", "\n"])), function (_ref2) {
|
|
45
|
+
var _props$$gap, _props$$gap$rowGap, _props$$gap$columnGap;
|
|
46
|
+
var _ref2$justifyContent = _ref2.justifyContent,
|
|
47
|
+
justifyContent = _ref2$justifyContent === void 0 ? "flex-start" : _ref2$justifyContent,
|
|
48
|
+
_ref2$alignItems = _ref2.alignItems,
|
|
49
|
+
alignItems = _ref2$alignItems === void 0 ? "stretch" : _ref2$alignItems,
|
|
50
|
+
_ref2$alignContent = _ref2.alignContent,
|
|
51
|
+
alignContent = _ref2$alignContent === void 0 ? "normal" : _ref2$alignContent,
|
|
52
|
+
_ref2$alignSelf = _ref2.alignSelf,
|
|
53
|
+
alignSelf = _ref2$alignSelf === void 0 ? "auto" : _ref2$alignSelf,
|
|
54
|
+
props = (0, _objectWithoutProperties2["default"])(_ref2, _excluded2);
|
|
55
|
+
return "\n flex-direction: ".concat(props.$direction, "; \n flex-wrap: ").concat(props.$wrap, "; \n justify-content: ").concat(justifyContent, "; \n align-items: ").concat(alignItems, ";\n align-content: ").concat(alignContent, ";\n align-self: ").concat(alignSelf, ";\n gap: ").concat(props.$gap != null && typeof props.$gap === "string" ? (_props$$gap = props.$gap) !== null && _props$$gap !== void 0 ? _props$$gap : "" : "", "}\n row-gap: ").concat(props.$gap != null && (0, _typeof2["default"])(props.$gap) === "object" ? (_props$$gap$rowGap = props.$gap.rowGap) !== null && _props$$gap$rowGap !== void 0 ? _props$$gap$rowGap : "" : "", "}\n column-gap: ").concat(props.$gap != null && (0, _typeof2["default"])(props.$gap) === "object" ? (_props$$gap$columnGap = props.$gap.columnGap) !== null && _props$$gap$columnGap !== void 0 ? _props$$gap$columnGap : "" : "", "}\n order: ").concat(props.$order, ";\n flex-grow: ").concat(props.$grow, ";\n flex-shrink: ").concat(props.$shrink, ";\n flex-basis: ").concat(props.$basis, ";\n ");
|
|
56
|
+
});
|
|
57
|
+
var _default = exports["default"] = DxcFlex;
|
|
@@ -0,0 +1,112 @@
|
|
|
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 minWidth="50px" />
|
|
18
|
+
<Placeholder />
|
|
19
|
+
<Placeholder minWidth="50px" />
|
|
20
|
+
<Placeholder minWidth="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="1.5rem">
|
|
26
|
+
<Placeholder />
|
|
27
|
+
<Placeholder minWidth="100px" />
|
|
28
|
+
<Placeholder />
|
|
29
|
+
<Placeholder minWidth="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: "0.5rem", columnGap: "1.5rem" }}>
|
|
36
|
+
<Placeholder />
|
|
37
|
+
<Placeholder />
|
|
38
|
+
<Placeholder />
|
|
39
|
+
<Placeholder />
|
|
40
|
+
<Placeholder minWidth="100px" />
|
|
41
|
+
<Placeholder />
|
|
42
|
+
<Placeholder />
|
|
43
|
+
<Placeholder minWidth="100px" />
|
|
44
|
+
<Placeholder />
|
|
45
|
+
<Placeholder />
|
|
46
|
+
<Placeholder minWidth="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
|
+
<Placeholder width="100%" minWidth="0">
|
|
55
|
+
order 3, grow 1, align self end
|
|
56
|
+
</Placeholder>
|
|
57
|
+
</DxcFlex>
|
|
58
|
+
<DxcFlex order={-1} grow={4}>
|
|
59
|
+
<Placeholder width="100%" minWidth="0">
|
|
60
|
+
order -1, grow 4
|
|
61
|
+
</Placeholder>
|
|
62
|
+
</DxcFlex>
|
|
63
|
+
<DxcFlex order={5} grow={1}>
|
|
64
|
+
<Placeholder width="100%" minWidth="0">
|
|
65
|
+
order 5, grow 1
|
|
66
|
+
</Placeholder>
|
|
67
|
+
</DxcFlex>
|
|
68
|
+
<DxcFlex order={2} grow={2}>
|
|
69
|
+
<Placeholder width="100%" minWidth="0">
|
|
70
|
+
order 2. grow 2
|
|
71
|
+
</Placeholder>
|
|
72
|
+
</DxcFlex>
|
|
73
|
+
</DxcFlex>
|
|
74
|
+
</Container>
|
|
75
|
+
<Title title="Basis and shrink" level={4} />
|
|
76
|
+
<Container>
|
|
77
|
+
<DxcFlex basis="600px">
|
|
78
|
+
<DxcFlex shrink={4} basis="400px">
|
|
79
|
+
<Placeholder width="100%" minWidth="0">
|
|
80
|
+
shrink 4
|
|
81
|
+
</Placeholder>
|
|
82
|
+
</DxcFlex>
|
|
83
|
+
<DxcFlex shrink={2} basis="400px">
|
|
84
|
+
<Placeholder width="100%" minWidth="0">
|
|
85
|
+
shrink 2
|
|
86
|
+
</Placeholder>
|
|
87
|
+
</DxcFlex>
|
|
88
|
+
<DxcFlex shrink={1} basis="400px">
|
|
89
|
+
<Placeholder width="100%" minWidth="0">
|
|
90
|
+
shrink 1
|
|
91
|
+
</Placeholder>
|
|
92
|
+
</DxcFlex>
|
|
93
|
+
</DxcFlex>
|
|
94
|
+
</Container>
|
|
95
|
+
</>
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
const Container = styled.div<{ height?: string }>`
|
|
99
|
+
display: flex;
|
|
100
|
+
background: #f2eafa;
|
|
101
|
+
margin: 2.5rem;
|
|
102
|
+
${({ height }) => (height ? `height: ${height}` : "max-height: 150px")};
|
|
103
|
+
`;
|
|
104
|
+
|
|
105
|
+
const Placeholder = styled.div<{ minWidth?: string; width?: string }>`
|
|
106
|
+
height: 40px;
|
|
107
|
+
min-width: ${({ minWidth }) => minWidth ?? "200px"};
|
|
108
|
+
width: ${({ width }) => width};
|
|
109
|
+
border: 1px solid #a46ede;
|
|
110
|
+
border-radius: 0.5rem;
|
|
111
|
+
background-color: #e5d5f6;
|
|
112
|
+
`;
|