@webiny/ui 5.34.8 → 5.35.0-beta.1

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.
Files changed (382) hide show
  1. package/Accordion/Accordion.js +4 -14
  2. package/Accordion/Accordion.js.map +1 -1
  3. package/Accordion/Accordion.stories.js +0 -8
  4. package/Accordion/Accordion.stories.js.map +1 -1
  5. package/Accordion/AccordionItem.d.ts +4 -1
  6. package/Accordion/AccordionItem.js +5 -26
  7. package/Accordion/AccordionItem.js.map +1 -1
  8. package/Accordion/AccordionItemActions.js +2 -10
  9. package/Accordion/AccordionItemActions.js.map +1 -1
  10. package/Accordion/index.js +0 -4
  11. package/Accordion/index.js.map +1 -1
  12. package/Alert/Alert.js +3 -10
  13. package/Alert/Alert.js.map +1 -1
  14. package/Alert/Alert.stories.js +0 -6
  15. package/Alert/Alert.stories.js.map +1 -1
  16. package/Alert/index.js +0 -2
  17. package/Alert/index.js.map +1 -1
  18. package/AutoComplete/AutoComplete.js +38 -88
  19. package/AutoComplete/AutoComplete.js.map +1 -1
  20. package/AutoComplete/AutoComplete.stories.js +0 -7
  21. package/AutoComplete/AutoComplete.stories.js.map +1 -1
  22. package/AutoComplete/MultiAutoComplete.js +52 -128
  23. package/AutoComplete/MultiAutoComplete.js.map +1 -1
  24. package/AutoComplete/MultiAutoComplete.stories.js +0 -8
  25. package/AutoComplete/MultiAutoComplete.stories.js.map +1 -1
  26. package/AutoComplete/index.js +0 -4
  27. package/AutoComplete/index.js.map +1 -1
  28. package/AutoComplete/styles.js +0 -2
  29. package/AutoComplete/styles.js.map +1 -1
  30. package/AutoComplete/utils.js +0 -8
  31. package/AutoComplete/utils.js.map +1 -1
  32. package/Avatar/Avatar.js +7 -18
  33. package/Avatar/Avatar.js.map +1 -1
  34. package/Avatar/Avatar.stories.js +0 -6
  35. package/Avatar/Avatar.stories.js.map +1 -1
  36. package/Avatar/index.js +0 -2
  37. package/Avatar/index.js.map +1 -1
  38. package/Button/Button.js +39 -59
  39. package/Button/Button.js.map +1 -1
  40. package/Button/Button.stories.js +0 -10
  41. package/Button/Button.stories.js.map +1 -1
  42. package/Button/Button.styles.js +0 -2
  43. package/Button/Button.styles.js.map +1 -1
  44. package/Button/CopyButton/CopyButton.js +2 -12
  45. package/Button/CopyButton/CopyButton.js.map +1 -1
  46. package/Button/CopyButton/CopyButton.stories.js +0 -7
  47. package/Button/CopyButton/CopyButton.stories.js.map +1 -1
  48. package/Button/IconButton/IconButton.js +6 -11
  49. package/Button/IconButton/IconButton.js.map +1 -1
  50. package/Button/IconButton/IconButton.stories.js +0 -9
  51. package/Button/IconButton/IconButton.stories.js.map +1 -1
  52. package/Button/index.js +0 -6
  53. package/Button/index.js.map +1 -1
  54. package/Carousel/Carousel.js +0 -14
  55. package/Carousel/Carousel.js.map +1 -1
  56. package/Carousel/Carouser.stories.js +0 -7
  57. package/Carousel/Carouser.stories.js.map +1 -1
  58. package/Carousel/index.js +0 -2
  59. package/Carousel/index.js.map +1 -1
  60. package/Checkbox/Checkbox.d.ts +1 -0
  61. package/Checkbox/Checkbox.js +13 -31
  62. package/Checkbox/Checkbox.js.map +1 -1
  63. package/Checkbox/Checkbox.stories.js +0 -8
  64. package/Checkbox/Checkbox.stories.js.map +1 -1
  65. package/Checkbox/Checkbox.styles.js +0 -2
  66. package/Checkbox/Checkbox.styles.js.map +1 -1
  67. package/Checkbox/CheckboxGroup.js +7 -24
  68. package/Checkbox/CheckboxGroup.js.map +1 -1
  69. package/Checkbox/CheckboxGroup.stories.js +2 -10
  70. package/Checkbox/CheckboxGroup.stories.js.map +1 -1
  71. package/Checkbox/index.js +0 -3
  72. package/Checkbox/index.js.map +1 -1
  73. package/Chips/Chip.js +1 -8
  74. package/Chips/Chip.js.map +1 -1
  75. package/Chips/Chips.js +3 -13
  76. package/Chips/Chips.js.map +1 -1
  77. package/Chips/Chips.stories.js +0 -8
  78. package/Chips/Chips.stories.js.map +1 -1
  79. package/Chips/index.js +0 -4
  80. package/Chips/index.js.map +1 -1
  81. package/Chips/styles.js +0 -2
  82. package/Chips/styles.js.map +1 -1
  83. package/CodeEditor/CodeEditor.js +8 -36
  84. package/CodeEditor/CodeEditor.js.map +1 -1
  85. package/CodeEditor/CodeEditor.stories.js +0 -10
  86. package/CodeEditor/CodeEditor.stories.js.map +1 -1
  87. package/CodeEditor/index.js +0 -2
  88. package/CodeEditor/index.js.map +1 -1
  89. package/ColorPicker/ColorPicker.js +7 -31
  90. package/ColorPicker/ColorPicker.js.map +1 -1
  91. package/ColorPicker/ColorPicker.stories.js +0 -8
  92. package/ColorPicker/ColorPicker.stories.js.map +1 -1
  93. package/ColorPicker/index.js +0 -2
  94. package/ColorPicker/index.js.map +1 -1
  95. package/ConfirmationDialog/ConfirmationDialog.js +33 -65
  96. package/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  97. package/ConfirmationDialog/ConfirmationDialog.stories.js +0 -7
  98. package/ConfirmationDialog/ConfirmationDialog.stories.js.map +1 -1
  99. package/ConfirmationDialog/index.js +0 -4
  100. package/ConfirmationDialog/index.js.map +1 -1
  101. package/ConfirmationDialog/withConfirmation.js +0 -5
  102. package/ConfirmationDialog/withConfirmation.js.map +1 -1
  103. package/DataTable/DataTable.d.ts +14 -1
  104. package/DataTable/DataTable.js +60 -45
  105. package/DataTable/DataTable.js.map +1 -1
  106. package/DataTable/DataTable.stories.js +0 -6
  107. package/DataTable/DataTable.stories.js.map +1 -1
  108. package/DataTable/index.js +0 -2
  109. package/DataTable/index.js.map +1 -1
  110. package/DataTable/styled.d.ts +29 -1
  111. package/DataTable/styled.js +25 -7
  112. package/DataTable/styled.js.map +1 -1
  113. package/DelayedOnChange/DelayedOnChange.js +19 -35
  114. package/DelayedOnChange/DelayedOnChange.js.map +1 -1
  115. package/DelayedOnChange/index.js +0 -3
  116. package/DelayedOnChange/index.js.map +1 -1
  117. package/DelayedOnChange/withDelayedOnChange.js +3 -9
  118. package/DelayedOnChange/withDelayedOnChange.js.map +1 -1
  119. package/Dialog/Dialog.js +5 -40
  120. package/Dialog/Dialog.js.map +1 -1
  121. package/Dialog/Dialog.stories.js +0 -7
  122. package/Dialog/Dialog.stories.js.map +1 -1
  123. package/Dialog/index.js +0 -2
  124. package/Dialog/index.js.map +1 -1
  125. package/Drawer/Drawer.js +0 -9
  126. package/Drawer/Drawer.js.map +1 -1
  127. package/Drawer/Drawer.stories.js +0 -8
  128. package/Drawer/Drawer.stories.js.map +1 -1
  129. package/Drawer/index.js +0 -2
  130. package/Drawer/index.js.map +1 -1
  131. package/DynamicFieldset/Fieldset.js +7 -34
  132. package/DynamicFieldset/Fieldset.js.map +1 -1
  133. package/DynamicFieldset/index.js +0 -2
  134. package/DynamicFieldset/index.js.map +1 -1
  135. package/Elevation/Elevation.js +0 -5
  136. package/Elevation/Elevation.js.map +1 -1
  137. package/Elevation/Elevation.stories.js +0 -8
  138. package/Elevation/Elevation.stories.js.map +1 -1
  139. package/Elevation/index.js +0 -2
  140. package/Elevation/index.js.map +1 -1
  141. package/FormElementMessage/FormElementMessage.js +0 -5
  142. package/FormElementMessage/FormElementMessage.js.map +1 -1
  143. package/FormElementMessage/index.js +0 -1
  144. package/FormElementMessage/index.js.map +1 -1
  145. package/FullName/FullName.js +0 -7
  146. package/FullName/FullName.js.map +1 -1
  147. package/FullName/index.js +0 -2
  148. package/FullName/index.js.map +1 -1
  149. package/Grid/Grid.js +1 -9
  150. package/Grid/Grid.js.map +1 -1
  151. package/Grid/Grid.stories.js +0 -6
  152. package/Grid/Grid.stories.js.map +1 -1
  153. package/Grid/index.js +0 -2
  154. package/Grid/index.js.map +1 -1
  155. package/Helpers/ClassNames.js +0 -9
  156. package/Helpers/ClassNames.js.map +1 -1
  157. package/Helpers/index.js +0 -1
  158. package/Helpers/index.js.map +1 -1
  159. package/Icon/Icon.js +1 -7
  160. package/Icon/Icon.js.map +1 -1
  161. package/Icon/Icon.stories.js +0 -10
  162. package/Icon/Icon.stories.js.map +1 -1
  163. package/Icon/index.js +0 -2
  164. package/Icon/index.js.map +1 -1
  165. package/Image/Image.js +0 -8
  166. package/Image/Image.js.map +1 -1
  167. package/Image/Image.stories.js +0 -7
  168. package/Image/Image.stories.js.map +1 -1
  169. package/Image/index.js +0 -2
  170. package/Image/index.js.map +1 -1
  171. package/ImageEditor/ImageEditor.js +46 -107
  172. package/ImageEditor/ImageEditor.js.map +1 -1
  173. package/ImageEditor/index.js +0 -2
  174. package/ImageEditor/index.js.map +1 -1
  175. package/ImageEditor/toolbar/crop.js +1 -16
  176. package/ImageEditor/toolbar/crop.js.map +1 -1
  177. package/ImageEditor/toolbar/filter.js +11 -36
  178. package/ImageEditor/toolbar/filter.js.map +1 -1
  179. package/ImageEditor/toolbar/flip.js +0 -17
  180. package/ImageEditor/toolbar/flip.js.map +1 -1
  181. package/ImageEditor/toolbar/icons/index.js +0 -8
  182. package/ImageEditor/toolbar/icons/index.js.map +1 -1
  183. package/ImageEditor/toolbar/index.js +0 -5
  184. package/ImageEditor/toolbar/index.js.map +1 -1
  185. package/ImageEditor/toolbar/rotate.js +8 -43
  186. package/ImageEditor/toolbar/rotate.js.map +1 -1
  187. package/ImageUpload/Image.js +10 -34
  188. package/ImageUpload/Image.js.map +1 -1
  189. package/ImageUpload/ImageEditorDialog.js +11 -33
  190. package/ImageUpload/ImageEditorDialog.js.map +1 -1
  191. package/ImageUpload/MultiImageUpload.js +111 -175
  192. package/ImageUpload/MultiImageUpload.js.map +1 -1
  193. package/ImageUpload/MultiImageUpload.stories.js +0 -8
  194. package/ImageUpload/MultiImageUpload.stories.js.map +1 -1
  195. package/ImageUpload/SingleImageUpload.js +38 -79
  196. package/ImageUpload/SingleImageUpload.js.map +1 -1
  197. package/ImageUpload/SingleImageUpload.stories.js +0 -8
  198. package/ImageUpload/SingleImageUpload.stories.js.map +1 -1
  199. package/ImageUpload/index.js +0 -5
  200. package/ImageUpload/index.js.map +1 -1
  201. package/ImageUpload/styled.d.ts +27 -17
  202. package/ImageUpload/styled.js +0 -5
  203. package/ImageUpload/styled.js.map +1 -1
  204. package/Input/Input.js +34 -60
  205. package/Input/Input.js.map +1 -1
  206. package/Input/Input.stories.js +0 -13
  207. package/Input/Input.stories.js.map +1 -1
  208. package/Input/__tests__/Input.test.js +4 -30
  209. package/Input/__tests__/Input.test.js.map +1 -1
  210. package/Input/index.js +0 -2
  211. package/Input/index.js.map +1 -1
  212. package/List/CollapsibleList/CollapsibleList.stories.js +0 -8
  213. package/List/CollapsibleList/CollapsibleList.stories.js.map +1 -1
  214. package/List/CollapsibleList/index.js +0 -6
  215. package/List/CollapsibleList/index.js.map +1 -1
  216. package/List/DataList/DataList.js +7 -45
  217. package/List/DataList/DataList.js.map +1 -1
  218. package/List/DataList/DataList.stories.js +2 -10
  219. package/List/DataList/DataList.stories.js.map +1 -1
  220. package/List/DataList/DataListModalOverlay/DataListModalOverlay.d.ts +8 -6
  221. package/List/DataList/DataListModalOverlay/DataListModalOverlay.js +8 -18
  222. package/List/DataList/DataListModalOverlay/DataListModalOverlay.js.map +1 -1
  223. package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.js +3 -14
  224. package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.js.map +1 -1
  225. package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.js +3 -12
  226. package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.js.map +1 -1
  227. package/List/DataList/DataListModalOverlay/index.js +0 -3
  228. package/List/DataList/DataListModalOverlay/index.js.map +1 -1
  229. package/List/DataList/DataListWithSections.js +4 -48
  230. package/List/DataList/DataListWithSections.js.map +1 -1
  231. package/List/DataList/Loader.js +0 -7
  232. package/List/DataList/Loader.js.map +1 -1
  233. package/List/DataList/NoData.js +0 -7
  234. package/List/DataList/NoData.js.map +1 -1
  235. package/List/DataList/icons/index.js +0 -29
  236. package/List/DataList/icons/index.js.map +1 -1
  237. package/List/DataList/index.js +0 -6
  238. package/List/DataList/index.js.map +1 -1
  239. package/List/List.js +0 -39
  240. package/List/List.js.map +1 -1
  241. package/List/List.stories.js +0 -12
  242. package/List/List.stories.js.map +1 -1
  243. package/List/icons/index.js +0 -3
  244. package/List/icons/index.js.map +1 -1
  245. package/List/index.js +0 -4
  246. package/List/index.js.map +1 -1
  247. package/Menu/Menu.js +4 -29
  248. package/Menu/Menu.js.map +1 -1
  249. package/Menu/Menu.stories.js +0 -7
  250. package/Menu/Menu.stories.js.map +1 -1
  251. package/Menu/index.js +0 -2
  252. package/Menu/index.js.map +1 -1
  253. package/Mosaic/Mosaic.js +3 -7
  254. package/Mosaic/Mosaic.js.map +1 -1
  255. package/Mosaic/Mosaic.stories.js +0 -6
  256. package/Mosaic/Mosaic.stories.js.map +1 -1
  257. package/Mosaic/index.js +0 -2
  258. package/Mosaic/index.js.map +1 -1
  259. package/Progress/CircularProgress.js +6 -14
  260. package/Progress/CircularProgress.js.map +1 -1
  261. package/Progress/index.js +0 -2
  262. package/Progress/index.js.map +1 -1
  263. package/Radio/Radio.js +9 -28
  264. package/Radio/Radio.js.map +1 -1
  265. package/Radio/Radio.styles.js +0 -2
  266. package/Radio/Radio.styles.js.map +1 -1
  267. package/Radio/RadioGroup.js +5 -21
  268. package/Radio/RadioGroup.js.map +1 -1
  269. package/Radio/RadioGroup.stories.js +2 -10
  270. package/Radio/RadioGroup.stories.js.map +1 -1
  271. package/Radio/index.js +0 -3
  272. package/Radio/index.js.map +1 -1
  273. package/RichTextEditor/RichTextEditor.js +30 -64
  274. package/RichTextEditor/RichTextEditor.js.map +1 -1
  275. package/RichTextEditor/RichTextEditor.stories.js +0 -7
  276. package/RichTextEditor/RichTextEditor.stories.js.map +1 -1
  277. package/RichTextEditor/createPropsFromConfig.js +0 -4
  278. package/RichTextEditor/createPropsFromConfig.js.map +1 -1
  279. package/RichTextEditor/index.js +0 -3
  280. package/RichTextEditor/index.js.map +1 -1
  281. package/Ripple/Ripple.js +0 -6
  282. package/Ripple/Ripple.js.map +1 -1
  283. package/Ripple/Ripple.stories.js +0 -12
  284. package/Ripple/Ripple.stories.js.map +1 -1
  285. package/Ripple/index.js +0 -2
  286. package/Ripple/index.js.map +1 -1
  287. package/Scrollbar/Scrollbar.js +0 -5
  288. package/Scrollbar/Scrollbar.js.map +1 -1
  289. package/Scrollbar/Scrollbar.stories.js +0 -6
  290. package/Scrollbar/Scrollbar.stories.js.map +1 -1
  291. package/Scrollbar/index.js +0 -2
  292. package/Scrollbar/index.js.map +1 -1
  293. package/Section/Section.stories.js +0 -7
  294. package/Section/Section.stories.js.map +1 -1
  295. package/Section/index.js +2 -12
  296. package/Section/index.js.map +1 -1
  297. package/Select/Select.js +9 -32
  298. package/Select/Select.js.map +1 -1
  299. package/Select/Select.stories.js +0 -8
  300. package/Select/Select.stories.js.map +1 -1
  301. package/Select/index.js +0 -2
  302. package/Select/index.js.map +1 -1
  303. package/Skeleton/Skeleton.d.ts +6 -2
  304. package/Skeleton/Skeleton.js +8 -11
  305. package/Skeleton/Skeleton.js.map +1 -1
  306. package/Skeleton/Skeleton.stories.js +0 -6
  307. package/Skeleton/Skeleton.stories.js.map +1 -1
  308. package/Skeleton/index.js +0 -2
  309. package/Skeleton/index.js.map +1 -1
  310. package/Slider/Slider.js +7 -29
  311. package/Slider/Slider.js.map +1 -1
  312. package/Slider/Slider.stories.js +1 -9
  313. package/Slider/Slider.stories.js.map +1 -1
  314. package/Slider/index.js +0 -2
  315. package/Slider/index.js.map +1 -1
  316. package/Snackbar/Snackbar.js +0 -19
  317. package/Snackbar/Snackbar.js.map +1 -1
  318. package/Snackbar/Snackbar.stories.js +0 -23
  319. package/Snackbar/Snackbar.stories.js.map +1 -1
  320. package/Snackbar/index.js +0 -1
  321. package/Snackbar/index.js.map +1 -1
  322. package/Switch/Switch.js +5 -28
  323. package/Switch/Switch.js.map +1 -1
  324. package/Switch/Switch.stories.js +0 -8
  325. package/Switch/Switch.stories.js.map +1 -1
  326. package/Switch/index.js +0 -2
  327. package/Switch/index.js.map +1 -1
  328. package/Tabs/Tab.js +0 -9
  329. package/Tabs/Tab.js.map +1 -1
  330. package/Tabs/Tabs.js +15 -29
  331. package/Tabs/Tabs.js.map +1 -1
  332. package/Tabs/Tabs.stories.js +0 -10
  333. package/Tabs/Tabs.stories.js.map +1 -1
  334. package/Tabs/index.js +0 -4
  335. package/Tabs/index.js.map +1 -1
  336. package/Tags/Tags.js +13 -37
  337. package/Tags/Tags.js.map +1 -1
  338. package/Tags/Tags.stories.js +0 -8
  339. package/Tags/Tags.stories.js.map +1 -1
  340. package/Tags/index.js +0 -2
  341. package/Tags/index.js.map +1 -1
  342. package/Tooltip/Tooltip.js +0 -19
  343. package/Tooltip/Tooltip.js.map +1 -1
  344. package/Tooltip/Tooltip.stories.js +0 -6
  345. package/Tooltip/Tooltip.stories.js.map +1 -1
  346. package/Tooltip/index.js +0 -2
  347. package/Tooltip/index.js.map +1 -1
  348. package/TopAppBar/TopAppBar.js +1 -8
  349. package/TopAppBar/TopAppBar.js.map +1 -1
  350. package/TopAppBar/TopAppBar.stories.js +3 -16
  351. package/TopAppBar/TopAppBar.stories.js.map +1 -1
  352. package/TopAppBar/TopAppBarActionItem.js +0 -5
  353. package/TopAppBar/TopAppBarActionItem.js.map +1 -1
  354. package/TopAppBar/TopAppBarNavigationIcon.js +0 -5
  355. package/TopAppBar/TopAppBarNavigationIcon.js.map +1 -1
  356. package/TopAppBar/TopAppBarPrimary.js +1 -8
  357. package/TopAppBar/TopAppBarPrimary.js.map +1 -1
  358. package/TopAppBar/TopAppBarSecondary.js +3 -10
  359. package/TopAppBar/TopAppBarSecondary.js.map +1 -1
  360. package/TopAppBar/TopAppBarSection.js +1 -8
  361. package/TopAppBar/TopAppBarSection.js.map +1 -1
  362. package/TopAppBar/TopAppBarTitle.js +1 -8
  363. package/TopAppBar/TopAppBarTitle.js.map +1 -1
  364. package/TopAppBar/index.js +0 -14
  365. package/TopAppBar/index.js.map +1 -1
  366. package/TopProgressBar/TopProgressBar.js +0 -5
  367. package/TopProgressBar/TopProgressBar.js.map +1 -1
  368. package/TopProgressBar/TopProgressBar.stories.js +1 -8
  369. package/TopProgressBar/TopProgressBar.stories.js.map +1 -1
  370. package/TopProgressBar/hoc/index.js +0 -2
  371. package/TopProgressBar/hoc/index.js.map +1 -1
  372. package/TopProgressBar/hoc/withTopProgressBar.js +2 -8
  373. package/TopProgressBar/hoc/withTopProgressBar.js.map +1 -1
  374. package/TopProgressBar/index.js +0 -2
  375. package/TopProgressBar/index.js.map +1 -1
  376. package/Typography/Typography.js +0 -5
  377. package/Typography/Typography.js.map +1 -1
  378. package/Typography/Typography.stories.js +0 -6
  379. package/Typography/Typography.stories.js.map +1 -1
  380. package/Typography/index.js +0 -2
  381. package/Typography/index.js.map +1 -1
  382. package/package.json +16 -15
@@ -1,46 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.MultiImageUpload = void 0;
9
-
10
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
-
12
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
-
14
10
  var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
15
-
16
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
-
18
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
19
-
20
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
-
22
14
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
23
-
24
15
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
25
-
26
16
  var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
27
-
28
17
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
-
30
18
  var _react = _interopRequireDefault(require("react"));
31
-
32
19
  var _reactButterfiles = _interopRequireDefault(require("react-butterfiles"));
33
-
34
20
  var _emotion = require("emotion");
35
-
36
21
  var _classnames = _interopRequireDefault(require("classnames"));
37
-
38
22
  var _FormElementMessage = require("../FormElementMessage");
39
-
40
23
  var _Image = _interopRequireDefault(require("./Image"));
41
-
42
24
  var _ImageEditorDialog = _interopRequireDefault(require("./ImageEditorDialog"));
43
-
44
25
  var imagesStyle = /*#__PURE__*/(0, _emotion.css)({
45
26
  ".disabled": {
46
27
  opacity: 0.75,
@@ -61,23 +42,19 @@ var imagesStyle = /*#__PURE__*/(0, _emotion.css)({
61
42
  }
62
43
  }
63
44
  }
64
- }, "label:imagesStyle;"); // Do not apply editping for following image types.
65
- // const noImageEditorTypes = ["image/svg+xml", "image/gif"];
45
+ }, "label:imagesStyle;");
66
46
 
47
+ // Do not apply editping for following image types.
48
+ // const noImageEditorTypes = ["image/svg+xml", "image/gif"];
67
49
  var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
68
50
  (0, _inherits2.default)(MultiImageUpload, _React$Component);
69
-
70
51
  var _super = (0, _createSuper2.default)(MultiImageUpload);
71
-
72
52
  function MultiImageUpload() {
73
53
  var _this;
74
-
75
54
  (0, _classCallCheck2.default)(this, MultiImageUpload);
76
-
77
55
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
78
56
  args[_key] = arguments[_key];
79
57
  }
80
-
81
58
  _this = _super.call.apply(_super, [this].concat(args));
82
59
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
83
60
  errors: undefined,
@@ -92,41 +69,31 @@ var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
92
69
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onChange", /*#__PURE__*/function () {
93
70
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(value) {
94
71
  var _this$props, onChange, validate;
95
-
96
72
  return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
97
- while (1) {
98
- switch (_context.prev = _context.next) {
99
- case 0:
100
- _this$props = _this.props, onChange = _this$props.onChange, validate = _this$props.validate;
101
- _context.t0 = onChange;
102
-
103
- if (!_context.t0) {
104
- _context.next = 5;
105
- break;
106
- }
107
-
73
+ while (1) switch (_context.prev = _context.next) {
74
+ case 0:
75
+ _this$props = _this.props, onChange = _this$props.onChange, validate = _this$props.validate;
76
+ _context.t0 = onChange;
77
+ if (!_context.t0) {
108
78
  _context.next = 5;
109
- return onChange(value);
110
-
111
- case 5:
112
- _context.t1 = validate;
113
-
114
- if (!_context.t1) {
115
- _context.next = 9;
116
- break;
117
- }
118
-
79
+ break;
80
+ }
81
+ _context.next = 5;
82
+ return onChange(value);
83
+ case 5:
84
+ _context.t1 = validate;
85
+ if (!_context.t1) {
119
86
  _context.next = 9;
120
- return validate();
121
-
122
- case 9:
123
- case "end":
124
- return _context.stop();
125
- }
87
+ break;
88
+ }
89
+ _context.next = 9;
90
+ return validate();
91
+ case 9:
92
+ case "end":
93
+ return _context.stop();
126
94
  }
127
95
  }, _callee);
128
96
  }));
129
-
130
97
  return function (_x) {
131
98
  return _ref.apply(this, arguments);
132
99
  };
@@ -134,84 +101,67 @@ var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
134
101
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleSelectedImages", /*#__PURE__*/function () {
135
102
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee4(images) {
136
103
  var selectedIndex,
137
- _args4 = arguments;
104
+ _args4 = arguments;
138
105
  return (0, _regeneratorRuntime2.default)().wrap(function _callee4$(_context4) {
139
- while (1) {
140
- switch (_context4.prev = _context4.next) {
141
- case 0:
142
- selectedIndex = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : 0;
143
-
144
- _this.setState({
145
- errors: undefined,
146
- loading: true
147
- }, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3() {
148
- var selectedImages, i, image;
149
- return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
150
- while (1) {
151
- switch (_context3.prev = _context3.next) {
152
- case 0:
153
- selectedImages = {};
154
-
155
- for (i = 0; i < images.length; i++) {
156
- image = images[i];
157
- selectedImages[selectedIndex + i] = (0, _objectSpread2.default)({}, image);
158
- }
159
-
160
- _this.setState({
161
- selectedImages: selectedImages
162
- }, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
163
- var newValue, convertedImages, _i, _image;
164
-
165
- return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
166
- while (1) {
167
- switch (_context2.prev = _context2.next) {
168
- case 0:
169
- newValue = Array.isArray(_this.props.value) ? (0, _toConsumableArray2.default)(_this.props.value) : [];
170
- convertedImages = [];
171
-
172
- for (_i = 0; _i < images.length; _i++) {
173
- _image = images[_i];
174
- convertedImages.push({
175
- src: _image.src.base64,
176
- name: _image.name,
177
- size: _image.size,
178
- type: _image.type
179
- });
180
- }
181
-
182
- newValue.splice.apply(newValue, [selectedIndex, 0].concat(convertedImages));
183
- _context2.next = 6;
184
- return _this.onChange(newValue);
185
-
186
- case 6:
187
- _this.setState({
188
- loading: false
189
- });
190
-
191
- case 7:
192
- case "end":
193
- return _context2.stop();
194
- }
195
- }
196
- }, _callee2);
197
- })));
198
-
199
- case 3:
200
- case "end":
201
- return _context3.stop();
106
+ while (1) switch (_context4.prev = _context4.next) {
107
+ case 0:
108
+ selectedIndex = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : 0;
109
+ _this.setState({
110
+ errors: undefined,
111
+ loading: true
112
+ }, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3() {
113
+ var selectedImages, i, image;
114
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
115
+ while (1) switch (_context3.prev = _context3.next) {
116
+ case 0:
117
+ selectedImages = {};
118
+ for (i = 0; i < images.length; i++) {
119
+ image = images[i];
120
+ selectedImages[selectedIndex + i] = (0, _objectSpread2.default)({}, image);
202
121
  }
203
- }
204
- }, _callee3);
205
- })));
206
-
207
- case 2:
208
- case "end":
209
- return _context4.stop();
210
- }
122
+ _this.setState({
123
+ selectedImages: selectedImages
124
+ }, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
125
+ var newValue, convertedImages, _i, _image;
126
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
127
+ while (1) switch (_context2.prev = _context2.next) {
128
+ case 0:
129
+ newValue = Array.isArray(_this.props.value) ? (0, _toConsumableArray2.default)(_this.props.value) : [];
130
+ convertedImages = [];
131
+ for (_i = 0; _i < images.length; _i++) {
132
+ _image = images[_i];
133
+ convertedImages.push({
134
+ src: _image.src.base64,
135
+ name: _image.name,
136
+ size: _image.size,
137
+ type: _image.type
138
+ });
139
+ }
140
+ newValue.splice.apply(newValue, [selectedIndex, 0].concat(convertedImages));
141
+ _context2.next = 6;
142
+ return _this.onChange(newValue);
143
+ case 6:
144
+ _this.setState({
145
+ loading: false
146
+ });
147
+ case 7:
148
+ case "end":
149
+ return _context2.stop();
150
+ }
151
+ }, _callee2);
152
+ })));
153
+ case 3:
154
+ case "end":
155
+ return _context3.stop();
156
+ }
157
+ }, _callee3);
158
+ })));
159
+ case 2:
160
+ case "end":
161
+ return _context4.stop();
211
162
  }
212
163
  }, _callee4);
213
164
  }));
214
-
215
165
  return function (_x2) {
216
166
  return _ref2.apply(this, arguments);
217
167
  };
@@ -223,56 +173,47 @@ var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
223
173
  });
224
174
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "removeImage", function (image) {
225
175
  var _this$props2 = _this.props,
226
- value = _this$props2.value,
227
- onChange = _this$props2.onChange;
228
-
176
+ value = _this$props2.value,
177
+ onChange = _this$props2.onChange;
229
178
  if (!onChange) {
230
179
  return;
231
180
  }
232
-
233
181
  var images = Array.isArray(value) ? (0, _toConsumableArray2.default)(value) : [];
234
182
  images.splice(images.indexOf(image), 1);
235
183
  onChange(images);
236
184
  });
237
185
  return _this;
238
186
  }
239
-
240
187
  (0, _createClass2.default)(MultiImageUpload, [{
241
188
  key: "render",
242
189
  value: function render() {
243
190
  var _this2 = this;
244
-
245
191
  var _this$props3 = this.props,
246
- value = _this$props3.value,
247
- validation = _this$props3.validation,
248
- label = _this$props3.label,
249
- description = _this$props3.description,
250
- disabled = _this$props3.disabled,
251
- imageEditor = _this$props3.imageEditor,
252
- accept = _this$props3.accept,
253
- maxSize = _this$props3.maxSize,
254
- className = _this$props3.className;
192
+ value = _this$props3.value,
193
+ validation = _this$props3.validation,
194
+ label = _this$props3.label,
195
+ description = _this$props3.description,
196
+ disabled = _this$props3.disabled,
197
+ imageEditor = _this$props3.imageEditor,
198
+ accept = _this$props3.accept,
199
+ maxSize = _this$props3.maxSize,
200
+ className = _this$props3.className;
255
201
  /**
256
202
  * TODO: figure out the correct type
257
203
  */
258
-
259
204
  var imageEditorImageSrc = "";
260
-
261
205
  if (this.state.imageEditor.image) {
262
206
  // @ts-ignore
263
207
  imageEditorImageSrc = this.state.imageEditor.image.src;
264
208
  console.warn("Figure out correct type if this.state.imageEditor.image.src");
265
209
  console.log(this.state.imageEditor.image.src);
266
210
  }
267
-
268
211
  var _ref5 = validation || {},
269
- validationIsValid = _ref5.isValid,
270
- validationMessage = _ref5.message;
212
+ validationIsValid = _ref5.isValid,
213
+ validationMessage = _ref5.message;
271
214
  /**
272
215
  * accept can safely be cast because we have default value
273
216
  */
274
-
275
-
276
217
  return /*#__PURE__*/_react.default.createElement("div", {
277
218
  className: (0, _classnames.default)(imagesStyle, className)
278
219
  }, label && /*#__PURE__*/_react.default.createElement("div", {
@@ -295,29 +236,25 @@ var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
295
236
  }, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee5() {
296
237
  var newValue, imageEditorImageIndex;
297
238
  return (0, _regeneratorRuntime2.default)().wrap(function _callee5$(_context5) {
298
- while (1) {
299
- switch (_context5.prev = _context5.next) {
300
- case 0:
301
- newValue = Array.isArray(_this2.props.value) ? (0, _toConsumableArray2.default)(_this2.props.value) : [];
302
- imageEditorImageIndex = _this2.state.imageEditor.index;
303
- newValue[imageEditorImageIndex].src = src;
304
- _context5.next = 5;
305
- return _this2.onChange(newValue);
306
-
307
- case 5:
308
- _this2.setState({
309
- loading: false,
310
- imageEditor: {
311
- image: null,
312
- open: false,
313
- index: undefined
314
- }
315
- });
316
-
317
- case 6:
318
- case "end":
319
- return _context5.stop();
320
- }
239
+ while (1) switch (_context5.prev = _context5.next) {
240
+ case 0:
241
+ newValue = Array.isArray(_this2.props.value) ? (0, _toConsumableArray2.default)(_this2.props.value) : [];
242
+ imageEditorImageIndex = _this2.state.imageEditor.index;
243
+ newValue[imageEditorImageIndex].src = src;
244
+ _context5.next = 5;
245
+ return _this2.onChange(newValue);
246
+ case 5:
247
+ _this2.setState({
248
+ loading: false,
249
+ imageEditor: {
250
+ image: null,
251
+ open: false,
252
+ index: undefined
253
+ }
254
+ });
255
+ case 6:
256
+ case "end":
257
+ return _context5.stop();
321
258
  }
322
259
  }, _callee5);
323
260
  })));
@@ -336,7 +273,7 @@ var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
336
273
  }
337
274
  }, function (_ref7) {
338
275
  var browseFiles = _ref7.browseFiles,
339
- getDropZoneProps = _ref7.getDropZoneProps;
276
+ getDropZoneProps = _ref7.getDropZoneProps;
340
277
  var images = Array.isArray(value) ? (0, _toConsumableArray2.default)(value) : [];
341
278
  return /*#__PURE__*/_react.default.createElement("div", getDropZoneProps({
342
279
  className: (0, _classnames.default)({
@@ -405,7 +342,6 @@ var MultiImageUpload = /*#__PURE__*/function (_React$Component) {
405
342
  }]);
406
343
  return MultiImageUpload;
407
344
  }(_react.default.Component);
408
-
409
345
  exports.MultiImageUpload = MultiImageUpload;
410
346
  (0, _defineProperty2.default)(MultiImageUpload, "defaultProps", {
411
347
  accept: ["image/jpeg", "image/png", "image/gif", "image/svg+xml"],
@@ -1 +1 @@
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> -&nbsp;\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
+ {"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> -&nbsp;\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":";;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,IAAMA,WAAW,gBAAG,IAAAC,YAAG,EAAC;EACpB,WAAW,EAAE;IACTC,OAAO,EAAE,IAAI;IACbC,aAAa,EAAE;EACnB,CAAC;EACD,WAAW,EAAE;IACTC,SAAS,EAAE,MAAM;IACjBC,EAAE,EAAE;MACAC,aAAa,EAAE,KAAK;MACpBC,MAAM,EAAE,CAAC;MACTC,OAAO,EAAE,cAAc;MACvBC,KAAK,EAAE,GAAG;MACVC,MAAM,EAAE,GAAG;MACX,cAAc,EAAE;QACZC,MAAM,EAAE,qBAAqB;QAC7BC,MAAM,EAAE,SAAS;QACjBC,SAAS,EAAE;MACf;IACJ;EACJ;AACJ,CAAC,uBAAC;;AAEF;AACA;AAAA,IAgDMC,gBAAgB;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,oFAYa;MAC3BC,MAAM,EAAEC,SAAS;MACjBC,cAAc,EAAE,CAAC,CAAC;MAClBC,OAAO,EAAE,KAAK;MACdC,WAAW,EAAE;QACTC,IAAI,EAAE,KAAK;QACXC,KAAK,EAAE,IAAI;QACXC,KAAK,EAAEN;MACX;IACJ,CAAC;IAAA;MAAA,kGAEU,iBAAOO,KAAU;QAAA;QAAA;UAAA;YAAA;cAAA,cACO,MAAKC,KAAK,EAAjCC,QAAQ,eAARA,QAAQ,EAAEC,QAAQ,eAARA,QAAQ;cAAA,cAC1BD,QAAQ;cAAA;gBAAA;gBAAA;cAAA;cAAA;cAAA,OAAWA,QAAQ,CAACF,KAAK,CAAC;YAAA;cAAA,cAClCG,QAAQ;cAAA;gBAAA;gBAAA;cAAA;cAAA;cAAA,OAAWA,QAAQ,EAAE;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CAChC;MAAA;QAAA;MAAA;IAAA;IAAA;MAAA,mGAEsB,kBAAOC,MAA2B;QAAA;UAAA;QAAA;UAAA;YAAA;cAAEC,aAAa,8DAAG,CAAC;cACxE,MAAKC,QAAQ,CACT;gBACId,MAAM,EAAEC,SAAS;gBACjBE,OAAO,EAAE;cACb,CAAC,sGACD;gBAAA;gBAAA;kBAAA;oBAAA;sBACUD,cAAmC,GAAG,CAAC,CAAC;sBAC9C,KAASa,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,MAAM,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;wBAC9BT,KAAK,GAAGM,MAAM,CAACG,CAAC,CAAC;wBACvBb,cAAc,CAACW,aAAa,GAAGE,CAAC,CAAC,mCAAQT,KAAK,CAAE;sBACpD;sBAEA,MAAKQ,QAAQ,CAAC;wBAAEZ,cAAc,EAAdA;sBAAe,CAAC,sGAAE;wBAAA;wBAAA;0BAAA;4BAAA;8BACxBe,QAAQ,GAAGC,KAAK,CAACC,OAAO,CAAC,MAAKV,KAAK,CAACD,KAAK,CAAC,oCAAO,MAAKC,KAAK,CAACD,KAAK,IAAI,EAAE;8BAEvEY,eAAe,GAAG,EAAE;8BAC1B,KAASL,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAGH,MAAM,CAACI,MAAM,EAAED,EAAC,EAAE,EAAE;gCAC9BT,MAAK,GAAGM,MAAM,CAACG,EAAC,CAAC;gCACvBK,eAAe,CAACC,IAAI,CAAC;kCACjBC,GAAG,EAAEhB,MAAK,CAACgB,GAAG,CAACC,MAAM;kCACrBC,IAAI,EAAElB,MAAK,CAACkB,IAAI;kCAChBC,IAAI,EAAEnB,MAAK,CAACmB,IAAI;kCAChBC,IAAI,EAAEpB,MAAK,CAACoB;gCAChB,CAAC,CAAC;8BACN;8BAEAT,QAAQ,CAACU,MAAM,OAAfV,QAAQ,GAAQJ,aAAa,EAAE,CAAC,SAAKO,eAAe,EAAC;8BAAC;8BAAA,OAChD,MAAKV,QAAQ,CAACO,QAAQ,CAAC;4BAAA;8BAC7B,MAAKH,QAAQ,CAAC;gCAAEX,OAAO,EAAE;8BAAM,CAAC,CAAC;4BAAC;4BAAA;8BAAA;0BAAA;wBAAA;sBAAA,CACrC,GAAC;oBAAC;oBAAA;sBAAA;kBAAA;gBAAA;cAAA,CACN,GACJ;YAAC;YAAA;cAAA;UAAA;QAAA;MAAA,CACL;MAAA;QAAA;MAAA;IAAA;IAAA,2FAEc,UAACH,MAAwB,EAAK;MACzC,MAAKc,QAAQ,CAAC;QAAEd,MAAM,EAANA;MAAO,CAAC,CAAC;IAC7B,CAAC;IAAA,0FAEa,UAACM,KAAmB,EAAK;MACnC,mBAA4B,MAAKG,KAAK;QAA9BD,KAAK,gBAALA,KAAK;QAAEE,QAAQ,gBAARA,QAAQ;MACvB,IAAI,CAACA,QAAQ,EAAE;QACX;MACJ;MAEA,IAAME,MAAM,GAAGM,KAAK,CAACC,OAAO,CAACX,KAAK,CAAC,oCAAOA,KAAK,IAAI,EAAE;MACrDI,MAAM,CAACe,MAAM,CAACf,MAAM,CAACgB,OAAO,CAACtB,KAAK,CAAC,EAAE,CAAC,CAAC;MACvCI,QAAQ,CAACE,MAAM,CAAC;IACpB,CAAC;IAAA;EAAA;EAAA;IAAA;IAAA,OAED,kBAAyB;MAAA;MACrB,mBAUI,IAAI,CAACH,KAAK;QATVD,KAAK,gBAALA,KAAK;QACLqB,UAAU,gBAAVA,UAAU;QACVC,KAAK,gBAALA,KAAK;QACLC,WAAW,gBAAXA,WAAW;QACXC,QAAQ,gBAARA,QAAQ;QACR5B,WAAW,gBAAXA,WAAW;QACX6B,MAAM,gBAANA,MAAM;QACNC,OAAO,gBAAPA,OAAO;QACPC,SAAS,gBAATA,SAAS;MAEb;AACR;AACA;MACQ,IAAIC,mBAAmB,GAAG,EAAE;MAC5B,IAAI,IAAI,CAACC,KAAK,CAACjC,WAAW,CAACE,KAAK,EAAE;QAC9B;QACA8B,mBAAmB,GAAG,IAAI,CAACC,KAAK,CAACjC,WAAW,CAACE,KAAK,CAACgB,GAAG;QACtDgB,OAAO,CAACC,IAAI,CAAC,6DAA6D,CAAC;QAC3ED,OAAO,CAACE,GAAG,CAAC,IAAI,CAACH,KAAK,CAACjC,WAAW,CAACE,KAAK,CAACgB,GAAG,CAAC;MACjD;MAEA,YAAmEO,UAAU,IAAI,CAAC,CAAC;QAAlEY,iBAAiB,SAA1BC,OAAO;QAA8BC,iBAAiB,SAA1BC,OAAO;MAC3C;AACR;AACA;MACQ,oBACI;QAAK,SAAS,EAAE,IAAAC,mBAAU,EAAC5D,WAAW,EAAEkD,SAAS;MAAE,GAC9CL,KAAK,iBACF;QAAK,SAAS,EAAC;MAAoD,GAC9DA,KAAK,CAEb,eAED,6BAAC,0BAAiB;QACd,OAAO,EAAE1B,WAAY;QACrB,IAAI,EAAE,IAAI,CAACiC,KAAK,CAACjC,WAAW,CAACC,IAAK;QAClC,GAAG,EAAE+B,mBAAoB;QACzB,OAAO,EAAE,mBAAM;UACX,MAAI,CAACtB,QAAQ,CAAC,UAAAuB,KAAK,EAAI;YACnBA,KAAK,CAACjC,WAAW,CAACC,IAAI,GAAG,KAAK;YAC9B,OAAOgC,KAAK;UAChB,CAAC,CAAC;QACN,CAAE;QACF,QAAQ,EAAE,kBAAAf,GAAG,EAAI;UACb;UACAwB,UAAU,CAAC,YAAM;YACb,MAAI,CAAChC,QAAQ,CAAC;cAAEX,OAAO,EAAE;YAAK,CAAC,sGAAE;cAAA;cAAA;gBAAA;kBAAA;oBACvBc,QAAQ,GAAGC,KAAK,CAACC,OAAO,CAAC,MAAI,CAACV,KAAK,CAACD,KAAK,CAAC,oCACtC,MAAI,CAACC,KAAK,CAACD,KAAK,IACpB,EAAE;oBAEFuC,qBAAqB,GAAG,MAAI,CAACV,KAAK,CAACjC,WAAW,CAC/CG,KAAK;oBACVU,QAAQ,CAAC8B,qBAAqB,CAAC,CAACzB,GAAG,GAAGA,GAAG;oBAAC;oBAAA,OAEpC,MAAI,CAACZ,QAAQ,CAACO,QAAQ,CAAC;kBAAA;oBAC7B,MAAI,CAACH,QAAQ,CAAC;sBACVX,OAAO,EAAE,KAAK;sBACdC,WAAW,EAAE;wBACTE,KAAK,EAAE,IAAI;wBACXD,IAAI,EAAE,KAAK;wBACXE,KAAK,EAAEN;sBACX;oBACJ,CAAC,CAAC;kBAAC;kBAAA;oBAAA;gBAAA;cAAA;YAAA,CACN,GAAC;UACN,CAAC,CAAC;QACN;MAAE,EACJ,eAEF,6BAAC,yBAAW;QACR,MAAM,EAAEgC,MAAmB;QAC3B,OAAO,EAAEC,OAAQ;QACjB,QAAQ;QACR,eAAe;QACf,SAAS,EAAE,mBAAAc,KAAK,EAAI;UAChB,MAAI,CAACC,oBAAoB,CAACD,KAAK,EAAE9B,KAAK,CAACC,OAAO,CAACX,KAAK,CAAC,GAAGA,KAAK,CAACQ,MAAM,GAAG,CAAC,CAAC;QAC7E,CAAE;QACF,OAAO,EAAE,iBAAAhB,MAAM;UAAA,OAAI,MAAI,CAACkD,YAAY,CAAClD,MAAM,CAAC;QAAA;MAAC,GAE5C,iBAAuC;QAAA,IAApCmD,WAAW,SAAXA,WAAW;UAAEC,gBAAgB,SAAhBA,gBAAgB;QAC7B,IAAMxC,MAAM,GAAGM,KAAK,CAACC,OAAO,CAACX,KAAK,CAAC,oCAAOA,KAAK,IAAI,EAAE;QAErD,oBACI,oCAAS4C,gBAAgB,CAAC;UAAEjB,SAAS,EAAE,IAAAU,mBAAU,EAAC;YAAEb,QAAQ,EAARA;UAAS,CAAC;QAAE,CAAC,CAAC,eAC9D;UAAI,SAAS,EAAC;QAAQ,GACjBpB,MAAM,CAACyC,GAAG,CAAC,UAAC/C,KAAK,EAAEC,KAAK;UAAA,oBACrB;YAAI,GAAG,EAAEA;UAAM,gBACX,6BAAC,cAAK;YACF,OAAO,EACH,MAAI,CAAC8B,KAAK,CAACnC,cAAc,CAACK,KAAK,CAAC,IAChC,MAAI,CAAC8B,KAAK,CAAClC,OACd;YACD,KAAK,EAAEG,KAAK,CAACgD,IAAI,IAAIhD,KAAM;YAC3B,WAAW,EAAE;cAAA,OACT,MAAI,CAACiD,WAAW,CAACjD,KAAK,CAACgD,IAAI,IAAIhD,KAAK,CAAC;YAAA,CACxC;YACD,SAAS,EACL,MAAI,CAAC+B,KAAK,CAACnC,cAAc,CAACK,KAAK,CAAC,IAC/B,YAAM;cACH,MAAI,CAACO,QAAQ,CAAC;gBACVV,WAAW,EAAE;kBACTG,KAAK,EAALA,KAAK;kBACLF,IAAI,EAAE,IAAI;kBACVC,KAAK,EAAE,MAAI,CAAC+B,KAAK,CAACnC,cAAc,CAC5BK,KAAK;gBAEb;cACJ,CAAC,CAAC;YACN,CACH;YACD,WAAW,EAAE,uBAAM;cACf4C,WAAW,CAAC;gBACRK,SAAS,EAAE,mBAAAR,KAAK,EAAI;kBAChB,MAAI,CAACC,oBAAoB,CACrBD,KAAK,EACLzC,KAAK,GAAG,CAAC,CACZ;gBACL,CAAC;gBACDkD,OAAO,EAAE,iBAAAzD,MAAM;kBAAA,OAAI,MAAI,CAACkD,YAAY,CAAClD,MAAM,CAAC;gBAAA;cAChD,CAAC,CAAC;YACN;UAAE,EACJ,CACD;QAAA,CACR,CAAC,eACF,sDACI,6BAAC,cAAK;UACF,QAAQ,EAAE,MAAI,CAACqC,KAAK,CAAClC,OAAQ;UAC7B,WAAW,EAAE,uBAAM;YACfgD,WAAW,CAAC;cACRK,SAAS,EAAE,mBAAAR,KAAK,EAAI;gBAChB,MAAI,CAACC,oBAAoB,CACrBD,KAAK,EACL9B,KAAK,CAACC,OAAO,CAACX,KAAK,CAAC,GAAGA,KAAK,CAACQ,MAAM,GAAG,CAAC,CAC1C;cACL,CAAC;cACDyC,OAAO,EAAE,iBAAAzD,MAAM;gBAAA,OAAI,MAAI,CAACkD,YAAY,CAAClD,MAAM,CAAC;cAAA;YAChD,CAAC,CAAC;UACN;QAAE,EACJ,CACD,CACJ,CACH;MAEd,CAAC,CACS,EAEbyC,iBAAiB,KAAK,KAAK,iBACxB,6BAAC,sCAAkB;QAAC,KAAK;MAAA,GAAEE,iBAAiB,CAC/C,EAEAF,iBAAiB,KAAK,KAAK,IAAIV,WAAW,iBACvC,6BAAC,sCAAkB,QAAEA,WAAW,CACnC,EAEAb,KAAK,CAACC,OAAO,CAAC,IAAI,CAACkB,KAAK,CAACrC,MAAM,CAAC,iBAC7B,6BAAC,sCAAkB;QAAC,KAAK;MAAA,GAAC,kEAEtB,wDACK,IAAI,CAACqC,KAAK,CAACrC,MAAM,CAACqD,GAAG,CAAC,UAACK,KAAgB,EAAEnD,KAAK,EAAK;QAChD;AAChC;AACA;QACgC,IAAMoD,SAAS,GAAGD,KAAK,CAAChC,IAGT;QACf,IAAMkB,OAAO,GAAG,MAAI,CAACnC,KAAK,CAACmD,aAAa,CAACD,SAAS,CAAC;QAEnD,IAAME,aAAa,GAAGH,KAAK,CAACJ,IAAI,GAAGI,KAAK,CAACJ,IAAI,CAAC9B,IAAI,GAAG,EAAE;QAEvD,oBACI;UAAI,GAAG,EAAEqC,aAAa,GAAGtD;QAAM,GAC1BA,KAAK,GAAG,CAAC,EAAC,IAAE,4DAASsD,aAAa,CAAU,UAC7C,EAACjB,OAAO,IAAI,MAAI,CAACnC,KAAK,CAACmD,aAAa,CAACE,OAAO,CAC3C;MAEb,CAAC,CAAC,CACD,CAEZ,CACC;IAEd;EAAC;EAAA;AAAA,EAvQ0BC,cAAK,CAACC,SAAS;AAAA;AAAA,8BAAxCjE,gBAAgB,kBACoC;EAClDkC,MAAM,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC;EACjEC,OAAO,EAAE,KAAK;EACd9B,WAAW,EAAE,CAAC,CAAC;EACfwD,aAAa,EAAE;IACXK,eAAe,EAAE,oBAAoB;IACrCC,mBAAmB,EAAE,wBAAwB;IAC7CJ,OAAO,EAAE;EACb;AACJ,CAAC"}
@@ -1,21 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  var _react = _interopRequireDefault(require("react"));
6
-
7
5
  var _react2 = require("@storybook/react");
8
-
9
6
  var _Story = require("@webiny/storybook-utils/Story");
10
-
11
7
  var _addonKnobs = require("@storybook/addon-knobs");
12
-
13
8
  var _README = _interopRequireDefault(require("./README.md"));
14
-
15
9
  var _form = require("@webiny/form");
16
-
17
10
  var _MultiImageUpload = require("./MultiImageUpload");
18
-
19
11
  var story = (0, _react2.storiesOf)("Components/ImageUpload", module);
20
12
  story.addDecorator(_addonKnobs.withKnobs);
21
13
  var images = [{
@@ -1 +1 @@
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"}
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,iBAAS,EAAC,wBAAwB,EAAEC,MAAM,CAAC;AACzDF,KAAK,CAACG,YAAY,CAACC,qBAAS,CAAC;AAE7B,IAAMC,MAAM,GAAG,CACX;EACIC,EAAE,EAAE,CAAC;EACLC,IAAI,EAAE,eAAe;EACrBC,GAAG,EAAE,iCAAiC;EACtCC,IAAI,EAAE,YAAY;EAClBC,IAAI,EAAE;AACV,CAAC,EACD;EACIJ,EAAE,EAAE,CAAC;EACLC,IAAI,EAAE,eAAe;EACrBC,GAAG,EAAE,iCAAiC;EACtCC,IAAI,EAAE,YAAY;EAClBC,IAAI,EAAE;AACV,CAAC,EACD;EACIJ,EAAE,EAAE,CAAC;EACLC,IAAI,EAAE,eAAe;EACrBC,GAAG,EAAE,iCAAiC;EACtCC,IAAI,EAAE,YAAY;EAClBC,IAAI,EAAE;AACV,CAAC,EACD;EACIJ,EAAE,EAAE,CAAC;EACLC,IAAI,EAAE,eAAe;EACrBC,GAAG,EAAE,iCAAiC;EACtCC,IAAI,EAAE,YAAY;EAClBC,IAAI,EAAE;AACV,CAAC,EACD;EACIJ,EAAE,EAAE,CAAC;EACLC,IAAI,EAAE,eAAe;EACrBC,GAAG,EAAE,iCAAiC;EACtCC,IAAI,EAAE,YAAY;EAClBC,IAAI,EAAE;AACV,CAAC,CACJ;AAEDV,KAAK,CAACW,GAAG,CACL,oBAAoB,EACpB,YAAM;EACF,IAAMC,QAAQ,GAAG,IAAAC,mBAAO,EAAC,UAAU,EAAE,KAAK,CAAC;EAE3C,oBACI,6BAAC,YAAK,qBACF,6BAAC,kBAAW,QAAEC,eAAM,CAAe,eACnC,6BAAC,mBAAY,qBACT,6BAAC,0BAAmB,qBAChB,6BAAC,UAAI;IAAC,IAAI,EAAE;MAAET,MAAM,EAANA;IAAO;EAAE,GAClB;IAAA,IAAGU,IAAI,QAAJA,IAAI;IAAA,oBACJ,6BAAC,IAAI;MAAC,IAAI,EAAC;IAAQ,gBACf,6BAAC,kCAAgB;MACb,KAAK,EAAC,kCAAkC;MACxC,QAAQ,EAAEH,QAAS;MACnB,WAAW,EAAC,6CAA6C;MACzD,OAAO,EAAE;QACLI,WAAW,EAAE;MACjB;IAAE,EACJ,CACC;EAAA,CACV,CACE,CACW,eACtB,6BAAC,uBAAgB,wDAECC,IAAI,CAACC,SAAS,CAAC;IAAEb,MAAM,EAAEA;EAAO,CAAC,CAAC,okBAYjC,CACR,CACX;AAEhB,CAAC,EACD;EAAEc,IAAI,EAAE;IAAEC,UAAU,EAAE,CAACC,kCAAgB;EAAE;AAAE,CAAC,CAC/C"}