@webiny/ui 5.27.0-beta.0 → 5.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Accordion/Accordion.js +27 -13
- package/Accordion/Accordion.js.map +1 -1
- package/Accordion/Accordion.stories.js +34 -23
- package/Accordion/Accordion.stories.js.map +1 -1
- package/Accordion/AccordionItem.js +60 -36
- package/Accordion/AccordionItem.js.map +1 -1
- package/Accordion/index.js +31 -2
- package/Accordion/index.js.map +1 -1
- package/Alert/Alert.js +21 -10
- package/Alert/Alert.js.map +1 -1
- package/Alert/Alert.stories.js +22 -13
- package/Alert/Alert.stories.js.map +1 -1
- package/Alert/index.js +18 -1
- package/Alert/index.js.map +1 -1
- package/AutoComplete/AutoComplete.js +100 -77
- package/AutoComplete/AutoComplete.js.map +1 -1
- package/AutoComplete/AutoComplete.stories.js +27 -17
- package/AutoComplete/AutoComplete.stories.js.map +1 -1
- package/AutoComplete/MultiAutoComplete.js +164 -139
- package/AutoComplete/MultiAutoComplete.js.map +1 -1
- package/AutoComplete/MultiAutoComplete.stories.js +39 -28
- package/AutoComplete/MultiAutoComplete.stories.js.map +1 -1
- package/AutoComplete/index.js +31 -2
- package/AutoComplete/index.js.map +1 -1
- package/AutoComplete/styles.js +14 -4
- package/AutoComplete/styles.js.map +1 -1
- package/AutoComplete/types.js +5 -1
- package/AutoComplete/types.js.map +1 -1
- package/AutoComplete/utils.js +19 -4
- package/AutoComplete/utils.js.map +1 -1
- package/Avatar/Avatar.js +30 -15
- package/Avatar/Avatar.js.map +1 -1
- package/Avatar/Avatar.stories.js +19 -10
- package/Avatar/Avatar.stories.js.map +1 -1
- package/Avatar/index.js +18 -1
- package/Avatar/index.js.map +1 -1
- package/Button/Button.js +52 -23
- package/Button/Button.js.map +1 -1
- package/Button/Button.stories.js +42 -29
- package/Button/Button.stories.js.map +1 -1
- package/Button/CopyButton/CopyButton.js +24 -11
- package/Button/CopyButton/CopyButton.js.map +1 -1
- package/Button/CopyButton/CopyButton.stories.js +20 -10
- package/Button/CopyButton/CopyButton.stories.js.map +1 -1
- package/Button/IconButton/IconButton.js +14 -4
- package/Button/IconButton/IconButton.js.map +1 -1
- package/Button/IconButton/IconButton.stories.js +31 -19
- package/Button/IconButton/IconButton.stories.js.map +1 -1
- package/Button/index.js +44 -3
- package/Button/index.js.map +1 -1
- package/Carousel/Carousel.js +34 -21
- package/Carousel/Carousel.js.map +1 -1
- package/Carousel/Carouser.stories.js +27 -17
- package/Carousel/Carouser.stories.js.map +1 -1
- package/Carousel/index.js +15 -1
- package/Carousel/index.js.map +1 -1
- package/Checkbox/Checkbox.js +37 -22
- package/Checkbox/Checkbox.js.map +1 -1
- package/Checkbox/Checkbox.stories.js +27 -16
- package/Checkbox/Checkbox.stories.js.map +1 -1
- package/Checkbox/Checkbox.styles.js +11 -4
- package/Checkbox/Checkbox.styles.js.map +1 -1
- package/Checkbox/CheckboxGroup.js +36 -21
- package/Checkbox/CheckboxGroup.js.map +1 -1
- package/Checkbox/CheckboxGroup.stories.js +29 -18
- package/Checkbox/CheckboxGroup.stories.js.map +1 -1
- package/Checkbox/index.js +23 -2
- package/Checkbox/index.js.map +1 -1
- package/Chips/Chip.js +21 -7
- package/Chips/Chip.js.map +1 -1
- package/Chips/ChipIcon.js +21 -7
- package/Chips/ChipIcon.js.map +1 -1
- package/Chips/Chips.js +29 -12
- package/Chips/Chips.js.map +1 -1
- package/Chips/Chips.stories.js +27 -16
- package/Chips/Chips.stories.js.map +1 -1
- package/Chips/index.js +44 -3
- package/Chips/index.js.map +1 -1
- package/Chips/styles.js +14 -4
- package/Chips/styles.js.map +1 -1
- package/CodeEditor/CodeEditor.js +48 -29
- package/CodeEditor/CodeEditor.js.map +1 -1
- package/CodeEditor/CodeEditor.stories.js +30 -17
- package/CodeEditor/CodeEditor.stories.js.map +1 -1
- package/CodeEditor/index.js +18 -1
- package/CodeEditor/index.js.map +1 -1
- package/ColorPicker/ColorPicker.js +58 -44
- package/ColorPicker/ColorPicker.js.map +1 -1
- package/ColorPicker/ColorPicker.stories.js +26 -15
- package/ColorPicker/ColorPicker.stories.js.map +1 -1
- package/ColorPicker/index.js +18 -1
- package/ColorPicker/index.js.map +1 -1
- package/ConfirmationDialog/ConfirmationDialog.js +51 -42
- package/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
- package/ConfirmationDialog/ConfirmationDialog.stories.js +22 -12
- package/ConfirmationDialog/ConfirmationDialog.stories.js.map +1 -1
- package/ConfirmationDialog/index.js +31 -2
- package/ConfirmationDialog/index.js.map +1 -1
- package/ConfirmationDialog/withConfirmation.js +19 -6
- package/ConfirmationDialog/withConfirmation.js.map +1 -1
- package/Dialog/Dialog.js +68 -37
- package/Dialog/Dialog.js.map +1 -1
- package/Dialog/Dialog.stories.js +26 -16
- package/Dialog/Dialog.stories.js.map +1 -1
- package/Dialog/index.js +18 -1
- package/Dialog/index.js.map +1 -1
- package/Drawer/Drawer.js +20 -6
- package/Drawer/Drawer.js.map +1 -1
- package/Drawer/Drawer.stories.js +26 -15
- package/Drawer/Drawer.stories.js.map +1 -1
- package/Drawer/index.js +18 -1
- package/Drawer/index.js.map +1 -1
- package/DynamicFieldset/Fieldset.js +56 -47
- package/DynamicFieldset/Fieldset.js.map +1 -1
- package/DynamicFieldset/index.js +15 -1
- package/DynamicFieldset/index.js.map +1 -1
- package/Elevation/Elevation.js +17 -6
- package/Elevation/Elevation.js.map +1 -1
- package/Elevation/Elevation.stories.js +27 -16
- package/Elevation/Elevation.stories.js.map +1 -1
- package/Elevation/index.js +18 -1
- package/Elevation/index.js.map +1 -1
- package/FormElementMessage/FormElementMessage.js +15 -5
- package/FormElementMessage/FormElementMessage.js.map +1 -1
- package/FormElementMessage/index.js +13 -1
- package/FormElementMessage/index.js.map +1 -1
- package/FullName/FullName.js +8 -1
- package/FullName/FullName.js.map +1 -1
- package/FullName/index.js +18 -1
- package/FullName/index.js.map +1 -1
- package/Grid/Grid.js +26 -9
- package/Grid/Grid.js.map +1 -1
- package/Grid/Grid.stories.js +21 -12
- package/Grid/Grid.stories.js.map +1 -1
- package/Grid/index.js +18 -1
- package/Grid/index.js.map +1 -1
- package/Helpers/ClassNames.js +16 -7
- package/Helpers/ClassNames.js.map +1 -1
- package/Helpers/index.js +13 -2
- package/Helpers/index.js.map +1 -1
- package/Icon/Icon.js +19 -7
- package/Icon/Icon.js.map +1 -1
- package/Icon/Icon.stories.js +33 -20
- package/Icon/Icon.stories.js.map +1 -1
- package/Icon/index.js +18 -1
- package/Icon/index.js.map +1 -1
- package/Image/Image.js +15 -7
- package/Image/Image.js.map +1 -1
- package/Image/Image.stories.js +21 -11
- package/Image/Image.stories.js.map +1 -1
- package/Image/index.js +18 -1
- package/Image/index.js.map +1 -1
- package/ImageEditor/ImageEditor.js +75 -65
- package/ImageEditor/ImageEditor.js.map +1 -1
- package/ImageEditor/index.js +18 -1
- package/ImageEditor/index.js.map +1 -1
- package/ImageEditor/toolbar/crop.js +30 -13
- package/ImageEditor/toolbar/crop.js.map +1 -1
- package/ImageEditor/toolbar/filter.js +61 -44
- package/ImageEditor/toolbar/filter.js.map +1 -1
- package/ImageEditor/toolbar/flip.js +32 -15
- package/ImageEditor/toolbar/flip.js.map +1 -1
- package/ImageEditor/toolbar/icons/index.js +69 -8
- package/ImageEditor/toolbar/icons/index.js.map +1 -1
- package/ImageEditor/toolbar/index.js +39 -4
- package/ImageEditor/toolbar/index.js.map +1 -1
- package/ImageEditor/toolbar/rotate.js +58 -35
- package/ImageEditor/toolbar/rotate.js.map +1 -1
- package/ImageEditor/toolbar/types.js +5 -1
- package/ImageEditor/toolbar/types.js.map +1 -1
- package/ImageUpload/Image.js +57 -35
- package/ImageUpload/Image.js.map +1 -1
- package/ImageUpload/ImageEditorDialog.js +48 -30
- package/ImageUpload/ImageEditorDialog.js.map +1 -1
- package/ImageUpload/MultiImageUpload.js +88 -70
- package/ImageUpload/MultiImageUpload.js.map +1 -1
- package/ImageUpload/MultiImageUpload.stories.js +26 -15
- package/ImageUpload/MultiImageUpload.stories.js.map +1 -1
- package/ImageUpload/SingleImageUpload.js +68 -45
- package/ImageUpload/SingleImageUpload.js.map +1 -1
- package/ImageUpload/SingleImageUpload.stories.js +27 -16
- package/ImageUpload/SingleImageUpload.stories.js.map +1 -1
- package/ImageUpload/index.js +39 -4
- package/ImageUpload/index.js.map +1 -1
- package/ImageUpload/styled.d.ts +2 -2
- package/ImageUpload/styled.js +29 -15
- package/ImageUpload/styled.js.map +1 -1
- package/Input/Input.js +52 -35
- package/Input/Input.js.map +1 -1
- package/Input/Input.stories.js +62 -46
- package/Input/Input.stories.js.map +1 -1
- package/Input/__tests__/Input.test.js +37 -26
- package/Input/__tests__/Input.test.js.map +1 -1
- package/Input/index.js +18 -1
- package/Input/index.js.map +1 -1
- package/List/CollapsibleList/CollapsibleList.stories.js +27 -16
- package/List/CollapsibleList/CollapsibleList.stories.js.map +1 -1
- package/List/CollapsibleList/index.js +21 -6
- package/List/CollapsibleList/index.js.map +1 -1
- package/List/DataList/DataList.js +89 -60
- package/List/DataList/DataList.js.map +1 -1
- package/List/DataList/DataList.stories.js +37 -25
- package/List/DataList/DataList.stories.js.map +1 -1
- package/List/DataList/DataListModalOverlay/DataListModalOverlay.js +29 -10
- package/List/DataList/DataListModalOverlay/DataListModalOverlay.js.map +1 -1
- package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.js +27 -9
- package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.js.map +1 -1
- package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.js +24 -8
- package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.js.map +1 -1
- package/List/DataList/DataListModalOverlay/index.js +35 -3
- package/List/DataList/DataListModalOverlay/index.js.map +1 -1
- package/List/DataList/Loader.js +25 -13
- package/List/DataList/Loader.js.map +1 -1
- package/List/DataList/NoData.js +19 -6
- package/List/DataList/NoData.js.map +1 -1
- package/List/DataList/icons/index.js +83 -38
- package/List/DataList/icons/index.js.map +1 -1
- package/List/DataList/index.js +48 -3
- package/List/DataList/index.js.map +1 -1
- package/List/DataList/types.js +5 -1
- package/List/DataList/types.js.map +1 -1
- package/List/List.js +92 -49
- package/List/List.js.map +1 -1
- package/List/List.stories.js +52 -37
- package/List/List.stories.js.map +1 -1
- package/List/icons/index.js +23 -3
- package/List/icons/index.js.map +1 -1
- package/List/index.js +60 -3
- package/List/index.js.map +1 -1
- package/Menu/Menu.js +58 -46
- package/Menu/Menu.js.map +1 -1
- package/Menu/Menu.stories.js +24 -14
- package/Menu/Menu.stories.js.map +1 -1
- package/Menu/index.js +18 -1
- package/Menu/index.js.map +1 -1
- package/Mosaic/Mosaic.js +16 -7
- package/Mosaic/Mosaic.js.map +1 -1
- package/Mosaic/Mosaic.stories.js +37 -28
- package/Mosaic/Mosaic.stories.js.map +1 -1
- package/Mosaic/index.js +18 -1
- package/Mosaic/index.js.map +1 -1
- package/Progress/CircularProgress.js +25 -11
- package/Progress/CircularProgress.js.map +1 -1
- package/Progress/index.js +15 -1
- package/Progress/index.js.map +1 -1
- package/Radio/Radio.js +37 -22
- package/Radio/Radio.js.map +1 -1
- package/Radio/Radio.styles.js +11 -4
- package/Radio/Radio.styles.js.map +1 -1
- package/Radio/RadioGroup.js +33 -19
- package/Radio/RadioGroup.js.map +1 -1
- package/Radio/RadioGroup.stories.js +29 -18
- package/Radio/RadioGroup.stories.js.map +1 -1
- package/Radio/index.js +23 -2
- package/Radio/index.js.map +1 -1
- package/RichTextEditor/RichTextEditor.js +56 -32
- package/RichTextEditor/RichTextEditor.js.map +1 -1
- package/RichTextEditor/RichTextEditor.stories.js +21 -10
- package/RichTextEditor/RichTextEditor.stories.js.map +1 -1
- package/RichTextEditor/createPropsFromConfig.js +15 -4
- package/RichTextEditor/createPropsFromConfig.js.map +1 -1
- package/RichTextEditor/index.js +30 -2
- package/RichTextEditor/index.js.map +1 -1
- package/Ripple/Ripple.js +16 -5
- package/Ripple/Ripple.js.map +1 -1
- package/Ripple/Ripple.stories.js +57 -42
- package/Ripple/Ripple.stories.js.map +1 -1
- package/Ripple/index.js +18 -1
- package/Ripple/index.js.map +1 -1
- package/Scrollbar/Scrollbar.js +14 -4
- package/Scrollbar/Scrollbar.js.map +1 -1
- package/Scrollbar/Scrollbar.stories.js +18 -9
- package/Scrollbar/Scrollbar.stories.js.map +1 -1
- package/Scrollbar/index.js +18 -1
- package/Scrollbar/index.js.map +1 -1
- package/Section/Section.stories.js +22 -12
- package/Section/Section.stories.js.map +1 -1
- package/Section/index.js +30 -15
- package/Section/index.js.map +1 -1
- package/Select/Select.js +37 -18
- package/Select/Select.js.map +1 -1
- package/Select/Select.stories.js +36 -25
- package/Select/Select.stories.js.map +1 -1
- package/Select/index.js +18 -1
- package/Select/index.js.map +1 -1
- package/Slider/Slider.js +43 -27
- package/Slider/Slider.js.map +1 -1
- package/Slider/Slider.stories.js +27 -16
- package/Slider/Slider.stories.js.map +1 -1
- package/Slider/index.js +15 -1
- package/Slider/index.js.map +1 -1
- package/Snackbar/Snackbar.js +38 -20
- package/Snackbar/Snackbar.js.map +1 -1
- package/Snackbar/Snackbar.stories.js +44 -30
- package/Snackbar/Snackbar.stories.js.map +1 -1
- package/Snackbar/index.js +19 -1
- package/Snackbar/index.js.map +1 -1
- package/Switch/Switch.js +43 -27
- package/Switch/Switch.js.map +1 -1
- package/Switch/Switch.stories.js +27 -16
- package/Switch/Switch.stories.js.map +1 -1
- package/Switch/index.js +18 -1
- package/Switch/index.js.map +1 -1
- package/Tabs/Tab.js +21 -7
- package/Tabs/Tab.js.map +1 -1
- package/Tabs/Tabs.js +49 -28
- package/Tabs/Tabs.js.map +1 -1
- package/Tabs/Tabs.stories.js +34 -22
- package/Tabs/Tabs.stories.js.map +1 -1
- package/Tabs/index.js +31 -2
- package/Tabs/index.js.map +1 -1
- package/Tags/Tags.js +64 -40
- package/Tags/Tags.js.map +1 -1
- package/Tags/Tags.stories.js +27 -16
- package/Tags/Tags.stories.js.map +1 -1
- package/Tags/index.js +18 -1
- package/Tags/index.js.map +1 -1
- package/Tooltip/Tooltip.js +38 -24
- package/Tooltip/Tooltip.js.map +1 -1
- package/Tooltip/Tooltip.stories.js +20 -11
- package/Tooltip/Tooltip.stories.js.map +1 -1
- package/Tooltip/index.js +18 -1
- package/Tooltip/index.js.map +1 -1
- package/TopAppBar/TopAppBar.js +18 -7
- package/TopAppBar/TopAppBar.js.map +1 -1
- package/TopAppBar/TopAppBar.stories.js +39 -25
- package/TopAppBar/TopAppBar.stories.js.map +1 -1
- package/TopAppBar/TopAppBarActionItem.js +14 -4
- package/TopAppBar/TopAppBarActionItem.js.map +1 -1
- package/TopAppBar/TopAppBarNavigationIcon.js +14 -4
- package/TopAppBar/TopAppBarNavigationIcon.js.map +1 -1
- package/TopAppBar/TopAppBarPrimary.js +18 -7
- package/TopAppBar/TopAppBarPrimary.js.map +1 -1
- package/TopAppBar/TopAppBarSecondary.js +18 -7
- package/TopAppBar/TopAppBarSecondary.js.map +1 -1
- package/TopAppBar/TopAppBarSection.js +18 -7
- package/TopAppBar/TopAppBarSection.js.map +1 -1
- package/TopAppBar/TopAppBarTitle.js +18 -7
- package/TopAppBar/TopAppBarTitle.js.map +1 -1
- package/TopAppBar/index.js +96 -7
- package/TopAppBar/index.js.map +1 -1
- package/TopProgressBar/TopProgressBar.js +20 -7
- package/TopProgressBar/TopProgressBar.js.map +1 -1
- package/TopProgressBar/TopProgressBar.stories.js +22 -12
- package/TopProgressBar/TopProgressBar.stories.js.map +1 -1
- package/TopProgressBar/hoc/index.js +15 -1
- package/TopProgressBar/hoc/index.js.map +1 -1
- package/TopProgressBar/hoc/withTopProgressBar.js +16 -5
- package/TopProgressBar/hoc/withTopProgressBar.js.map +1 -1
- package/TopProgressBar/index.js +18 -1
- package/TopProgressBar/index.js.map +1 -1
- package/Typography/Typography.js +14 -4
- package/Typography/Typography.js.map +1 -1
- package/Typography/Typography.stories.js +43 -34
- package/Typography/Typography.stories.js.map +1 -1
- package/Typography/index.js +18 -1
- package/Typography/index.js.map +1 -1
- package/package.json +8 -8
- package/types.js +5 -1
- package/types.js.map +1 -1
|
@@ -1,21 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.MultiImageUpload = void 0;
|
|
9
|
+
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
12
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
13
|
+
|
|
14
|
+
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
15
|
+
|
|
16
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
+
|
|
18
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
19
|
+
|
|
20
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
21
|
+
|
|
22
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
23
|
+
|
|
24
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
25
|
+
|
|
26
|
+
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
27
|
+
|
|
28
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
29
|
+
|
|
30
|
+
var _react = _interopRequireDefault(require("react"));
|
|
31
|
+
|
|
32
|
+
var _reactButterfiles = _interopRequireDefault(require("react-butterfiles"));
|
|
33
|
+
|
|
34
|
+
var _emotion = require("emotion");
|
|
35
|
+
|
|
36
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
37
|
+
|
|
38
|
+
var _FormElementMessage = require("../FormElementMessage");
|
|
39
|
+
|
|
40
|
+
var _Image = _interopRequireDefault(require("./Image"));
|
|
41
|
+
|
|
42
|
+
var _ImageEditorDialog = _interopRequireDefault(require("./ImageEditorDialog"));
|
|
43
|
+
|
|
44
|
+
var imagesStyle = /*#__PURE__*/(0, _emotion.css)({
|
|
19
45
|
".disabled": {
|
|
20
46
|
opacity: 0.75,
|
|
21
47
|
pointerEvents: "none"
|
|
@@ -39,22 +65,21 @@ var imagesStyle = /*#__PURE__*/css({
|
|
|
39
65
|
// const noImageEditorTypes = ["image/svg+xml", "image/gif"];
|
|
40
66
|
|
|
41
67
|
var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
|
|
42
|
-
|
|
68
|
+
(0, _inherits2.default)(MultiImageUpload, _React$Component);
|
|
43
69
|
|
|
44
|
-
var _super =
|
|
70
|
+
var _super = (0, _createSuper2.default)(MultiImageUpload);
|
|
45
71
|
|
|
46
72
|
function MultiImageUpload() {
|
|
47
73
|
var _this;
|
|
48
74
|
|
|
49
|
-
|
|
75
|
+
(0, _classCallCheck2.default)(this, MultiImageUpload);
|
|
50
76
|
|
|
51
77
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
52
78
|
args[_key] = arguments[_key];
|
|
53
79
|
}
|
|
54
80
|
|
|
55
81
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
56
|
-
|
|
57
|
-
_defineProperty(_assertThisInitialized(_this), "state", {
|
|
82
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
|
|
58
83
|
errors: undefined,
|
|
59
84
|
selectedImages: {},
|
|
60
85
|
loading: false,
|
|
@@ -64,12 +89,11 @@ var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
|
|
|
64
89
|
index: undefined
|
|
65
90
|
}
|
|
66
91
|
});
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(value) {
|
|
92
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onChange", /*#__PURE__*/function () {
|
|
93
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(value) {
|
|
70
94
|
var _this$props, onChange, validate;
|
|
71
95
|
|
|
72
|
-
return
|
|
96
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
73
97
|
while (1) {
|
|
74
98
|
switch (_context.prev = _context.next) {
|
|
75
99
|
case 0:
|
|
@@ -107,12 +131,11 @@ var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
|
|
|
107
131
|
return _ref.apply(this, arguments);
|
|
108
132
|
};
|
|
109
133
|
}());
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(images) {
|
|
134
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleSelectedImages", /*#__PURE__*/function () {
|
|
135
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee4(images) {
|
|
113
136
|
var selectedIndex,
|
|
114
137
|
_args4 = arguments;
|
|
115
|
-
return
|
|
138
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee4$(_context4) {
|
|
116
139
|
while (1) {
|
|
117
140
|
switch (_context4.prev = _context4.next) {
|
|
118
141
|
case 0:
|
|
@@ -121,9 +144,9 @@ var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
|
|
|
121
144
|
_this.setState({
|
|
122
145
|
errors: undefined,
|
|
123
146
|
loading: true
|
|
124
|
-
}, /*#__PURE__*/
|
|
147
|
+
}, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3() {
|
|
125
148
|
var selectedImages, i, image;
|
|
126
|
-
return
|
|
149
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
|
|
127
150
|
while (1) {
|
|
128
151
|
switch (_context3.prev = _context3.next) {
|
|
129
152
|
case 0:
|
|
@@ -131,19 +154,19 @@ var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
|
|
|
131
154
|
|
|
132
155
|
for (i = 0; i < images.length; i++) {
|
|
133
156
|
image = images[i];
|
|
134
|
-
selectedImages[selectedIndex + i] =
|
|
157
|
+
selectedImages[selectedIndex + i] = (0, _objectSpread2.default)({}, image);
|
|
135
158
|
}
|
|
136
159
|
|
|
137
160
|
_this.setState({
|
|
138
161
|
selectedImages: selectedImages
|
|
139
|
-
}, /*#__PURE__*/
|
|
162
|
+
}, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
|
|
140
163
|
var newValue, convertedImages, _i, _image;
|
|
141
164
|
|
|
142
|
-
return
|
|
165
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
|
|
143
166
|
while (1) {
|
|
144
167
|
switch (_context2.prev = _context2.next) {
|
|
145
168
|
case 0:
|
|
146
|
-
newValue = Array.isArray(_this.props.value) ?
|
|
169
|
+
newValue = Array.isArray(_this.props.value) ? (0, _toConsumableArray2.default)(_this.props.value) : [];
|
|
147
170
|
convertedImages = [];
|
|
148
171
|
|
|
149
172
|
for (_i = 0; _i < images.length; _i++) {
|
|
@@ -193,14 +216,12 @@ var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
|
|
|
193
216
|
return _ref2.apply(this, arguments);
|
|
194
217
|
};
|
|
195
218
|
}());
|
|
196
|
-
|
|
197
|
-
_defineProperty(_assertThisInitialized(_this), "handleErrors", function (errors) {
|
|
219
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleErrors", function (errors) {
|
|
198
220
|
_this.setState({
|
|
199
221
|
errors: errors
|
|
200
222
|
});
|
|
201
223
|
});
|
|
202
|
-
|
|
203
|
-
_defineProperty(_assertThisInitialized(_this), "removeImage", function (image) {
|
|
224
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "removeImage", function (image) {
|
|
204
225
|
var _this$props2 = _this.props,
|
|
205
226
|
value = _this$props2.value,
|
|
206
227
|
onChange = _this$props2.onChange;
|
|
@@ -209,15 +230,14 @@ var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
|
|
|
209
230
|
return;
|
|
210
231
|
}
|
|
211
232
|
|
|
212
|
-
var images = Array.isArray(value) ?
|
|
233
|
+
var images = Array.isArray(value) ? (0, _toConsumableArray2.default)(value) : [];
|
|
213
234
|
images.splice(images.indexOf(image), 1);
|
|
214
235
|
onChange(images);
|
|
215
236
|
});
|
|
216
|
-
|
|
217
237
|
return _this;
|
|
218
238
|
}
|
|
219
239
|
|
|
220
|
-
|
|
240
|
+
(0, _createClass2.default)(MultiImageUpload, [{
|
|
221
241
|
key: "render",
|
|
222
242
|
value: function render() {
|
|
223
243
|
var _this2 = this;
|
|
@@ -253,11 +273,11 @@ var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
|
|
|
253
273
|
*/
|
|
254
274
|
|
|
255
275
|
|
|
256
|
-
return /*#__PURE__*/
|
|
257
|
-
className:
|
|
258
|
-
}, label && /*#__PURE__*/
|
|
276
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
277
|
+
className: (0, _classnames.default)(imagesStyle, className)
|
|
278
|
+
}, label && /*#__PURE__*/_react.default.createElement("div", {
|
|
259
279
|
className: "mdc-floating-label mdc-floating-label--float-above"
|
|
260
|
-
}, label), /*#__PURE__*/
|
|
280
|
+
}, label), /*#__PURE__*/_react.default.createElement(_ImageEditorDialog.default, {
|
|
261
281
|
options: imageEditor,
|
|
262
282
|
open: this.state.imageEditor.open,
|
|
263
283
|
src: imageEditorImageSrc,
|
|
@@ -272,13 +292,13 @@ var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
|
|
|
272
292
|
setTimeout(function () {
|
|
273
293
|
_this2.setState({
|
|
274
294
|
loading: true
|
|
275
|
-
}, /*#__PURE__*/
|
|
295
|
+
}, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee5() {
|
|
276
296
|
var newValue, imageEditorImageIndex;
|
|
277
|
-
return
|
|
297
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee5$(_context5) {
|
|
278
298
|
while (1) {
|
|
279
299
|
switch (_context5.prev = _context5.next) {
|
|
280
300
|
case 0:
|
|
281
|
-
newValue = Array.isArray(_this2.props.value) ?
|
|
301
|
+
newValue = Array.isArray(_this2.props.value) ? (0, _toConsumableArray2.default)(_this2.props.value) : [];
|
|
282
302
|
imageEditorImageIndex = _this2.state.imageEditor.index;
|
|
283
303
|
newValue[imageEditorImageIndex].src = src;
|
|
284
304
|
_context5.next = 5;
|
|
@@ -303,7 +323,7 @@ var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
|
|
|
303
323
|
})));
|
|
304
324
|
});
|
|
305
325
|
}
|
|
306
|
-
}), /*#__PURE__*/
|
|
326
|
+
}), /*#__PURE__*/_react.default.createElement(_reactButterfiles.default, {
|
|
307
327
|
accept: accept,
|
|
308
328
|
maxSize: maxSize,
|
|
309
329
|
multiple: true,
|
|
@@ -317,17 +337,17 @@ var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
|
|
|
317
337
|
}, function (_ref7) {
|
|
318
338
|
var browseFiles = _ref7.browseFiles,
|
|
319
339
|
getDropZoneProps = _ref7.getDropZoneProps;
|
|
320
|
-
var images = Array.isArray(value) ?
|
|
321
|
-
return /*#__PURE__*/
|
|
322
|
-
className:
|
|
340
|
+
var images = Array.isArray(value) ? (0, _toConsumableArray2.default)(value) : [];
|
|
341
|
+
return /*#__PURE__*/_react.default.createElement("div", getDropZoneProps({
|
|
342
|
+
className: (0, _classnames.default)({
|
|
323
343
|
disabled: disabled
|
|
324
344
|
})
|
|
325
|
-
}), /*#__PURE__*/
|
|
345
|
+
}), /*#__PURE__*/_react.default.createElement("ul", {
|
|
326
346
|
className: "images"
|
|
327
347
|
}, images.map(function (image, index) {
|
|
328
|
-
return /*#__PURE__*/
|
|
348
|
+
return /*#__PURE__*/_react.default.createElement("li", {
|
|
329
349
|
key: index
|
|
330
|
-
}, /*#__PURE__*/
|
|
350
|
+
}, /*#__PURE__*/_react.default.createElement(_Image.default, {
|
|
331
351
|
loading: _this2.state.selectedImages[index] && _this2.state.loading,
|
|
332
352
|
value: image.file || image,
|
|
333
353
|
removeImage: function removeImage() {
|
|
@@ -353,7 +373,7 @@ var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
|
|
|
353
373
|
});
|
|
354
374
|
}
|
|
355
375
|
}));
|
|
356
|
-
}), /*#__PURE__*/
|
|
376
|
+
}), /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement(_Image.default, {
|
|
357
377
|
disabled: _this2.state.loading,
|
|
358
378
|
uploadImage: function uploadImage() {
|
|
359
379
|
browseFiles({
|
|
@@ -366,28 +386,28 @@ var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
|
|
|
366
386
|
});
|
|
367
387
|
}
|
|
368
388
|
}))));
|
|
369
|
-
}), validationIsValid === false && /*#__PURE__*/
|
|
389
|
+
}), validationIsValid === false && /*#__PURE__*/_react.default.createElement(_FormElementMessage.FormElementMessage, {
|
|
370
390
|
error: true
|
|
371
|
-
}, validationMessage), validationIsValid !== false && description && /*#__PURE__*/
|
|
391
|
+
}, validationMessage), validationIsValid !== false && description && /*#__PURE__*/_react.default.createElement(_FormElementMessage.FormElementMessage, null, description), Array.isArray(this.state.errors) && /*#__PURE__*/_react.default.createElement(_FormElementMessage.FormElementMessage, {
|
|
372
392
|
error: true
|
|
373
|
-
}, "Your selection of images failed because of the following images:", /*#__PURE__*/
|
|
393
|
+
}, "Your selection of images failed because of the following images:", /*#__PURE__*/_react.default.createElement("ul", null, this.state.errors.map(function (error, index) {
|
|
374
394
|
/**
|
|
375
395
|
* We need to cast as existing keys in errorMessages, otherwise TS throws an error
|
|
376
396
|
*/
|
|
377
397
|
var errorType = error.type;
|
|
378
398
|
var message = _this2.props.errorMessages[errorType];
|
|
379
399
|
var errorFileName = error.file ? error.file.name : "";
|
|
380
|
-
return /*#__PURE__*/
|
|
400
|
+
return /*#__PURE__*/_react.default.createElement("li", {
|
|
381
401
|
key: errorFileName + index
|
|
382
|
-
}, index + 1, ". ", /*#__PURE__*/
|
|
402
|
+
}, index + 1, ". ", /*#__PURE__*/_react.default.createElement("strong", null, errorFileName), " -\xA0", message || _this2.props.errorMessages.default);
|
|
383
403
|
}))));
|
|
384
404
|
}
|
|
385
405
|
}]);
|
|
386
|
-
|
|
387
406
|
return MultiImageUpload;
|
|
388
|
-
}(
|
|
407
|
+
}(_react.default.Component);
|
|
389
408
|
|
|
390
|
-
|
|
409
|
+
exports.MultiImageUpload = MultiImageUpload;
|
|
410
|
+
(0, _defineProperty2.default)(MultiImageUpload, "defaultProps", {
|
|
391
411
|
accept: ["image/jpeg", "image/png", "image/gif", "image/svg+xml"],
|
|
392
412
|
maxSize: "5mb",
|
|
393
413
|
imageEditor: {},
|
|
@@ -396,6 +416,4 @@ _defineProperty(MultiImageUpload, "defaultProps", {
|
|
|
396
416
|
unsupportedFileType: "Unsupported file type.",
|
|
397
417
|
default: "An error occurred."
|
|
398
418
|
}
|
|
399
|
-
});
|
|
400
|
-
|
|
401
|
-
export { MultiImageUpload };
|
|
419
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MultiImageUpload.tsx"],"names":["React","BrowseFiles","css","classNames","FormElementMessage","Image","ImageEditorDialog","imagesStyle","opacity","pointerEvents","listStyle","li","verticalAlign","margin","display","width","height","border","cursor","textAlign","MultiImageUpload","errors","undefined","selectedImages","loading","imageEditor","open","image","index","value","props","onChange","validate","images","selectedIndex","setState","i","length","newValue","Array","isArray","convertedImages","push","src","base64","name","size","type","splice","indexOf","validation","label","description","disabled","accept","maxSize","className","imageEditorImageSrc","state","console","warn","log","validationIsValid","isValid","validationMessage","message","setTimeout","imageEditorImageIndex","files","handleSelectedImages","handleErrors","browseFiles","getDropZoneProps","map","file","removeImage","onSuccess","onError","error","errorType","errorMessages","errorFileName","default","Component","maxSizeExceeded","unsupportedFileType"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport BrowseFiles, { SelectedFile, FileError } from \"react-butterfiles\";\nimport { css } from \"emotion\";\nimport classNames from \"classnames\";\nimport { FormElementMessage } from \"../FormElementMessage\";\nimport Image from \"./Image\";\nimport ImageEditorDialog from \"./ImageEditorDialog\";\nimport { FormComponentProps } from \"../types\";\n\nconst imagesStyle = css({\n \".disabled\": {\n opacity: 0.75,\n pointerEvents: \"none\"\n },\n \"ul.images\": {\n listStyle: \"none\",\n li: {\n verticalAlign: \"top\",\n margin: 2,\n display: \"inline-block\",\n width: 150,\n height: 150,\n \"&:last-child\": {\n border: \"1px solid lightgray\",\n cursor: \"pointer\",\n textAlign: \"center\"\n }\n }\n }\n});\n\n// Do not apply editping for following image types.\n// const noImageEditorTypes = [\"image/svg+xml\", \"image/gif\"];\n\ninterface MultiImageUploadProps extends FormComponentProps {\n // Component label.\n label?: string;\n\n // Is component disabled?\n disabled?: boolean;\n\n // Description beneath the image.\n description?: string;\n\n // A className for the root element.\n className?: string;\n\n // Define a list of accepted image types.\n accept?: Array<string>;\n\n // Define file's max allowed size (default is \"5mb\").\n // Uses \"bytes\" (https://www.npmjs.com/package/bytes) library to convert string notation to actual number.\n maxSize: string;\n\n // Image editor options.\n // Please check the docs of ImageEditor component for the list of all available options.\n imageEditor?: Object;\n\n // Use these to customize error messages (eg. if i18n supported is needed).\n errorMessages: {\n maxSizeExceeded: string;\n unsupportedFileType: string;\n default: string;\n };\n\n // Cropper options\n cropper?: { [key: string]: any };\n}\n\ninterface State {\n errors?: FileError[];\n selectedImages: Record<string, any>;\n loading: boolean;\n imageEditor: {\n image: SelectedFile | null;\n open: boolean;\n index?: number;\n };\n}\n\nclass MultiImageUpload extends React.Component<MultiImageUploadProps, State> {\n static defaultProps: Partial<MultiImageUploadProps> = {\n accept: [\"image/jpeg\", \"image/png\", \"image/gif\", \"image/svg+xml\"],\n maxSize: \"5mb\",\n imageEditor: {},\n errorMessages: {\n maxSizeExceeded: \"Max size exceeded.\",\n unsupportedFileType: \"Unsupported file type.\",\n default: \"An error occurred.\"\n }\n };\n\n public override state: State = {\n errors: undefined,\n selectedImages: {},\n loading: false,\n imageEditor: {\n open: false,\n image: null,\n index: undefined\n }\n };\n\n onChange = async (value: any) => {\n const { onChange, validate } = this.props;\n onChange && (await onChange(value));\n validate && (await validate());\n };\n\n handleSelectedImages = async (images: Array<SelectedFile>, selectedIndex = 0) => {\n this.setState(\n {\n errors: undefined,\n loading: true\n },\n async () => {\n const selectedImages: Record<number, any> = {};\n for (let i = 0; i < images.length; i++) {\n const image = images[i];\n selectedImages[selectedIndex + i] = { ...image };\n }\n\n this.setState({ selectedImages }, async () => {\n const newValue = Array.isArray(this.props.value) ? [...this.props.value] : [];\n\n const convertedImages = [];\n for (let i = 0; i < images.length; i++) {\n const image = images[i];\n convertedImages.push({\n src: image.src.base64,\n name: image.name,\n size: image.size,\n type: image.type\n });\n }\n\n newValue.splice(selectedIndex, 0, ...convertedImages);\n await this.onChange(newValue);\n this.setState({ loading: false });\n });\n }\n );\n };\n\n handleErrors = (errors: Array<FileError>) => {\n this.setState({ errors });\n };\n\n removeImage = (image: SelectedFile) => {\n const { value, onChange } = this.props;\n if (!onChange) {\n return;\n }\n\n const images = Array.isArray(value) ? [...value] : [];\n images.splice(images.indexOf(image), 1);\n onChange(images);\n };\n\n public override render() {\n const {\n value,\n validation,\n label,\n description,\n disabled,\n imageEditor,\n accept,\n maxSize,\n className\n } = this.props;\n /**\n * TODO: figure out the correct type\n */\n let imageEditorImageSrc = \"\";\n if (this.state.imageEditor.image) {\n // @ts-ignore\n imageEditorImageSrc = this.state.imageEditor.image.src;\n console.warn(\"Figure out correct type if this.state.imageEditor.image.src\");\n console.log(this.state.imageEditor.image.src);\n }\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n /**\n * accept can safely be cast because we have default value\n */\n return (\n <div className={classNames(imagesStyle, className)}>\n {label && (\n <div className=\"mdc-floating-label mdc-floating-label--float-above\">\n {label}\n </div>\n )}\n\n <ImageEditorDialog\n options={imageEditor}\n open={this.state.imageEditor.open}\n src={imageEditorImageSrc}\n onClose={() => {\n this.setState(state => {\n state.imageEditor.open = false;\n return state;\n });\n }}\n onAccept={src => {\n // We wrapped everything into setTimeout - prevents dialog freeze when larger image is selected.\n setTimeout(() => {\n this.setState({ loading: true }, async () => {\n const newValue = Array.isArray(this.props.value)\n ? [...this.props.value]\n : [];\n\n const imageEditorImageIndex = this.state.imageEditor\n .index as number;\n newValue[imageEditorImageIndex].src = src;\n\n await this.onChange(newValue);\n this.setState({\n loading: false,\n imageEditor: {\n image: null,\n open: false,\n index: undefined\n }\n });\n });\n });\n }}\n />\n\n <BrowseFiles\n accept={accept as string[]}\n maxSize={maxSize}\n multiple\n convertToBase64\n onSuccess={files => {\n this.handleSelectedImages(files, Array.isArray(value) ? value.length : 0);\n }}\n onError={errors => this.handleErrors(errors)}\n >\n {({ browseFiles, getDropZoneProps }) => {\n const images = Array.isArray(value) ? [...value] : [];\n\n return (\n <div {...getDropZoneProps({ className: classNames({ disabled }) })}>\n <ul className=\"images\">\n {images.map((image, index) => (\n <li key={index}>\n <Image\n loading={\n this.state.selectedImages[index] &&\n this.state.loading\n }\n value={image.file || image}\n removeImage={() =>\n this.removeImage(image.file || image)\n }\n editImage={\n this.state.selectedImages[index] &&\n (() => {\n this.setState({\n imageEditor: {\n index,\n open: true,\n image: this.state.selectedImages[\n index\n ]\n }\n });\n })\n }\n uploadImage={() => {\n browseFiles({\n onSuccess: files => {\n this.handleSelectedImages(\n files,\n index + 1\n );\n },\n onError: errors => this.handleErrors(errors)\n });\n }}\n />\n </li>\n ))}\n <li>\n <Image\n disabled={this.state.loading}\n uploadImage={() => {\n browseFiles({\n onSuccess: files => {\n this.handleSelectedImages(\n files,\n Array.isArray(value) ? value.length : 0\n );\n },\n onError: errors => this.handleErrors(errors)\n });\n }}\n />\n </li>\n </ul>\n </div>\n );\n }}\n </BrowseFiles>\n\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n\n {Array.isArray(this.state.errors) && (\n <FormElementMessage error>\n Your selection of images failed because of the following images:\n <ul>\n {this.state.errors.map((error: FileError, index) => {\n /**\n * We need to cast as existing keys in errorMessages, otherwise TS throws an error\n */\n const errorType = error.type as\n | \"maxSizeExceeded\"\n | \"unsupportedFileType\"\n | \"default\";\n const message = this.props.errorMessages[errorType];\n\n const errorFileName = error.file ? error.file.name : \"\";\n\n return (\n <li key={errorFileName + index}>\n {index + 1}. <strong>{errorFileName}</strong> - \n {message || this.props.errorMessages.default}\n </li>\n );\n })}\n </ul>\n </FormElementMessage>\n )}\n </div>\n );\n }\n}\n\nexport { MultiImageUpload };\n"]}
|
|
1
|
+
{"version":3,"names":["imagesStyle","css","opacity","pointerEvents","listStyle","li","verticalAlign","margin","display","width","height","border","cursor","textAlign","MultiImageUpload","errors","undefined","selectedImages","loading","imageEditor","open","image","index","value","props","onChange","validate","images","selectedIndex","setState","i","length","newValue","Array","isArray","convertedImages","push","src","base64","name","size","type","splice","indexOf","validation","label","description","disabled","accept","maxSize","className","imageEditorImageSrc","state","console","warn","log","validationIsValid","isValid","validationMessage","message","classNames","setTimeout","imageEditorImageIndex","files","handleSelectedImages","handleErrors","browseFiles","getDropZoneProps","map","file","removeImage","onSuccess","onError","error","errorType","errorMessages","errorFileName","default","React","Component","maxSizeExceeded","unsupportedFileType"],"sources":["MultiImageUpload.tsx"],"sourcesContent":["import React from \"react\";\nimport BrowseFiles, { SelectedFile, FileError } from \"react-butterfiles\";\nimport { css } from \"emotion\";\nimport classNames from \"classnames\";\nimport { FormElementMessage } from \"../FormElementMessage\";\nimport Image from \"./Image\";\nimport ImageEditorDialog from \"./ImageEditorDialog\";\nimport { FormComponentProps } from \"../types\";\n\nconst imagesStyle = css({\n \".disabled\": {\n opacity: 0.75,\n pointerEvents: \"none\"\n },\n \"ul.images\": {\n listStyle: \"none\",\n li: {\n verticalAlign: \"top\",\n margin: 2,\n display: \"inline-block\",\n width: 150,\n height: 150,\n \"&:last-child\": {\n border: \"1px solid lightgray\",\n cursor: \"pointer\",\n textAlign: \"center\"\n }\n }\n }\n});\n\n// Do not apply editping for following image types.\n// const noImageEditorTypes = [\"image/svg+xml\", \"image/gif\"];\n\ninterface MultiImageUploadProps extends FormComponentProps {\n // Component label.\n label?: string;\n\n // Is component disabled?\n disabled?: boolean;\n\n // Description beneath the image.\n description?: string;\n\n // A className for the root element.\n className?: string;\n\n // Define a list of accepted image types.\n accept?: Array<string>;\n\n // Define file's max allowed size (default is \"5mb\").\n // Uses \"bytes\" (https://www.npmjs.com/package/bytes) library to convert string notation to actual number.\n maxSize: string;\n\n // Image editor options.\n // Please check the docs of ImageEditor component for the list of all available options.\n imageEditor?: Object;\n\n // Use these to customize error messages (eg. if i18n supported is needed).\n errorMessages: {\n maxSizeExceeded: string;\n unsupportedFileType: string;\n default: string;\n };\n\n // Cropper options\n cropper?: { [key: string]: any };\n}\n\ninterface State {\n errors?: FileError[];\n selectedImages: Record<string, any>;\n loading: boolean;\n imageEditor: {\n image: SelectedFile | null;\n open: boolean;\n index?: number;\n };\n}\n\nclass MultiImageUpload extends React.Component<MultiImageUploadProps, State> {\n static defaultProps: Partial<MultiImageUploadProps> = {\n accept: [\"image/jpeg\", \"image/png\", \"image/gif\", \"image/svg+xml\"],\n maxSize: \"5mb\",\n imageEditor: {},\n errorMessages: {\n maxSizeExceeded: \"Max size exceeded.\",\n unsupportedFileType: \"Unsupported file type.\",\n default: \"An error occurred.\"\n }\n };\n\n public override state: State = {\n errors: undefined,\n selectedImages: {},\n loading: false,\n imageEditor: {\n open: false,\n image: null,\n index: undefined\n }\n };\n\n onChange = async (value: any) => {\n const { onChange, validate } = this.props;\n onChange && (await onChange(value));\n validate && (await validate());\n };\n\n handleSelectedImages = async (images: Array<SelectedFile>, selectedIndex = 0) => {\n this.setState(\n {\n errors: undefined,\n loading: true\n },\n async () => {\n const selectedImages: Record<number, any> = {};\n for (let i = 0; i < images.length; i++) {\n const image = images[i];\n selectedImages[selectedIndex + i] = { ...image };\n }\n\n this.setState({ selectedImages }, async () => {\n const newValue = Array.isArray(this.props.value) ? [...this.props.value] : [];\n\n const convertedImages = [];\n for (let i = 0; i < images.length; i++) {\n const image = images[i];\n convertedImages.push({\n src: image.src.base64,\n name: image.name,\n size: image.size,\n type: image.type\n });\n }\n\n newValue.splice(selectedIndex, 0, ...convertedImages);\n await this.onChange(newValue);\n this.setState({ loading: false });\n });\n }\n );\n };\n\n handleErrors = (errors: Array<FileError>) => {\n this.setState({ errors });\n };\n\n removeImage = (image: SelectedFile) => {\n const { value, onChange } = this.props;\n if (!onChange) {\n return;\n }\n\n const images = Array.isArray(value) ? [...value] : [];\n images.splice(images.indexOf(image), 1);\n onChange(images);\n };\n\n public override render() {\n const {\n value,\n validation,\n label,\n description,\n disabled,\n imageEditor,\n accept,\n maxSize,\n className\n } = this.props;\n /**\n * TODO: figure out the correct type\n */\n let imageEditorImageSrc = \"\";\n if (this.state.imageEditor.image) {\n // @ts-ignore\n imageEditorImageSrc = this.state.imageEditor.image.src;\n console.warn(\"Figure out correct type if this.state.imageEditor.image.src\");\n console.log(this.state.imageEditor.image.src);\n }\n\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n /**\n * accept can safely be cast because we have default value\n */\n return (\n <div className={classNames(imagesStyle, className)}>\n {label && (\n <div className=\"mdc-floating-label mdc-floating-label--float-above\">\n {label}\n </div>\n )}\n\n <ImageEditorDialog\n options={imageEditor}\n open={this.state.imageEditor.open}\n src={imageEditorImageSrc}\n onClose={() => {\n this.setState(state => {\n state.imageEditor.open = false;\n return state;\n });\n }}\n onAccept={src => {\n // We wrapped everything into setTimeout - prevents dialog freeze when larger image is selected.\n setTimeout(() => {\n this.setState({ loading: true }, async () => {\n const newValue = Array.isArray(this.props.value)\n ? [...this.props.value]\n : [];\n\n const imageEditorImageIndex = this.state.imageEditor\n .index as number;\n newValue[imageEditorImageIndex].src = src;\n\n await this.onChange(newValue);\n this.setState({\n loading: false,\n imageEditor: {\n image: null,\n open: false,\n index: undefined\n }\n });\n });\n });\n }}\n />\n\n <BrowseFiles\n accept={accept as string[]}\n maxSize={maxSize}\n multiple\n convertToBase64\n onSuccess={files => {\n this.handleSelectedImages(files, Array.isArray(value) ? value.length : 0);\n }}\n onError={errors => this.handleErrors(errors)}\n >\n {({ browseFiles, getDropZoneProps }) => {\n const images = Array.isArray(value) ? [...value] : [];\n\n return (\n <div {...getDropZoneProps({ className: classNames({ disabled }) })}>\n <ul className=\"images\">\n {images.map((image, index) => (\n <li key={index}>\n <Image\n loading={\n this.state.selectedImages[index] &&\n this.state.loading\n }\n value={image.file || image}\n removeImage={() =>\n this.removeImage(image.file || image)\n }\n editImage={\n this.state.selectedImages[index] &&\n (() => {\n this.setState({\n imageEditor: {\n index,\n open: true,\n image: this.state.selectedImages[\n index\n ]\n }\n });\n })\n }\n uploadImage={() => {\n browseFiles({\n onSuccess: files => {\n this.handleSelectedImages(\n files,\n index + 1\n );\n },\n onError: errors => this.handleErrors(errors)\n });\n }}\n />\n </li>\n ))}\n <li>\n <Image\n disabled={this.state.loading}\n uploadImage={() => {\n browseFiles({\n onSuccess: files => {\n this.handleSelectedImages(\n files,\n Array.isArray(value) ? value.length : 0\n );\n },\n onError: errors => this.handleErrors(errors)\n });\n }}\n />\n </li>\n </ul>\n </div>\n );\n }}\n </BrowseFiles>\n\n {validationIsValid === false && (\n <FormElementMessage error>{validationMessage}</FormElementMessage>\n )}\n\n {validationIsValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n\n {Array.isArray(this.state.errors) && (\n <FormElementMessage error>\n Your selection of images failed because of the following images:\n <ul>\n {this.state.errors.map((error: FileError, index) => {\n /**\n * We need to cast as existing keys in errorMessages, otherwise TS throws an error\n */\n const errorType = error.type as\n | \"maxSizeExceeded\"\n | \"unsupportedFileType\"\n | \"default\";\n const message = this.props.errorMessages[errorType];\n\n const errorFileName = error.file ? error.file.name : \"\";\n\n return (\n <li key={errorFileName + index}>\n {index + 1}. <strong>{errorFileName}</strong> - \n {message || this.props.errorMessages.default}\n </li>\n );\n })}\n </ul>\n </FormElementMessage>\n )}\n </div>\n );\n }\n}\n\nexport { MultiImageUpload };\n"],"mappings":"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"}
|
|
@@ -1,12 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@storybook/react");
|
|
8
|
+
|
|
9
|
+
var _Story = require("@webiny/storybook-utils/Story");
|
|
10
|
+
|
|
11
|
+
var _addonKnobs = require("@storybook/addon-knobs");
|
|
12
|
+
|
|
13
|
+
var _README = _interopRequireDefault(require("./README.md"));
|
|
14
|
+
|
|
15
|
+
var _form = require("@webiny/form");
|
|
16
|
+
|
|
17
|
+
var _MultiImageUpload = require("./MultiImageUpload");
|
|
18
|
+
|
|
19
|
+
var story = (0, _react2.storiesOf)("Components/ImageUpload", module);
|
|
20
|
+
story.addDecorator(_addonKnobs.withKnobs);
|
|
10
21
|
var images = [{
|
|
11
22
|
id: 1,
|
|
12
23
|
name: "1st_image.jpg",
|
|
@@ -39,16 +50,16 @@ var images = [{
|
|
|
39
50
|
size: 905615
|
|
40
51
|
}];
|
|
41
52
|
story.add("Multi Image Upload", function () {
|
|
42
|
-
var disabled = boolean("Disabled", false);
|
|
43
|
-
return /*#__PURE__*/
|
|
53
|
+
var disabled = (0, _addonKnobs.boolean)("Disabled", false);
|
|
54
|
+
return /*#__PURE__*/_react.default.createElement(_Story.Story, null, /*#__PURE__*/_react.default.createElement(_Story.StoryReadme, null, _README.default), /*#__PURE__*/_react.default.createElement(_Story.StorySandbox, null, /*#__PURE__*/_react.default.createElement(_Story.StorySandboxExample, null, /*#__PURE__*/_react.default.createElement(_form.Form, {
|
|
44
55
|
data: {
|
|
45
56
|
images: images
|
|
46
57
|
}
|
|
47
58
|
}, function (_ref) {
|
|
48
59
|
var Bind = _ref.Bind;
|
|
49
|
-
return /*#__PURE__*/
|
|
60
|
+
return /*#__PURE__*/_react.default.createElement(Bind, {
|
|
50
61
|
name: "images"
|
|
51
|
-
}, /*#__PURE__*/
|
|
62
|
+
}, /*#__PURE__*/_react.default.createElement(_MultiImageUpload.MultiImageUpload, {
|
|
52
63
|
label: "Your previously uploaded images:",
|
|
53
64
|
disabled: disabled,
|
|
54
65
|
description: "This list will not be shown to other users.",
|
|
@@ -56,11 +67,11 @@ story.add("Multi Image Upload", function () {
|
|
|
56
67
|
aspectRatio: 1
|
|
57
68
|
}
|
|
58
69
|
}));
|
|
59
|
-
})), /*#__PURE__*/
|
|
70
|
+
})), /*#__PURE__*/_react.default.createElement(_Story.StorySandboxCode, null, "\n <Form data={".concat(JSON.stringify({
|
|
60
71
|
images: images
|
|
61
72
|
}), "}>\n {({ Bind }) => (\n <Bind name=\"images\">\n <MultiImageUpload\n label=\"Your previously uploaded images:\"\n disabled={disabled}\n description=\"This list will not be shown to other users.\"\n />\n </Bind>\n )}\n </Form>\n "))));
|
|
62
73
|
}, {
|
|
63
74
|
info: {
|
|
64
|
-
propTables: [MultiImageUpload]
|
|
75
|
+
propTables: [_MultiImageUpload.MultiImageUpload]
|
|
65
76
|
}
|
|
66
77
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["story","storiesOf","module","addDecorator","withKnobs","images","id","name","src","type","size","add","disabled","boolean","readme","Bind","aspectRatio","JSON","stringify","info","propTables","MultiImageUpload"],"sources":["MultiImageUpload.stories.tsx"],"sourcesContent":["import React from \"react\";\nimport { storiesOf } from \"@storybook/react\";\nimport {\n Story,\n StoryReadme,\n StorySandboxCode,\n StorySandbox,\n StorySandboxExample\n} from \"@webiny/storybook-utils/Story\";\nimport { withKnobs, boolean } from \"@storybook/addon-knobs\";\nimport readme from \"./README.md\";\n\nimport { Form } from \"@webiny/form\";\nimport { MultiImageUpload } from \"./MultiImageUpload\";\n\nconst story = storiesOf(\"Components/ImageUpload\", module);\nstory.addDecorator(withKnobs);\n\nconst images = [\n {\n id: 1,\n name: \"1st_image.jpg\",\n src: \"http://i.pravatar.cc/150?img=49\",\n type: \"image/jpeg\",\n size: 901611\n },\n {\n id: 2,\n name: \"2nd_image.jpg\",\n src: \"http://i.pravatar.cc/150?img=63\",\n type: \"image/jpeg\",\n size: 902612\n },\n {\n id: 3,\n name: \"3rd_image.jpg\",\n src: \"http://i.pravatar.cc/150?img=24\",\n type: \"image/jpeg\",\n size: 903613\n },\n {\n id: 4,\n name: \"4th_image.jpg\",\n src: \"http://i.pravatar.cc/150?img=57\",\n type: \"image/jpeg\",\n size: 904614\n },\n {\n id: 5,\n name: \"5th_image.jpg\",\n src: \"http://i.pravatar.cc/150?img=31\",\n type: \"image/jpeg\",\n size: 905615\n }\n];\n\nstory.add(\n \"Multi Image Upload\",\n () => {\n const disabled = boolean(\"Disabled\", false);\n\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox>\n <StorySandboxExample>\n <Form data={{ images }}>\n {({ Bind }) => (\n <Bind name=\"images\">\n <MultiImageUpload\n label=\"Your previously uploaded images:\"\n disabled={disabled}\n description=\"This list will not be shown to other users.\"\n cropper={{\n aspectRatio: 1\n }}\n />\n </Bind>\n )}\n </Form>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Form data={${JSON.stringify({ images: images })}}>\n {({ Bind }) => (\n <Bind name=\"images\">\n <MultiImageUpload\n label=\"Your previously uploaded images:\"\n disabled={disabled}\n description=\"This list will not be shown to other users.\"\n />\n </Bind>\n )}\n </Form>\n `}\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [MultiImageUpload] } }\n);\n"],"mappings":";;;;AAAA;;AACA;;AACA;;AAOA;;AACA;;AAEA;;AACA;;AAEA,IAAMA,KAAK,GAAG,IAAAC,iBAAA,EAAU,wBAAV,EAAoCC,MAApC,CAAd;AACAF,KAAK,CAACG,YAAN,CAAmBC,qBAAnB;AAEA,IAAMC,MAAM,GAAG,CACX;EACIC,EAAE,EAAE,CADR;EAEIC,IAAI,EAAE,eAFV;EAGIC,GAAG,EAAE,iCAHT;EAIIC,IAAI,EAAE,YAJV;EAKIC,IAAI,EAAE;AALV,CADW,EAQX;EACIJ,EAAE,EAAE,CADR;EAEIC,IAAI,EAAE,eAFV;EAGIC,GAAG,EAAE,iCAHT;EAIIC,IAAI,EAAE,YAJV;EAKIC,IAAI,EAAE;AALV,CARW,EAeX;EACIJ,EAAE,EAAE,CADR;EAEIC,IAAI,EAAE,eAFV;EAGIC,GAAG,EAAE,iCAHT;EAIIC,IAAI,EAAE,YAJV;EAKIC,IAAI,EAAE;AALV,CAfW,EAsBX;EACIJ,EAAE,EAAE,CADR;EAEIC,IAAI,EAAE,eAFV;EAGIC,GAAG,EAAE,iCAHT;EAIIC,IAAI,EAAE,YAJV;EAKIC,IAAI,EAAE;AALV,CAtBW,EA6BX;EACIJ,EAAE,EAAE,CADR;EAEIC,IAAI,EAAE,eAFV;EAGIC,GAAG,EAAE,iCAHT;EAIIC,IAAI,EAAE,YAJV;EAKIC,IAAI,EAAE;AALV,CA7BW,CAAf;AAsCAV,KAAK,CAACW,GAAN,CACI,oBADJ,EAEI,YAAM;EACF,IAAMC,QAAQ,GAAG,IAAAC,mBAAA,EAAQ,UAAR,EAAoB,KAApB,CAAjB;EAEA,oBACI,6BAAC,YAAD,qBACI,6BAAC,kBAAD,QAAcC,eAAd,CADJ,eAEI,6BAAC,mBAAD,qBACI,6BAAC,0BAAD,qBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;MAAET,MAAM,EAANA;IAAF;EAAZ,GACK;IAAA,IAAGU,IAAH,QAAGA,IAAH;IAAA,oBACG,6BAAC,IAAD;MAAM,IAAI,EAAC;IAAX,gBACI,6BAAC,kCAAD;MACI,KAAK,EAAC,kCADV;MAEI,QAAQ,EAAEH,QAFd;MAGI,WAAW,EAAC,6CAHhB;MAII,OAAO,EAAE;QACLI,WAAW,EAAE;MADR;IAJb,EADJ,CADH;EAAA,CADL,CADJ,CADJ,eAiBI,6BAAC,uBAAD,wDAEkBC,IAAI,CAACC,SAAL,CAAe;IAAEb,MAAM,EAAEA;EAAV,CAAf,CAFlB,okBAjBJ,CAFJ,CADJ;AAsCH,CA3CL,EA4CI;EAAEc,IAAI,EAAE;IAAEC,UAAU,EAAE,CAACC,kCAAD;EAAd;AAAR,CA5CJ"}
|