@webiny/ui 5.17.4-beta.1 → 5.18.0-beta.2

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 (374) hide show
  1. package/Accordion/Accordion.js +1 -2
  2. package/Accordion/Accordion.stories.js +1 -2
  3. package/Accordion/AccordionItem.js +1 -2
  4. package/Accordion/index.js +1 -2
  5. package/Alert/Alert.js +1 -2
  6. package/Alert/Alert.stories.js +1 -2
  7. package/Alert/index.js +1 -2
  8. package/AutoComplete/AutoComplete.js +1 -2
  9. package/AutoComplete/AutoComplete.stories.js +1 -2
  10. package/AutoComplete/MultiAutoComplete.js +3 -4
  11. package/AutoComplete/MultiAutoComplete.stories.js +1 -2
  12. package/AutoComplete/index.js +1 -2
  13. package/AutoComplete/styles.js +1 -2
  14. package/AutoComplete/types.d.ts +1 -1
  15. package/AutoComplete/types.js +1 -2
  16. package/AutoComplete/utils.js +1 -2
  17. package/Avatar/Avatar.js +1 -2
  18. package/Avatar/Avatar.stories.js +1 -2
  19. package/Avatar/index.js +1 -2
  20. package/Button/Button.js +1 -2
  21. package/Button/Button.stories.js +1 -2
  22. package/Button/CopyButton/CopyButton.js +1 -2
  23. package/Button/CopyButton/CopyButton.stories.js +1 -2
  24. package/Button/IconButton/IconButton.js +1 -2
  25. package/Button/IconButton/IconButton.stories.js +1 -2
  26. package/Button/index.js +1 -2
  27. package/Carousel/Carousel.js +1 -2
  28. package/Carousel/Carouser.stories.js +1 -2
  29. package/Carousel/index.js +1 -2
  30. package/Checkbox/Checkbox.d.ts +1 -1
  31. package/Checkbox/Checkbox.js +1 -2
  32. package/Checkbox/Checkbox.stories.js +1 -2
  33. package/Checkbox/Checkbox.styles.js +1 -2
  34. package/Checkbox/CheckboxGroup.d.ts +1 -1
  35. package/Checkbox/CheckboxGroup.js +1 -2
  36. package/Checkbox/CheckboxGroup.stories.js +1 -2
  37. package/Checkbox/index.js +1 -2
  38. package/Chips/Chip.js +1 -2
  39. package/Chips/ChipIcon.js +1 -2
  40. package/Chips/Chips.js +1 -2
  41. package/Chips/Chips.stories.js +1 -2
  42. package/Chips/index.js +1 -2
  43. package/Chips/styles.js +1 -2
  44. package/CodeEditor/CodeEditor.d.ts +1 -1
  45. package/CodeEditor/CodeEditor.js +1 -2
  46. package/CodeEditor/CodeEditor.stories.js +1 -2
  47. package/CodeEditor/index.js +1 -2
  48. package/ColorPicker/ColorPicker.d.ts +1 -1
  49. package/ColorPicker/ColorPicker.js +1 -2
  50. package/ColorPicker/ColorPicker.stories.js +1 -2
  51. package/ColorPicker/index.js +1 -2
  52. package/ConfirmationDialog/ConfirmationDialog.js +1 -2
  53. package/ConfirmationDialog/ConfirmationDialog.stories.js +1 -2
  54. package/ConfirmationDialog/index.js +1 -2
  55. package/ConfirmationDialog/withConfirmation.js +1 -2
  56. package/Dialog/Dialog.js +1 -2
  57. package/Dialog/Dialog.stories.js +1 -2
  58. package/Dialog/index.js +1 -2
  59. package/Drawer/Drawer.js +1 -2
  60. package/Drawer/Drawer.stories.js +1 -2
  61. package/Drawer/index.js +1 -2
  62. package/DynamicFieldset/Fieldset.js +1 -2
  63. package/DynamicFieldset/index.js +1 -2
  64. package/Elevation/Elevation.js +1 -2
  65. package/Elevation/Elevation.stories.js +1 -2
  66. package/Elevation/index.js +1 -2
  67. package/FormElementMessage/FormElementMessage.js +1 -2
  68. package/FormElementMessage/index.js +1 -2
  69. package/FullName/FullName.js +1 -2
  70. package/FullName/index.js +1 -2
  71. package/Grid/Grid.js +1 -2
  72. package/Grid/Grid.stories.js +1 -2
  73. package/Grid/index.js +1 -2
  74. package/Helpers/ClassNames.js +1 -2
  75. package/Helpers/index.js +1 -2
  76. package/Icon/Icon.js +1 -2
  77. package/Icon/Icon.stories.js +1 -2
  78. package/Icon/index.js +1 -2
  79. package/Image/Image.js +1 -2
  80. package/Image/Image.stories.js +1 -2
  81. package/Image/index.js +1 -2
  82. package/ImageEditor/ImageEditor.js +1 -2
  83. package/ImageEditor/index.js +1 -2
  84. package/ImageEditor/toolbar/crop.js +1 -2
  85. package/ImageEditor/toolbar/filter.js +1 -2
  86. package/ImageEditor/toolbar/flip.js +1 -2
  87. package/ImageEditor/toolbar/icons/index.js +1 -2
  88. package/ImageEditor/toolbar/index.js +1 -2
  89. package/ImageEditor/toolbar/rotate.js +1 -2
  90. package/ImageEditor/toolbar/types.js +1 -2
  91. package/ImageUpload/Image.js +1 -2
  92. package/ImageUpload/ImageEditorDialog.js +1 -2
  93. package/ImageUpload/MultiImageUpload.js +1 -2
  94. package/ImageUpload/MultiImageUpload.stories.js +1 -2
  95. package/ImageUpload/SingleImageUpload.d.ts +1 -1
  96. package/ImageUpload/SingleImageUpload.js +1 -2
  97. package/ImageUpload/SingleImageUpload.stories.js +1 -2
  98. package/ImageUpload/index.js +1 -2
  99. package/ImageUpload/styled.d.ts +10 -10
  100. package/ImageUpload/styled.js +1 -2
  101. package/Input/Input.d.ts +1 -1
  102. package/Input/Input.js +1 -2
  103. package/Input/Input.stories.js +1 -2
  104. package/Input/__tests__/Input.test.js +1 -2
  105. package/Input/index.js +1 -2
  106. package/List/CollapsibleList/CollapsibleList.stories.js +1 -2
  107. package/List/CollapsibleList/index.js +1 -2
  108. package/List/DataList/DataList.js +1 -2
  109. package/List/DataList/DataList.stories.js +1 -2
  110. package/List/DataList/DataListModalOverlay/DataListModalOverlay.d.ts +2 -2
  111. package/List/DataList/DataListModalOverlay/DataListModalOverlay.js +1 -2
  112. package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.js +1 -2
  113. package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.js +1 -2
  114. package/List/DataList/DataListModalOverlay/index.js +1 -2
  115. package/List/DataList/Loader.js +1 -2
  116. package/List/DataList/NoData.js +1 -2
  117. package/List/DataList/icons/index.js +1 -2
  118. package/List/DataList/index.js +1 -2
  119. package/List/DataList/types.js +1 -2
  120. package/List/List.js +1 -2
  121. package/List/List.stories.js +1 -2
  122. package/List/icons/index.js +1 -2
  123. package/List/index.js +1 -2
  124. package/Menu/Menu.js +1 -2
  125. package/Menu/Menu.stories.js +1 -2
  126. package/Menu/index.js +1 -2
  127. package/Mosaic/Mosaic.js +1 -2
  128. package/Mosaic/Mosaic.stories.js +1 -2
  129. package/Mosaic/index.js +1 -2
  130. package/Progress/CircularProgress.js +1 -2
  131. package/Progress/index.js +1 -2
  132. package/Radio/Radio.d.ts +1 -1
  133. package/Radio/Radio.js +1 -2
  134. package/Radio/Radio.styles.js +1 -2
  135. package/Radio/RadioGroup.d.ts +1 -1
  136. package/Radio/RadioGroup.js +1 -2
  137. package/Radio/RadioGroup.stories.js +1 -2
  138. package/Radio/index.js +1 -2
  139. package/RichTextEditor/RichTextEditor.js +1 -2
  140. package/RichTextEditor/RichTextEditor.stories.js +1 -2
  141. package/RichTextEditor/createPropsFromConfig.js +1 -2
  142. package/RichTextEditor/index.js +1 -2
  143. package/Ripple/Ripple.js +1 -2
  144. package/Ripple/Ripple.stories.js +1 -2
  145. package/Ripple/index.js +1 -2
  146. package/Scrollbar/Scrollbar.js +1 -2
  147. package/Scrollbar/Scrollbar.stories.js +1 -2
  148. package/Scrollbar/index.js +1 -2
  149. package/Section/Section.stories.js +1 -2
  150. package/Section/index.js +1 -2
  151. package/Select/Select.d.ts +1 -1
  152. package/Select/Select.js +1 -2
  153. package/Select/Select.stories.js +1 -2
  154. package/Select/index.js +1 -2
  155. package/Slider/Slider.d.ts +1 -1
  156. package/Slider/Slider.js +1 -2
  157. package/Slider/Slider.stories.js +1 -2
  158. package/Slider/index.js +1 -2
  159. package/Snackbar/Snackbar.js +1 -2
  160. package/Snackbar/Snackbar.stories.js +1 -2
  161. package/Snackbar/index.js +1 -2
  162. package/Switch/Switch.d.ts +1 -1
  163. package/Switch/Switch.js +1 -2
  164. package/Switch/Switch.stories.js +1 -2
  165. package/Switch/index.js +1 -2
  166. package/Tabs/Tab.js +1 -2
  167. package/Tabs/Tabs.js +1 -2
  168. package/Tabs/Tabs.stories.js +1 -2
  169. package/Tabs/index.js +1 -2
  170. package/Tags/Tags.d.ts +1 -1
  171. package/Tags/Tags.js +1 -2
  172. package/Tags/Tags.stories.js +1 -2
  173. package/Tags/index.js +1 -2
  174. package/Tooltip/Tooltip.js +1 -2
  175. package/Tooltip/Tooltip.stories.js +1 -2
  176. package/Tooltip/index.js +1 -2
  177. package/TopAppBar/TopAppBar.js +1 -2
  178. package/TopAppBar/TopAppBar.stories.js +1 -2
  179. package/TopAppBar/TopAppBarActionItem.js +1 -2
  180. package/TopAppBar/TopAppBarNavigationIcon.js +1 -2
  181. package/TopAppBar/TopAppBarPrimary.js +1 -2
  182. package/TopAppBar/TopAppBarSecondary.js +1 -2
  183. package/TopAppBar/TopAppBarSection.js +1 -2
  184. package/TopAppBar/TopAppBarTitle.js +1 -2
  185. package/TopAppBar/index.js +1 -2
  186. package/TopProgressBar/TopProgressBar.js +1 -2
  187. package/TopProgressBar/TopProgressBar.stories.js +1 -2
  188. package/TopProgressBar/hoc/index.js +1 -2
  189. package/TopProgressBar/hoc/withTopProgressBar.js +1 -2
  190. package/TopProgressBar/index.js +1 -2
  191. package/Typography/Typography.js +1 -2
  192. package/Typography/Typography.stories.js +1 -2
  193. package/Typography/index.js +1 -2
  194. package/package.json +8 -8
  195. package/types.js +1 -2
  196. package/Accordion/Accordion.js.map +0 -1
  197. package/Accordion/Accordion.stories.js.map +0 -1
  198. package/Accordion/AccordionItem.js.map +0 -1
  199. package/Accordion/index.js.map +0 -1
  200. package/Alert/Alert.js.map +0 -1
  201. package/Alert/Alert.stories.js.map +0 -1
  202. package/Alert/index.js.map +0 -1
  203. package/AutoComplete/AutoComplete.js.map +0 -1
  204. package/AutoComplete/AutoComplete.stories.js.map +0 -1
  205. package/AutoComplete/MultiAutoComplete.js.map +0 -1
  206. package/AutoComplete/MultiAutoComplete.stories.js.map +0 -1
  207. package/AutoComplete/index.js.map +0 -1
  208. package/AutoComplete/styles.js.map +0 -1
  209. package/AutoComplete/types.js.map +0 -1
  210. package/AutoComplete/utils.js.map +0 -1
  211. package/Avatar/Avatar.js.map +0 -1
  212. package/Avatar/Avatar.stories.js.map +0 -1
  213. package/Avatar/index.js.map +0 -1
  214. package/Button/Button.js.map +0 -1
  215. package/Button/Button.stories.js.map +0 -1
  216. package/Button/CopyButton/CopyButton.js.map +0 -1
  217. package/Button/CopyButton/CopyButton.stories.js.map +0 -1
  218. package/Button/IconButton/IconButton.js.map +0 -1
  219. package/Button/IconButton/IconButton.stories.js.map +0 -1
  220. package/Button/index.js.map +0 -1
  221. package/Carousel/Carousel.js.map +0 -1
  222. package/Carousel/Carouser.stories.js.map +0 -1
  223. package/Carousel/index.js.map +0 -1
  224. package/Checkbox/Checkbox.js.map +0 -1
  225. package/Checkbox/Checkbox.stories.js.map +0 -1
  226. package/Checkbox/Checkbox.styles.js.map +0 -1
  227. package/Checkbox/CheckboxGroup.js.map +0 -1
  228. package/Checkbox/CheckboxGroup.stories.js.map +0 -1
  229. package/Checkbox/index.js.map +0 -1
  230. package/Chips/Chip.js.map +0 -1
  231. package/Chips/ChipIcon.js.map +0 -1
  232. package/Chips/Chips.js.map +0 -1
  233. package/Chips/Chips.stories.js.map +0 -1
  234. package/Chips/index.js.map +0 -1
  235. package/Chips/styles.js.map +0 -1
  236. package/CodeEditor/CodeEditor.js.map +0 -1
  237. package/CodeEditor/CodeEditor.stories.js.map +0 -1
  238. package/CodeEditor/index.js.map +0 -1
  239. package/ColorPicker/ColorPicker.js.map +0 -1
  240. package/ColorPicker/ColorPicker.stories.js.map +0 -1
  241. package/ColorPicker/index.js.map +0 -1
  242. package/ConfirmationDialog/ConfirmationDialog.js.map +0 -1
  243. package/ConfirmationDialog/ConfirmationDialog.stories.js.map +0 -1
  244. package/ConfirmationDialog/index.js.map +0 -1
  245. package/ConfirmationDialog/withConfirmation.js.map +0 -1
  246. package/Dialog/Dialog.js.map +0 -1
  247. package/Dialog/Dialog.stories.js.map +0 -1
  248. package/Dialog/index.js.map +0 -1
  249. package/Drawer/Drawer.js.map +0 -1
  250. package/Drawer/Drawer.stories.js.map +0 -1
  251. package/Drawer/index.js.map +0 -1
  252. package/DynamicFieldset/Fieldset.js.map +0 -1
  253. package/DynamicFieldset/index.js.map +0 -1
  254. package/Elevation/Elevation.js.map +0 -1
  255. package/Elevation/Elevation.stories.js.map +0 -1
  256. package/Elevation/index.js.map +0 -1
  257. package/FormElementMessage/FormElementMessage.js.map +0 -1
  258. package/FormElementMessage/index.js.map +0 -1
  259. package/FullName/FullName.js.map +0 -1
  260. package/FullName/index.js.map +0 -1
  261. package/Grid/Grid.js.map +0 -1
  262. package/Grid/Grid.stories.js.map +0 -1
  263. package/Grid/index.js.map +0 -1
  264. package/Helpers/ClassNames.js.map +0 -1
  265. package/Helpers/index.js.map +0 -1
  266. package/Icon/Icon.js.map +0 -1
  267. package/Icon/Icon.stories.js.map +0 -1
  268. package/Icon/index.js.map +0 -1
  269. package/Image/Image.js.map +0 -1
  270. package/Image/Image.stories.js.map +0 -1
  271. package/Image/index.js.map +0 -1
  272. package/ImageEditor/ImageEditor.js.map +0 -1
  273. package/ImageEditor/index.js.map +0 -1
  274. package/ImageEditor/toolbar/crop.js.map +0 -1
  275. package/ImageEditor/toolbar/filter.js.map +0 -1
  276. package/ImageEditor/toolbar/flip.js.map +0 -1
  277. package/ImageEditor/toolbar/icons/index.js.map +0 -1
  278. package/ImageEditor/toolbar/index.js.map +0 -1
  279. package/ImageEditor/toolbar/rotate.js.map +0 -1
  280. package/ImageEditor/toolbar/types.js.map +0 -1
  281. package/ImageUpload/Image.js.map +0 -1
  282. package/ImageUpload/ImageEditorDialog.js.map +0 -1
  283. package/ImageUpload/MultiImageUpload.js.map +0 -1
  284. package/ImageUpload/MultiImageUpload.stories.js.map +0 -1
  285. package/ImageUpload/SingleImageUpload.js.map +0 -1
  286. package/ImageUpload/SingleImageUpload.stories.js.map +0 -1
  287. package/ImageUpload/index.js.map +0 -1
  288. package/ImageUpload/styled.js.map +0 -1
  289. package/Input/Input.js.map +0 -1
  290. package/Input/Input.stories.js.map +0 -1
  291. package/Input/__tests__/Input.test.js.map +0 -1
  292. package/Input/index.js.map +0 -1
  293. package/List/CollapsibleList/CollapsibleList.stories.js.map +0 -1
  294. package/List/CollapsibleList/index.js.map +0 -1
  295. package/List/DataList/DataList.js.map +0 -1
  296. package/List/DataList/DataList.stories.js.map +0 -1
  297. package/List/DataList/DataListModalOverlay/DataListModalOverlay.js.map +0 -1
  298. package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.js.map +0 -1
  299. package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.js.map +0 -1
  300. package/List/DataList/DataListModalOverlay/index.js.map +0 -1
  301. package/List/DataList/Loader.js.map +0 -1
  302. package/List/DataList/NoData.js.map +0 -1
  303. package/List/DataList/icons/index.js.map +0 -1
  304. package/List/DataList/index.js.map +0 -1
  305. package/List/DataList/types.js.map +0 -1
  306. package/List/List.js.map +0 -1
  307. package/List/List.stories.js.map +0 -1
  308. package/List/icons/index.js.map +0 -1
  309. package/List/index.js.map +0 -1
  310. package/Menu/Menu.js.map +0 -1
  311. package/Menu/Menu.stories.js.map +0 -1
  312. package/Menu/index.js.map +0 -1
  313. package/Mosaic/Mosaic.js.map +0 -1
  314. package/Mosaic/Mosaic.stories.js.map +0 -1
  315. package/Mosaic/index.js.map +0 -1
  316. package/Progress/CircularProgress.js.map +0 -1
  317. package/Progress/index.js.map +0 -1
  318. package/Radio/Radio.js.map +0 -1
  319. package/Radio/Radio.styles.js.map +0 -1
  320. package/Radio/RadioGroup.js.map +0 -1
  321. package/Radio/RadioGroup.stories.js.map +0 -1
  322. package/Radio/index.js.map +0 -1
  323. package/RichTextEditor/RichTextEditor.js.map +0 -1
  324. package/RichTextEditor/RichTextEditor.stories.js.map +0 -1
  325. package/RichTextEditor/createPropsFromConfig.js.map +0 -1
  326. package/RichTextEditor/index.js.map +0 -1
  327. package/Ripple/Ripple.js.map +0 -1
  328. package/Ripple/Ripple.stories.js.map +0 -1
  329. package/Ripple/index.js.map +0 -1
  330. package/Scrollbar/Scrollbar.js.map +0 -1
  331. package/Scrollbar/Scrollbar.stories.js.map +0 -1
  332. package/Scrollbar/index.js.map +0 -1
  333. package/Section/Section.stories.js.map +0 -1
  334. package/Section/index.js.map +0 -1
  335. package/Select/Select.js.map +0 -1
  336. package/Select/Select.stories.js.map +0 -1
  337. package/Select/index.js.map +0 -1
  338. package/Slider/Slider.js.map +0 -1
  339. package/Slider/Slider.stories.js.map +0 -1
  340. package/Slider/index.js.map +0 -1
  341. package/Snackbar/Snackbar.js.map +0 -1
  342. package/Snackbar/Snackbar.stories.js.map +0 -1
  343. package/Snackbar/index.js.map +0 -1
  344. package/Switch/Switch.js.map +0 -1
  345. package/Switch/Switch.stories.js.map +0 -1
  346. package/Switch/index.js.map +0 -1
  347. package/Tabs/Tab.js.map +0 -1
  348. package/Tabs/Tabs.js.map +0 -1
  349. package/Tabs/Tabs.stories.js.map +0 -1
  350. package/Tabs/index.js.map +0 -1
  351. package/Tags/Tags.js.map +0 -1
  352. package/Tags/Tags.stories.js.map +0 -1
  353. package/Tags/index.js.map +0 -1
  354. package/Tooltip/Tooltip.js.map +0 -1
  355. package/Tooltip/Tooltip.stories.js.map +0 -1
  356. package/Tooltip/index.js.map +0 -1
  357. package/TopAppBar/TopAppBar.js.map +0 -1
  358. package/TopAppBar/TopAppBar.stories.js.map +0 -1
  359. package/TopAppBar/TopAppBarActionItem.js.map +0 -1
  360. package/TopAppBar/TopAppBarNavigationIcon.js.map +0 -1
  361. package/TopAppBar/TopAppBarPrimary.js.map +0 -1
  362. package/TopAppBar/TopAppBarSecondary.js.map +0 -1
  363. package/TopAppBar/TopAppBarSection.js.map +0 -1
  364. package/TopAppBar/TopAppBarTitle.js.map +0 -1
  365. package/TopAppBar/index.js.map +0 -1
  366. package/TopProgressBar/TopProgressBar.js.map +0 -1
  367. package/TopProgressBar/TopProgressBar.stories.js.map +0 -1
  368. package/TopProgressBar/hoc/index.js.map +0 -1
  369. package/TopProgressBar/hoc/withTopProgressBar.js.map +0 -1
  370. package/TopProgressBar/index.js.map +0 -1
  371. package/Typography/Typography.js.map +0 -1
  372. package/Typography/Typography.stories.js.map +0 -1
  373. package/Typography/index.js.map +0 -1
  374. package/types.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/ImageEditor/toolbar/crop.tsx"],"names":["React","IconButton","Tooltip","Cropper","cropper","renderForm","textAlign","tool","name","icon","activateTool","onActivate","canvas","options","current","cancel","destroy","apply","Promise","resolve","src","getCroppedCanvas","toDataURL","image","window","Image","ctx","getContext","onload","drawImage","width","height"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAGA,SAASC,UAAT;AACA,SAASC,OAAT;AACA,OAAOC,OAAP,MAAoB,WAApB;AACA,OAAO,4BAAP;AAEA,IAAIC,OAAgB,GAAG,IAAvB;;AAEA,IAAMC,UAAU,GAAG,SAAbA,UAAa,GAAM;AACrB,sBACI;AAAK,IAAA,KAAK,EAAE;AAAEC,MAAAA,SAAS,EAAE;AAAb;AAAZ,0FADJ;AAKH,CAND;;AAQA,IAAMC,IAAqB,GAAG;AAC1BC,EAAAA,IAAI,EAAE,MADoB;AAE1BC,EAAAA,IAF0B,sBAEH;AAAA,QAAhBC,YAAgB,QAAhBA,YAAgB;AACnB,wBACI,oBAAC,OAAD;AAAS,MAAA,SAAS,EAAE,QAApB;AAA8B,MAAA,OAAO,EAAE;AAAvC,oBACI,oBAAC,UAAD;AAAY,MAAA,IAAI,eAAE,oBAAC,QAAD,OAAlB;AAAgC,MAAA,OAAO,EAAEA;AAAzC,MADJ,CADJ;AAKH,GARyB;AAS1BL,EAAAA,UAAU,EAAVA,UAT0B;AAU1BM,EAAAA,UAAU,EAAE,2BAAyB;AAAA,QAAtBC,MAAsB,SAAtBA,MAAsB;AAAA,QAAdC,OAAc,SAAdA,OAAc;AACjCT,IAAAA,OAAO,GAAG,IAAID,OAAJ,CAAYS,MAAM,CAACE,OAAnB,EAA4BD,OAA5B,CAAV;AACH,GAZyB;AAa1BE,EAAAA,MAAM,EAAE;AAAA,WAAMX,OAAO,IAAIA,OAAO,CAACY,OAAR,EAAjB;AAAA,GAbkB;AAc1BC,EAAAA,KAAK,EAAE,sBAAgB;AAAA,QAAbL,MAAa,SAAbA,MAAa;AACnB,WAAO,IAAIM,OAAJ,CAAY,UAACC,OAAD,EAAkB;AACjC,UAAI,CAACf,OAAL,EAAc;AACVe,QAAAA,OAAO;AACP;AACH;;AAED,UAAML,OAAO,GAAGF,MAAM,CAACE,OAAvB;AACA,UAAMM,GAAG,GAAGhB,OAAO,CAACiB,gBAAR,GAA2BC,SAA3B,EAAZ;;AACA,UAAIR,OAAJ,EAAa;AACT,YAAMS,KAAK,GAAG,IAAIC,MAAM,CAACC,KAAX,EAAd;AACA,YAAMC,GAAG,GAAGZ,OAAO,CAACa,UAAR,CAAmB,IAAnB,CAAZ;;AACAJ,QAAAA,KAAK,CAACK,MAAN,GAAe,YAAM;AACjBF,UAAAA,GAAG,CAACG,SAAJ,CAAcN,KAAd,EAAqB,CAArB,EAAwB,CAAxB;AACAT,UAAAA,OAAO,CAACgB,KAAR,GAAgBP,KAAK,CAACO,KAAtB;AACAhB,UAAAA,OAAO,CAACiB,MAAR,GAAiBR,KAAK,CAACQ,MAAvB;AAEAL,UAAAA,GAAG,CAACG,SAAJ,CAAcN,KAAd,EAAqB,CAArB,EAAwB,CAAxB;AACAJ,UAAAA,OAAO;AACV,SAPD;;AAQAI,QAAAA,KAAK,CAACH,GAAN,GAAYA,GAAZ;AACH;;AAEDhB,MAAAA,OAAO,CAACY,OAAR;AACAZ,MAAAA,OAAO,GAAG,IAAV;AACH,KAxBM,CAAP;AAyBH;AAxCyB,CAA9B;AA2CA,eAAeG,IAAf","sourcesContent":["import React from \"react\";\nimport { ImageEditorTool } from \"./types\";\nimport { ReactComponent as CropIcon } from \"./icons/crop.svg\";\nimport { IconButton } from \"../../Button\";\nimport { Tooltip } from \"../../Tooltip\";\nimport Cropper from \"cropperjs\";\nimport \"cropperjs/dist/cropper.css\";\n\nlet cropper: Cropper = null;\n\nconst renderForm = () => {\n return (\n <div style={{ textAlign: \"center\" }}>\n Click and drag to crop a portion of the image. Hold Shift to persist aspect ratio.\n </div>\n );\n};\n\nconst tool: ImageEditorTool = {\n name: \"crop\",\n icon({ activateTool }) {\n return (\n <Tooltip placement={\"bottom\"} content={\"Crop\"}>\n <IconButton icon={<CropIcon />} onClick={activateTool} />\n </Tooltip>\n );\n },\n renderForm,\n onActivate: ({ canvas, options }) => {\n cropper = new Cropper(canvas.current, options);\n },\n cancel: () => cropper && cropper.destroy(),\n apply: ({ canvas }) => {\n return new Promise((resolve: any) => {\n if (!cropper) {\n resolve();\n return;\n }\n\n const current = canvas.current;\n const src = cropper.getCroppedCanvas().toDataURL();\n if (current) {\n const image = new window.Image();\n const ctx = current.getContext(\"2d\");\n image.onload = () => {\n ctx.drawImage(image, 0, 0);\n current.width = image.width;\n current.height = image.height;\n\n ctx.drawImage(image, 0, 0);\n resolve();\n };\n image.src = src;\n }\n\n cropper.destroy();\n cropper = null;\n });\n }\n};\n\nexport default tool;\n"],"file":"crop.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/ImageEditor/toolbar/filter.tsx"],"names":["React","Slider","IconButton","ButtonDefault","Tooltip","styled","Wrapper","ul","textAlign","li","display","width","padding","sliders","key","label","min","RenderForm","processing","values","canvas","props","state","component","Caman","current","revert","Object","keys","forEach","render","setState","reduce","output","resetFiltersValues","map","value","applyFilters","Component","tool","name","icon","activateTool","renderForm","cancel"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { ReactComponent as FilterIcon } from \"./icons/filter.svg\";\nimport { Slider } from \"../../Slider\";\nimport { ImageEditorTool } from \"./types\";\nimport { IconButton, ButtonDefault } from \"../../Button\";\nimport { Tooltip } from \"../../Tooltip\";\nimport { debounce } from \"lodash\";\nimport styled from \"@emotion/styled\";\n\ntype State = {\n values: Object;\n processing: boolean;\n};\n\ntype Props = {\n canvas: any;\n renderApplyCancel: Function;\n};\n\nconst Wrapper = styled(\"div\")({\n ul: {\n textAlign: \"center\",\n li: {\n display: \"inline-block\",\n width: 180,\n padding: 10\n }\n },\n \".buttons\": {\n textAlign: \"center\"\n }\n});\n\nconst sliders = [\n {\n key: \"brightness\",\n label: \"Brightness\",\n min: -100\n },\n {\n key: \"vibrance\",\n label: \"Vibrance\",\n min: -100\n },\n {\n key: \"hue\",\n label: \"Hue\",\n min: -100\n },\n {\n key: \"gamma\",\n label: \"Gamma\"\n },\n {\n key: \"clip\",\n label: \"Clip\"\n },\n {\n key: \"stackBlur\",\n label: \"Blur\"\n },\n {\n key: \"contrast\",\n label: \"Contrast\",\n min: -100\n },\n {\n key: \"saturation\",\n label: \"Saturation\",\n min: -100\n },\n {\n key: \"exposure\",\n label: \"Exposure\",\n min: -100\n },\n {\n key: \"sepia\",\n label: \"Sepia\"\n },\n {\n key: \"noise\",\n label: \"Noise\"\n },\n {\n key: \"sharpen\",\n label: \"Sharpen\"\n }\n];\n\nclass RenderForm extends React.Component<Props, State> {\n state = {\n processing: false,\n values: {}\n };\n\n componentDidMount() {\n this.resetFiltersValues();\n }\n\n applyFilters = debounce(() => {\n const { canvas } = this.props;\n const { values } = this.state;\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const component = this;\n\n // @ts-ignore\n Caman(canvas.current, function () {\n this.revert(false);\n Object.keys(values).forEach(\n key => values[key] !== 0 && this[key] && this[key](values[key])\n );\n this.render();\n component.setState({ processing: false });\n });\n }, 200);\n\n resetFiltersValues = () => {\n this.setState(state => {\n sliders.reduce((output, current) => {\n state.values[current.key] = 0;\n return output;\n }, {});\n\n return state;\n });\n };\n\n render() {\n return (\n <Wrapper>\n <ul>\n {sliders.map(props => (\n <li key={props.key}>\n <Slider\n value={this.state.values[props.key]}\n min={0}\n max={100}\n disabled={this.state.processing}\n onInput={value => {\n this.setState(state => {\n const values = { ...state.values };\n values[props.key] = value;\n\n return { ...state, processing: true, values };\n }, this.applyFilters);\n }}\n {...props}\n />\n </li>\n ))}\n </ul>\n\n <div style={{ textAlign: \"center\" }}>\n <ButtonDefault\n onClick={() => {\n this.setState({ processing: true }, () => {\n this.resetFiltersValues();\n this.applyFilters();\n this.setState({ processing: false });\n });\n }}\n >\n Reset filters\n </ButtonDefault>\n </div>\n </Wrapper>\n );\n }\n}\n\nconst tool: ImageEditorTool = {\n name: \"filter\",\n icon({ activateTool }) {\n return (\n <Tooltip placement={\"bottom\"} content={\"Filter\"}>\n <IconButton icon={<FilterIcon />} onClick={activateTool} />\n </Tooltip>\n );\n },\n renderForm(props) {\n return <RenderForm {...props} />;\n },\n cancel: ({ canvas }) => {\n // @ts-ignore\n Caman(canvas.current, function () {\n this.revert(false);\n this.render();\n });\n }\n};\n\nexport default tool;\n"],"file":"filter.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/ImageEditor/toolbar/flip.tsx"],"names":["React","Cropper","IconButton","ButtonDefault","Tooltip","cropper","flipped","x","y","renderForm","textAlign","scaleX","scaleY","tool","name","icon","activateTool","cancel","destroy","onActivate","canvas","current","background","modal","guides","dragMode","highlight","autoCrop","apply","Promise","resolve","src","getCroppedCanvas","toDataURL","image","window","Image","ctx","getContext","onload","drawImage","width","height"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { ImageEditorTool } from \"./types\";\nimport { ReactComponent as FlipIcon } from \"./icons/flip.svg\";\nimport Cropper from \"cropperjs\";\nimport \"cropperjs/dist/cropper.css\";\n\nimport { IconButton, ButtonDefault } from \"../../Button\";\nimport { Tooltip } from \"../../Tooltip\";\n\nlet cropper: Cropper = null;\n\nconst flipped = { x: 1, y: 1 };\n\nconst renderForm = () => {\n return (\n <div style={{ textAlign: \"center\" }}>\n <ButtonDefault\n onClick={() => {\n if (!cropper) {\n return;\n }\n\n flipped.x = flipped.x === 1 ? -1 : 1;\n cropper.scaleX(flipped.x);\n }}\n >\n FlipX\n </ButtonDefault>\n <ButtonDefault\n onClick={() => {\n if (!cropper) {\n return;\n }\n\n flipped.y = flipped.y === 1 ? -1 : 1;\n cropper.scaleY(flipped.y);\n }}\n >\n FlipY\n </ButtonDefault>\n </div>\n );\n};\n\nconst tool: ImageEditorTool = {\n name: \"flip\",\n icon({ activateTool }) {\n return (\n <Tooltip placement={\"bottom\"} content={\"Flip\"}>\n <IconButton icon={<FlipIcon />} onClick={activateTool} />\n </Tooltip>\n );\n },\n renderForm,\n cancel: () => cropper && cropper.destroy(),\n onActivate: ({ canvas }) => {\n cropper = new Cropper(canvas.current, {\n background: false,\n modal: false,\n guides: false,\n dragMode: \"none\",\n highlight: false,\n autoCrop: false\n });\n },\n apply: ({ canvas }) => {\n return new Promise((resolve: any) => {\n if (!cropper) {\n resolve();\n return;\n }\n\n const current = canvas.current;\n const src = cropper.getCroppedCanvas().toDataURL();\n if (current) {\n const image = new window.Image();\n const ctx = current.getContext(\"2d\");\n image.onload = () => {\n ctx.drawImage(image, 0, 0);\n current.width = image.width;\n current.height = image.height;\n\n ctx.drawImage(image, 0, 0);\n resolve();\n };\n image.src = src;\n }\n\n cropper.destroy();\n });\n }\n};\n\nexport default tool;\n"],"file":"flip.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ImageEditor/toolbar/icons/index.ts"],"names":["ReactComponent","CropIcon","DrawIcon","FilterIcon","FlipIcon","RedoIcon","RotateLeftIcon","RotateRightIcon","UndoIcon"],"mappings":"AAAA,SAASA,cAAc,IAAIC,QAA3B;AACA,SAASD,cAAc,IAAIE,QAA3B;AACA,SAASF,cAAc,IAAIG,UAA3B;AACA,SAASH,cAAc,IAAII,QAA3B;AACA,SAASJ,cAAc,IAAIK,QAA3B;AACA,SAASL,cAAc,IAAIM,cAA3B;AACA,SAASN,cAAc,IAAIO,eAA3B;AACA,SAASP,cAAc,IAAIQ,QAA3B","sourcesContent":["export { ReactComponent as CropIcon } from \"./crop.svg\";\nexport { ReactComponent as DrawIcon } from \"./draw.svg\";\nexport { ReactComponent as FilterIcon } from \"./filter.svg\";\nexport { ReactComponent as FlipIcon } from \"./flip.svg\";\nexport { ReactComponent as RedoIcon } from \"./redo.svg\";\nexport { ReactComponent as RotateLeftIcon } from \"./rotateLeft.svg\";\nexport { ReactComponent as RotateRightIcon } from \"./rotateRight.svg\";\nexport { ReactComponent as UndoIcon } from \"./undo.svg\";\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/ImageEditor/toolbar/index.ts"],"names":["default","crop","flip","filter","rotate"],"mappings":"AAAA,SAASA,OAAO,IAAIC,IAApB;AACA,SAASD,OAAO,IAAIE,IAApB;AACA,SAASF,OAAO,IAAIG,MAApB;AACA,SAASH,OAAO,IAAII,MAApB","sourcesContent":["export { default as crop } from \"./crop\";\nexport { default as flip } from \"./flip\";\nexport { default as filter } from \"./filter\";\nexport { default as rotate } from \"./rotate\";\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/ImageEditor/toolbar/rotate.tsx"],"names":["React","Slider","Tooltip","IconButton","Cropper","cropper","RenderForm","rangeInput","width","margin","state","value","setState","rotateTo","parseInt","Component","tool","name","icon","activateTool","renderForm","props","onActivate","canvas","current","background","modal","guides","dragMode","highlight","autoCrop","cancel","destroy","apply","Promise","resolve","src","getCroppedCanvas","toDataURL","image","window","Image","ctx","getContext","onload","drawImage","height"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { ReactComponent as RotateRight } from \"./icons/rotateRight.svg\";\nimport { ImageEditorTool } from \"./types\";\nimport { Slider } from \"../../Slider\";\nimport { Tooltip } from \"../../Tooltip\";\nimport { IconButton } from \"../../Button\";\n\nimport Cropper from \"cropperjs\";\nimport \"cropperjs/dist/cropper.css\";\n\nlet cropper: Cropper = null;\n\nclass RenderForm extends React.Component<any, any> {\n state = {\n rangeInput: 0\n };\n\n render() {\n return (\n <div style={{ width: \"500px\", margin: \"0 auto\" }}>\n <Slider\n label={\"Range Input\"}\n value={this.state.rangeInput}\n min={0}\n max={360}\n step={10}\n discrete={true}\n displayMarkers={true}\n onInput={value => {\n this.setState({ rangeInput: value }, async () => {\n if (cropper) {\n cropper.rotateTo(parseInt(value, 10));\n }\n });\n }}\n />\n </div>\n );\n }\n}\n\nconst tool: ImageEditorTool = {\n name: \"rotate\",\n icon({ activateTool }) {\n return (\n <Tooltip placement={\"bottom\"} content={\"Rotate\"}>\n <IconButton icon={<RotateRight />} onClick={activateTool} />\n </Tooltip>\n );\n },\n renderForm(props) {\n return <RenderForm {...props} />;\n },\n onActivate: ({ canvas }) => {\n cropper = new Cropper(canvas.current, {\n background: false,\n modal: false,\n guides: false,\n dragMode: \"none\",\n highlight: false,\n autoCrop: false\n });\n },\n cancel: () => cropper && cropper.destroy(),\n apply: ({ canvas }) => {\n return new Promise((resolve: any) => {\n if (!cropper) {\n resolve();\n return;\n }\n\n const current = canvas.current;\n const src = cropper.getCroppedCanvas().toDataURL();\n if (current) {\n const image = new window.Image();\n const ctx = current.getContext(\"2d\");\n image.onload = () => {\n ctx.drawImage(image, 0, 0);\n current.width = image.width;\n current.height = image.height;\n\n ctx.drawImage(image, 0, 0);\n };\n image.src = src;\n resolve();\n }\n\n cropper.destroy();\n });\n }\n};\n\nexport default tool;\n"],"file":"rotate.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"types.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ImageUpload/Image.tsx"],"names":["React","classNames","Typography","CircularProgress","AddImageIconWrapper","AddImageWrapper","AddImageWrapperRound","EditImage","ImagePreviewWrapper","RemoveImage","Image","props","uploadImage","round","ImageWrapper","placeholder","removeImage","editImage","value","renderImagePreview","imagePreviewProps","src","style","onClick","width","height","imagePreview","disabled","containerStyle","loading","renderImg","renderBlank","Component"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport classNames from \"classnames\";\nimport { ReactComponent as AddImageIcon } from \"./icons/round-add_photo_alternate-24px.svg\";\nimport { ReactComponent as RemoveImageIcon } from \"./icons/round-close-24px.svg\";\nimport { ReactComponent as EditImageIcon } from \"./icons/round-edit-24px.svg\";\nimport { Typography } from \"../Typography\";\nimport { CircularProgress } from \"../Progress\";\nimport {\n AddImageIconWrapper,\n AddImageWrapper,\n AddImageWrapperRound,\n EditImage,\n ImagePreviewWrapper,\n RemoveImage\n} from \"./styled\";\n\ntype Props = {\n uploadImage: Function;\n removeImage?: Function;\n editImage?: Function;\n value?: any;\n disabled?: boolean;\n loading?: boolean;\n placeholder: string;\n style?: React.CSSProperties;\n renderImagePreview?: (props: any) => React.ReactElement<any>;\n round?: boolean;\n containerStyle?: React.CSSProperties;\n};\n\nclass Image extends React.Component<Props> {\n static defaultProps = {\n placeholder: \"Select an image\",\n containerStyle: { height: \"100%\" }\n };\n\n renderBlank() {\n const { uploadImage, round } = this.props;\n\n const ImageWrapper = round ? AddImageWrapperRound : AddImageWrapper;\n\n return (\n <ImageWrapper\n data-role={\"select-image\"}\n onClick={() => {\n uploadImage();\n }}\n >\n <AddImageIconWrapper>\n <AddImageIcon />\n <Typography use={\"caption\"}>{this.props.placeholder}</Typography>\n </AddImageIconWrapper>\n </ImageWrapper>\n );\n }\n\n renderImg() {\n const { removeImage, editImage, uploadImage, value, renderImagePreview } = this.props;\n\n const imagePreviewProps: any = {\n src: value ? value.src : null,\n style: this.props.style ? this.props.style : null,\n onClick: () => uploadImage()\n };\n\n if (!imagePreviewProps.style) {\n imagePreviewProps.style = {};\n }\n\n if (!imagePreviewProps.style.width && !imagePreviewProps.style.height) {\n imagePreviewProps.style.width = \"100%\";\n imagePreviewProps.style.height = \"100%\";\n }\n\n let imagePreview = null;\n if (typeof renderImagePreview === \"function\") {\n imagePreview = renderImagePreview(imagePreviewProps);\n } else {\n imagePreview = <img {...imagePreviewProps} />;\n }\n\n return (\n <ImagePreviewWrapper>\n {imagePreview}\n\n {typeof removeImage === \"function\" && (\n <RemoveImage onClick={() => removeImage(null)}>\n <RemoveImageIcon />\n </RemoveImage>\n )}\n\n {typeof editImage === \"function\" && (\n <EditImage onClick={() => editImage(value)}>\n <EditImageIcon />\n </EditImage>\n )}\n\n <AddImageWrapper\n data-role={\"select-image\"}\n onClick={() => {\n uploadImage();\n }}\n >\n <AddImageIconWrapper>\n <AddImageIcon />\n <Typography use={\"caption\"}>{this.props.placeholder}</Typography>\n </AddImageIconWrapper>\n </AddImageWrapper>\n </ImagePreviewWrapper>\n );\n }\n\n render() {\n const { value, disabled, containerStyle } = this.props;\n return (\n <div className={classNames({ disabled })} style={containerStyle}>\n {this.props.loading && <CircularProgress />}\n {value && value.src ? this.renderImg() : this.renderBlank()}\n </div>\n );\n }\n}\n\nexport default Image;\n"],"file":"Image.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ImageUpload/ImageEditorDialog.tsx"],"names":["React","ImageEditor","Tooltip","css","Dialog","DialogAccept","DialogCancel","DialogActions","DialogContent","imageEditorDialog","width","height","maxWidth","maxHeight","paddingTop","ImageEditorDialog","createRef","props","src","options","onAccept","open","dialogZIndex","dialogProps","zIndex","imageEditor","render","activeTool","current","getCanvasDataUrl","Component"],"mappings":";;;;;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,WAAT;AACA,SAASC,OAAT;AACA,SAASC,GAAT,QAAoB,SAApB;AACA,SACIC,MADJ,EAEIC,YAFJ,EAGIC,YAHJ,EAIIC,aAJJ,EAKIC,aALJ;AAqBA,IAAMC,iBAAiB,gBAAGN,GAAG,CAAC;AAC1BO,EAAAA,KAAK,EAAE,OADmB;AAE1BC,EAAAA,MAAM,EAAE,OAFkB;AAG1B,0BAAwB;AACpBC,IAAAA,QAAQ,EAAE,iBADU;AAEpBC,IAAAA,SAAS,EAAE,iBAFS;AAGpB,kCAA8B;AAC1BD,MAAAA,QAAQ,EAAE,iBADgB;AAE1BC,MAAAA,SAAS,EAAE,iBAFe;AAG1BH,MAAAA,KAAK,EAAE,OAHmB;AAI1BC,MAAAA,MAAM,EAAE,OAJkB;AAK1BG,MAAAA,UAAU,EAAE;AALc;AAHV;AAHE,CAAD,6BAA7B;;IAgBMC,iB;;;;;;;;;;;;;;;;+EAC0Cf,KAAK,CAACgB,SAAN,E;;;;;;;WAE5C,kBAAS;AAAA;;AACL,wBAAuE,KAAKC,KAA5E;AAAA,UAAQC,GAAR,eAAQA,GAAR;AAAA,UAAaC,OAAb,eAAaA,OAAb;AAAA,UAAsBC,QAAtB,eAAsBA,QAAtB;AAAA,UAAgCC,IAAhC,eAAgCA,IAAhC;AAAA,UAAsCC,YAAtC,eAAsCA,YAAtC;AAAA,UAAuDC,WAAvD;;AAEA,0BACI,oBAAC,MAAD;AACI,QAAA,SAAS,EAAEd,iBADf;AAEI,QAAA,KAAK,EAAE;AAAEe,UAAAA,MAAM,EAAEF;AAAV,SAFX;AAGI,QAAA,IAAI,EAAED;AAHV,SAIQE,WAJR,GAMKF,IAAI,iBACD,oBAAC,WAAD;AACI,QAAA,GAAG,EAAE,KAAKI,WADd;AAEI,QAAA,GAAG,EAAEP,GAFT;AAGI,QAAA,OAAO,EAAEC;AAHb,SAKK;AAAA,YAAGO,MAAH,QAAGA,MAAH;AAAA,YAAWC,UAAX,QAAWA,UAAX;AAAA,4BACG,uDACI,oBAAC,aAAD,QAAgBD,MAAM,EAAtB,CADJ,eAEI,oBAAC,aAAD,qBACI,oBAAC,YAAD,iBADJ,EAEKC,UAAU,gBACP,oBAAC,OAAD;AACI,UAAA,OAAO,EAAE,qCADb;AAEI,UAAA,SAAS,EAAE;AAFf,wBAII,oBAAC,YAAD;AAAc,UAAA,QAAQ;AAAtB,kBAJJ,CADO,gBAQP,oBAAC,YAAD;AACI,UAAA,OAAO,EAAE;AAAA,mBACLP,QAAQ,CACJ,MAAI,CAACK,WAAL,CAAiBG,OAAjB,CAAyBC,gBAAzB,EADI,CADH;AAAA;AADb,kBAVR,CAFJ,CADH;AAAA,OALL,CAPR,CADJ;AA2CH;;;;EAjD2B7B,KAAK,CAAC8B,S;;AAmDtC,eAAef,iBAAf","sourcesContent":["import * as React from \"react\";\nimport { ImageEditor } from \"../ImageEditor\";\nimport { Tooltip } from \"../Tooltip\";\nimport { css } from \"emotion\";\nimport {\n Dialog,\n DialogAccept,\n DialogCancel,\n DialogActions,\n DialogContent,\n DialogOnClose\n} from \"../Dialog\";\n\ntype Props = {\n dialogZIndex?: number;\n onClose?: DialogOnClose;\n open?: boolean;\n options?: Object;\n src?: string;\n onAccept: (src: string) => void;\n\n // For testing purposes.\n \"data-testid\"?: string;\n};\n\nconst imageEditorDialog = css({\n width: \"100vw\",\n height: \"100vh\",\n \".mdc-dialog__surface\": {\n maxWidth: \"100% !important\",\n maxHeight: \"100% !important\",\n \".webiny-ui-dialog__content\": {\n maxWidth: \"100% !important\",\n maxHeight: \"100% !important\",\n width: \"100vw\",\n height: \"100vh\",\n paddingTop: \"0 !important\"\n }\n }\n});\n\nclass ImageEditorDialog extends React.Component<Props, { imageProcessing: boolean }> {\n imageEditor: React.RefObject<ImageEditor> = React.createRef();\n\n render() {\n const { src, options, onAccept, open, dialogZIndex, ...dialogProps } = this.props;\n\n return (\n <Dialog\n className={imageEditorDialog}\n style={{ zIndex: dialogZIndex }}\n open={open}\n {...dialogProps}\n >\n {open && (\n <ImageEditor\n ref={this.imageEditor as React.Ref<any>}\n src={src}\n options={options}\n >\n {({ render, activeTool }) => (\n <>\n <DialogContent>{render()}</DialogContent>\n <DialogActions>\n <DialogCancel>Cancel</DialogCancel>\n {activeTool ? (\n <Tooltip\n content={\"Please close currently active tool.\"}\n placement={\"top\"}\n >\n <DialogAccept disabled>Save</DialogAccept>\n </Tooltip>\n ) : (\n <DialogAccept\n onClick={() =>\n onAccept(\n this.imageEditor.current.getCanvasDataUrl()\n )\n }\n >\n Save\n </DialogAccept>\n )}\n </DialogActions>\n </>\n )}\n </ImageEditor>\n )}\n </Dialog>\n );\n }\n}\nexport default ImageEditorDialog;\n"],"file":"ImageEditorDialog.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ImageUpload/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","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","setTimeout","imageEditorImageIndex","files","handleSelectedImages","handleErrors","browseFiles","getDropZoneProps","map","file","removeImage","onSuccess","onError","isValid","message","error","errorMessages","default","Component","maxSizeExceeded","unsupportedFileType"],"mappings":"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","sourcesContent":["import * as 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\ntype Props = 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\ntype State = {\n errors?: FileError[];\n selectedImages: Object;\n loading: boolean;\n imageEditor: {\n image?: SelectedFile;\n open: boolean;\n index?: number;\n };\n};\n\nclass MultiImageUpload extends React.Component<Props, State> {\n static defaultProps = {\n validation: { isValid: null },\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 state = {\n errors: null,\n selectedImages: {},\n loading: false,\n imageEditor: {\n open: false,\n image: null,\n index: null\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({ errors: null, loading: true }, async () => {\n const selectedImages = {};\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 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 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 let imageEditorImageSrc = \"\";\n if (this.state.imageEditor.image) {\n imageEditorImageSrc = this.state.imageEditor.image.src;\n }\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: number = this.state.imageEditor.index;\n newValue[imageEditorImageIndex].src = src;\n\n await this.onChange(newValue);\n this.setState({\n loading: false,\n imageEditor: { image: null, open: false, index: null }\n });\n });\n });\n }}\n />\n\n <BrowseFiles\n accept={accept}\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 {validation.isValid === false && (\n <FormElementMessage error>{validation.message}</FormElementMessage>\n )}\n\n {validation.isValid !== 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 return (\n <li key={error.file.name + index}>\n {index + 1}. <strong>{error.file.name}</strong> -&nbsp;\n {this.props.errorMessages[error.type] ||\n this.props.errorMessages.default}\n </li>\n );\n })}\n </ul>\n </FormElementMessage>\n )}\n </div>\n );\n }\n}\n\nexport { MultiImageUpload };\n"],"file":"MultiImageUpload.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ImageUpload/MultiImageUpload.stories.tsx"],"names":["React","storiesOf","Story","StoryReadme","StorySandboxCode","StorySandbox","StorySandboxExample","withKnobs","boolean","readme","Form","MultiImageUpload","story","module","addDecorator","images","id","name","src","type","size","add","disabled","Bind","aspectRatio","JSON","stringify","info","propTables"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,QAA0B,kBAA1B;AACA,SACIC,KADJ,EAEIC,WAFJ,EAGIC,gBAHJ,EAIIC,YAJJ,EAKIC,mBALJ,QAMO,+BANP;AAOA,SAASC,SAAT,EAAoBC,OAApB,QAAmC,wBAAnC;AACA,OAAOC,MAAP;AAEA,SAASC,IAAT,QAAqB,cAArB;AACA,SAASC,gBAAT;AAEA,IAAMC,KAAK,GAAGX,SAAS,CAAC,wBAAD,EAA2BY,MAA3B,CAAvB;AACAD,KAAK,CAACE,YAAN,CAAmBP,SAAnB;AAEA,IAAMQ,MAAM,GAAG,CACX;AACIC,EAAAA,EAAE,EAAE,CADR;AAEIC,EAAAA,IAAI,EAAE,eAFV;AAGIC,EAAAA,GAAG,EAAE,iCAHT;AAIIC,EAAAA,IAAI,EAAE,YAJV;AAKIC,EAAAA,IAAI,EAAE;AALV,CADW,EAQX;AACIJ,EAAAA,EAAE,EAAE,CADR;AAEIC,EAAAA,IAAI,EAAE,eAFV;AAGIC,EAAAA,GAAG,EAAE,iCAHT;AAIIC,EAAAA,IAAI,EAAE,YAJV;AAKIC,EAAAA,IAAI,EAAE;AALV,CARW,EAeX;AACIJ,EAAAA,EAAE,EAAE,CADR;AAEIC,EAAAA,IAAI,EAAE,eAFV;AAGIC,EAAAA,GAAG,EAAE,iCAHT;AAIIC,EAAAA,IAAI,EAAE,YAJV;AAKIC,EAAAA,IAAI,EAAE;AALV,CAfW,EAsBX;AACIJ,EAAAA,EAAE,EAAE,CADR;AAEIC,EAAAA,IAAI,EAAE,eAFV;AAGIC,EAAAA,GAAG,EAAE,iCAHT;AAIIC,EAAAA,IAAI,EAAE,YAJV;AAKIC,EAAAA,IAAI,EAAE;AALV,CAtBW,EA6BX;AACIJ,EAAAA,EAAE,EAAE,CADR;AAEIC,EAAAA,IAAI,EAAE,eAFV;AAGIC,EAAAA,GAAG,EAAE,iCAHT;AAIIC,EAAAA,IAAI,EAAE,YAJV;AAKIC,EAAAA,IAAI,EAAE;AALV,CA7BW,CAAf;AAsCAR,KAAK,CAACS,GAAN,CACI,oBADJ,EAEI,YAAM;AACF,MAAMC,QAAQ,GAAGd,OAAO,CAAC,UAAD,EAAa,KAAb,CAAxB;AAEA,sBACI,oBAAC,KAAD,qBACI,oBAAC,WAAD,QAAcC,MAAd,CADJ,eAEI,oBAAC,YAAD,qBACI,oBAAC,mBAAD,qBACI,oBAAC,IAAD;AAAM,IAAA,IAAI,EAAE;AAAEM,MAAAA,MAAM,EAANA;AAAF;AAAZ,KACK;AAAA,QAAGQ,IAAH,QAAGA,IAAH;AAAA,wBACG,oBAAC,IAAD;AAAM,MAAA,IAAI,EAAC;AAAX,oBACI,oBAAC,gBAAD;AACI,MAAA,KAAK,EAAC,kCADV;AAEI,MAAA,QAAQ,EAAED,QAFd;AAGI,MAAA,WAAW,EAAC,6CAHhB;AAII,MAAA,OAAO,EAAE;AACLE,QAAAA,WAAW,EAAE;AADR;AAJb,MADJ,CADH;AAAA,GADL,CADJ,CADJ,eAiBI,oBAAC,gBAAD,wDAEkBC,IAAI,CAACC,SAAL,CAAe;AAAEX,IAAAA,MAAM,EAAEA;AAAV,GAAf,CAFlB,okBAjBJ,CAFJ,CADJ;AAsCH,CA3CL,EA4CI;AAAEY,EAAAA,IAAI,EAAE;AAAEC,IAAAA,UAAU,EAAE,CAACjB,gBAAD;AAAd;AAAR,CA5CJ","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"],"file":"MultiImageUpload.stories.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ImageUpload/SingleImageUpload.tsx"],"names":["React","BrowseFiles","FormElementMessage","styled","classNames","Image","ImageEditorDialog","ImageUploadWrapper","position","opacity","pointerEvents","transform","top","left","color","noImageEditingTypes","SingleImageUpload","loading","error","imageEditor","open","image","images","props","onChange","name","type","size","src","base64","setState","includes","errors","className","value","validation","label","description","accept","maxSize","showRemoveImageButton","renderImagePreview","imageEditorImageSrc","state","setTimeout","handleFiles","handleErrors","browseFiles","getDropZoneProps","isValid","message","errorMessages","default","Component","maxSizeExceeded","multipleMaxSizeExceeded","multipleNotAllowed","unsupportedFileType"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { FormComponentProps } from \"./../types\";\nimport BrowseFiles, { SelectedFile, FileError } from \"react-butterfiles\";\nimport { FormElementMessage } from \"../FormElementMessage\";\nimport styled from \"@emotion/styled\";\nimport classNames from \"classnames\";\nimport Image from \"./Image\";\nimport ImageEditorDialog from \"./ImageEditorDialog\";\n\nconst ImageUploadWrapper = styled(\"div\")({\n position: \"relative\",\n \".disabled\": {\n opacity: 0.75,\n pointerEvents: \"none\"\n },\n \".mdc-floating-label--float-above\": {\n transform: \"scale(0.75)\",\n top: 10,\n left: 10,\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n },\n \".mdc-text-field-helper-text\": {\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n }\n});\n\ntype Props = 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 \"10mb\").\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 // Custom image preview renderer. By default images are rendered via simple <img> element.\n renderImagePreview?: () => React.ReactElement<any>;\n\n // Should remove image button (top right ✕) be shown? Default is set to `true`.\n showRemoveImageButton?: boolean;\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 multipleNotAllowed: string;\n multipleMaxSizeExceeded: string;\n };\n};\n\ntype State = {\n loading: boolean;\n error?: FileError;\n imageEditor: {\n image?: {\n name: string;\n type: string;\n size: number;\n src?: string;\n };\n open: boolean;\n };\n};\n\n// Do not apply editing for following image types.\nconst noImageEditingTypes = [\"image/svg+xml\", \"image/gif\"];\n\nexport class SingleImageUpload extends React.Component<Props, State> {\n static defaultProps = {\n validation: { isValid: null },\n maxSize: \"10mb\",\n imageEditor: {},\n accept: [\"image/jpeg\", \"image/png\", \"image/gif\", \"image/svg+xml\"],\n showRemoveImageButton: true,\n errorMessages: {\n maxSizeExceeded: \"Max size exceeded.\",\n multipleMaxSizeExceeded: \"Selected fields exceed max file size.\",\n multipleNotAllowed: \"Multiple selection not allowed.\",\n unsupportedFileType: \"Unsupported file type.\",\n default: \"An error occurred.\"\n }\n };\n\n state = {\n loading: false,\n error: null,\n imageEditor: {\n open: false,\n image: null\n }\n };\n\n handleFiles = (images: SelectedFile[]) => {\n const { onChange, imageEditor } = this.props;\n const image = {\n name: images[0].name,\n type: images[0].type,\n size: images[0].size,\n src: images[0].src.base64\n };\n\n this.setState({ error: null }, () => {\n if (imageEditor && !noImageEditingTypes.includes(image.type)) {\n this.setState({ imageEditor: { image, open: true } });\n } else {\n onChange && onChange(image);\n }\n });\n };\n\n handleErrors = (errors: FileError[]) => {\n const [error] = errors;\n this.setState({ error });\n };\n\n render() {\n const {\n className,\n value,\n validation,\n label,\n description,\n accept,\n maxSize,\n onChange,\n imageEditor,\n showRemoveImageButton,\n renderImagePreview\n } = this.props;\n\n let imageEditorImageSrc = \"\";\n if (this.state.imageEditor.image) {\n imageEditorImageSrc = this.state.imageEditor.image.src;\n }\n\n const src = value ? value.src : null;\n\n return (\n <ImageUploadWrapper className={classNames(className)}>\n {label && !src && (\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 onChange &&\n (await onChange({ ...this.state.imageEditor.image, src }));\n this.setState({\n loading: false,\n imageEditor: { image: null, open: false }\n });\n });\n });\n }}\n />\n <BrowseFiles\n accept={accept}\n maxSize={maxSize}\n convertToBase64\n onSuccess={this.handleFiles}\n onError={this.handleErrors}\n >\n {({ browseFiles, getDropZoneProps }) => (\n <div {...getDropZoneProps()}>\n <Image\n renderImagePreview={renderImagePreview}\n loading={this.state.loading}\n value={value}\n removeImage={showRemoveImageButton ? onChange : null}\n uploadImage={browseFiles}\n editImage={browseFiles}\n />\n </div>\n )}\n </BrowseFiles>\n\n {validation.isValid === false && (\n <FormElementMessage error>{validation.message}</FormElementMessage>\n )}\n\n {validation.isValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n\n {this.state.error && (\n <FormElementMessage error>\n {this.props.errorMessages[this.state.error.type] ||\n this.props.errorMessages.default}\n </FormElementMessage>\n )}\n </ImageUploadWrapper>\n );\n }\n}\n"],"file":"SingleImageUpload.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ImageUpload/SingleImageUpload.stories.tsx"],"names":["React","storiesOf","Story","StoryReadme","StorySandboxCode","StorySandbox","StorySandboxExample","withKnobs","boolean","readme","Form","SingleImageUpload","story","module","addDecorator","image","id","name","src","type","size","add","disabled","maxWidth","Bind","JSON","stringify","info","propTables"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,QAA0B,kBAA1B;AACA,SACIC,KADJ,EAEIC,WAFJ,EAGIC,gBAHJ,EAIIC,YAJJ,EAKIC,mBALJ,QAMO,+BANP;AAOA,SAASC,SAAT,EAAoBC,OAApB,QAAmC,wBAAnC;AACA,OAAOC,MAAP;AACA,SAASC,IAAT,QAAqB,cAArB;AACA,SAASC,iBAAT;AAEA,IAAMC,KAAK,GAAGX,SAAS,CAAC,wBAAD,EAA2BY,MAA3B,CAAvB;AACAD,KAAK,CAACE,YAAN,CAAmBP,SAAnB;AAEA,IAAMQ,KAAK,GAAG;AACVC,EAAAA,EAAE,EAAE,CADM;AAEVC,EAAAA,IAAI,EAAE,eAFI;AAGVC,EAAAA,GAAG,EAAE,iCAHK;AAIVC,EAAAA,IAAI,EAAE,YAJI;AAKVC,EAAAA,IAAI,EAAE;AALI,CAAd;AAQAR,KAAK,CAACS,GAAN,CACI,qBADJ,EAEI,YAAM;AACF,MAAMC,QAAQ,GAAGd,OAAO,CAAC,UAAD,EAAa,KAAb,CAAxB;AAEA,sBACI,oBAAC,KAAD,qBACI,oBAAC,WAAD,QAAcC,MAAd,CADJ,eAEI,oBAAC,YAAD,qBACI,oBAAC,mBAAD,qBACI;AAAK,IAAA,KAAK,EAAE;AAAEc,MAAAA,QAAQ,EAAE;AAAZ;AAAZ,kBACI,oBAAC,IAAD;AAAM,IAAA,IAAI,EAAE;AAAER,MAAAA,KAAK,EAALA;AAAF;AAAZ,KACK;AAAA,QAAGS,IAAH,QAAGA,IAAH;AAAA,wBACG,oBAAC,IAAD;AAAM,MAAA,IAAI,EAAC;AAAX,oBACI,oBAAC,iBAAD;AACI,MAAA,KAAK,EAAC,iCADV;AAEI,MAAA,QAAQ,EAAEF,QAFd;AAGI,MAAA,WAAW,EAAC;AAHhB,MADJ,CADH;AAAA,GADL,CADJ,CADJ,CADJ,eAgBI,oBAAC,gBAAD,wDAEkBG,IAAI,CAACC,SAAL,CAAe;AAAEX,IAAAA,KAAK,EAAEA;AAAT,GAAf,CAFlB,mkBAhBJ,CAFJ,CADJ;AAqCH,CA1CL,EA2CI;AAAEY,EAAAA,IAAI,EAAE;AAAEC,IAAAA,UAAU,EAAE,CAACjB,iBAAD;AAAd;AAAR,CA3CJ","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\";\nimport { Form } from \"@webiny/form\";\nimport { SingleImageUpload } from \"./SingleImageUpload\";\n\nconst story = storiesOf(\"Components/ImageUpload\", module);\nstory.addDecorator(withKnobs);\n\nconst image = {\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\nstory.add(\n \"Single Image Upload\",\n () => {\n const disabled = boolean(\"Disabled\", false);\n\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox>\n <StorySandboxExample>\n <div style={{ maxWidth: 200 }}>\n <Form data={{ image }}>\n {({ Bind }) => (\n <Bind name=\"image\">\n <SingleImageUpload\n label=\"Your previously uploaded image:\"\n disabled={disabled}\n description=\"Image will be publicly visible.\"\n />\n </Bind>\n )}\n </Form>\n </div>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Form data={${JSON.stringify({ image: image })}}>\n {({ Bind }) => (\n <Bind name=\"image\">\n <SingleImageUpload\n label=\"Your previously uploaded image:\"\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: [SingleImageUpload] } }\n);\n"],"file":"SingleImageUpload.stories.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ImageUpload/index.ts"],"names":["SingleImageUpload","MultiImageUpload","default","Image","ImageEditorDialog"],"mappings":"AAAA,SAASA,iBAAT;AACA,SAASC,gBAAT;AACA,SAASC,OAAO,IAAIC,KAApB;AACA,SAASD,OAAO,IAAIE,iBAApB","sourcesContent":["export { SingleImageUpload } from \"./SingleImageUpload\";\nexport { MultiImageUpload } from \"./MultiImageUpload\";\nexport { default as Image } from \"./Image\";\nexport { default as ImageEditorDialog } from \"./ImageEditorDialog\";\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ImageUpload/styled.ts"],"names":["styled","AddImageIconWrapper","color","width","height","maxWidth","maxHeight","display","opacity","margin","AddImageWrapper","minHeight","minWidth","textAlign","backgroundColor","borderRadius","borderBottom","alignItems","justifyContent","flexDirection","transition","cursor","padding","boxSizing","AddImageWrapperRound","RemoveImage","position","top","right","EditImage","left","ImagePreviewWrapper","zIndex","transform"],"mappings":"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","sourcesContent":["// TODO remove\n// @ts-nocheck\nimport styled from \"@emotion/styled\";\n\nexport const AddImageIconWrapper = styled(\"div\")({\n color: \"var(--mdc-theme-text-secondary-on-background)\",\n \">svg\": {\n width: \"100%\",\n height: \"100%\",\n maxWidth: 50,\n maxHeight: 50,\n display: \"block\",\n opacity: 0.5,\n margin: \"0 auto\"\n }\n});\n\nexport const AddImageWrapper = styled(\"div\")({\n width: \"100%\",\n height: \"100%\",\n minHeight: 50,\n minWidth: 50,\n textAlign: \"center\",\n backgroundColor: \"var(--mdc-theme-on-background)\",\n borderRadius: 0,\n borderBottom: \"1px solid var(--mdc-theme-text-hint-on-background)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-around\",\n flexDirection: \"column\",\n transition: \"color 0.2s\",\n cursor: \"pointer\",\n padding: 10,\n boxSizing: \"border-box\",\n \"&:hover\": {\n backgroundColor: \"rgba(0,0,0, 0.5)\",\n borderBottom: \"1px solid var(--mdc-theme-on-surface)\"\n }\n});\n\nexport const AddImageWrapperRound = styled(AddImageWrapper)({\n margin: \"auto\",\n width: \"150px\",\n height: \"150px\",\n borderRadius: \"50%\"\n});\n\nexport const RemoveImage = styled(\"div\")({\n position: \"absolute\",\n cursor: \"pointer\",\n top: 10,\n right: 10,\n display: \"none\",\n color: \"white\",\n opacity: 0.5,\n \"&:hover\": {\n opacity: 0.75\n }\n});\n\nexport const EditImage = styled(\"div\")({\n position: \"absolute\",\n cursor: \"pointer\",\n top: 10,\n left: 10,\n display: \"none\",\n color: \"white\",\n opacity: 0.5,\n \"&:hover\": {\n opacity: 0.75\n }\n});\n\nexport const ImagePreviewWrapper = styled(\"div\")({\n width: \"100%\",\n height: \"100%\",\n minHeight: 50,\n minWidth: 50,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-around\",\n flexDirection: \"column\",\n boxSizing: \"border-box\",\n position: \"relative\",\n [AddImageWrapper]: {\n position: \"absolute\",\n display: \"none\",\n top: 0,\n height: \"100%\",\n zIndex: 1,\n backgroundColor: \"rgba(0,0,0, 0.75)\",\n [AddImageIconWrapper]: {\n top: \"50%\",\n left: \"50%\",\n transform: \"translateY(-50%) translateX(-50%)\",\n position: \"absolute\",\n color: \"white\"\n }\n },\n \"&:hover\": {\n [AddImageWrapper]: {\n display: \"block\"\n },\n [RemoveImage]: {\n display: \"block\",\n zIndex: 2\n },\n [EditImage]: {\n display: \"block\",\n zIndex: 2\n }\n }\n});\n"],"file":"styled.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/Input/Input.tsx"],"names":["React","TextField","FormElementMessage","pick","Input","e","props","onChange","rawOnChange","target","value","validate","onBlur","persist","autoFocus","label","description","placeholder","rows","validation","icon","trailingIcon","onEnter","inputValue","rmwcProps","key","onKeyDown","rest","Boolean","undefined","isValid","message","Component"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { TextField, TextFieldProps } from \"@rmwc/textfield\";\nimport { FormElementMessage } from \"../FormElementMessage\";\nimport pick from \"lodash/pick\";\nimport { FormComponentProps } from \"./../types\";\nimport { ReactElement } from \"react\";\n\nexport type InputProps = FormComponentProps &\n TextFieldProps & {\n // Should this input be filled with browser values\n autoComplete?: string;\n\n // If true, will pass native `event` to the `onChange` callback\n rawOnChange?: boolean;\n\n // Auto-focus input\n autoFocus?: boolean;\n\n // Input placeholder\n placeholder?: string;\n\n // Description beneath the input.\n description?: string | ReactElement;\n\n // Converts input into a text area with given number of rows.\n rows?: number;\n\n maxLength?: number;\n\n // A callback that is executed when input focus is lost.\n onBlur?: (e: React.SyntheticEvent<HTMLInputElement>) => any;\n\n onKeyDown?: (e: React.SyntheticEvent<HTMLInputElement>) => any;\n\n // A callback that gets triggered when the user presses the \"Enter\" key.\n onEnter?: () => any;\n\n // CSS class name\n className?: string;\n };\n\n/**\n * Use Input component to store short string values, like first name, last name, e-mail etc.\n * Additionally, with rows prop, it can also be turned into a text area, to store longer strings.\n */\n\nexport class Input extends React.Component<InputProps> {\n static defaultProps = {\n rawOnChange: false,\n validation: { isValid: null, message: null }\n };\n\n // IconProps directly passed to RMWC\n static rmwcProps = [\n \"label\",\n \"type\",\n \"step\",\n \"disabled\",\n \"readOnly\",\n \"placeholder\",\n \"outlined\",\n \"onKeyDown\",\n \"onKeyPress\",\n \"onKeyUp\",\n \"onFocus\",\n \"rootProps\",\n \"fullwidth\",\n \"inputRef\",\n \"className\",\n \"maxLength\",\n \"characterCount\"\n ];\n\n onChange = (e: React.SyntheticEvent<HTMLInputElement>) => {\n const { onChange, rawOnChange } = this.props;\n if (!onChange) {\n return;\n }\n\n // @ts-ignore\n onChange(rawOnChange ? e : e.target.value);\n };\n\n onBlur = async (e: React.SyntheticEvent<HTMLInputElement>) => {\n const { validate, onBlur } = this.props;\n if (validate) {\n // Since we are accessing event in an async operation, we need to persist it.\n // See https://reactjs.org/docs/events.html#event-pooling.\n e.persist();\n await validate();\n }\n onBlur && onBlur(e);\n };\n\n render() {\n const {\n autoFocus,\n value,\n label,\n description,\n placeholder,\n rows,\n validation,\n icon,\n trailingIcon,\n onEnter,\n ...props\n } = this.props;\n\n let inputValue = value;\n if (value === null || typeof value === \"undefined\") {\n inputValue = \"\";\n }\n\n return (\n <React.Fragment>\n <TextField\n {...pick(props, Input.rmwcProps)}\n onKeyDown={(e, ...rest) => {\n if (typeof onEnter === \"function\" && e.key === \"Enter\") {\n onEnter();\n }\n\n if (typeof props.onKeyDown === \"function\") {\n return props.onKeyDown(e, ...rest);\n }\n }}\n autoFocus={autoFocus}\n textarea={Boolean(rows)}\n value={inputValue}\n onChange={this.onChange}\n onBlur={this.onBlur}\n label={label}\n icon={icon}\n placeholder={(!label && placeholder) || undefined}\n trailingIcon={trailingIcon}\n rows={this.props.rows}\n />\n\n {validation.isValid === false && (\n <FormElementMessage error>{validation.message}</FormElementMessage>\n )}\n {validation.isValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </React.Fragment>\n );\n }\n}\n"],"file":"Input.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/Input/Input.stories.tsx"],"names":["React","storiesOf","Story","StoryReadme","StorySandboxCode","StorySandbox","StorySandboxExample","withKnobs","boolean","readme","Form","Input","validation","story","module","addDecorator","add","bindProps","name","validators","create","disabled","Bind","info","propTables"],"mappings":"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","sourcesContent":["import * as 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 \"./../Input/README.md\";\nimport { ReactComponent as AutoRenewIcon } from \"./svg/baseline-autorenew-24px.svg\";\nimport { ReactComponent as CloudDoneIcon } from \"./svg/baseline-cloud_done-24px.svg\";\nimport { ReactComponent as BaselineDeleteIcon } from \"./svg/baseline-delete-24px.svg\";\nimport { ReactComponent as BaselineDoneIcon } from \"./svg/baseline-done-24px.svg\";\n\nimport { Form } from \"@webiny/form\";\nimport { Input } from \"./Input\";\nimport { validation } from \"@webiny/validation\";\n\nconst story = storiesOf(\"Components/Input\", module);\nstory.addDecorator(withKnobs);\n\nstory.add(\n \"usage\",\n () => {\n const bindProps = {\n name: \"name\",\n validators: validation.create(\"required,minLength:3\")\n };\n\n const disabled = boolean(\"Disabled\", false);\n\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox>\n <StorySandboxExample title={\"Label, description and validation\"}>\n <Form>\n {({ Bind }) => (\n <Bind {...bindProps}>\n <Input\n label={\"Your name\"}\n disabled={disabled}\n description={\"This is your profile name\"}\n />\n </Bind>\n )}\n </Form>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Form>\n {({ Bind }) => (\n <Bind\n name=\"name\"\n validators={validation.create(\"required,minLength:3\")}>\n <Input label={\"Your name\"} disabled={${disabled}} description={\"This is your profile name\"}/>\n </Bind>\n )}\n </Form>\n `}\n </StorySandboxCode>\n </StorySandbox>\n <StorySandbox>\n <StorySandboxExample title={\"With icon (box)\"}>\n <Form>\n {({ Bind }) => (\n <React.Fragment>\n <Bind name=\"phone\">\n <Input\n icon={<AutoRenewIcon />}\n label={\"Your phone number\"}\n description={\"Please enter a real number\"}\n disabled={disabled}\n />\n </Bind>\n <Bind name=\"mobile\">\n <Input\n trailingIcon={<CloudDoneIcon />}\n label={\"Your mobile number\"}\n description={\"An SMS will be sent to this number\"}\n disabled={disabled}\n />\n </Bind>\n </React.Fragment>\n )}\n </Form>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Form>\n {({ Bind }) => (\n <React.Fragment>\n <Bind name=\"phone\">\n <Input\n icon={<AutoRenewIcon />}\n label={\"Your phone number\"}\n description={\"Please enter a real number\"}\n disabled={${disabled}}\n />\n </Bind>\n <Bind name=\"mobile\">\n <Input\n trailingIcon={<CloudDoneIcon />}\n label={\"Your mobile number\"}\n description={\"An SMS will be sent to this number\"}\n disabled={${disabled}}\n />\n </Bind>\n </React.Fragment>\n )}\n </Form>\n `}\n </StorySandboxCode>\n </StorySandbox>\n <StorySandbox>\n <StorySandboxExample title={\"With icon (outlined)\"}>\n <Form>\n {({ Bind }) => (\n <React.Fragment>\n <Bind name=\"phone\">\n <Input\n outlined\n icon={<BaselineDeleteIcon />}\n label={\"Your phone number\"}\n description={\"Please enter a real number\"}\n disabled={disabled}\n />\n </Bind>\n <Bind name=\"mobile\">\n <Input\n outlined\n trailingIcon={<BaselineDoneIcon />}\n label={\"Your mobile number\"}\n description={\"An SMS will be sent to this number\"}\n disabled={disabled}\n />\n </Bind>\n </React.Fragment>\n )}\n </Form>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Form>\n {({ Bind }) => (\n <React.Fragment>\n <Bind name=\"phone\">\n <Input\n outlined\n icon={<BaselineDeleteIcon />}\n label={\"Your phone number\"}\n description={\"Please enter a real number\"}\n disabled={${disabled}}\n />\n </Bind>\n <Bind name=\"mobile\">\n <Input\n outlined\n trailingIcon={<BaselineDoneIcon />}\n label={\"Your mobile number\"}\n description={\"An SMS will be sent to this number\"}\n disabled={${disabled}}\n />\n </Bind>\n </React.Fragment>\n )}\n </Form>\n `}\n </StorySandboxCode>\n </StorySandbox>\n <StorySandbox>\n <StorySandboxExample title={\"Full width\"}>\n <Form>\n {({ Bind }) => (\n <Bind {...bindProps}>\n <Input\n placeholder={\"Your name\"}\n fullwidth\n disabled={disabled}\n />\n </Bind>\n )}\n </Form>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Form>\n {({ Bind }) => (\n <Bind\n name=\"name\"\n validators={validation.create(\"required,minLength:3\")}>\n <Input placeholder={\"Your name\"} fullwidth disabled={${disabled}}/>\n </Bind>\n )}\n </Form>\n `}\n </StorySandboxCode>\n </StorySandbox>\n <StorySandbox>\n <StorySandboxExample title={\"Textarea\"}>\n <Form>\n {({ Bind }) => (\n <React.Fragment>\n <Bind name=\"info\">\n <Input\n rows={6}\n placeholder={\"Tell us something...\"}\n description={\"Just a little bit about yourself.\"}\n disabled={disabled}\n />\n </Bind>\n <Bind name=\"description\">\n <Input\n fullwidth\n rows={6}\n placeholder={\"How's the weather today?\"}\n description={\"We actually need to know.\"}\n disabled={disabled}\n />\n </Bind>\n </React.Fragment>\n )}\n </Form>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Form>\n {({ Bind }) => (\n <React.Fragment>\n <Bind name=\"info\">\n <Input\n rows={6}\n placeholder={\"Tell us something...\"}\n description={\"Just a little bit about yourself.\"}\n disabled={${disabled}}\n />\n </Bind>\n <Bind name=\"description\">\n <Input\n fullwidth\n rows={6}\n placeholder={\"How's the weather today?\"}\n description={\"We actually need to know.\"}\n disabled={${disabled}}\n />\n </Bind>\n </React.Fragment>\n )}\n </Form>\n `}\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Input] } }\n);\n"],"file":"Input.stories.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/Input/__tests__/Input.test.tsx"],"names":["React","Input","render","cleanup","afterEach","describe","test","setup","renderArg","expect","toContainKeys","value","toBe","onChange","props","renderProp","jest","fn","controllerArg","Object","assign","Test","setState","state","callAll","Component","utils","fns","args","forEach"],"mappings":";;;;;;;AAAA;AACA;AACA,OAAOA,KAAP,MAAkB,OAAlB,C,CACA;;AACA,SAASC,KAAT;AACA,OAAO,wBAAP;AACA,SAASC,MAAT,EAAiBC,OAAjB,QAAgC,uBAAhC;AAEAC,SAAS,CAACD,OAAD,CAAT;AAEAE,QAAQ,CAAC,aAAD,EAAgB,YAAM;AAC1BC,EAAAA,IAAI,CAAC,sCAAD,EAAyC,YAAM;AAC/C,iBAAsBC,KAAK,EAA3B;AAAA,QAAQC,SAAR,UAAQA,SAAR;;AAEAC,IAAAA,MAAM,CAACD,SAAD,CAAN,CAAkBE,aAAlB,CAAgC,CAAC,OAAD,EAAU,YAAV,EAAwB,UAAxB,EAAoC,QAApC,CAAhC;AACH,GAJG,CAAJ;AAMAJ,EAAAA,IAAI,CAAC,4BAAD,EAA+B,YAAM;AACrC,kBAAsBC,KAAK,EAA3B;AAAA,QAAQC,SAAR,WAAQA,SAAR;;AACAC,IAAAA,MAAM,CAACD,SAAS,CAACG,KAAX,CAAN,CAAwBC,IAAxB,CAA6B,YAA7B;AACAJ,IAAAA,SAAS,CAACK,QAAV,CAAmB,WAAnB;AACAJ,IAAAA,MAAM,CAACD,SAAS,CAACG,KAAX,CAAN,CAAwBC,IAAxB,CAA6B,WAA7B;AACAJ,IAAAA,SAAS,CAACK,QAAV,CAAmB,aAAnB;AACAJ,IAAAA,MAAM,CAACD,SAAS,CAACG,KAAX,CAAN,CAAwBC,IAAxB,CAA6B,aAA7B;AACH,GAPG,CAAJ;AAQH,CAfO,CAAR;;AAiBA,SAASL,KAAT,GAA2B;AAAA,MAAZO,KAAY,uEAAJ,EAAI;AACvB,MAAMN,SAAS,GAAG,EAAlB;AACA,MAAMO,UAAU,GAAGC,IAAI,CAACC,EAAL,CAAQ,UAAAC,aAAa,EAAI;AACxCC,IAAAA,MAAM,CAACC,MAAP,CAAcZ,SAAd,EAAyBU,aAAzB;AACA,WAAO,IAAP;AACH,GAHkB,CAAnB;;AAFuB,MAOjBG,IAPiB;AAAA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA,8DAQX;AAAEV,QAAAA,KAAK,EAAE;AAAT,OARW;;AAAA,iEAUR,UAAAA,KAAK,EAAI;AAChB,cAAKW,QAAL,CAAc;AAAEX,UAAAA,KAAK,EAALA;AAAF,SAAd;AACH,OAZkB;;AAAA;AAAA;;AAAA;AAAA;AAAA,aAcnB,kBAAS;AACL,4BACI,oBAAC,KAAD,oBACQG,KADR;AAEI,UAAA,KAAK,EAAE,KAAKS,KAAL,CAAWZ,KAFtB;AAGI,UAAA,QAAQ,EAAEa,OAAO,CAACV,KAAK,CAACD,QAAP,EAAiB,KAAKA,QAAtB;AAHrB,YAKKE,UALL,CADJ;AASH;AAxBkB;;AAAA;AAAA,IAOJf,KAAK,CAACyB,SAPF;;AA2BvB,MAAMC,KAAK,GAAGxB,MAAM,eAAC,oBAAC,IAAD,OAAD,CAApB;AAEA;AAASM,IAAAA,SAAS,EAATA;AAAT,KAAuBkB,KAAvB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASF,OAAT,GAAyB;AAAA,qCAALG,GAAK;AAALA,IAAAA,GAAK;AAAA;;AACrB,SAAO,YAAa;AAAA,uCAATC,IAAS;AAATA,MAAAA,IAAS;AAAA;;AAChBD,IAAAA,GAAG,CAACE,OAAJ,CAAY,UAAAZ,EAAE,EAAI;AACdA,MAAAA,EAAE,IAAIA,EAAE,MAAF,SAAMW,IAAN,CAAN;AACH,KAFD;AAGH,GAJD;AAKH","sourcesContent":["// TODO remove\n// @ts-nocheck\nimport React from \"react\";\n// eslint-disable-next-line\nimport { Input } from \"../index\";\nimport \"jest-dom/extend-expect\";\nimport { render, cleanup } from \"react-testing-library\";\n\nafterEach(cleanup);\n\ndescribe(\"Input tests\", () => {\n test(\"passes expected props to render prop\", () => {\n const { renderArg } = setup();\n\n expect(renderArg).toContainKeys([\"value\", \"validation\", \"onChange\", \"onBlur\"]);\n });\n\n test(\"updates value via onChange\", () => {\n const { renderArg } = setup();\n expect(renderArg.value).toBe(\"init-value\");\n renderArg.onChange(\"new-value\");\n expect(renderArg.value).toBe(\"new-value\");\n renderArg.onChange(\"third-value\");\n expect(renderArg.value).toBe(\"third-value\");\n });\n});\n\nfunction setup(props = {}) {\n const renderArg = {};\n const renderProp = jest.fn(controllerArg => {\n Object.assign(renderArg, controllerArg);\n return null;\n });\n\n class Test extends React.Component {\n state = { value: \"init-value\" };\n\n onChange = value => {\n this.setState({ value });\n };\n\n render() {\n return (\n <Input\n {...props}\n value={this.state.value}\n onChange={callAll(props.onChange, this.onChange)}\n >\n {renderProp}\n </Input>\n );\n }\n }\n\n const utils = render(<Test />);\n\n return { renderArg, ...utils };\n}\n\n/**\n * This return a function that will call all the given functions with\n * the arguments with which it's called. It does a null-check before\n * attempting to call the functions and can take any number of functions.\n * @param {...Function} fns the functions to call\n * @return {Function} the function that calls all the functions\n */\nfunction callAll(...fns) {\n return (...args) => {\n fns.forEach(fn => {\n fn && fn(...args);\n });\n };\n}\n"],"file":"Input.test.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/Input/index.ts"],"names":[],"mappings":"AAAA","sourcesContent":["export * from \"./Input\";\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/List/CollapsibleList/CollapsibleList.stories.tsx"],"names":["React","storiesOf","Story","StoryReadme","StorySandboxCode","StorySandbox","StorySandboxExample","readme","withKnobs","CollapsibleList","SimpleListItem","story","module","addDecorator","add","info","propTables"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,QAA0B,kBAA1B;AACA,SACIC,KADJ,EAEIC,WAFJ,EAGIC,gBAHJ,EAIIC,YAJJ,EAKIC,mBALJ,QAMO,+BANP;AAOA,OAAOC,MAAP;AACA,SAASC,SAAT,QAA0B,wBAA1B;AAEA,SAASC,eAAT;AACA,SAASC,cAAT;AAEA,IAAMC,KAAK,GAAGV,SAAS,CAAC,iBAAD,EAAoBW,MAApB,CAAvB;AACAD,KAAK,CAACE,YAAN,CAAmBL,SAAnB;AAEAG,KAAK,CAACG,GAAN,CACI,kBADJ,EAEI,YAAM;AACF,sBACI,oBAAC,KAAD,qBACI,oBAAC,WAAD,QAAcP,MAAd,CADJ,eAGI,oBAAC,YAAD,qBACI,oBAAC,mBAAD,qBACI,oBAAC,eAAD;AAAiB,IAAA,MAAM,eAAE,oBAAC,cAAD;AAAgB,MAAA,IAAI,EAAC;AAArB;AAAzB,kBACI,oBAAC,cAAD;AAAgB,IAAA,IAAI,EAAC;AAArB,IADJ,eAEI,oBAAC,cAAD;AAAgB,IAAA,IAAI,EAAC;AAArB,IAFJ,eAGI,oBAAC,cAAD;AAAgB,IAAA,IAAI,EAAC;AAArB,IAHJ,CADJ,CADJ,eAQI,oBAAC,gBAAD,yWARJ,CAHJ,CADJ;AAwBH,CA3BL,EA4BI;AACIQ,EAAAA,IAAI,EAAE;AACFC,IAAAA,UAAU,EAAE,CAACP,eAAD,EAAkBC,cAAlB;AADV;AADV,CA5BJ","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 readme from \"./README.md\";\nimport { withKnobs } from \"@storybook/addon-knobs\";\n\nimport { CollapsibleList } from \"./index\";\nimport { SimpleListItem } from \"./../List\";\n\nconst story = storiesOf(\"Components/List\", module);\nstory.addDecorator(withKnobs);\n\nstory.add(\n \"collapsible list\",\n () => {\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n\n <StorySandbox>\n <StorySandboxExample>\n <CollapsibleList handle={<SimpleListItem text=\"Fruits\" />}>\n <SimpleListItem text=\"Bananas\" />\n <SimpleListItem text=\"Grapes\" />\n <SimpleListItem text=\"Oranges\" />\n </CollapsibleList>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <CollapsibleList handle={<SimpleListItem text=\"Fruits\" />}>\n <SimpleListItem text=\"Bananas\" />\n <SimpleListItem text=\"Grapes\" />\n <SimpleListItem text=\"Oranges\" />\n </CollapsibleList>\n `}\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n {\n info: {\n propTables: [CollapsibleList, SimpleListItem]\n }\n }\n);\n"],"file":"CollapsibleList.stories.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/List/CollapsibleList/index.tsx"],"names":["React","CollapsibleList","RmwcCollapsibleList","props"],"mappings":"AAAA;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SACIC,eAAe,IAAIC,mBADvB,QAGO,YAHP;AASA,OAAO,IAAMD,eAAe,GAAG,SAAlBA,eAAkB,CAACE,KAAD,EAAiC;AAC5D,sBAAO,oBAAC,mBAAD,EAAyBA,KAAzB,CAAP;AACH,CAFM;AAIP,eAAeF,eAAf","sourcesContent":["import \"./index.css\";\nimport * as React from \"react\";\nimport {\n CollapsibleList as RmwcCollapsibleList,\n CollapsibleListProps as RmwcCollapsibleListProps\n} from \"@rmwc/list\";\n\nexport type CollapsibleListProps = RmwcCollapsibleListProps & {\n children: React.ReactNode; // import { CollapsibleList } from \"@rmwc/list\";\n};\n\nexport const CollapsibleList = (props: CollapsibleListProps) => {\n return <RmwcCollapsibleList {...props} />;\n};\n\nexport default CollapsibleList;\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/List/DataList/DataList.tsx"],"names":["React","styled","classNames","Loader","NoData","Typography","css","noop","isEmpty","Checkbox","Menu","MenuItem","Grid","Cell","RefreshIcon","SortIcon","FilterIcon","PreviousPageIcon","NextPageIcon","OptionsIcon","List","DataListModalOverlayProvider","ListContainer","position","height","paddingBottom","paddingTop","borderBottom","padding","minHeight","display","marginRight","width","margin","alignItems","justifyContent","flexDirection","boxSizing","whiteSpace","marginTop","marginBottom","textAlign","listHeader","color","listSubHeader","ListHeaderItem","verticalAlign","opacity","pointerEvents","listTitle","listActions","scrollList","overflow","dataListContent","MultiSelectAll","props","multiSelectActions","multiSelectAll","isAllMultiSelected","data","isNoneMultiSelected","MultiSelectActions","RefreshButton","refresh","Sorters","sorters","map","sorter","label","setSorters","value","Filters","filters","Pagination","pagination","setNextPage","disabled","hasPreviousPage","setPreviousPage","hasNextPage","Array","isArray","perPageOptions","setPerPage","perPage","Search","search","cloneElement","DataList","render","loading","loader","noData","children","title","actions","Object","keys","showOptions","length","justifySelf","modalOverlayAction","modalOverlay","defaultProps","meta","setPage","ScrollList"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport styled from \"@emotion/styled\";\nimport classNames from \"classnames\";\nimport Loader from \"./Loader\";\nimport NoData from \"./NoData\";\nimport { Typography } from \"../../Typography\";\nimport { css } from \"emotion\";\nimport noop from \"lodash/noop\";\nimport isEmpty from \"lodash/isEmpty\";\n\nimport { Checkbox } from \"../../Checkbox\";\nimport { Menu, MenuItem } from \"../../Menu\";\nimport { Grid, Cell } from \"../../Grid\";\n\nimport {\n RefreshIcon,\n SortIcon,\n FilterIcon,\n PreviousPageIcon,\n NextPageIcon,\n OptionsIcon\n} from \"./icons\";\nimport { List, ListItem, ListProps } from \"..\";\nimport { DataListModalOverlayProvider } from \"./DataListModalOverlay\";\nimport { PaginationProp, SortersProp } from \"./types\";\n\nconst ListContainer = styled(\"div\")({\n position: \"relative\",\n height: \"100%\",\n \".mdc-list\": {\n paddingBottom: 0,\n paddingTop: 0\n },\n \".mdc-list-item\": {\n borderBottom: \"1px solid var(--mdc-theme-on-background)\",\n padding: \"10px 20px 10px 20px\",\n height: \"auto\",\n minHeight: 40,\n \".mdc-list-item__text, .mdc-list-item__secondary-text, .webiny-list-text-overline\": {\n display: \"block\"\n },\n \".mdc-list-item__graphic\": {\n marginRight: 20\n },\n \".mdc-list-item__text\": {\n width: \"100%\",\n margin: \"-20px 0\",\n padding: \"20px 0\"\n },\n \".mdc-list-item__meta\": {\n alignItems: \"center\",\n display: \"flex\",\n justifyContent: \"space-between\",\n flexDirection: \"column\",\n position: \"relative\",\n padding: \"5px 0\",\n boxSizing: \"border-box\",\n height: \"100%\",\n whiteSpace: \"nowrap\",\n marginTop: -10,\n marginBottom: -10,\n \".webiny-list-actions\": {\n display: \"none\"\n },\n \".webiny-list-top-caption, .webiny-list-bottom-caption\": {\n //position: 'absolute',\n width: \"100%\",\n textAlign: \"right\"\n },\n \".webiny-list-top-caption\": {\n marginBottom: 20\n }\n },\n \"&:hover\": {\n \".mdc-list-item__meta\": {\n \".webiny-list-top-caption, .webiny-list-bottom-caption\": {\n display: \"none\"\n },\n \".webiny-list-actions\": {\n display: \"flex\",\n height: \"100%\",\n alignItems: \"center\"\n }\n }\n }\n }\n});\n\nconst listHeader = css({\n borderBottom: \"1px solid var(--mdc-theme-on-background)\",\n color: \"var(--mdc-theme-text-primary-on-background)\",\n width: \"100%\"\n});\n\nconst listSubHeader = css({\n width: \"100%\",\n \"&.mdc-layout-grid\": {\n borderBottom: \"1px solid var(--mdc-theme-on-background)\",\n padding: \"10px 24px 10px 12px\",\n color: \"var(--mdc-theme-text-primary-on-background)\"\n }\n});\n\nconst ListHeaderItem = styled(\"div\")({\n display: \"inline-block\",\n verticalAlign: \"middle\",\n \"&.disabled\": {\n opacity: 0.5,\n pointerEvents: \"none\"\n }\n});\n\nconst listTitle = css({\n display: \"flex\",\n alignItems: \"center\"\n});\n\nconst listActions = css({\n textAlign: \"right\"\n});\n\nconst scrollList = css({\n overflow: \"auto\",\n height: \"calc(100vh - 235px)\"\n});\n\nconst dataListContent = css({\n position: \"relative\",\n height: \"100%\",\n overflow: \"auto\"\n});\n\n// This was copied from \"./types\" so that it can be outputted in docs.\ntype Props = {\n // Pass a function to take full control of list render.\n children?: Function;\n\n // A title of paginated list.\n title?: React.ReactNode;\n\n // FormData that needs to be shown in the list.\n data?: Object[];\n\n // A callback that must refresh current view by repeating the previous query.\n refresh?: Function;\n\n // If true, Loader component will be shown, disallowing any interaction.\n loading?: boolean;\n\n // Provide a custom loader. Shown while the content is loading.\n loader?: React.ReactNode;\n\n // Provide a custom no data component. Shown while there is no data to be shown.\n noData?: React.ReactNode;\n\n // Provide all pagination data, options and callbacks here.\n pagination?: PaginationProp;\n\n // Triggered once a sorter has been selected.\n setSorters?: Function;\n\n // Provide all sorters options and callbacks here.\n sorters?: SortersProp;\n\n // Provide actions that will be shown in the top right corner (eg. export or import actions).\n actions?: React.ReactNode;\n\n // Provide filters that will be shown in the top left corner (eg. filter by category or status).\n filters?: React.ReactNode;\n\n // Provide actions that can be executed on one or more multi-selected list items (eg. export or delete).\n multiSelectActions?: React.ReactNode;\n\n // Provide callback that will be executed once user selects all list items.\n multiSelectAll?: (value: boolean, data: Object[]) => void;\n\n // Callback which returns true if all items were selected, otherwise returns false.\n isAllMultiSelected?: (data: Object[]) => boolean;\n\n // Callback which returns true if none of the items were selected, otherwise returns false.\n isNoneMultiSelected?: (data: Object[]) => boolean;\n\n showOptions?: { [key: string]: any };\n\n // Provide search UI that will be shown in the top left corner.\n search?: React.ReactElement;\n // Provide simple modal UI that will be shown over the list content.\n modalOverlay?: React.ReactElement;\n // Provide an action element that handle toggling the \"Modal overlay\".\n modalOverlayAction?: React.ReactElement;\n};\n\nconst MultiSelectAll = (props: Props) => {\n const { multiSelectActions } = props;\n if (!multiSelectActions) {\n return null;\n }\n\n return (\n <React.Fragment>\n {typeof props.multiSelectAll === \"function\" && (\n <ListHeaderItem>\n <Checkbox\n indeterminate={\n !props.isAllMultiSelected(props.data) &&\n !props.isNoneMultiSelected(props.data)\n }\n value={props.isAllMultiSelected(props.data)}\n onClick={() => {\n props.multiSelectAll(!props.isAllMultiSelected(props.data), props.data);\n }}\n />\n </ListHeaderItem>\n )}\n </React.Fragment>\n );\n};\n\nconst MultiSelectActions = (props: Props) => {\n const { multiSelectActions } = props;\n if (!multiSelectActions) {\n return null;\n }\n\n return <ListHeaderItem>{multiSelectActions}</ListHeaderItem>;\n};\n\nconst RefreshButton = (props: Props) => {\n const refresh = props.refresh;\n if (!refresh) {\n return null;\n }\n\n return (\n <ListHeaderItem>\n <RefreshIcon onClick={() => refresh()} />\n </ListHeaderItem>\n );\n};\n\nconst Sorters = (props: Props) => {\n const sorters = props.sorters;\n if (!sorters) {\n return null;\n }\n\n return (\n <ListHeaderItem>\n <Menu handle={<SortIcon />}>\n {sorters.map(sorter => (\n <MenuItem\n key={sorter.label}\n onClick={() => {\n if (sorters && props.setSorters) {\n props.setSorters(sorter.value);\n }\n }}\n >\n {sorter.label}\n </MenuItem>\n ))}\n </Menu>\n </ListHeaderItem>\n );\n};\n\nconst Filters = (props: Props) => {\n const filters = props.filters;\n if (!filters) {\n return null;\n }\n\n return (\n <ListHeaderItem>\n <Menu handle={<FilterIcon />}>{filters}</Menu>\n </ListHeaderItem>\n );\n};\n\nconst Pagination = (props: Props) => {\n const { pagination } = props;\n if (!pagination) {\n return null;\n }\n\n return (\n <React.Fragment>\n {pagination.setNextPage && (\n <React.Fragment>\n <ListHeaderItem\n className={classNames({\n disabled: !pagination.hasPreviousPage\n })}\n >\n <PreviousPageIcon\n onClick={() => {\n if (pagination.setPreviousPage && pagination.hasPreviousPage) {\n pagination.setPreviousPage();\n }\n }}\n />\n </ListHeaderItem>\n\n <ListHeaderItem\n className={classNames({\n disabled: !pagination.hasNextPage\n })}\n >\n <NextPageIcon\n onClick={() => {\n if (pagination.setNextPage && pagination.hasNextPage) {\n pagination.setNextPage();\n }\n }}\n />\n </ListHeaderItem>\n </React.Fragment>\n )}\n\n {Array.isArray(pagination.perPageOptions) && pagination.setPerPage && (\n <ListHeaderItem>\n <Menu handle={<OptionsIcon />}>\n {pagination.setPerPage &&\n pagination.perPageOptions.map(perPage => (\n <MenuItem\n key={perPage}\n onClick={() =>\n pagination.setPerPage && pagination.setPerPage(perPage)\n }\n >\n {perPage}\n </MenuItem>\n ))}\n </Menu>\n </ListHeaderItem>\n )}\n </React.Fragment>\n );\n};\n\nconst Search = (props: Props) => {\n if (!props.search) {\n return null;\n }\n return <Cell span={7}>{React.cloneElement(props.search, props)}</Cell>;\n};\n\nexport const DataList = (props: Props) => {\n let render = null;\n\n if (props.loading) {\n render = props.loader;\n } else if (isEmpty(props.data)) {\n render = props.noData;\n } else {\n render = typeof props.children === \"function\" ? props.children(props) : null;\n }\n\n return (\n <DataListModalOverlayProvider>\n <ListContainer className={\"webiny-data-list\"} data-testid={\"ui.list.data-list\"}>\n {(props.title || props.actions) && (\n <Grid className={listHeader}>\n <Cell span={5} className={listTitle}>\n <Typography use=\"headline5\">{props.title}</Typography>\n </Cell>\n <Cell span={7} className={listActions}>\n {props.actions}\n </Cell>\n </Grid>\n )}\n\n {Object.keys(props.showOptions).length > 0 && (\n <Grid className={listSubHeader}>\n <Search {...props} />\n <Cell span={props.search ? 5 : 12} style={{ justifySelf: \"end\" }}>\n <MultiSelectAll {...props} />\n {props.showOptions.refresh && <RefreshButton {...props} />}\n {props.showOptions.pagination && <Pagination {...props} />}\n {props.showOptions.sorters && <Sorters {...props} />}\n {props.showOptions.filters && <Filters {...props} />}\n {props.modalOverlayAction ? (\n <ListHeaderItem>{props.modalOverlayAction}</ListHeaderItem>\n ) : null}\n <MultiSelectActions {...props} />\n </Cell>\n </Grid>\n )}\n\n <div className={classNames(dataListContent, \"webiny-data-list__content\")}>\n {render}\n {props.modalOverlay}\n </div>\n </ListContainer>\n </DataListModalOverlayProvider>\n );\n};\n\nDataList.defaultProps = {\n children: null,\n title: null,\n data: null,\n meta: null,\n loading: false,\n refresh: null,\n setPage: null,\n setPerPage: null,\n perPageOptions: [10, 25, 50],\n filters: null,\n sorters: null,\n setSorters: null,\n actions: null,\n multiSelectAll: noop,\n isAllMultiSelected: () => false,\n isNoneMultiSelected: () => false,\n loader: <Loader />,\n noData: <NoData />,\n showOptions: {\n refresh: true,\n pagination: true,\n sorters: true,\n filters: true\n }\n};\n\nexport type ScrollListProps = ListProps & {\n children: React.ReactElement<typeof ListItem>[];\n};\n\nexport const ScrollList = (props: ScrollListProps) => {\n return (\n <List {...props} className={scrollList}>\n {props.children}\n </List>\n );\n};\n"],"file":"DataList.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/List/DataList/DataList.stories.tsx"],"names":["React","storiesOf","Story","StoryReadme","StorySandboxCode","StorySandbox","StorySandboxExample","readme","withKnobs","boolean","text","object","array","DataList","DeleteIcon","EditIcon","List","ListItem","ListItemText","ListItemTextSecondary","ListItemMeta","ListItemGraphic","story","module","addDecorator","add","generalOptionsAndCallbacks","refresh","console","log","loading","title","multiActions","setNextPage","cursor","setPreviousPage","perPageOptions","setPerPage","perPage","setSorters","sorter","JSON","stringify","dataProp","id","firstName","lastName","email","metaProp","totalPages","totalCount","from","to","previousPage","nextPage","sortersProp","list","label","sorters","createdOn","name","data","map","item","info","propTables"],"mappings":"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","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 readme from \"./../DataList/README.md\";\nimport { withKnobs, boolean, text, object, array } from \"@storybook/addon-knobs\";\n\nimport { DataList } from \"./DataList\";\n\nimport { DeleteIcon, EditIcon } from \"./icons\";\nimport {\n List,\n ListItem,\n ListItemText,\n ListItemTextSecondary,\n ListItemMeta,\n ListItemGraphic\n} from \"./../List\";\n\nconst story = storiesOf(\"Components/List\", module);\nstory.addDecorator(withKnobs);\n\nstory.add(\n \"data list\",\n () => {\n const generalOptionsAndCallbacks = {\n refresh: () => {\n console.log(`Implement \"refresh\" method.`);\n },\n loading: boolean(\"Loading\", false, \"Basic\"),\n title: text(\"Title\", \"A list of all users\", \"Basic\"),\n multiActions: boolean(\"Multi actions\", false, \"Basic\"),\n\n setNextPage: cursor => {\n console.log(`Implement setNextPage method (selected ${cursor}).`);\n },\n setPreviousPage: cursor => {\n console.log(`Implement setPreviousPage method (selected ${cursor}).`);\n },\n perPageOptions: array(\n \"perPageOptions\",\n [\"10\", \"25\", \"50\"],\n \",\",\n \"Basic\"\n ) as unknown as number[],\n setPerPage: perPage => {\n console.log(`Implement setPerPage method (selected ${perPage}).`);\n },\n setSorters: sorter => {\n console.log(`Implement setSorters method (selected ${JSON.stringify(sorter)}).`);\n }\n };\n\n const dataProp = object(\n \"Data\",\n [\n {\n id: \"A\",\n firstName: \"John\",\n lastName: \"Doe\",\n email: \"john.doe@webiny.com\"\n },\n {\n id: \"B\",\n firstName: \"Jane\",\n lastName: \"Doe\",\n email: \"jane.doe@webiny.com\"\n },\n {\n id: \"C\",\n firstName: \"Foo\",\n lastName: \"Bar\",\n email: \"foo.bar@webiny.com\"\n }\n ],\n \"Data\"\n );\n\n const metaProp = object(\n \"Meta\",\n {\n totalPages: 1,\n totalCount: 3,\n from: 1,\n to: 3,\n previousPage: null,\n nextPage: null\n },\n \"Meta\"\n );\n\n const sortersProp = {\n list: object(\n \"Sorters\",\n [\n {\n label: \"Newest to oldest\",\n sorters: { createdOn: -1 }\n },\n {\n label: \"Oldest to newest\",\n sorters: { createdOn: 1 }\n },\n {\n label: \"Name A-Z\",\n sorters: { name: 1 }\n },\n {\n label: \"Name Z-A\",\n sorters: { name: -1 }\n }\n ],\n \"Sorters\"\n )\n };\n\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n\n <StorySandbox>\n <StorySandboxExample>\n <DataList\n {...generalOptionsAndCallbacks}\n data={dataProp}\n meta={metaProp}\n // @ts-ignore\n sorters={sortersProp.list}\n >\n {({ data }) => (\n <List>\n {data.map(item => (\n <ListItem key={item.id}>\n <ListItemGraphic>\n <img\n src={\"http://i.pravatar.cc/100?id=\" + item.id}\n />\n </ListItemGraphic>\n <ListItemText>\n {item.firstName} {item.lastName}\n <ListItemTextSecondary>\n {item.email}\n </ListItemTextSecondary>\n </ListItemText>\n <ListItemMeta>\n <DeleteIcon\n onClick={() => {\n console.log(\"Redirect user to form.\");\n }}\n />\n <EditIcon\n onClick={() => {\n console.log(\"Show confirmation dialog.\");\n }}\n />\n </ListItemMeta>\n </ListItem>\n ))}\n </List>\n )}\n </DataList>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <DataList\n {...generalOptionsAndCallbacks}\n data={${JSON.stringify(dataProp, null, 2)}}\n meta={${JSON.stringify(metaProp, null, 2)}}\n sorters={${JSON.stringify(sortersProp.list, null, 2)}}\n >\n {({ data }) => (\n <List>\n {data.map(item => (\n <ListItem key={item.id}>\n <ListItemGraphic>\n <img\n src={\n \"//www.gravatar.com/avatar/\" +\n item.gravatar +\n \"?s=48\"\n }\n />\n </ListItemGraphic>\n <ListItemText>\n {item.firstName} {item.lastName}\n <ListItemTextSecondary>\n {item.email}\n </ListItemTextSecondary>\n </ListItemText>\n <ListItemMeta>\n <DeleteIcon\n onClick={() => {\n console.log(\"Redirect user to form.\");\n }}\n />\n <EditIcon\n onClick={() => {\n console.log(\"Show confirmation dialog.\");\n }}\n />\n </ListItemMeta>\n </ListItem>\n ))}\n </List>\n )}\n </DataList>\n `}\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n {\n info: {\n propTables: [\n List,\n ListItem,\n ListItemText,\n ListItemTextSecondary,\n ListItemMeta,\n ListItemGraphic\n ]\n }\n }\n);\n"],"file":"DataList.stories.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/List/DataList/DataListModalOverlay/DataListModalOverlay.tsx"],"names":["React","useContext","styled","DataListModalOverlayContext","SimpleOverlay","showOverlay","width","height","position","top","left","backgroundColor","transition","pointerEvents","zIndex","opacity","DataListModalWrapper","maxWidth","maxHeight","overflow","boxShadow","borderRadius","transform","paddingBottom","padding","display","justifyContent","color","border","DataListModalOverlay","onDismiss","children","isOpen","setIsOpen","e","stopPropagation"],"mappings":"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","sourcesContent":["import React, { useContext } from \"react\";\nimport styled from \"@emotion/styled\";\nimport { DataListModalOverlayContext } from \"./DataListModalOverlayContext\";\n\nexport type SimpleOverlayProps = { showOverlay: boolean };\nexport const SimpleOverlay = styled<\"div\", SimpleOverlayProps>(\"div\")(({ showOverlay }) => ({\n width: \"100%\",\n height: \"100%\",\n position: \"absolute\",\n top: 0,\n left: 0,\n backgroundColor: showOverlay ? \"rgba(0, 0, 0, 0.32)\" : \"transparent\",\n transition: \"150ms all ease-in-out\",\n pointerEvents: showOverlay ? \"auto\" : \"none\",\n zIndex: showOverlay ? 5 : -1,\n opacity: showOverlay ? 1 : 0\n}));\n\nexport type DataListModalWrapperProps = { showOverlay: boolean };\nexport const DataListModalWrapper = styled<\"div\", DataListModalWrapperProps>(\"div\")(\n ({ showOverlay }) => ({\n position: \"absolute\",\n top: \"0px\",\n left: \"50%\",\n width: \"90%\",\n height: \"auto\",\n maxWidth: \"426px\",\n maxHeight: \"520px\",\n overflow: \"auto\",\n backgroundColor: \"var(--mdc-theme-surface)\",\n boxShadow: \"0px 1px 5px rgba(0, 0, 0, 0.12)\",\n borderRadius: \"0px 0px 4px 4px\",\n transition: \"150ms opacity ease-in-out\",\n pointerEvents: showOverlay ? \"auto\" : \"none\",\n zIndex: showOverlay ? 5 : -1,\n opacity: showOverlay ? 1 : 0,\n transform: showOverlay ? \"translateX(-50%)\" : \"translateX(-1000px)\",\n\n \"& .input-wrapper\": {\n paddingBottom: \"16px\"\n },\n\n \"& .datalist-modal__footer\": {\n padding: \"24px\",\n display: \"flex\",\n justifyContent: \"space-between\",\n \"& .mdc-button\": {\n borderRadius: 4,\n padding: \"0px 32px\"\n },\n \"& .datalist-modal__footer__action--secondary\": {\n color: \"var(--mdc-theme-text-primary-on-background)\",\n border: \"1px solid var(--mdc-theme-on-background)\"\n },\n \"& .datalist-modal__footer__action--primary\": {\n backgroundColor: \"var(--mdc-theme-secondary)\"\n }\n }\n })\n);\n\nexport type DataListModalOverlayProps = {\n /*\n * This function is called after closing the modal overlay.\n */\n onDismiss?: (event?: React.SyntheticEvent) => void;\n /*\n * Accepts any renderable content.\n */\n children: React.ReactNode;\n};\n\nexport const DataListModalOverlay = ({ onDismiss, children }: DataListModalOverlayProps) => {\n const { isOpen, setIsOpen } = useContext(DataListModalOverlayContext);\n return (\n <React.Fragment>\n <SimpleOverlay\n onClick={e => {\n e.stopPropagation();\n // Close the modal.\n setIsOpen(false);\n\n if (typeof onDismiss === \"function\") {\n onDismiss();\n }\n }}\n showOverlay={isOpen}\n />\n <DataListModalWrapper showOverlay={isOpen}>{children}</DataListModalWrapper>\n </React.Fragment>\n );\n};\n"],"file":"DataListModalOverlay.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/List/DataList/DataListModalOverlay/DataListModalOverlayAction.tsx"],"names":["React","useContext","IconButton","DataListModalOverlayContext","DataListModalOverlayAction","icon","rest","isOpen","setIsOpen"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,SAASC,UAAT;AACA,SAASC,2BAAT;AAOA,OAAO,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA6B,OAAwD;AAAA,MAArDC,IAAqD,QAArDA,IAAqD;AAAA,MAA5CC,IAA4C;;AAC9F,oBAA8BL,UAAU,CAACE,2BAAD,CAAxC;AAAA,MAAQI,MAAR,eAAQA,MAAR;AAAA,MAAgBC,SAAhB,eAAgBA,SAAhB;;AAEA,sBACI,oBAAC,UAAD;AACI,mBAAaF,IAAI,CAAC,aAAD,CADrB;AAEI,IAAA,IAAI,EAAED,IAFV;AAGI,IAAA,OAAO,EAAE;AAAA,aAAMG,SAAS,CAAC,CAACD,MAAF,CAAf;AAAA;AAHb,IADJ;AAOH,CAVM","sourcesContent":["import React, { useContext } from \"react\";\nimport { IconButton } from \"../../../Button\";\nimport { DataListModalOverlayContext } from \"./DataListModalOverlayContext\";\n\nexport type DataListModalOverlayActionProps = {\n icon: React.ReactNode;\n \"data-testid\"?: string;\n};\n\nexport const DataListModalOverlayAction = ({ icon, ...rest }: DataListModalOverlayActionProps) => {\n const { isOpen, setIsOpen } = useContext(DataListModalOverlayContext);\n\n return (\n <IconButton\n data-testid={rest[\"data-testid\"]}\n icon={icon}\n onClick={() => setIsOpen(!isOpen)}\n />\n );\n};\n"],"file":"DataListModalOverlayAction.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/List/DataList/DataListModalOverlay/DataListModalOverlayContext.tsx"],"names":["React","DataListModalOverlayContext","createContext","DataListModalOverlayProvider","children","useState","isOpen","setIsOpen"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,OAAO,IAAMC,2BAA2B,gBAAGD,KAAK,CAACE,aAAN,CAAoB,IAApB,CAApC;AAMP,OAAO,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,OAAqD;AAAA,MAAlDC,QAAkD,QAAlDA,QAAkD;;AAC7F,wBAA4BJ,KAAK,CAACK,QAAN,CAAe,KAAf,CAA5B;AAAA;AAAA,MAAOC,MAAP;AAAA,MAAeC,SAAf;;AAEA,sBACI,oBAAC,2BAAD,CAA6B,QAA7B;AAAsC,IAAA,KAAK,EAAE;AAAED,MAAAA,MAAM,EAANA,MAAF;AAAUC,MAAAA,SAAS,EAATA;AAAV;AAA7C,KACKH,QADL,CADJ;AAKH,CARM","sourcesContent":["import React from \"react\";\n\nexport const DataListModalOverlayContext = React.createContext(null);\n\nexport type DataListModalOverlayProviderProps = {\n children?: React.ReactChild | React.ReactChild[];\n};\n\nexport const DataListModalOverlayProvider = ({ children }: DataListModalOverlayProviderProps) => {\n const [isOpen, setIsOpen] = React.useState(false);\n\n return (\n <DataListModalOverlayContext.Provider value={{ isOpen, setIsOpen }}>\n {children}\n </DataListModalOverlayContext.Provider>\n );\n};\n"],"file":"DataListModalOverlayContext.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/List/DataList/DataListModalOverlay/index.ts"],"names":["DataListModalOverlay","DataListModalOverlayAction","DataListModalOverlayContext","DataListModalOverlayProvider"],"mappings":"AAAA,SAASA,oBAAT;AACA,SAASC,0BAAT;AACA,SACIC,2BADJ,EAEIC,4BAFJ","sourcesContent":["export { DataListModalOverlay } from \"./DataListModalOverlay\";\nexport { DataListModalOverlayAction } from \"./DataListModalOverlayAction\";\nexport {\n DataListModalOverlayContext,\n DataListModalOverlayProvider\n} from \"./DataListModalOverlayContext\";\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/List/DataList/Loader.tsx"],"names":["React","styled","Skeleton","LoaderUl","listStyle","padding","display","verticalAlign","backgroundColor","backgroundImage","fontSize","width","marginLeft","textAlign","Loader","map","item"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,OAAOC,QAAP,MAAqB,wBAArB;AAEA,IAAMC,QAAQ,gBAAGF,MAAH,CAAU,IAAV;AAAA;AAAA;AAAA,GAAgB;AAC1BG,EAAAA,SAAS,EAAE,MADe;AAE1BC,EAAAA,OAAO,EAAE,WAFiB;AAG1B,cAAY;AACRC,IAAAA,OAAO,EAAE,cADD;AAERC,IAAAA,aAAa,EAAE,QAFP;AAGR,+BAA2B;AACvBC,MAAAA,eAAe,EAAE,6BADM;AAEvBC,MAAAA,eAAe,EACX;AAHmB;AAHnB,GAHc;AAY1B,cAAY;AACRC,IAAAA,QAAQ,EAAE,EADF;AAERC,IAAAA,KAAK,EAAE;AAFC,GAZc;AAgB1B,WAAS;AACLA,IAAAA,KAAK,EAAE,mBADF;AAELC,IAAAA,UAAU,EAAE;AAFP,GAhBiB;AAoB1B,cAAY;AACRD,IAAAA,KAAK,EAAE,mBADC;AAERC,IAAAA,UAAU,EAAE,EAFJ;AAGRC,IAAAA,SAAS,EAAE,OAHH;AAIR,aAAS;AACLP,MAAAA,OAAO,EAAE,cADJ;AAELI,MAAAA,QAAQ,EAAE,EAFL;AAGLE,MAAAA,UAAU,EAAE,EAHP;AAILD,MAAAA,KAAK,EAAE;AAJF;AAJD;AApBc,CAAhB,CAAd;;AAiCA,IAAMG,MAAM,GAAG,SAATA,MAAS;AAAA,sBACX,oBAAC,QAAD;AAAU,mBAAa;AAAvB,KACK,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,EAAgBC,GAAhB,CAAoB,UAAAC,IAAI;AAAA,wBACrB;AAAI,MAAA,GAAG,EAAE,UAAUA;AAAnB,oBACI;AAAK,MAAA,SAAS,EAAC;AAAf,oBACI,oBAAC,QAAD,OADJ,CADJ,eAII;AAAK,MAAA,SAAS,EAAC;AAAf,oBACI,oBAAC,QAAD;AAAU,MAAA,KAAK,EAAE;AAAjB,MADJ,CAJJ,eAOI;AAAK,MAAA,SAAS,EAAC;AAAf,oBACI,8CACI,oBAAC,QAAD,OADJ,CADJ,eAII,8CACI,oBAAC,QAAD,OADJ,CAJJ,CAPJ,CADqB;AAAA,GAAxB,CADL,CADW;AAAA,CAAf;;AAuBA,eAAeF,MAAf","sourcesContent":["import * as React from \"react\";\nimport styled from \"@emotion/styled\";\nimport Skeleton from \"react-loading-skeleton\";\n\nconst LoaderUl = styled(\"ul\")({\n listStyle: \"none\",\n padding: \"10px 20px\",\n \"li > div\": {\n display: \"inline-block\",\n verticalAlign: \"middle\",\n \".react-loading-skeleton\": {\n backgroundColor: \"var(--mdc-theme-background)\",\n backgroundImage:\n \"linear-gradient(90deg, var(--mdc-theme-background), var(--mdc-theme-surface), var(--mdc-theme-background))\"\n }\n },\n \".graphic\": {\n fontSize: 36,\n width: 36\n },\n \".data\": {\n width: \"calc(-36px + 75%)\",\n marginLeft: 10\n },\n \".actions\": {\n width: \"calc(-36px + 25%)\",\n marginLeft: 10,\n textAlign: \"right\",\n \"> div\": {\n display: \"inline-block\",\n fontSize: 24,\n marginLeft: 10,\n width: 24\n }\n }\n});\n\nconst Loader = () => (\n <LoaderUl data-testid={\"default-data-list.loading\"}>\n {[1, 2, 3, 4, 5].map(item => (\n <li key={\"list-\" + item}>\n <div className=\"graphic\">\n <Skeleton />\n </div>\n <div className=\"data\">\n <Skeleton count={2} />\n </div>\n <div className=\"actions\">\n <div>\n <Skeleton />\n </div>\n <div>\n <Skeleton />\n </div>\n </div>\n </li>\n ))}\n </LoaderUl>\n);\n\nexport default Loader;\n"],"file":"Loader.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/List/DataList/NoData.tsx"],"names":["React","Typography","styled","NoDataWrapper","textAlign","padding","color","NoData"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AAEA,IAAMC,aAAa,gBAAGD,MAAH,CAAU,KAAV;AAAA;AAAA;AAAA,GAAiB;AAChCE,EAAAA,SAAS,EAAE,QADqB;AAEhCC,EAAAA,OAAO,EAAE,GAFuB;AAGhCC,EAAAA,KAAK,EAAE;AAHyB,CAAjB,CAAnB;;AAMA,IAAMC,MAAM,GAAG,SAATA,MAAS;AAAA,sBACX,oBAAC,aAAD,qBACI,oBAAC,UAAD;AAAY,IAAA,GAAG,EAAC;AAAhB,yBADJ,CADW;AAAA,CAAf;;AAMA,eAAeA,MAAf","sourcesContent":["import * as React from \"react\";\nimport { Typography } from \"../../Typography\";\nimport styled from \"@emotion/styled\";\n\nconst NoDataWrapper = styled(\"div\")({\n textAlign: \"center\",\n padding: 100,\n color: \"var(--mdc-theme-on-surface)\"\n});\n\nconst NoData = () => (\n <NoDataWrapper>\n <Typography use=\"overline\">No records found.</Typography>\n </NoDataWrapper>\n);\n\nexport default NoData;\n"],"file":"NoData.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/List/DataList/icons/index.tsx"],"names":["React","IconButton","RefreshIcon","props","DeleteIcon","CreateIcon","EditIcon","SortIcon","FilterIcon","PreviousPageIcon","NextPageIcon","OptionsIcon"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;;;;;;;;;AAcA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAA4B;AACnD,sBAAO,oBAAC,UAAD;AAAY,IAAA,IAAI,eAAE,oBAAC,SAAD;AAAlB,KAAqCA,KAArC,EAAP;AACH,CAFM;AAIP,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACD,KAAD,EAA4B;AAClD,sBAAO,oBAAC,UAAD;AAAY,IAAA,IAAI,eAAE,oBAAC,MAAD;AAAlB,KAAkCA,KAAlC,EAAP;AACH,CAFM;AAIP,OAAO,IAAME,UAAU,GAAG,SAAbA,UAAa,CAACF,KAAD,EAA4B;AAClD,sBAAO,oBAAC,UAAD;AAAY,IAAA,IAAI,eAAE,oBAAC,GAAD;AAAlB,KAA+BA,KAA/B,EAAP;AACH,CAFM;AAIP,OAAO,IAAMG,QAAQ,GAAG,SAAXA,QAAW,CAACH,KAAD,EAA4B;AAChD,sBAAO,oBAAC,UAAD;AAAY,IAAA,IAAI,eAAE,oBAAC,GAAD;AAAlB,KAA+BA,KAA/B,EAAP;AACH,CAFM;AAIP,OAAO,IAAMI,QAAQ,GAAG,SAAXA,QAAW,CAACJ,KAAD,EAA4B;AAChD,sBAAO,oBAAC,UAAD;AAAY,IAAA,IAAI,eAAE,oBAAC,IAAD;AAAlB,KAAgCA,KAAhC,EAAP;AACH,CAFM;AAIP,OAAO,IAAMK,UAAU,GAAG,SAAbA,UAAa,CAACL,KAAD,EAA4B;AAClD,sBAAO,oBAAC,UAAD;AAAY,IAAA,IAAI,eAAE,oBAAC,MAAD;AAAlB,KAAkCA,KAAlC,EAAP;AACH,CAFM;AAIP,OAAO,IAAMM,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACN,KAAD,EAA4B;AACxD,sBAAO,oBAAC,UAAD;AAAY,IAAA,IAAI,eAAE,oBAAC,cAAD;AAAlB,KAA0CA,KAA1C,EAAP;AACH,CAFM;AAIP,OAAO,IAAMO,YAAY,GAAG,SAAfA,YAAe,CAACP,KAAD,EAA4B;AACpD,sBAAO,oBAAC,UAAD;AAAY,IAAA,IAAI,eAAE,oBAAC,YAAD;AAAlB,KAAwCA,KAAxC,EAAP;AACH,CAFM;AAIP,OAAO,IAAMQ,WAAW,GAAG,SAAdA,WAAc,CAACR,KAAD,EAA4B;AACnD,sBAAO,oBAAC,UAAD;AAAY,IAAA,IAAI,eAAE,oBAAC,QAAD;AAAlB,KAAoCA,KAApC,EAAP;AACH,CAFM","sourcesContent":["import * as React from \"react\";\nimport { IconButton, IconButtonProps as BaseIconProps } from \"../../../Button\";\nimport { ReactComponent as AutoRenew } from \"./baseline-autorenew-24px.svg\";\nimport { ReactComponent as Pen } from \"./baseline-edit-24px.svg\";\nimport { ReactComponent as Delete } from \"./baseline-delete-24px.svg\";\nimport { ReactComponent as Sort } from \"./baseline-sort-24px.svg\";\nimport { ReactComponent as Filter } from \"./filter_alt-24px.svg\";\nimport { ReactComponent as NavigateBefore } from \"./baseline-navigate_before-24px.svg\";\nimport { ReactComponent as NavigateNext } from \"./baseline-navigate_next-24px.svg\";\nimport { ReactComponent as TuneIcon } from \"./baseline-tune-24px.svg\";\n\ntype IconButtonProps = Omit<BaseIconProps, \"icon\"> & {\n icon?: React.ReactElement<any>;\n};\n\nexport const RefreshIcon = (props: IconButtonProps) => {\n return <IconButton icon={<AutoRenew />} {...props} />;\n};\n\nexport const DeleteIcon = (props: IconButtonProps) => {\n return <IconButton icon={<Delete />} {...props} />;\n};\n\nexport const CreateIcon = (props: IconButtonProps) => {\n return <IconButton icon={<Pen />} {...props} />;\n};\n\nexport const EditIcon = (props: IconButtonProps) => {\n return <IconButton icon={<Pen />} {...props} />;\n};\n\nexport const SortIcon = (props: IconButtonProps) => {\n return <IconButton icon={<Sort />} {...props} />;\n};\n\nexport const FilterIcon = (props: IconButtonProps) => {\n return <IconButton icon={<Filter />} {...props} />;\n};\n\nexport const PreviousPageIcon = (props: IconButtonProps) => {\n return <IconButton icon={<NavigateBefore />} {...props} />;\n};\n\nexport const NextPageIcon = (props: IconButtonProps) => {\n return <IconButton icon={<NavigateNext />} {...props} />;\n};\n\nexport const OptionsIcon = (props: IconButtonProps) => {\n return <IconButton icon={<TuneIcon />} {...props} />;\n};\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/List/DataList/index.ts"],"names":["DataList","ScrollList","default","NoData"],"mappings":"AAAA,SAASA,QAAT,EAAmBC,UAAnB;AACA,SAASC,OAAO,IAAIC,MAApB;AACA","sourcesContent":["export { DataList, ScrollList } from \"./DataList\";\nexport { default as NoData } from \"./NoData\";\nexport * from \"./DataListModalOverlay\";\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"types.js"}