@webiny/ui 5.36.2 → 5.37.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/Accordion/Accordion.js.map +1 -1
  2. package/Accordion/Accordion.stories.js.map +1 -1
  3. package/Accordion/AccordionItem.js.map +1 -1
  4. package/Accordion/AccordionItemActions.js.map +1 -1
  5. package/Accordion/index.js.map +1 -1
  6. package/Alert/Alert.js.map +1 -1
  7. package/Alert/Alert.stories.js.map +1 -1
  8. package/Alert/index.js.map +1 -1
  9. package/AutoComplete/AutoComplete.d.ts +1 -0
  10. package/AutoComplete/AutoComplete.js +16 -11
  11. package/AutoComplete/AutoComplete.js.map +1 -1
  12. package/AutoComplete/AutoComplete.stories.js.map +1 -1
  13. package/AutoComplete/MultiAutoComplete.js +3 -0
  14. package/AutoComplete/MultiAutoComplete.js.map +1 -1
  15. package/AutoComplete/MultiAutoComplete.stories.js.map +1 -1
  16. package/AutoComplete/index.js.map +1 -1
  17. package/AutoComplete/styles.js +21 -0
  18. package/AutoComplete/styles.js.map +1 -1
  19. package/AutoComplete/utils.js.map +1 -1
  20. package/Avatar/Avatar.js.map +1 -1
  21. package/Avatar/Avatar.stories.js.map +1 -1
  22. package/Avatar/index.js.map +1 -1
  23. package/Button/Button.js.map +1 -1
  24. package/Button/Button.stories.js.map +1 -1
  25. package/Button/Button.styles.js.map +1 -1
  26. package/Button/CopyButton/CopyButton.js.map +1 -1
  27. package/Button/CopyButton/CopyButton.stories.js.map +1 -1
  28. package/Button/IconButton/IconButton.js.map +1 -1
  29. package/Button/IconButton/IconButton.stories.js.map +1 -1
  30. package/Button/index.js.map +1 -1
  31. package/Carousel/Carousel.js.map +1 -1
  32. package/Carousel/Carouser.stories.js.map +1 -1
  33. package/Carousel/index.js.map +1 -1
  34. package/Checkbox/Checkbox.js.map +1 -1
  35. package/Checkbox/Checkbox.stories.js.map +1 -1
  36. package/Checkbox/Checkbox.styles.js.map +1 -1
  37. package/Checkbox/CheckboxGroup.js.map +1 -1
  38. package/Checkbox/CheckboxGroup.stories.js.map +1 -1
  39. package/Checkbox/index.js.map +1 -1
  40. package/Chips/Chip.js.map +1 -1
  41. package/Chips/Chips.js.map +1 -1
  42. package/Chips/Chips.stories.js.map +1 -1
  43. package/Chips/index.js.map +1 -1
  44. package/Chips/styles.js.map +1 -1
  45. package/CodeEditor/CodeEditor.js +2 -1
  46. package/CodeEditor/CodeEditor.js.map +1 -1
  47. package/CodeEditor/CodeEditor.stories.js.map +1 -1
  48. package/CodeEditor/index.js.map +1 -1
  49. package/ColorPicker/ColorPicker.js.map +1 -1
  50. package/ColorPicker/ColorPicker.stories.js.map +1 -1
  51. package/ColorPicker/index.js.map +1 -1
  52. package/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  53. package/ConfirmationDialog/ConfirmationDialog.stories.js.map +1 -1
  54. package/ConfirmationDialog/index.js.map +1 -1
  55. package/ConfirmationDialog/withConfirmation.js.map +1 -1
  56. package/DataTable/DataTable.d.ts +46 -6
  57. package/DataTable/DataTable.js +43 -25
  58. package/DataTable/DataTable.js.map +1 -1
  59. package/DataTable/DataTable.stories.js +3 -0
  60. package/DataTable/DataTable.stories.js.map +1 -1
  61. package/DataTable/index.js.map +1 -1
  62. package/DataTable/styled.js.map +1 -1
  63. package/DelayedOnChange/DelayedOnChange.js +11 -0
  64. package/DelayedOnChange/DelayedOnChange.js.map +1 -1
  65. package/DelayedOnChange/index.js.map +1 -1
  66. package/DelayedOnChange/withDelayedOnChange.js.map +1 -1
  67. package/Dialog/Dialog.js +0 -3
  68. package/Dialog/Dialog.js.map +1 -1
  69. package/Dialog/Dialog.stories.js.map +1 -1
  70. package/Dialog/index.js.map +1 -1
  71. package/Drawer/Drawer.js.map +1 -1
  72. package/Drawer/Drawer.stories.js.map +1 -1
  73. package/Drawer/index.js.map +1 -1
  74. package/DynamicFieldset/Fieldset.js.map +1 -1
  75. package/DynamicFieldset/index.js.map +1 -1
  76. package/Elevation/Elevation.js.map +1 -1
  77. package/Elevation/Elevation.stories.js.map +1 -1
  78. package/Elevation/index.js.map +1 -1
  79. package/FormElementMessage/FormElementMessage.js.map +1 -1
  80. package/FormElementMessage/index.js.map +1 -1
  81. package/FullName/FullName.js.map +1 -1
  82. package/FullName/index.js.map +1 -1
  83. package/Grid/Grid.js.map +1 -1
  84. package/Grid/Grid.stories.js.map +1 -1
  85. package/Grid/index.js.map +1 -1
  86. package/Helpers/ClassNames.js +2 -2
  87. package/Helpers/ClassNames.js.map +1 -1
  88. package/Helpers/index.js.map +1 -1
  89. package/Icon/Icon.js.map +1 -1
  90. package/Icon/Icon.stories.js.map +1 -1
  91. package/Icon/index.js.map +1 -1
  92. package/Image/Image.js +2 -0
  93. package/Image/Image.js.map +1 -1
  94. package/Image/Image.stories.js.map +1 -1
  95. package/Image/index.js.map +1 -1
  96. package/ImageEditor/ImageEditor.js +1 -4
  97. package/ImageEditor/ImageEditor.js.map +1 -1
  98. package/ImageEditor/index.js.map +1 -1
  99. package/ImageEditor/toolbar/crop.js.map +1 -1
  100. package/ImageEditor/toolbar/filter.js +2 -2
  101. package/ImageEditor/toolbar/filter.js.map +1 -1
  102. package/ImageEditor/toolbar/flip.js.map +1 -1
  103. package/ImageEditor/toolbar/icons/index.js.map +1 -1
  104. package/ImageEditor/toolbar/index.js.map +1 -1
  105. package/ImageEditor/toolbar/rotate.js.map +1 -1
  106. package/ImageUpload/Image.js.map +1 -1
  107. package/ImageUpload/ImageEditorDialog.js.map +1 -1
  108. package/ImageUpload/MultiImageUpload.js.map +1 -1
  109. package/ImageUpload/MultiImageUpload.stories.js.map +1 -1
  110. package/ImageUpload/SingleImageUpload.js.map +1 -1
  111. package/ImageUpload/SingleImageUpload.stories.js.map +1 -1
  112. package/ImageUpload/index.js.map +1 -1
  113. package/ImageUpload/styled.js +2 -1
  114. package/ImageUpload/styled.js.map +1 -1
  115. package/Input/Input.d.ts +1 -0
  116. package/Input/Input.js +5 -12
  117. package/Input/Input.js.map +1 -1
  118. package/Input/Input.stories.js.map +1 -1
  119. package/Input/__tests__/Input.test.js.map +1 -1
  120. package/Input/index.js.map +1 -1
  121. package/Input/styled.d.ts +4 -0
  122. package/Input/styled.js +12 -0
  123. package/Input/styled.js.map +1 -0
  124. package/List/CollapsibleList/CollapsibleList.stories.js.map +1 -1
  125. package/List/CollapsibleList/index.js.map +1 -1
  126. package/List/DataList/DataList.js.map +1 -1
  127. package/List/DataList/DataList.stories.js.map +1 -1
  128. package/List/DataList/DataListModalOverlay/DataListModalOverlay.js.map +1 -1
  129. package/List/DataList/DataListModalOverlay/DataListModalOverlayAction.js.map +1 -1
  130. package/List/DataList/DataListModalOverlay/DataListModalOverlayContext.js.map +1 -1
  131. package/List/DataList/DataListModalOverlay/index.js.map +1 -1
  132. package/List/DataList/DataListWithSections.js +3 -0
  133. package/List/DataList/DataListWithSections.js.map +1 -1
  134. package/List/DataList/Loader.js.map +1 -1
  135. package/List/DataList/NoData.js.map +1 -1
  136. package/List/DataList/icons/index.js.map +1 -1
  137. package/List/DataList/index.js.map +1 -1
  138. package/List/List.js.map +1 -1
  139. package/List/List.stories.js.map +1 -1
  140. package/List/icons/index.js.map +1 -1
  141. package/List/index.js.map +1 -1
  142. package/Menu/Menu.js.map +1 -1
  143. package/Menu/Menu.stories.js.map +1 -1
  144. package/Menu/index.js.map +1 -1
  145. package/Mosaic/Mosaic.js +1 -3
  146. package/Mosaic/Mosaic.js.map +1 -1
  147. package/Mosaic/Mosaic.stories.js.map +1 -1
  148. package/Mosaic/index.js.map +1 -1
  149. package/Progress/CircularProgress.js.map +1 -1
  150. package/Progress/index.js.map +1 -1
  151. package/Radio/Radio.js.map +1 -1
  152. package/Radio/Radio.styles.js.map +1 -1
  153. package/Radio/RadioGroup.js.map +1 -1
  154. package/Radio/RadioGroup.stories.js.map +1 -1
  155. package/Radio/index.js.map +1 -1
  156. package/RichTextEditor/RichTextEditor.js.map +1 -1
  157. package/RichTextEditor/RichTextEditor.stories.js.map +1 -1
  158. package/RichTextEditor/createPropsFromConfig.js.map +1 -1
  159. package/RichTextEditor/index.js.map +1 -1
  160. package/Ripple/Ripple.js.map +1 -1
  161. package/Ripple/Ripple.stories.js.map +1 -1
  162. package/Ripple/index.js.map +1 -1
  163. package/Scrollbar/Scrollbar.js.map +1 -1
  164. package/Scrollbar/Scrollbar.stories.js.map +1 -1
  165. package/Scrollbar/index.js.map +1 -1
  166. package/Section/Section.stories.js.map +1 -1
  167. package/Section/index.js.map +1 -1
  168. package/Select/Select.d.ts +1 -0
  169. package/Select/Select.js +2 -17
  170. package/Select/Select.js.map +1 -1
  171. package/Select/Select.stories.js.map +1 -1
  172. package/Select/index.js.map +1 -1
  173. package/Select/styled.d.ts +8 -0
  174. package/Select/styled.js +18 -0
  175. package/Select/styled.js.map +1 -0
  176. package/Skeleton/Skeleton.js.map +1 -1
  177. package/Skeleton/Skeleton.stories.js.map +1 -1
  178. package/Skeleton/index.js.map +1 -1
  179. package/Slider/Slider.js.map +1 -1
  180. package/Slider/Slider.stories.js.map +1 -1
  181. package/Slider/index.js.map +1 -1
  182. package/Snackbar/Snackbar.js.map +1 -1
  183. package/Snackbar/Snackbar.stories.js.map +1 -1
  184. package/Snackbar/index.js.map +1 -1
  185. package/Switch/Switch.js.map +1 -1
  186. package/Switch/Switch.stories.js.map +1 -1
  187. package/Switch/index.js.map +1 -1
  188. package/Tabs/Tab.js.map +1 -1
  189. package/Tabs/Tabs.js.map +1 -1
  190. package/Tabs/Tabs.stories.js.map +1 -1
  191. package/Tabs/index.js.map +1 -1
  192. package/Tags/Tags.js.map +1 -1
  193. package/Tags/Tags.stories.js.map +1 -1
  194. package/Tags/index.js.map +1 -1
  195. package/Tooltip/Tooltip.js.map +1 -1
  196. package/Tooltip/Tooltip.stories.js.map +1 -1
  197. package/Tooltip/index.js.map +1 -1
  198. package/TopAppBar/TopAppBar.js.map +1 -1
  199. package/TopAppBar/TopAppBar.stories.js.map +1 -1
  200. package/TopAppBar/TopAppBarActionItem.js.map +1 -1
  201. package/TopAppBar/TopAppBarNavigationIcon.js.map +1 -1
  202. package/TopAppBar/TopAppBarPrimary.js.map +1 -1
  203. package/TopAppBar/TopAppBarSecondary.js.map +1 -1
  204. package/TopAppBar/TopAppBarSection.js.map +1 -1
  205. package/TopAppBar/TopAppBarTitle.js.map +1 -1
  206. package/TopAppBar/index.js.map +1 -1
  207. package/TopProgressBar/TopProgressBar.js.map +1 -1
  208. package/TopProgressBar/TopProgressBar.stories.js.map +1 -1
  209. package/TopProgressBar/hoc/index.js.map +1 -1
  210. package/TopProgressBar/hoc/withTopProgressBar.js.map +1 -1
  211. package/TopProgressBar/index.js.map +1 -1
  212. package/Typography/Typography.js.map +1 -1
  213. package/Typography/Typography.stories.js.map +1 -1
  214. package/Typography/index.js.map +1 -1
  215. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"names":["story","storiesOf","module","addDecorator","withKnobs","add","open","boolean","readme","info","propTables","Drawer","DrawerHeader","DrawerContent"],"sources":["Drawer.stories.tsx"],"sourcesContent":["import React from \"react\";\nimport { storiesOf } from \"@storybook/react\";\nimport {\n Story,\n StoryReadme,\n StorySandboxCode,\n StorySandbox,\n StorySandboxExample\n} from \"@webiny/storybook-utils/Story\";\nimport { List, ListItem } from \"./../List\";\n\nimport readme from \"./../Drawer/README.md\";\nimport { withKnobs, boolean } from \"@storybook/addon-knobs\";\nimport { Drawer, DrawerHeader, DrawerContent } from \"./Drawer\";\n\nconst story = storiesOf(\"Components/Drawer\", module);\nstory.addDecorator(withKnobs);\n\nstory.add(\n \"usage\",\n () => {\n const open = boolean(\"Open\", true);\n\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox title={\"drawer\"}>\n <StorySandboxExample title={\"A list with all possible options\"}>\n <Drawer open={open}>\n <DrawerHeader>Main Menu</DrawerHeader>\n <DrawerContent>\n <List>\n <ListItem>Users</ListItem>\n <ListItem>Companies</ListItem>\n <ListItem>Brands</ListItem>\n <ListItem>ACL</ListItem>\n <ListItem>Settings</ListItem>\n </List>\n </DrawerContent>\n </Drawer>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Drawer>\n <DrawerHeader>Main Menu</DrawerHeader>\n <DrawerContent>\n <List>\n <ListItem>Users</ListItem>\n <ListItem>Companies</ListItem>\n <ListItem>Brands</ListItem>\n <ListItem>ACL</ListItem>\n <ListItem>Settings</ListItem>\n </List>\n </DrawerContent>\n </Drawer>\n `}\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Drawer, DrawerHeader, DrawerContent] } }\n);\n"],"mappings":";;;AAAA;AACA;AACA;AAOA;AAEA;AACA;AACA;AAEA,IAAMA,KAAK,GAAG,IAAAC,iBAAS,EAAC,mBAAmB,EAAEC,MAAM,CAAC;AACpDF,KAAK,CAACG,YAAY,CAACC,qBAAS,CAAC;AAE7BJ,KAAK,CAACK,GAAG,CACL,OAAO,EACP,YAAM;EACF,IAAMC,IAAI,GAAG,IAAAC,mBAAO,EAAC,MAAM,EAAE,IAAI,CAAC;EAElC,oBACI,6BAAC,YAAK,qBACF,6BAAC,kBAAW,QAAEC,eAAM,CAAe,eACnC,6BAAC,mBAAY;IAAC,KAAK,EAAE;EAAS,gBAC1B,6BAAC,0BAAmB;IAAC,KAAK,EAAE;EAAmC,gBAC3D,6BAAC,cAAM;IAAC,IAAI,EAAEF;EAAK,gBACf,6BAAC,oBAAY,QAAC,WAAS,CAAe,eACtC,6BAAC,qBAAa,qBACV,6BAAC,UAAI,qBACD,6BAAC,cAAQ,QAAC,OAAK,CAAW,eAC1B,6BAAC,cAAQ,QAAC,WAAS,CAAW,eAC9B,6BAAC,cAAQ,QAAC,QAAM,CAAW,eAC3B,6BAAC,cAAQ,QAAC,KAAG,CAAW,eACxB,6BAAC,cAAQ,QAAC,UAAQ,CAAW,CAC1B,CACK,CACX,CACS,eACtB,6BAAC,uBAAgB,4mBAeE,CACR,CACX;AAEhB,CAAC,EACD;EAAEG,IAAI,EAAE;IAAEC,UAAU,EAAE,CAACC,cAAM,EAAEC,oBAAY,EAAEC,qBAAa;EAAE;AAAE,CAAC,CAClE"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_react2","_Story","_List","_README","_addonKnobs","_Drawer","story","storiesOf","module","addDecorator","withKnobs","add","open","boolean","default","createElement","Story","StoryReadme","readme","StorySandbox","title","StorySandboxExample","Drawer","DrawerHeader","DrawerContent","List","ListItem","StorySandboxCode","info","propTables"],"sources":["Drawer.stories.tsx"],"sourcesContent":["import React from \"react\";\nimport { storiesOf } from \"@storybook/react\";\nimport {\n Story,\n StoryReadme,\n StorySandboxCode,\n StorySandbox,\n StorySandboxExample\n} from \"@webiny/storybook-utils/Story\";\nimport { List, ListItem } from \"./../List\";\n\nimport readme from \"./../Drawer/README.md\";\nimport { withKnobs, boolean } from \"@storybook/addon-knobs\";\nimport { Drawer, DrawerHeader, DrawerContent } from \"./Drawer\";\n\nconst story = storiesOf(\"Components/Drawer\", module);\nstory.addDecorator(withKnobs);\n\nstory.add(\n \"usage\",\n () => {\n const open = boolean(\"Open\", true);\n\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox title={\"drawer\"}>\n <StorySandboxExample title={\"A list with all possible options\"}>\n <Drawer open={open}>\n <DrawerHeader>Main Menu</DrawerHeader>\n <DrawerContent>\n <List>\n <ListItem>Users</ListItem>\n <ListItem>Companies</ListItem>\n <ListItem>Brands</ListItem>\n <ListItem>ACL</ListItem>\n <ListItem>Settings</ListItem>\n </List>\n </DrawerContent>\n </Drawer>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Drawer>\n <DrawerHeader>Main Menu</DrawerHeader>\n <DrawerContent>\n <List>\n <ListItem>Users</ListItem>\n <ListItem>Companies</ListItem>\n <ListItem>Brands</ListItem>\n <ListItem>ACL</ListItem>\n <ListItem>Settings</ListItem>\n </List>\n </DrawerContent>\n </Drawer>\n `}\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Drawer, DrawerHeader, DrawerContent] } }\n);\n"],"mappings":";;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAOA,IAAAG,KAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AAEA,IAAMO,KAAK,GAAG,IAAAC,iBAAS,EAAC,mBAAmB,EAAEC,MAAM,CAAC;AACpDF,KAAK,CAACG,YAAY,CAACC,qBAAS,CAAC;AAE7BJ,KAAK,CAACK,GAAG,CACL,OAAO,EACP,YAAM;EACF,IAAMC,IAAI,GAAG,IAAAC,mBAAO,EAAC,MAAM,EAAE,IAAI,CAAC;EAElC,oBACIhB,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACd,MAAA,CAAAe,KAAK,qBACFnB,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACd,MAAA,CAAAgB,WAAW,QAAEC,eAAoB,CAAC,eACnCrB,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACd,MAAA,CAAAkB,YAAY;IAACC,KAAK,EAAE;EAAS,gBAC1BvB,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACd,MAAA,CAAAoB,mBAAmB;IAACD,KAAK,EAAE;EAAmC,gBAC3DvB,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACV,OAAA,CAAAiB,MAAM;IAACV,IAAI,EAAEA;EAAK,gBACff,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACV,OAAA,CAAAkB,YAAY,QAAC,WAAuB,CAAC,eACtC1B,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACV,OAAA,CAAAmB,aAAa,qBACV3B,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACb,KAAA,CAAAuB,IAAI,qBACD5B,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACb,KAAA,CAAAwB,QAAQ,QAAC,OAAe,CAAC,eAC1B7B,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACb,KAAA,CAAAwB,QAAQ,QAAC,WAAmB,CAAC,eAC9B7B,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACb,KAAA,CAAAwB,QAAQ,QAAC,QAAgB,CAAC,eAC3B7B,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACb,KAAA,CAAAwB,QAAQ,QAAC,KAAa,CAAC,eACxB7B,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACb,KAAA,CAAAwB,QAAQ,QAAC,UAAkB,CAC1B,CACK,CACX,CACS,CAAC,eACtB7B,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACd,MAAA,CAAA0B,gBAAgB,2mBAeC,CACR,CACX,CAAC;AAEhB,CAAC,EACD;EAAEC,IAAI,EAAE;IAAEC,UAAU,EAAE,CAACP,cAAM,EAAEC,oBAAY,EAAEC,qBAAa;EAAE;AAAE,CAClE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./Drawer\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_Drawer","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export * from \"./Drawer\";\n"],"mappings":";;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["DynamicFieldsetRow","styled","paddingBottom","padding","display","Fieldset","add","index","addData","remove","removeData","props","value","onChange","dotProp","delete","slice","cb","header","rows","map","record","data","empty","children","actions","renderHeader","row","renderRow","renderEmpty","length","description","validation","isValid","renderComponent","message","React","Component"],"sources":["Fieldset.tsx"],"sourcesContent":["import React from \"react\";\nimport dotProp from \"dot-prop-immutable\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\nimport styled from \"@emotion/styled\";\n\ninterface ChildrenRenderPropRowCallableParams {\n index: number;\n data: any;\n}\ninterface ChildrenRenderPropRowCallable {\n (params: ChildrenRenderPropRowCallableParams): React.ReactNode;\n}\n\ninterface ChildrenRenderPropHeaderCallable {\n (): React.ReactNode;\n}\ninterface ChildrenRenderPropEmptyCallable {\n (): React.ReactNode;\n}\ninterface ChildrenRenderProp {\n actions: {\n add: Function;\n remove: Function;\n };\n header: (cb: ChildrenRenderPropHeaderCallable) => React.ReactNode;\n row: (cb: ChildrenRenderPropRowCallable) => React.ReactNode;\n empty: (cb: ChildrenRenderPropEmptyCallable) => React.ReactNode;\n}\n\ninterface FieldsetProps {\n value?: any[];\n description?: string;\n validation?: { isValid: null | boolean; message?: string };\n onChange: Function;\n children: (props: ChildrenRenderProp) => React.ReactNode;\n}\n\nconst DynamicFieldsetRow = styled(\"div\")({\n paddingBottom: 10,\n \"> .mdc-layout-grid\": {\n padding: 0,\n \"> .mdc-layout-grid__inner\": {\n display: \"block\"\n }\n }\n});\n\nclass Fieldset extends React.Component<FieldsetProps> {\n static defaultProps: Partial<FieldsetProps> = {\n value: []\n };\n\n header: React.ReactNode = null;\n rows: React.ReactNode = null;\n empty: React.ReactNode = null;\n\n actions = {\n add:\n (index = -1) =>\n () =>\n this.addData(index),\n remove:\n (index = -1) =>\n () =>\n this.removeData(index)\n };\n\n removeData = (index: number) => {\n const { value, onChange } = this.props;\n onChange(dotProp.delete(value, index));\n };\n\n addData = (index = -1) => {\n const { onChange } = this.props;\n let value = this.props.value;\n if (!value) {\n value = [];\n }\n if (index < 0) {\n onChange([...value, {}]);\n } else {\n onChange([...value.slice(0, index + 1), {}, ...value.slice(index + 1)]);\n }\n };\n\n renderHeader = (cb: () => React.ReactNode): React.ReactNode => {\n this.header = cb();\n return null;\n };\n\n renderRow = (cb: ChildrenRenderPropRowCallable): React.ReactNode => {\n const { value } = this.props;\n if (!value) {\n return null;\n }\n this.rows = value.map((record, index) => {\n return (\n <DynamicFieldsetRow key={index}>{cb({ data: record, index })}</DynamicFieldsetRow>\n );\n });\n return null;\n };\n\n renderEmpty = (cb: () => React.ReactNode): React.ReactNode => {\n this.empty = cb();\n return null;\n };\n\n public renderComponent(): React.ReactNode {\n const { value } = this.props;\n const { children } = this.props;\n\n children({\n actions: this.actions,\n header: this.renderHeader,\n row: this.renderRow,\n empty: this.renderEmpty\n });\n\n if (!value || value.length === 0) {\n return this.empty;\n }\n\n return (\n <React.Fragment>\n {this.header}\n {this.rows}\n </React.Fragment>\n );\n }\n\n public override render() {\n const { description, validation = { isValid: null } } = this.props;\n\n return (\n <>\n {this.renderComponent()}\n {validation.isValid === false && (\n <FormElementMessage error>{validation.message}</FormElementMessage>\n )}\n\n {validation.isValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </>\n );\n }\n}\n\nexport default Fieldset;\n"],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAkCA,IAAMA,kBAAkB,oBAAGC,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EACrCC,aAAa,EAAE,EAAE;EACjB,oBAAoB,EAAE;IAClBC,OAAO,EAAE,CAAC;IACV,2BAA2B,EAAE;MACzBC,OAAO,EAAE;IACb;EACJ;AACJ,CAAC,CAAC;AAAC,IAEGC,QAAQ;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,qFAKgB,IAAI;IAAA,mFACN,IAAI;IAAA,oFACH,IAAI;IAAA,sFAEnB;MACNC,GAAG,EACC;QAAA,IAACC,KAAK,uEAAG,CAAC,CAAC;QAAA,OACX;UAAA,OACI,MAAKC,OAAO,CAACD,KAAK,CAAC;QAAA;MAAA;MAC3BE,MAAM,EACF;QAAA,IAACF,KAAK,uEAAG,CAAC,CAAC;QAAA,OACX;UAAA,OACI,MAAKG,UAAU,CAACH,KAAK,CAAC;QAAA;MAAA;IAClC,CAAC;IAAA,yFAEY,UAACA,KAAa,EAAK;MAC5B,kBAA4B,MAAKI,KAAK;QAA9BC,KAAK,eAALA,KAAK;QAAEC,QAAQ,eAARA,QAAQ;MACvBA,QAAQ,CAACC,yBAAO,CAACC,MAAM,CAACH,KAAK,EAAEL,KAAK,CAAC,CAAC;IAC1C,CAAC;IAAA,sFAES,YAAgB;MAAA,IAAfA,KAAK,uEAAG,CAAC,CAAC;MACjB,IAAQM,QAAQ,GAAK,MAAKF,KAAK,CAAvBE,QAAQ;MAChB,IAAID,KAAK,GAAG,MAAKD,KAAK,CAACC,KAAK;MAC5B,IAAI,CAACA,KAAK,EAAE;QACRA,KAAK,GAAG,EAAE;MACd;MACA,IAAIL,KAAK,GAAG,CAAC,EAAE;QACXM,QAAQ,4CAAKD,KAAK,IAAE,CAAC,CAAC,GAAE;MAC5B,CAAC,MAAM;QACHC,QAAQ,4CAAKD,KAAK,CAACI,KAAK,CAAC,CAAC,EAAET,KAAK,GAAG,CAAC,CAAC,IAAE,CAAC,CAAC,oCAAKK,KAAK,CAACI,KAAK,CAACT,KAAK,GAAG,CAAC,CAAC,GAAE;MAC3E;IACJ,CAAC;IAAA,2FAEc,UAACU,EAAyB,EAAsB;MAC3D,MAAKC,MAAM,GAAGD,EAAE,EAAE;MAClB,OAAO,IAAI;IACf,CAAC;IAAA,wFAEW,UAACA,EAAiC,EAAsB;MAChE,IAAQL,KAAK,GAAK,MAAKD,KAAK,CAApBC,KAAK;MACb,IAAI,CAACA,KAAK,EAAE;QACR,OAAO,IAAI;MACf;MACA,MAAKO,IAAI,GAAGP,KAAK,CAACQ,GAAG,CAAC,UAACC,MAAM,EAAEd,KAAK,EAAK;QACrC,oBACI,6BAAC,kBAAkB;UAAC,GAAG,EAAEA;QAAM,GAAEU,EAAE,CAAC;UAAEK,IAAI,EAAED,MAAM;UAAEd,KAAK,EAALA;QAAM,CAAC,CAAC,CAAsB;MAE1F,CAAC,CAAC;MACF,OAAO,IAAI;IACf,CAAC;IAAA,0FAEa,UAACU,EAAyB,EAAsB;MAC1D,MAAKM,KAAK,GAAGN,EAAE,EAAE;MACjB,OAAO,IAAI;IACf,CAAC;IAAA;EAAA;EAAA;IAAA;IAAA,OAED,2BAA0C;MACtC,IAAQL,KAAK,GAAK,IAAI,CAACD,KAAK,CAApBC,KAAK;MACb,IAAQY,QAAQ,GAAK,IAAI,CAACb,KAAK,CAAvBa,QAAQ;MAEhBA,QAAQ,CAAC;QACLC,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBP,MAAM,EAAE,IAAI,CAACQ,YAAY;QACzBC,GAAG,EAAE,IAAI,CAACC,SAAS;QACnBL,KAAK,EAAE,IAAI,CAACM;MAChB,CAAC,CAAC;MAEF,IAAI,CAACjB,KAAK,IAAIA,KAAK,CAACkB,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO,IAAI,CAACP,KAAK;MACrB;MAEA,oBACI,6BAAC,cAAK,CAAC,QAAQ,QACV,IAAI,CAACL,MAAM,EACX,IAAI,CAACC,IAAI,CACG;IAEzB;EAAC;IAAA;IAAA,OAED,kBAAyB;MACrB,mBAAwD,IAAI,CAACR,KAAK;QAA1DoB,WAAW,gBAAXA,WAAW;QAAA,qCAAEC,UAAU;QAAVA,UAAU,sCAAG;UAAEC,OAAO,EAAE;QAAK,CAAC;MAEnD,oBACI,4DACK,IAAI,CAACC,eAAe,EAAE,EACtBF,UAAU,CAACC,OAAO,KAAK,KAAK,iBACzB,6BAAC,sCAAkB;QAAC,KAAK;MAAA,GAAED,UAAU,CAACG,OAAO,CAChD,EAEAH,UAAU,CAACC,OAAO,KAAK,KAAK,IAAIF,WAAW,iBACxC,6BAAC,sCAAkB,QAAEA,WAAW,CACnC,CACF;IAEX;EAAC;EAAA;AAAA,EAnGkBK,cAAK,CAACC,SAAS;AAAA,8BAAhChC,QAAQ,kBACoC;EAC1CO,KAAK,EAAE;AACX,CAAC;AAAA,eAmGUP,QAAQ;AAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_dotPropImmutable","_FormElementMessage","_styled","DynamicFieldsetRow","styled","target","label","paddingBottom","padding","display","Fieldset","_React$Component","_inherits2","default","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","add","index","undefined","addData","remove","removeData","_this$props","props","value","onChange","dotProp","delete","_toConsumableArray2","slice","cb","header","rows","map","record","createElement","key","data","empty","_createClass2","renderComponent","children","actions","renderHeader","row","renderRow","renderEmpty","Fragment","render","_this$props2","description","_this$props2$validati","validation","isValid","FormElementMessage","error","message","React","Component","_default","exports"],"sources":["Fieldset.tsx"],"sourcesContent":["import React from \"react\";\nimport dotProp from \"dot-prop-immutable\";\nimport { FormElementMessage } from \"~/FormElementMessage\";\nimport styled from \"@emotion/styled\";\n\ninterface ChildrenRenderPropRowCallableParams {\n index: number;\n data: any;\n}\ninterface ChildrenRenderPropRowCallable {\n (params: ChildrenRenderPropRowCallableParams): React.ReactNode;\n}\n\ninterface ChildrenRenderPropHeaderCallable {\n (): React.ReactNode;\n}\ninterface ChildrenRenderPropEmptyCallable {\n (): React.ReactNode;\n}\ninterface ChildrenRenderProp {\n actions: {\n add: Function;\n remove: Function;\n };\n header: (cb: ChildrenRenderPropHeaderCallable) => React.ReactNode;\n row: (cb: ChildrenRenderPropRowCallable) => React.ReactNode;\n empty: (cb: ChildrenRenderPropEmptyCallable) => React.ReactNode;\n}\n\ninterface FieldsetProps {\n value?: any[];\n description?: string;\n validation?: { isValid: null | boolean; message?: string };\n onChange: Function;\n children: (props: ChildrenRenderProp) => React.ReactNode;\n}\n\nconst DynamicFieldsetRow = styled(\"div\")({\n paddingBottom: 10,\n \"> .mdc-layout-grid\": {\n padding: 0,\n \"> .mdc-layout-grid__inner\": {\n display: \"block\"\n }\n }\n});\n\nclass Fieldset extends React.Component<FieldsetProps> {\n static defaultProps: Partial<FieldsetProps> = {\n value: []\n };\n\n header: React.ReactNode = null;\n rows: React.ReactNode = null;\n empty: React.ReactNode = null;\n\n actions = {\n add:\n (index = -1) =>\n () =>\n this.addData(index),\n remove:\n (index = -1) =>\n () =>\n this.removeData(index)\n };\n\n removeData = (index: number) => {\n const { value, onChange } = this.props;\n onChange(dotProp.delete(value, index));\n };\n\n addData = (index = -1) => {\n const { onChange } = this.props;\n let value = this.props.value;\n if (!value) {\n value = [];\n }\n if (index < 0) {\n onChange([...value, {}]);\n } else {\n onChange([...value.slice(0, index + 1), {}, ...value.slice(index + 1)]);\n }\n };\n\n renderHeader = (cb: () => React.ReactNode): React.ReactNode => {\n this.header = cb();\n return null;\n };\n\n renderRow = (cb: ChildrenRenderPropRowCallable): React.ReactNode => {\n const { value } = this.props;\n if (!value) {\n return null;\n }\n this.rows = value.map((record, index) => {\n return (\n <DynamicFieldsetRow key={index}>{cb({ data: record, index })}</DynamicFieldsetRow>\n );\n });\n return null;\n };\n\n renderEmpty = (cb: () => React.ReactNode): React.ReactNode => {\n this.empty = cb();\n return null;\n };\n\n public renderComponent(): React.ReactNode {\n const { value } = this.props;\n const { children } = this.props;\n\n children({\n actions: this.actions,\n header: this.renderHeader,\n row: this.renderRow,\n empty: this.renderEmpty\n });\n\n if (!value || value.length === 0) {\n return this.empty;\n }\n\n return (\n <React.Fragment>\n {this.header}\n {this.rows}\n </React.Fragment>\n );\n }\n\n public override render() {\n const { description, validation = { isValid: null } } = this.props;\n\n return (\n <>\n {this.renderComponent()}\n {validation.isValid === false && (\n <FormElementMessage error>{validation.message}</FormElementMessage>\n )}\n\n {validation.isValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </>\n );\n }\n}\n\nexport default Fieldset;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default as DynamicFieldset } from \"./Fieldset\";\n"],"mappings":";;;;;;;;;;;;AAAA"}
1
+ {"version":3,"names":["_Fieldset","_interopRequireDefault","require"],"sources":["index.ts"],"sourcesContent":["export { default as DynamicFieldset } from \"./Fieldset\";\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["Elevation","React","forwardRef","props","ref","children","displayName"],"sources":["Elevation.tsx"],"sourcesContent":["import React from \"react\";\nimport { Elevation as RmwcElevation } from \"@rmwc/elevation\";\n\nexport type ElevationProps = {\n // Any element that needs to be highlighted.\n children?: React.ReactNode;\n\n // Increasing this number (from 0 to 24) will increase the amount of shadow applied.\n z: number;\n\n // Adds smooth transitions when the z value changes.\n transition?: boolean;\n\n // CSS class name\n className?: string;\n\n // Style object\n style?: React.CSSProperties;\n};\n\n/**\n * Elevation component visually raises any content by applying shadow.\n */\nconst Elevation = React.forwardRef((props: ElevationProps, ref: React.Ref<any>) => {\n return (\n <RmwcElevation ref={ref} {...props}>\n {props.children}\n </RmwcElevation>\n );\n});\n\nElevation.displayName = \"Elevation\";\n\nexport { Elevation };\n"],"mappings":";;;;;;;AAAA;AACA;AAmBA;AACA;AACA;AACA,IAAMA,SAAS,gBAAGC,cAAK,CAACC,UAAU,CAAC,UAACC,KAAqB,EAAEC,GAAmB,EAAK;EAC/E,oBACI,6BAAC,oBAAa;IAAC,GAAG,EAAEA;EAAI,GAAKD,KAAK,GAC7BA,KAAK,CAACE,QAAQ,CACH;AAExB,CAAC,CAAC;AAAC;AAEHL,SAAS,CAACM,WAAW,GAAG,WAAW"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_elevation","Elevation","React","forwardRef","props","ref","default","createElement","Object","assign","children","exports","displayName"],"sources":["Elevation.tsx"],"sourcesContent":["import React from \"react\";\nimport { Elevation as RmwcElevation } from \"@rmwc/elevation\";\n\nexport type ElevationProps = {\n // Any element that needs to be highlighted.\n children?: React.ReactNode;\n\n // Increasing this number (from 0 to 24) will increase the amount of shadow applied.\n z: number;\n\n // Adds smooth transitions when the z value changes.\n transition?: boolean;\n\n // CSS class name\n className?: string;\n\n // Style object\n style?: React.CSSProperties;\n};\n\n/**\n * Elevation component visually raises any content by applying shadow.\n */\nconst Elevation = React.forwardRef((props: ElevationProps, ref: React.Ref<any>) => {\n return (\n <RmwcElevation ref={ref} {...props}>\n {props.children}\n </RmwcElevation>\n );\n});\n\nElevation.displayName = \"Elevation\";\n\nexport { Elevation };\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAmBA;AACA;AACA;AACA,IAAME,SAAS,gBAAGC,cAAK,CAACC,UAAU,CAAC,UAACC,KAAqB,EAAEC,GAAmB,EAAK;EAC/E,oBACIR,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACP,UAAA,CAAAC,SAAa,EAAAO,MAAA,CAAAC,MAAA;IAACJ,GAAG,EAAEA;EAAI,GAAKD,KAAK,GAC7BA,KAAK,CAACM,QACI,CAAC;AAExB,CAAC,CAAC;AAACC,OAAA,CAAAV,SAAA,GAAAA,SAAA;AAEHA,SAAS,CAACW,WAAW,GAAG,WAAW"}
@@ -1 +1 @@
1
- {"version":3,"names":["story","storiesOf","module","addDecorator","withKnobs","add","transition","boolean","z","select","Array","keys","style","padding","backgroundColor","readme","info","propTables","Elevation"],"sources":["Elevation.stories.tsx"],"sourcesContent":["import React from \"react\";\nimport { storiesOf } from \"@storybook/react\";\nimport {\n Story,\n StoryReadme,\n StorySandboxCode,\n StorySandbox,\n StorySandboxExample\n} from \"@webiny/storybook-utils/Story\";\nimport readme from \"./../Elevation/README.md\";\nimport { withKnobs, boolean, select } from \"@storybook/addon-knobs\";\nimport { Elevation } from \"./Elevation\";\n\nconst story = storiesOf(\"Components/Elevation\", module);\nstory.addDecorator(withKnobs);\n\nstory.add(\n \"usage\",\n () => {\n const transition = boolean(\"Transition\", true);\n const z = select(\"Z (elevation height)\", [...Array(25).keys()], 1);\n\n const style = {\n padding: 20,\n backgroundColor: \"white\"\n };\n\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox title={\"An area with applied elevation\"}>\n <StorySandboxExample>\n <Elevation z={z} transition={transition}>\n <div style={style}>This is an elevated content.</div>\n </Elevation>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Elevation z={${z}} transition={${transition}}>\n <div>This is an elevated content.</div>\n </Elevation>\n `}\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Elevation] } }\n);\n"],"mappings":";;;;AAAA;AACA;AACA;AAOA;AACA;AACA;AAEA,IAAMA,KAAK,GAAG,IAAAC,iBAAS,EAAC,sBAAsB,EAAEC,MAAM,CAAC;AACvDF,KAAK,CAACG,YAAY,CAACC,qBAAS,CAAC;AAE7BJ,KAAK,CAACK,GAAG,CACL,OAAO,EACP,YAAM;EACF,IAAMC,UAAU,GAAG,IAAAC,mBAAO,EAAC,YAAY,EAAE,IAAI,CAAC;EAC9C,IAAMC,CAAC,GAAG,IAAAC,kBAAM,EAAC,sBAAsB,mCAAMC,KAAK,CAAC,EAAE,CAAC,CAACC,IAAI,EAAE,GAAG,CAAC,CAAC;EAElE,IAAMC,KAAK,GAAG;IACVC,OAAO,EAAE,EAAE;IACXC,eAAe,EAAE;EACrB,CAAC;EAED,oBACI,6BAAC,YAAK,qBACF,6BAAC,kBAAW,QAAEC,eAAM,CAAe,eACnC,6BAAC,mBAAY;IAAC,KAAK,EAAE;EAAiC,gBAClD,6BAAC,0BAAmB,qBAChB,6BAAC,oBAAS;IAAC,CAAC,EAAEP,CAAE;IAAC,UAAU,EAAEF;EAAW,gBACpC;IAAK,KAAK,EAAEM;EAAM,GAAC,8BAA4B,CAAM,CAC7C,CACM,eACtB,6BAAC,uBAAgB,0DAEGJ,CAAC,2BAAiBF,UAAU,yIAI7B,CACR,CACX;AAEhB,CAAC,EACD;EAAEU,IAAI,EAAE;IAAEC,UAAU,EAAE,CAACC,oBAAS;EAAE;AAAE,CAAC,CACxC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_react2","_Story","_README","_addonKnobs","_Elevation","story","storiesOf","module","addDecorator","withKnobs","add","transition","boolean","z","select","_toConsumableArray2","default","Array","keys","style","padding","backgroundColor","createElement","Story","StoryReadme","readme","StorySandbox","title","StorySandboxExample","Elevation","StorySandboxCode","concat","info","propTables"],"sources":["Elevation.stories.tsx"],"sourcesContent":["import React from \"react\";\nimport { storiesOf } from \"@storybook/react\";\nimport {\n Story,\n StoryReadme,\n StorySandboxCode,\n StorySandbox,\n StorySandboxExample\n} from \"@webiny/storybook-utils/Story\";\nimport readme from \"./../Elevation/README.md\";\nimport { withKnobs, boolean, select } from \"@storybook/addon-knobs\";\nimport { Elevation } from \"./Elevation\";\n\nconst story = storiesOf(\"Components/Elevation\", module);\nstory.addDecorator(withKnobs);\n\nstory.add(\n \"usage\",\n () => {\n const transition = boolean(\"Transition\", true);\n const z = select(\"Z (elevation height)\", [...Array(25).keys()], 1);\n\n const style = {\n padding: 20,\n backgroundColor: \"white\"\n };\n\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox title={\"An area with applied elevation\"}>\n <StorySandboxExample>\n <Elevation z={z} transition={transition}>\n <div style={style}>This is an elevated content.</div>\n </Elevation>\n </StorySandboxExample>\n <StorySandboxCode>\n {`\n <Elevation z={${z}} transition={${transition}}>\n <div>This is an elevated content.</div>\n </Elevation>\n `}\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Elevation] } }\n);\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAOA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAEA,IAAMM,KAAK,GAAG,IAAAC,iBAAS,EAAC,sBAAsB,EAAEC,MAAM,CAAC;AACvDF,KAAK,CAACG,YAAY,CAACC,qBAAS,CAAC;AAE7BJ,KAAK,CAACK,GAAG,CACL,OAAO,EACP,YAAM;EACF,IAAMC,UAAU,GAAG,IAAAC,mBAAO,EAAC,YAAY,EAAE,IAAI,CAAC;EAC9C,IAAMC,CAAC,GAAG,IAAAC,kBAAM,EAAC,sBAAsB,MAAAC,mBAAA,CAAAC,OAAA,EAAMC,KAAK,CAAC,EAAE,CAAC,CAACC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;EAElE,IAAMC,KAAK,GAAG;IACVC,OAAO,EAAE,EAAE;IACXC,eAAe,EAAE;EACrB,CAAC;EAED,oBACIxB,MAAA,CAAAmB,OAAA,CAAAM,aAAA,CAACrB,MAAA,CAAAsB,KAAK,qBACF1B,MAAA,CAAAmB,OAAA,CAAAM,aAAA,CAACrB,MAAA,CAAAuB,WAAW,QAAEC,eAAoB,CAAC,eACnC5B,MAAA,CAAAmB,OAAA,CAAAM,aAAA,CAACrB,MAAA,CAAAyB,YAAY;IAACC,KAAK,EAAE;EAAiC,gBAClD9B,MAAA,CAAAmB,OAAA,CAAAM,aAAA,CAACrB,MAAA,CAAA2B,mBAAmB,qBAChB/B,MAAA,CAAAmB,OAAA,CAAAM,aAAA,CAAClB,UAAA,CAAAyB,SAAS;IAAChB,CAAC,EAAEA,CAAE;IAACF,UAAU,EAAEA;EAAW,gBACpCd,MAAA,CAAAmB,OAAA,CAAAM,aAAA;IAAKH,KAAK,EAAEA;EAAM,GAAC,8BAAiC,CAC7C,CACM,CAAC,eACtBtB,MAAA,CAAAmB,OAAA,CAAAM,aAAA,CAACrB,MAAA,CAAA6B,gBAAgB,mDAAAC,MAAA,CAEGlB,CAAC,oBAAAkB,MAAA,CAAiBpB,UAAU,wIAI9B,CACR,CACX,CAAC;AAEhB,CAAC,EACD;EAAEqB,IAAI,EAAE;IAAEC,UAAU,EAAE,CAACJ,oBAAS;EAAE;AAAE,CACxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./Elevation\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_Elevation","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export * from \"./Elevation\";\n"],"mappings":";;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,UAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,UAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,UAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["FormElementMessage","props","classNames","classnames","className","error","children"],"sources":["FormElementMessage.tsx"],"sourcesContent":["import React from \"react\";\nimport classnames from \"classnames\";\n\ntype Props = {\n // message to display\n children: React.ReactNode;\n\n // optional class name\n className?: string;\n\n // is it an error message we're displaying\n error?: boolean;\n};\n\nconst FormElementMessage = (props: Props) => {\n const classNames = classnames(\n \"mdc-text-field-helper-text mdc-text-field-helper-text--persistent\",\n props.className,\n { \"mdc-text-field-helper-text--error\": props.error }\n );\n\n return <div className={classNames}>{props.children}</div>;\n};\n\nexport { FormElementMessage };\n"],"mappings":";;;;;;;AAAA;AACA;AAaA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAkB,CAAIC,KAAY,EAAK;EACzC,IAAMC,UAAU,GAAG,IAAAC,mBAAU,EACzB,mEAAmE,EACnEF,KAAK,CAACG,SAAS,EACf;IAAE,mCAAmC,EAAEH,KAAK,CAACI;EAAM,CAAC,CACvD;EAED,oBAAO;IAAK,SAAS,EAAEH;EAAW,GAAED,KAAK,CAACK,QAAQ,CAAO;AAC7D,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_classnames","FormElementMessage","props","classNames","classnames","className","error","default","createElement","children","exports"],"sources":["FormElementMessage.tsx"],"sourcesContent":["import React from \"react\";\nimport classnames from \"classnames\";\n\ntype Props = {\n // message to display\n children: React.ReactNode;\n\n // optional class name\n className?: string;\n\n // is it an error message we're displaying\n error?: boolean;\n};\n\nconst FormElementMessage = (props: Props) => {\n const classNames = classnames(\n \"mdc-text-field-helper-text mdc-text-field-helper-text--persistent\",\n props.className,\n { \"mdc-text-field-helper-text--error\": props.error }\n );\n\n return <div className={classNames}>{props.children}</div>;\n};\n\nexport { FormElementMessage };\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAaA,IAAME,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,KAAY,EAAK;EACzC,IAAMC,UAAU,GAAG,IAAAC,mBAAU,EACzB,mEAAmE,EACnEF,KAAK,CAACG,SAAS,EACf;IAAE,mCAAmC,EAAEH,KAAK,CAACI;EAAM,CACvD,CAAC;EAED,oBAAOT,MAAA,CAAAU,OAAA,CAAAC,aAAA;IAAKH,SAAS,EAAEF;EAAW,GAAED,KAAK,CAACO,QAAc,CAAC;AAC7D,CAAC;AAACC,OAAA,CAAAT,kBAAA,GAAAA,kBAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { FormElementMessage } from \"./FormElementMessage\";\n"],"mappings":";;;;;;;;;;;AAAA"}
1
+ {"version":3,"names":["_FormElementMessage","require"],"sources":["index.ts"],"sourcesContent":["export { FormElementMessage } from \"./FormElementMessage\";\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["FullName","props","data","output","firstName","lastName"],"sources":["FullName.ts"],"sourcesContent":["type Props = {\n data?: {\n firstName?: string;\n lastName?: string;\n };\n};\n\nconst FullName = (props: Props) => {\n const { data } = props;\n\n if (!data) {\n return \"N/A\";\n }\n\n let output = \"\";\n if (data.firstName) {\n output += data.firstName;\n }\n\n if (data.lastName) {\n output += \" \" + data.lastName;\n }\n\n return output;\n};\n\nexport { FullName };\n"],"mappings":";;;;;;AAOA,IAAMA,QAAQ,GAAG,SAAXA,QAAQ,CAAIC,KAAY,EAAK;EAC/B,IAAQC,IAAI,GAAKD,KAAK,CAAdC,IAAI;EAEZ,IAAI,CAACA,IAAI,EAAE;IACP,OAAO,KAAK;EAChB;EAEA,IAAIC,MAAM,GAAG,EAAE;EACf,IAAID,IAAI,CAACE,SAAS,EAAE;IAChBD,MAAM,IAAID,IAAI,CAACE,SAAS;EAC5B;EAEA,IAAIF,IAAI,CAACG,QAAQ,EAAE;IACfF,MAAM,IAAI,GAAG,GAAGD,IAAI,CAACG,QAAQ;EACjC;EAEA,OAAOF,MAAM;AACjB,CAAC;AAAC"}
1
+ {"version":3,"names":["FullName","props","data","output","firstName","lastName","exports"],"sources":["FullName.ts"],"sourcesContent":["type Props = {\n data?: {\n firstName?: string;\n lastName?: string;\n };\n};\n\nconst FullName = (props: Props) => {\n const { data } = props;\n\n if (!data) {\n return \"N/A\";\n }\n\n let output = \"\";\n if (data.firstName) {\n output += data.firstName;\n }\n\n if (data.lastName) {\n output += \" \" + data.lastName;\n }\n\n return output;\n};\n\nexport { FullName };\n"],"mappings":";;;;;;AAOA,IAAMA,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,KAAY,EAAK;EAC/B,IAAQC,IAAI,GAAKD,KAAK,CAAdC,IAAI;EAEZ,IAAI,CAACA,IAAI,EAAE;IACP,OAAO,KAAK;EAChB;EAEA,IAAIC,MAAM,GAAG,EAAE;EACf,IAAID,IAAI,CAACE,SAAS,EAAE;IAChBD,MAAM,IAAID,IAAI,CAACE,SAAS;EAC5B;EAEA,IAAIF,IAAI,CAACG,QAAQ,EAAE;IACfF,MAAM,IAAI,GAAG,GAAGD,IAAI,CAACG,QAAQ;EACjC;EAEA,OAAOF,MAAM;AACjB,CAAC;AAACG,OAAA,CAAAN,QAAA,GAAAA,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./FullName\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_FullName","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export * from \"./FullName\";\n"],"mappings":";;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
package/Grid/Grid.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["Cell","props","children","GridInner","displayName","Grid"],"sources":["Grid.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n Grid as RmwcGrid,\n GridCell as RmwcGridCell,\n GridRow as RmwcGridInner,\n GridCellProps as RmwcGridCellProps,\n GridProps as RmwcGridProps\n} from \"@rmwc/grid\";\nimport { CSSProperties } from \"react\";\n\nexport type CellProps = RmwcGridCellProps & {\n // One or more Cell components.\n children?: React.ReactNode;\n\n // CSS class name that will be added to the element\n className?: string;\n\n style?: { [key: string]: any };\n};\n\nexport type GridProps = RmwcGridProps & {\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * Cell must be direct children of Grid component.\n */\nexport const Cell = (props: CellProps) => {\n return <RmwcGridCell {...props}>{props.children}</RmwcGridCell>;\n};\n\nexport type GridInnerProps = {\n // One or more Cell components.\n children: React.ReactElement<typeof Cell> | React.ReactElement<typeof Cell>[];\n\n /**\n * CSS class name\n */\n className?: string;\n};\n\nexport const GridInner = (props: GridInnerProps) => {\n return <RmwcGridInner {...props}>{props.children}</RmwcGridInner>;\n};\n\nGridInner.displayName = \"GridInner\";\n\n/**\n * Use Grid component to display a list of choices, once the handler is triggered.\n */\nexport const Grid = (props: GridProps) => {\n return <RmwcGrid {...props}>{props.children}</RmwcGrid>;\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAwBA;AACA;AACA;AACO,IAAMA,IAAI,GAAG,SAAPA,IAAI,CAAIC,KAAgB,EAAK;EACtC,oBAAO,6BAAC,cAAY,EAAKA,KAAK,EAAGA,KAAK,CAACC,QAAQ,CAAgB;AACnE,CAAC;AAAC;AAYK,IAAMC,SAAS,GAAG,SAAZA,SAAS,CAAIF,KAAqB,EAAK;EAChD,oBAAO,6BAAC,aAAa,EAAKA,KAAK,EAAGA,KAAK,CAACC,QAAQ,CAAiB;AACrE,CAAC;AAAC;AAEFC,SAAS,CAACC,WAAW,GAAG,WAAW;;AAEnC;AACA;AACA;AACO,IAAMC,IAAI,GAAG,SAAPA,IAAI,CAAIJ,KAAgB,EAAK;EACtC,oBAAO,6BAAC,UAAQ,EAAKA,KAAK,EAAGA,KAAK,CAACC,QAAQ,CAAY;AAC3D,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_grid","Cell","props","default","createElement","GridCell","children","exports","GridInner","GridRow","displayName","Grid"],"sources":["Grid.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n Grid as RmwcGrid,\n GridCell as RmwcGridCell,\n GridRow as RmwcGridInner,\n GridCellProps as RmwcGridCellProps,\n GridProps as RmwcGridProps\n} from \"@rmwc/grid\";\nimport { CSSProperties } from \"react\";\n\nexport type CellProps = RmwcGridCellProps & {\n // One or more Cell components.\n children?: React.ReactNode;\n\n // CSS class name that will be added to the element\n className?: string;\n\n style?: { [key: string]: any };\n};\n\nexport type GridProps = RmwcGridProps & {\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * Cell must be direct children of Grid component.\n */\nexport const Cell = (props: CellProps) => {\n return <RmwcGridCell {...props}>{props.children}</RmwcGridCell>;\n};\n\nexport type GridInnerProps = {\n // One or more Cell components.\n children: React.ReactElement<typeof Cell> | React.ReactElement<typeof Cell>[];\n\n /**\n * CSS class name\n */\n className?: string;\n};\n\nexport const GridInner = (props: GridInnerProps) => {\n return <RmwcGridInner {...props}>{props.children}</RmwcGridInner>;\n};\n\nGridInner.displayName = \"GridInner\";\n\n/**\n * Use Grid component to display a list of choices, once the handler is triggered.\n */\nexport const Grid = (props: GridProps) => {\n return <RmwcGrid {...props}>{props.children}</RmwcGrid>;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAwBA;AACA;AACA;AACO,IAAME,IAAI,GAAG,SAAPA,IAAIA,CAAIC,KAAgB,EAAK;EACtC,oBAAOL,MAAA,CAAAM,OAAA,CAAAC,aAAA,CAACJ,KAAA,CAAAK,QAAY,EAAKH,KAAK,EAAGA,KAAK,CAACI,QAAuB,CAAC;AACnE,CAAC;AAACC,OAAA,CAAAN,IAAA,GAAAA,IAAA;AAYK,IAAMO,SAAS,GAAG,SAAZA,SAASA,CAAIN,KAAqB,EAAK;EAChD,oBAAOL,MAAA,CAAAM,OAAA,CAAAC,aAAA,CAACJ,KAAA,CAAAS,OAAa,EAAKP,KAAK,EAAGA,KAAK,CAACI,QAAwB,CAAC;AACrE,CAAC;AAACC,OAAA,CAAAC,SAAA,GAAAA,SAAA;AAEFA,SAAS,CAACE,WAAW,GAAG,WAAW;;AAEnC;AACA;AACA;AACO,IAAMC,IAAI,GAAG,SAAPA,IAAIA,CAAIT,KAAgB,EAAK;EACtC,oBAAOL,MAAA,CAAAM,OAAA,CAAAC,aAAA,CAACJ,KAAA,CAAAW,IAAQ,EAAKT,KAAK,EAAGA,KAAK,CAACI,QAAmB,CAAC;AAC3D,CAAC;AAACC,OAAA,CAAAI,IAAA,GAAAA,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["story","storiesOf","module","add","readme","info","propTables","Grid","Cell"],"sources":["Grid.stories.tsx"],"sourcesContent":["import React from \"react\";\nimport { storiesOf } from \"@storybook/react\";\nimport { Story, StoryReadme, StorySandbox } from \"@webiny/storybook-utils/Story\";\nimport readme from \"./../Grid/README.md\";\nimport { Grid, Cell } from \"./Grid\";\n\nconst story = storiesOf(\"Components/Grid\", module);\n\nstory.add(\n \"usage\",\n () => {\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox title={\"A simple grid.\"}>\n <Grid>\n <Cell span={3} tablet={6} phone={12}>\n Apples\n </Cell>\n <Cell span={3} tablet={6} phone={12}>\n Oranges\n </Cell>\n <Cell span={3} tablet={6} phone={12}>\n Bananas\n </Cell>\n <Cell span={3} tablet={6} phone={12}>\n Strawberries\n </Cell>\n </Grid>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Grid, Cell] } }\n);\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AAEA,IAAMA,KAAK,GAAG,IAAAC,iBAAS,EAAC,iBAAiB,EAAEC,MAAM,CAAC;AAElDF,KAAK,CAACG,GAAG,CACL,OAAO,EACP,YAAM;EACF,oBACI,6BAAC,YAAK,qBACF,6BAAC,kBAAW,QAAEC,eAAM,CAAe,eACnC,6BAAC,mBAAY;IAAC,KAAK,EAAE;EAAiB,gBAClC,6BAAC,UAAI,qBACD,6BAAC,UAAI;IAAC,IAAI,EAAE,CAAE;IAAC,MAAM,EAAE,CAAE;IAAC,KAAK,EAAE;EAAG,GAAC,QAErC,CAAO,eACP,6BAAC,UAAI;IAAC,IAAI,EAAE,CAAE;IAAC,MAAM,EAAE,CAAE;IAAC,KAAK,EAAE;EAAG,GAAC,SAErC,CAAO,eACP,6BAAC,UAAI;IAAC,IAAI,EAAE,CAAE;IAAC,MAAM,EAAE,CAAE;IAAC,KAAK,EAAE;EAAG,GAAC,SAErC,CAAO,eACP,6BAAC,UAAI;IAAC,IAAI,EAAE,CAAE;IAAC,MAAM,EAAE,CAAE;IAAC,KAAK,EAAE;EAAG,GAAC,cAErC,CAAO,CACJ,CACI,CACX;AAEhB,CAAC,EACD;EAAEC,IAAI,EAAE;IAAEC,UAAU,EAAE,CAACC,UAAI,EAAEC,UAAI;EAAE;AAAE,CAAC,CACzC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_react2","_Story","_README","_Grid","story","storiesOf","module","add","default","createElement","Story","StoryReadme","readme","StorySandbox","title","Grid","Cell","span","tablet","phone","info","propTables"],"sources":["Grid.stories.tsx"],"sourcesContent":["import React from \"react\";\nimport { storiesOf } from \"@storybook/react\";\nimport { Story, StoryReadme, StorySandbox } from \"@webiny/storybook-utils/Story\";\nimport readme from \"./../Grid/README.md\";\nimport { Grid, Cell } from \"./Grid\";\n\nconst story = storiesOf(\"Components/Grid\", module);\n\nstory.add(\n \"usage\",\n () => {\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox title={\"A simple grid.\"}>\n <Grid>\n <Cell span={3} tablet={6} phone={12}>\n Apples\n </Cell>\n <Cell span={3} tablet={6} phone={12}>\n Oranges\n </Cell>\n <Cell span={3} tablet={6} phone={12}>\n Bananas\n </Cell>\n <Cell span={3} tablet={6} phone={12}>\n Strawberries\n </Cell>\n </Grid>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Grid, Cell] } }\n);\n"],"mappings":";;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAEA,IAAMK,KAAK,GAAG,IAAAC,iBAAS,EAAC,iBAAiB,EAAEC,MAAM,CAAC;AAElDF,KAAK,CAACG,GAAG,CACL,OAAO,EACP,YAAM;EACF,oBACIV,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACR,MAAA,CAAAS,KAAK,qBACFb,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACR,MAAA,CAAAU,WAAW,QAAEC,eAAoB,CAAC,eACnCf,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACR,MAAA,CAAAY,YAAY;IAACC,KAAK,EAAE;EAAiB,gBAClCjB,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACN,KAAA,CAAAY,IAAI,qBACDlB,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACN,KAAA,CAAAa,IAAI;IAACC,IAAI,EAAE,CAAE;IAACC,MAAM,EAAE,CAAE;IAACC,KAAK,EAAE;EAAG,GAAC,QAE/B,CAAC,eACPtB,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACN,KAAA,CAAAa,IAAI;IAACC,IAAI,EAAE,CAAE;IAACC,MAAM,EAAE,CAAE;IAACC,KAAK,EAAE;EAAG,GAAC,SAE/B,CAAC,eACPtB,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACN,KAAA,CAAAa,IAAI;IAACC,IAAI,EAAE,CAAE;IAACC,MAAM,EAAE,CAAE;IAACC,KAAK,EAAE;EAAG,GAAC,SAE/B,CAAC,eACPtB,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACN,KAAA,CAAAa,IAAI;IAACC,IAAI,EAAE,CAAE;IAACC,MAAM,EAAE,CAAE;IAACC,KAAK,EAAE;EAAG,GAAC,cAE/B,CACJ,CACI,CACX,CAAC;AAEhB,CAAC,EACD;EAAEC,IAAI,EAAE;IAAEC,UAAU,EAAE,CAACN,UAAI,EAAEC,UAAI;EAAE;AAAE,CACzC,CAAC"}
package/Grid/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./Grid\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_Grid","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export * from \"./Grid\";\n"],"mappings":";;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,KAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,KAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,KAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.getClasses = void 0;
8
- var _clone2 = _interopRequireDefault(require("lodash/clone"));
9
8
  var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _clone = _interopRequireDefault(require("lodash/clone"));
10
10
  /**
11
11
  * This is a pass-through that modifies your object's props and creates the required className prop by merging
12
12
  * the provided appendClasses(string) and any class names defined inside your props.
@@ -18,7 +18,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
18
18
  */
19
19
  var getClasses = function getClasses(propList, appendClasses) {
20
20
  var classes = "";
21
- var props = (0, _clone2.default)(propList);
21
+ var props = (0, _clone.default)(propList);
22
22
  if (propList.hasOwnProperty("className")) {
23
23
  classes = (0, _classnames.default)(propList.className);
24
24
  delete props.className;
@@ -1 +1 @@
1
- {"version":3,"names":["getClasses","propList","appendClasses","classes","props","hasOwnProperty","classnames","className"],"sources":["ClassNames.ts"],"sourcesContent":["import classnames from \"classnames\";\nimport { clone } from \"lodash\";\n\n/**\n * This is a pass-through that modifies your object's props and creates the required className prop by merging\n * the provided appendClasses(string) and any class names defined inside your props.\n * To you the function just do: {...getClasses (props)}\n * and make sure you are not spreading the `props` element, as this will clone and spread your current `props` element already.\n */\n/**\n * TODO @ts-refactor figure out propList type\n */\nconst getClasses = (propList: any, appendClasses: string[] | string) => {\n let classes = \"\";\n const props = clone(propList);\n if (propList.hasOwnProperty(\"className\")) {\n classes = classnames(propList.className);\n delete props.className;\n }\n\n if (typeof appendClasses !== \"undefined\") {\n classes = classnames(classes, appendClasses);\n }\n\n props.className = classes;\n\n return props;\n};\n\nexport { getClasses };\n"],"mappings":";;;;;;;;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMA,UAAU,GAAG,SAAbA,UAAU,CAAIC,QAAa,EAAEC,aAAgC,EAAK;EACpE,IAAIC,OAAO,GAAG,EAAE;EAChB,IAAMC,KAAK,GAAG,qBAAMH,QAAQ,CAAC;EAC7B,IAAIA,QAAQ,CAACI,cAAc,CAAC,WAAW,CAAC,EAAE;IACtCF,OAAO,GAAG,IAAAG,mBAAU,EAACL,QAAQ,CAACM,SAAS,CAAC;IACxC,OAAOH,KAAK,CAACG,SAAS;EAC1B;EAEA,IAAI,OAAOL,aAAa,KAAK,WAAW,EAAE;IACtCC,OAAO,GAAG,IAAAG,mBAAU,EAACH,OAAO,EAAED,aAAa,CAAC;EAChD;EAEAE,KAAK,CAACG,SAAS,GAAGJ,OAAO;EAEzB,OAAOC,KAAK;AAChB,CAAC;AAAC"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_clone","getClasses","propList","appendClasses","classes","props","clone","hasOwnProperty","classnames","className","exports"],"sources":["ClassNames.ts"],"sourcesContent":["import classnames from \"classnames\";\nimport clone from \"lodash/clone\";\n\n/**\n * This is a pass-through that modifies your object's props and creates the required className prop by merging\n * the provided appendClasses(string) and any class names defined inside your props.\n * To you the function just do: {...getClasses (props)}\n * and make sure you are not spreading the `props` element, as this will clone and spread your current `props` element already.\n */\n/**\n * TODO @ts-refactor figure out propList type\n */\nconst getClasses = (propList: any, appendClasses: string[] | string) => {\n let classes = \"\";\n const props = clone(propList);\n if (propList.hasOwnProperty(\"className\")) {\n classes = classnames(propList.className);\n delete props.className;\n }\n\n if (typeof appendClasses !== \"undefined\") {\n classes = classnames(classes, appendClasses);\n }\n\n props.className = classes;\n\n return props;\n};\n\nexport { getClasses };\n"],"mappings":";;;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAME,UAAU,GAAG,SAAbA,UAAUA,CAAIC,QAAa,EAAEC,aAAgC,EAAK;EACpE,IAAIC,OAAO,GAAG,EAAE;EAChB,IAAMC,KAAK,GAAG,IAAAC,cAAK,EAACJ,QAAQ,CAAC;EAC7B,IAAIA,QAAQ,CAACK,cAAc,CAAC,WAAW,CAAC,EAAE;IACtCH,OAAO,GAAG,IAAAI,mBAAU,EAACN,QAAQ,CAACO,SAAS,CAAC;IACxC,OAAOJ,KAAK,CAACI,SAAS;EAC1B;EAEA,IAAI,OAAON,aAAa,KAAK,WAAW,EAAE;IACtCC,OAAO,GAAG,IAAAI,mBAAU,EAACJ,OAAO,EAAED,aAAa,CAAC;EAChD;EAEAE,KAAK,CAACI,SAAS,GAAGL,OAAO;EAEzB,OAAOC,KAAK;AAChB,CAAC;AAACK,OAAA,CAAAT,UAAA,GAAAA,UAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["import { getClasses } from \"./ClassNames\";\n\nexport { getClasses };\n"],"mappings":";;;;;;;;;;;AAAA"}
1
+ {"version":3,"names":["_ClassNames","require"],"sources":["index.ts"],"sourcesContent":["import { getClasses } from \"./ClassNames\";\n\nexport { getClasses };\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA"}
package/Icon/Icon.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["webinyIcon","css","marginLeft","width","display","Icon","props","React","cloneElement","icon","className","classNames","onClick"],"sources":["Icon.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport classNames from \"classnames\";\n\nexport type IconProps = {\n /**\n * SvgComponent containing the svg icon\n */\n icon: React.ReactElement;\n\n /**\n * Optional onclick handler\n */\n onClick?: Function;\n\n /**\n * CSS class to be added to the icon\n */\n className?: string;\n\n // For testing purposes.\n \"data-testid\"?: string;\n};\n\nconst webinyIcon = css(\n {},\n {\n \"&.mdc-button__icon\": {\n marginLeft: 0,\n width: \"inherit\",\n display: \"block\"\n }\n }\n);\n\n/**\n * Use Icon component to display an icon.\n */\nconst Icon: React.FC<IconProps> = props => {\n return React.cloneElement(props.icon, {\n \"data-testid\": props[\"data-testid\"],\n className: classNames(\"mdc-button__icon webiny-ui-icon\", webinyIcon, props.className),\n onClick: props.onClick\n });\n};\n\nexport { Icon };\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAsBA,IAAMA,UAAU,gBAAG,IAAAC,YAAG,EAClB,CAAC,CAAC,EACF;EACI,oBAAoB,EAAE;IAClBC,UAAU,EAAE,CAAC;IACbC,KAAK,EAAE,SAAS;IAChBC,OAAO,EAAE;EACb;AACJ,CAAC,sBACJ;;AAED;AACA;AACA;AACA,IAAMC,IAAyB,GAAG,SAA5BA,IAAyB,CAAGC,KAAK,EAAI;EACvC,oBAAOC,cAAK,CAACC,YAAY,CAACF,KAAK,CAACG,IAAI,EAAE;IAClC,aAAa,EAAEH,KAAK,CAAC,aAAa,CAAC;IACnCI,SAAS,EAAE,IAAAC,mBAAU,EAAC,iCAAiC,EAAEX,UAAU,EAAEM,KAAK,CAACI,SAAS,CAAC;IACrFE,OAAO,EAAEN,KAAK,CAACM;EACnB,CAAC,CAAC;AACN,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_emotion","_classnames","webinyIcon","css","marginLeft","width","display","Icon","props","React","cloneElement","icon","className","classNames","onClick","exports"],"sources":["Icon.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport classNames from \"classnames\";\n\nexport type IconProps = {\n /**\n * SvgComponent containing the svg icon\n */\n icon: React.ReactElement;\n\n /**\n * Optional onclick handler\n */\n onClick?: Function;\n\n /**\n * CSS class to be added to the icon\n */\n className?: string;\n\n // For testing purposes.\n \"data-testid\"?: string;\n};\n\nconst webinyIcon = css(\n {},\n {\n \"&.mdc-button__icon\": {\n marginLeft: 0,\n width: \"inherit\",\n display: \"block\"\n }\n }\n);\n\n/**\n * Use Icon component to display an icon.\n */\nconst Icon: React.FC<IconProps> = props => {\n return React.cloneElement(props.icon, {\n \"data-testid\": props[\"data-testid\"],\n className: classNames(\"mdc-button__icon webiny-ui-icon\", webinyIcon, props.className),\n onClick: props.onClick\n });\n};\n\nexport { Icon };\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AAsBA,IAAMG,UAAU,gBAAG,IAAAC,YAAG,EAClB,CAAC,CAAC,EACF;EACI,oBAAoB,EAAE;IAClBC,UAAU,EAAE,CAAC;IACbC,KAAK,EAAE,SAAS;IAChBC,OAAO,EAAE;EACb;AACJ,CAAC,qBACL,CAAC;;AAED;AACA;AACA;AACA,IAAMC,IAAyB,GAAG,SAA5BA,IAAyBA,CAAGC,KAAK,EAAI;EACvC,oBAAOC,cAAK,CAACC,YAAY,CAACF,KAAK,CAACG,IAAI,EAAE;IAClC,aAAa,EAAEH,KAAK,CAAC,aAAa,CAAC;IACnCI,SAAS,EAAE,IAAAC,mBAAU,EAAC,iCAAiC,EAAEX,UAAU,EAAEM,KAAK,CAACI,SAAS,CAAC;IACrFE,OAAO,EAAEN,KAAK,CAACM;EACnB,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAR,IAAA,GAAAA,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["story","storiesOf","module","add","readme","info","propTables","Icon"],"sources":["Icon.stories.tsx"],"sourcesContent":["import React from \"react\";\nimport { storiesOf } from \"@storybook/react\";\nimport { Story, StoryReadme, StorySandbox } from \"@webiny/storybook-utils/Story\";\nimport readme from \"./../Icon/README.md\";\n\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\";\nimport { Icon } from \"./Icon\";\n\nconst story = storiesOf(\"Components/Icon\", module);\n\nstory.add(\n \"usage\",\n () => {\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox title={\"A simple icon\"}>\n <div>\n <Icon icon={<AutoRenewIcon />} />\n &nbsp;\n <Icon icon={<CloudDoneIcon />} />\n &nbsp;\n <Icon icon={<BaselineDeleteIcon />} />\n &nbsp;\n <Icon icon={<BaselineDoneIcon />} />\n &nbsp;\n </div>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Icon] } }\n);\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA,IAAMA,KAAK,GAAG,IAAAC,iBAAS,EAAC,iBAAiB,EAAEC,MAAM,CAAC;AAElDF,KAAK,CAACG,GAAG,CACL,OAAO,EACP,YAAM;EACF,oBACI,6BAAC,YAAK,qBACF,6BAAC,kBAAW,QAAEC,eAAM,CAAe,eACnC,6BAAC,mBAAY;IAAC,KAAK,EAAE;EAAgB,gBACjC,uDACI,6BAAC,UAAI;IAAC,IAAI,eAAE,6BAAC,qCAAa;EAAI,EAAG,QAEjC,4CAAC,UAAI;IAAC,IAAI,eAAE,6BAAC,sCAAa;EAAI,EAAG,QAEjC,4CAAC,UAAI;IAAC,IAAI,eAAE,6BAAC,kCAAkB;EAAI,EAAG,QAEtC,4CAAC,UAAI;IAAC,IAAI,eAAE,6BAAC,gCAAgB;EAAI,EAAG,QAExC,CAAM,CACK,CACX;AAEhB,CAAC,EACD;EAAEC,IAAI,EAAE;IAAEC,UAAU,EAAE,CAACC,UAAI;EAAE;AAAE,CAAC,CACnC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_react2","_Story","_README","_baselineAutorenew24px","_baselineCloud_done24px","_baselineDelete24px","_baselineDone24px","_Icon","story","storiesOf","module","add","default","createElement","Story","StoryReadme","readme","StorySandbox","title","Icon","icon","ReactComponent","info","propTables"],"sources":["Icon.stories.tsx"],"sourcesContent":["import React from \"react\";\nimport { storiesOf } from \"@storybook/react\";\nimport { Story, StoryReadme, StorySandbox } from \"@webiny/storybook-utils/Story\";\nimport readme from \"./../Icon/README.md\";\n\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\";\nimport { Icon } from \"./Icon\";\n\nconst story = storiesOf(\"Components/Icon\", module);\n\nstory.add(\n \"usage\",\n () => {\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox title={\"A simple icon\"}>\n <div>\n <Icon icon={<AutoRenewIcon />} />\n &nbsp;\n <Icon icon={<CloudDoneIcon />} />\n &nbsp;\n <Icon icon={<BaselineDeleteIcon />} />\n &nbsp;\n <Icon icon={<BaselineDoneIcon />} />\n &nbsp;\n </div>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Icon] } }\n);\n"],"mappings":";;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,IAAAI,sBAAA,GAAAJ,OAAA;AACA,IAAAK,uBAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AACA,IAAAO,iBAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAR,OAAA;AAEA,IAAMS,KAAK,GAAG,IAAAC,iBAAS,EAAC,iBAAiB,EAAEC,MAAM,CAAC;AAElDF,KAAK,CAACG,GAAG,CACL,OAAO,EACP,YAAM;EACF,oBACId,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACZ,MAAA,CAAAa,KAAK,qBACFjB,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACZ,MAAA,CAAAc,WAAW,QAAEC,eAAoB,CAAC,eACnCnB,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACZ,MAAA,CAAAgB,YAAY;IAACC,KAAK,EAAE;EAAgB,gBACjCrB,MAAA,CAAAe,OAAA,CAAAC,aAAA,2BACIhB,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACN,KAAA,CAAAY,IAAI;IAACC,IAAI,eAAEvB,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACV,sBAAA,CAAAkB,cAAa,MAAE;EAAE,CAAE,CAAC,QAEjC,eAAAxB,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACN,KAAA,CAAAY,IAAI;IAACC,IAAI,eAAEvB,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACT,uBAAA,CAAAiB,cAAa,MAAE;EAAE,CAAE,CAAC,QAEjC,eAAAxB,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACN,KAAA,CAAAY,IAAI;IAACC,IAAI,eAAEvB,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACR,mBAAA,CAAAgB,cAAkB,MAAE;EAAE,CAAE,CAAC,QAEtC,eAAAxB,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACN,KAAA,CAAAY,IAAI;IAACC,IAAI,eAAEvB,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACP,iBAAA,CAAAe,cAAgB,MAAE;EAAE,CAAE,CAAC,QAEnC,CACK,CACX,CAAC;AAEhB,CAAC,EACD;EAAEC,IAAI,EAAE;IAAEC,UAAU,EAAE,CAACJ,UAAI;EAAE;AAAE,CACnC,CAAC"}
package/Icon/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./Icon\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_Icon","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export * from \"./Icon\";\n"],"mappings":";;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,KAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,KAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,KAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
package/Image/Image.js CHANGED
@@ -8,6 +8,8 @@ exports.Image = void 0;
8
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
9
  var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/objectDestructuringEmpty"));
10
10
  var _react = _interopRequireDefault(require("react"));
11
+ // Accepts all props that a normal <img> element would accept.
12
+
11
13
  var Image = function Image(_ref) {
12
14
  var rest = Object.assign({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref));
13
15
  var finalProps = (0, _objectSpread2.default)({}, rest);
@@ -1 +1 @@
1
- {"version":3,"names":["Image","rest","finalProps","srcSet","Object","keys","map","key","join"],"sources":["Image.tsx"],"sourcesContent":["import React from \"react\";\n\n// Accepts all props that a normal <img> element would accept.\ninterface Props\n extends React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement> {\n [key: string]: any;\n}\n\nconst Image: React.FC<Props> = ({ ...rest }) => {\n const finalProps = { ...rest };\n const srcSet = finalProps.srcSet;\n if (srcSet && typeof srcSet === \"object\") {\n finalProps.srcSet = Object.keys(srcSet)\n .map(key => `${srcSet[key]} ${key}`)\n .join(\", \");\n }\n\n return <img {...finalProps} />;\n};\n\nexport { Image };\n"],"mappings":";;;;;;;;;AAAA;AAQA,IAAMA,KAAsB,GAAG,SAAzBA,KAAsB,OAAoB;EAAA,IAAXC,IAAI;EACrC,IAAMC,UAAU,mCAAQD,IAAI,CAAE;EAC9B,IAAME,MAAM,GAAGD,UAAU,CAACC,MAAM;EAChC,IAAIA,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IACtCD,UAAU,CAACC,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACF,MAAM,CAAC,CAClCG,GAAG,CAAC,UAAAC,GAAG;MAAA,iBAAOJ,MAAM,CAACI,GAAG,CAAC,cAAIA,GAAG;IAAA,CAAE,CAAC,CACnCC,IAAI,CAAC,IAAI,CAAC;EACnB;EAEA,oBAAO,oCAASN,UAAU,CAAI;AAClC,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","Image","_ref","rest","Object","assign","_objectDestructuringEmpty2","default","finalProps","_objectSpread2","srcSet","keys","map","key","concat","join","createElement","exports"],"sources":["Image.tsx"],"sourcesContent":["import React from \"react\";\n\n// Accepts all props that a normal <img> element would accept.\ninterface Props\n extends React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement> {\n [key: string]: any;\n}\n\nconst Image: React.FC<Props> = ({ ...rest }) => {\n const finalProps = { ...rest };\n const srcSet = finalProps.srcSet;\n if (srcSet && typeof srcSet === \"object\") {\n finalProps.srcSet = Object.keys(srcSet)\n .map(key => `${srcSet[key]} ${key}`)\n .join(\", \");\n }\n\n return <img {...finalProps} />;\n};\n\nexport { Image };\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA;;AAMA,IAAMC,KAAsB,GAAG,SAAzBA,KAAsBA,CAAAC,IAAA,EAAoB;EAAA,IAAXC,IAAI,GAAAC,MAAA,CAAAC,MAAA,UAAAC,0BAAA,CAAAC,OAAA,EAAAL,IAAA,GAAAA,IAAA;EACrC,IAAMM,UAAU,OAAAC,cAAA,CAAAF,OAAA,MAAQJ,IAAI,CAAE;EAC9B,IAAMO,MAAM,GAAGF,UAAU,CAACE,MAAM;EAChC,IAAIA,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IACtCF,UAAU,CAACE,MAAM,GAAGN,MAAM,CAACO,IAAI,CAACD,MAAM,CAAC,CAClCE,GAAG,CAAC,UAAAC,GAAG;MAAA,UAAAC,MAAA,CAAOJ,MAAM,CAACG,GAAG,CAAC,OAAAC,MAAA,CAAID,GAAG;IAAA,CAAE,CAAC,CACnCE,IAAI,CAAC,IAAI,CAAC;EACnB;EAEA,oBAAOjB,MAAA,CAAAS,OAAA,CAAAS,aAAA,QAASR,UAAa,CAAC;AAClC,CAAC;AAACS,OAAA,CAAAhB,KAAA,GAAAA,KAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["story","storiesOf","module","addDecorator","withKnobs","add","readme","info","propTables","Image"],"sources":["Image.stories.tsx"],"sourcesContent":["import React from \"react\";\nimport { storiesOf } from \"@storybook/react\";\nimport {\n Story,\n StoryReadme,\n StorySandboxCode,\n StorySandbox,\n StorySandboxExample\n} from \"@webiny/storybook-utils/Story\";\n\nimport readme from \"./../Image/README.md\";\nimport { withKnobs } from \"@storybook/addon-knobs\";\n\nimport { Image } from \"./Image\";\n\nconst story = storiesOf(\"Components/Image\", module);\nstory.addDecorator(withKnobs);\n\nstory.add(\n \"usage\",\n () => {\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox>\n <StorySandboxExample>\n <Image src=\"http://i.pravatar.cc/150?img=49\" alt=\"Nice image.\" />\n </StorySandboxExample>\n <StorySandboxCode>\n <Image src=\"http://i.pravatar.cc/150?img=49\" alt=\"Nice image.\" />\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Image] } }\n);\n"],"mappings":";;;AAAA;AACA;AACA;AAQA;AACA;AAEA;AAEA,IAAMA,KAAK,GAAG,IAAAC,iBAAS,EAAC,kBAAkB,EAAEC,MAAM,CAAC;AACnDF,KAAK,CAACG,YAAY,CAACC,qBAAS,CAAC;AAE7BJ,KAAK,CAACK,GAAG,CACL,OAAO,EACP,YAAM;EACF,oBACI,6BAAC,YAAK,qBACF,6BAAC,kBAAW,QAAEC,eAAM,CAAe,eACnC,6BAAC,mBAAY,qBACT,6BAAC,0BAAmB,qBAChB,6BAAC,YAAK;IAAC,GAAG,EAAC,iCAAiC;IAAC,GAAG,EAAC;EAAa,EAAG,CAC/C,eACtB,6BAAC,uBAAgB,qBACb,6BAAC,YAAK;IAAC,GAAG,EAAC,iCAAiC;IAAC,GAAG,EAAC;EAAa,EAAG,CAClD,CACR,CACX;AAEhB,CAAC,EACD;EAAEC,IAAI,EAAE;IAAEC,UAAU,EAAE,CAACC,YAAK;EAAE;AAAE,CAAC,CACpC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_react2","_Story","_README","_addonKnobs","_Image","story","storiesOf","module","addDecorator","withKnobs","add","default","createElement","Story","StoryReadme","readme","StorySandbox","StorySandboxExample","Image","src","alt","StorySandboxCode","info","propTables"],"sources":["Image.stories.tsx"],"sourcesContent":["import React from \"react\";\nimport { storiesOf } from \"@storybook/react\";\nimport {\n Story,\n StoryReadme,\n StorySandboxCode,\n StorySandbox,\n StorySandboxExample\n} from \"@webiny/storybook-utils/Story\";\n\nimport readme from \"./../Image/README.md\";\nimport { withKnobs } from \"@storybook/addon-knobs\";\n\nimport { Image } from \"./Image\";\n\nconst story = storiesOf(\"Components/Image\", module);\nstory.addDecorator(withKnobs);\n\nstory.add(\n \"usage\",\n () => {\n return (\n <Story>\n <StoryReadme>{readme}</StoryReadme>\n <StorySandbox>\n <StorySandboxExample>\n <Image src=\"http://i.pravatar.cc/150?img=49\" alt=\"Nice image.\" />\n </StorySandboxExample>\n <StorySandboxCode>\n <Image src=\"http://i.pravatar.cc/150?img=49\" alt=\"Nice image.\" />\n </StorySandboxCode>\n </StorySandbox>\n </Story>\n );\n },\n { info: { propTables: [Image] } }\n);\n"],"mappings":";;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAQA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAEA,IAAAK,MAAA,GAAAL,OAAA;AAEA,IAAMM,KAAK,GAAG,IAAAC,iBAAS,EAAC,kBAAkB,EAAEC,MAAM,CAAC;AACnDF,KAAK,CAACG,YAAY,CAACC,qBAAS,CAAC;AAE7BJ,KAAK,CAACK,GAAG,CACL,OAAO,EACP,YAAM;EACF,oBACIb,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACX,MAAA,CAAAY,KAAK,qBACFhB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACX,MAAA,CAAAa,WAAW,QAAEC,eAAoB,CAAC,eACnClB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACX,MAAA,CAAAe,YAAY,qBACTnB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACX,MAAA,CAAAgB,mBAAmB,qBAChBpB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACR,MAAA,CAAAc,KAAK;IAACC,GAAG,EAAC,iCAAiC;IAACC,GAAG,EAAC;EAAa,CAAE,CAC/C,CAAC,eACtBvB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACX,MAAA,CAAAoB,gBAAgB,qBACbxB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACR,MAAA,CAAAc,KAAK;IAACC,GAAG,EAAC,iCAAiC;IAACC,GAAG,EAAC;EAAa,CAAE,CAClD,CACR,CACX,CAAC;AAEhB,CAAC,EACD;EAAEE,IAAI,EAAE;IAAEC,UAAU,EAAE,CAACL,YAAK;EAAE;AAAE,CACpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./Image\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_Image","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export * from \"./Image\";\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
@@ -21,9 +21,7 @@ var _Button = require("../Button");
21
21
  var _loadScript = _interopRequireDefault(require("load-script"));
22
22
  /**
23
23
  * Package load-script does not have types.
24
- */
25
- // @ts-ignore
26
-
24
+ */ // @ts-ignore
27
25
  var toolbar = {
28
26
  flip: _toolbar.flip,
29
27
  filter: _toolbar.filter,
@@ -89,7 +87,6 @@ var ImageEditor = /*#__PURE__*/function (_React$Component) {
89
87
  src: ""
90
88
  });
91
89
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "canvas", /*#__PURE__*/_react.default.createRef());
92
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "image", void 0);
93
90
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updateCanvas", function () {
94
91
  var src = _this.props.src;
95
92
  _this.image = new window.Image();
@@ -1 +1 @@
1
- {"version":3,"names":["toolbar","flip","filter","crop","rotate","Toolbar","styled","display","justifyContent","alignItems","backgroundColor","margin","padding","position","width","boxSizing","zIndex","opacity","pointerEvents","ToolOptions","borderTop","ApplyCancelActions","textAlign","initScripts","Promise","resolve","window","Caman","loadScript","ImageEditor","tool","src","React","createRef","props","image","Image","canvas","current","onload","height","ctx","getContext","drawImage","setState","tt","onActivate","options","getToolOptions","startsWith","toDataURL","state","apply","deactivateTool","cancel","name","then","updateCanvas","setTimeout","key","option","autoEnable","activateTool","tools","children","editor","map","classNames","disabled","icon","renderForm","cancelActiveTool","applyActiveTool","maxWidth","render","getCanvasDataUrl","activeTool","Component"],"sources":["ImageEditor.tsx"],"sourcesContent":["import React from \"react\";\nimport { flip, filter, crop, rotate } from \"./toolbar\";\nimport { ImageEditorTool, ToolbarTool } from \"./toolbar/types\";\nimport styled from \"@emotion/styled\";\nimport classNames from \"classnames\";\nimport { ButtonSecondary, ButtonPrimary } from \"../Button\";\n/**\n * Package load-script does not have types.\n */\n// @ts-ignore\nimport loadScript from \"load-script\";\n\nconst toolbar = {\n flip,\n filter,\n crop,\n rotate\n};\n\nconst Toolbar = styled(\"div\")({\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n backgroundColor: \"var(--mdc-theme-secondary)\",\n margin: \"-24px -24px 0px -24px\",\n padding: 2,\n position: \"absolute\",\n width: \"100%\",\n boxSizing: \"border-box\",\n zIndex: 10,\n \"> div.disabled\": {\n opacity: 0.5,\n pointerEvents: \"none\"\n }\n});\n\nconst ToolOptions = styled(\"div\")({\n margin: \"50px -24px 10px -24px\",\n boxSizing: \"border-box\",\n padding: 10,\n backgroundColor: \"var(--mdc-theme-background)\",\n borderTop: \"1px solid var(--mdc-theme-on-background)\"\n});\n\nconst ApplyCancelActions = styled(\"div\")({\n textAlign: \"center\"\n});\n\nconst initScripts = (): Promise<string> => {\n return new Promise((resolve: any) => {\n // @ts-ignore\n if (window.Caman) {\n return resolve();\n }\n return loadScript(\n \"https://cdnjs.cloudflare.com/ajax/libs/camanjs/4.1.2/caman.full.min.js\",\n resolve\n );\n });\n};\n\ninterface RenderPropArgs {\n render: Function;\n getCanvasDataUrl: () => string;\n activeTool: ImageEditorTool | null;\n applyActiveTool: () => Promise<void>;\n cancelActiveTool: () => Promise<void>;\n}\n\ninterface ImageEditorPropsPropsOptions {\n autoEnable: boolean;\n}\n\ninterface ImageEditorProps {\n src: string;\n tools: ToolbarTool[];\n options?: {\n flip: ImageEditorPropsPropsOptions;\n filter: ImageEditorPropsPropsOptions;\n crop: ImageEditorPropsPropsOptions;\n rotate: ImageEditorPropsPropsOptions;\n };\n onToolActivate?: Function;\n onToolDeactivate?: Function;\n children?: (props: RenderPropArgs) => React.ReactNode;\n}\n\ninterface ImageEditorState {\n tool: ImageEditorTool | null;\n src: string;\n}\n\nclass ImageEditor extends React.Component<ImageEditorProps, ImageEditorState> {\n static defaultProps: Partial<ImageEditorProps> = {\n tools: [\"crop\", \"flip\", \"rotate\", \"filter\"]\n };\n\n public override state: ImageEditorState = {\n tool: null,\n src: \"\"\n };\n\n public canvas = React.createRef<HTMLCanvasElement>();\n public image?: HTMLImageElement;\n\n public override componentDidMount() {\n initScripts().then(() => {\n this.updateCanvas();\n setTimeout(() => {\n const { options } = this.props;\n if (!options || typeof options !== \"object\") {\n return;\n }\n for (const key in options) {\n const option = options[key as ToolbarTool];\n if (option.autoEnable === true) {\n const tool: ImageEditorTool | null = toolbar[key as ToolbarTool];\n tool && this.activateTool(tool);\n break;\n }\n }\n }, 250);\n });\n }\n\n private readonly updateCanvas = (): void => {\n const { src } = this.props;\n this.image = new window.Image();\n const canvas = this.canvas.current;\n if (canvas) {\n this.image.onload = () => {\n if (this.image) {\n canvas.width = this.image.width;\n canvas.height = this.image.height;\n const ctx = canvas.getContext(\"2d\") as CanvasRenderingContext2D;\n ctx.drawImage(this.image, 0, 0);\n }\n };\n\n this.image.src = src;\n }\n };\n\n private readonly activateTool = (tool: ToolbarTool | ImageEditorTool): void => {\n if (typeof tool === \"string\") {\n tool = toolbar[tool];\n }\n\n this.setState({ tool }, () => {\n const tt = tool as ImageEditorTool;\n typeof tt.onActivate === \"function\" &&\n tt.onActivate({ canvas: this.canvas, options: this.getToolOptions(tt) });\n });\n };\n\n private readonly deactivateTool = (): void => {\n this.setState({\n tool: null\n });\n };\n\n public readonly getCanvasDataUrl = (): string => {\n const canvas = this.canvas.current as HTMLCanvasElement;\n if (canvas) {\n const { src } = this.props;\n if (src.startsWith(\"data:image/jpeg;\")) {\n return canvas.toDataURL(\"image/jpeg\", 1.0);\n }\n\n return canvas.toDataURL();\n }\n\n return \"\";\n };\n\n private readonly applyActiveTool = async (): Promise<void> => {\n const { tool } = this.state;\n if (!tool) {\n return;\n }\n\n if (tool.apply) {\n await tool.apply({\n canvas: this.canvas\n });\n }\n this.deactivateTool();\n };\n\n private readonly cancelActiveTool = async (): Promise<void> => {\n const { tool } = this.state;\n if (!tool) {\n return;\n }\n\n if (tool.cancel) {\n await tool.cancel({\n canvas: this.canvas\n });\n }\n this.deactivateTool();\n };\n\n private readonly getToolOptions = (\n tool: ImageEditorTool\n ): Partial<ImageEditorPropsPropsOptions> => {\n const { options } = this.props;\n if (!options || typeof options !== \"object\") {\n return {};\n }\n\n return options[tool.name as ToolbarTool] || {};\n };\n\n public override render(): React.ReactNode {\n const { src, tools, children } = this.props;\n const { tool } = this.state;\n const editor = (\n <React.Fragment>\n <Toolbar>\n {tools.map(key => {\n const tool: ImageEditorTool = toolbar[key];\n if (!tool) {\n return null;\n }\n\n return (\n <div key={key} className={classNames({ disabled: this.state.tool })}>\n {tool.icon({\n activateTool: () => this.activateTool(tool)\n })}\n </div>\n );\n })}\n </Toolbar>\n\n <ToolOptions>\n {tool ? (\n <>\n {typeof tool.renderForm === \"function\" &&\n tool.renderForm({\n options: this.getToolOptions(tool as ImageEditorTool),\n image: this.image as HTMLImageElement,\n canvas: this.canvas\n })}\n\n <ApplyCancelActions>\n <ButtonSecondary\n data-testid=\"button-cancel\"\n onClick={() => {\n this.cancelActiveTool();\n }}\n >\n Cancel\n </ButtonSecondary>\n &nbsp;\n <ButtonPrimary\n data-testid=\"button-apply\"\n onClick={() => {\n this.applyActiveTool();\n }}\n >\n Apply\n </ButtonPrimary>\n </ApplyCancelActions>\n </>\n ) : (\n <div style={{ textAlign: \"center\" }}>\n Select a tool to start working on your image.\n </div>\n )}\n </ToolOptions>\n\n <div style={{ margin: \"0 auto\", textAlign: \"center\" }}>\n <canvas\n key={src}\n id={\"canvas\"}\n style={{ maxWidth: 700 }}\n ref={this.canvas as React.Ref<any>}\n />\n </div>\n </React.Fragment>\n );\n\n if (typeof children === \"function\") {\n return children({\n render: () => editor,\n // canvas: this.canvas,\n getCanvasDataUrl: this.getCanvasDataUrl,\n activeTool: this.state.tool,\n applyActiveTool: this.applyActiveTool,\n cancelActiveTool: this.cancelActiveTool\n });\n }\n\n return editor;\n }\n}\n\nexport { ImageEditor };\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_toolbar","_styled","_classnames","_Button","_loadScript","toolbar","flip","filter","crop","rotate","Toolbar","styled","target","label","display","justifyContent","alignItems","backgroundColor","margin","padding","position","width","boxSizing","zIndex","opacity","pointerEvents","ToolOptions","borderTop","ApplyCancelActions","textAlign","initScripts","Promise","resolve","window","Caman","loadScript","ImageEditor","_React$Component","_inherits2","default","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","tool","src","React","createRef","props","image","Image","canvas","current","onload","height","ctx","getContext","drawImage","setState","tt","onActivate","options","getToolOptions","startsWith","toDataURL","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","wrap","_callee$","_context","prev","next","state","abrupt","deactivateTool","stop","_callee2","_callee2$","_context2","cancel","name","_createClass2","key","value","componentDidMount","_this2","then","updateCanvas","setTimeout","option","autoEnable","activateTool","render","_this3","_this$props","tools","children","editor","createElement","Fragment","map","className","classNames","disabled","icon","renderForm","ButtonSecondary","onClick","cancelActiveTool","ButtonPrimary","applyActiveTool","style","id","maxWidth","ref","getCanvasDataUrl","activeTool","Component","exports"],"sources":["ImageEditor.tsx"],"sourcesContent":["import React from \"react\";\nimport { flip, filter, crop, rotate } from \"./toolbar\";\nimport { ImageEditorTool, ToolbarTool } from \"./toolbar/types\";\nimport styled from \"@emotion/styled\";\nimport classNames from \"classnames\";\nimport { ButtonSecondary, ButtonPrimary } from \"../Button\";\n/**\n * Package load-script does not have types.\n */\n// @ts-ignore\nimport loadScript from \"load-script\";\n\nconst toolbar = {\n flip,\n filter,\n crop,\n rotate\n};\n\nconst Toolbar = styled(\"div\")({\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n backgroundColor: \"var(--mdc-theme-secondary)\",\n margin: \"-24px -24px 0px -24px\",\n padding: 2,\n position: \"absolute\",\n width: \"100%\",\n boxSizing: \"border-box\",\n zIndex: 10,\n \"> div.disabled\": {\n opacity: 0.5,\n pointerEvents: \"none\"\n }\n});\n\nconst ToolOptions = styled(\"div\")({\n margin: \"50px -24px 10px -24px\",\n boxSizing: \"border-box\",\n padding: 10,\n backgroundColor: \"var(--mdc-theme-background)\",\n borderTop: \"1px solid var(--mdc-theme-on-background)\"\n});\n\nconst ApplyCancelActions = styled(\"div\")({\n textAlign: \"center\"\n});\n\nconst initScripts = (): Promise<string> => {\n return new Promise((resolve: any) => {\n // @ts-ignore\n if (window.Caman) {\n return resolve();\n }\n return loadScript(\n \"https://cdnjs.cloudflare.com/ajax/libs/camanjs/4.1.2/caman.full.min.js\",\n resolve\n );\n });\n};\n\ninterface RenderPropArgs {\n render: Function;\n getCanvasDataUrl: () => string;\n activeTool: ImageEditorTool | null;\n applyActiveTool: () => Promise<void>;\n cancelActiveTool: () => Promise<void>;\n}\n\ninterface ImageEditorPropsPropsOptions {\n autoEnable: boolean;\n}\n\ninterface ImageEditorProps {\n src: string;\n tools: ToolbarTool[];\n options?: {\n flip: ImageEditorPropsPropsOptions;\n filter: ImageEditorPropsPropsOptions;\n crop: ImageEditorPropsPropsOptions;\n rotate: ImageEditorPropsPropsOptions;\n };\n onToolActivate?: Function;\n onToolDeactivate?: Function;\n children?: (props: RenderPropArgs) => React.ReactNode;\n}\n\ninterface ImageEditorState {\n tool: ImageEditorTool | null;\n src: string;\n}\n\nclass ImageEditor extends React.Component<ImageEditorProps, ImageEditorState> {\n static defaultProps: Partial<ImageEditorProps> = {\n tools: [\"crop\", \"flip\", \"rotate\", \"filter\"]\n };\n\n public override state: ImageEditorState = {\n tool: null,\n src: \"\"\n };\n\n public canvas = React.createRef<HTMLCanvasElement>();\n public image?: HTMLImageElement;\n\n public override componentDidMount() {\n initScripts().then(() => {\n this.updateCanvas();\n setTimeout(() => {\n const { options } = this.props;\n if (!options || typeof options !== \"object\") {\n return;\n }\n for (const key in options) {\n const option = options[key as ToolbarTool];\n if (option.autoEnable === true) {\n const tool: ImageEditorTool | null = toolbar[key as ToolbarTool];\n tool && this.activateTool(tool);\n break;\n }\n }\n }, 250);\n });\n }\n\n private readonly updateCanvas = (): void => {\n const { src } = this.props;\n this.image = new window.Image();\n const canvas = this.canvas.current;\n if (canvas) {\n this.image.onload = () => {\n if (this.image) {\n canvas.width = this.image.width;\n canvas.height = this.image.height;\n const ctx = canvas.getContext(\"2d\") as CanvasRenderingContext2D;\n ctx.drawImage(this.image, 0, 0);\n }\n };\n\n this.image.src = src;\n }\n };\n\n private readonly activateTool = (tool: ToolbarTool | ImageEditorTool): void => {\n if (typeof tool === \"string\") {\n tool = toolbar[tool];\n }\n\n this.setState({ tool }, () => {\n const tt = tool as ImageEditorTool;\n typeof tt.onActivate === \"function\" &&\n tt.onActivate({ canvas: this.canvas, options: this.getToolOptions(tt) });\n });\n };\n\n private readonly deactivateTool = (): void => {\n this.setState({\n tool: null\n });\n };\n\n public readonly getCanvasDataUrl = (): string => {\n const canvas = this.canvas.current as HTMLCanvasElement;\n if (canvas) {\n const { src } = this.props;\n if (src.startsWith(\"data:image/jpeg;\")) {\n return canvas.toDataURL(\"image/jpeg\", 1.0);\n }\n\n return canvas.toDataURL();\n }\n\n return \"\";\n };\n\n private readonly applyActiveTool = async (): Promise<void> => {\n const { tool } = this.state;\n if (!tool) {\n return;\n }\n\n if (tool.apply) {\n await tool.apply({\n canvas: this.canvas\n });\n }\n this.deactivateTool();\n };\n\n private readonly cancelActiveTool = async (): Promise<void> => {\n const { tool } = this.state;\n if (!tool) {\n return;\n }\n\n if (tool.cancel) {\n await tool.cancel({\n canvas: this.canvas\n });\n }\n this.deactivateTool();\n };\n\n private readonly getToolOptions = (\n tool: ImageEditorTool\n ): Partial<ImageEditorPropsPropsOptions> => {\n const { options } = this.props;\n if (!options || typeof options !== \"object\") {\n return {};\n }\n\n return options[tool.name as ToolbarTool] || {};\n };\n\n public override render(): React.ReactNode {\n const { src, tools, children } = this.props;\n const { tool } = this.state;\n const editor = (\n <React.Fragment>\n <Toolbar>\n {tools.map(key => {\n const tool: ImageEditorTool = toolbar[key];\n if (!tool) {\n return null;\n }\n\n return (\n <div key={key} className={classNames({ disabled: this.state.tool })}>\n {tool.icon({\n activateTool: () => this.activateTool(tool)\n })}\n </div>\n );\n })}\n </Toolbar>\n\n <ToolOptions>\n {tool ? (\n <>\n {typeof tool.renderForm === \"function\" &&\n tool.renderForm({\n options: this.getToolOptions(tool as ImageEditorTool),\n image: this.image as HTMLImageElement,\n canvas: this.canvas\n })}\n\n <ApplyCancelActions>\n <ButtonSecondary\n data-testid=\"button-cancel\"\n onClick={() => {\n this.cancelActiveTool();\n }}\n >\n Cancel\n </ButtonSecondary>\n &nbsp;\n <ButtonPrimary\n data-testid=\"button-apply\"\n onClick={() => {\n this.applyActiveTool();\n }}\n >\n Apply\n </ButtonPrimary>\n </ApplyCancelActions>\n </>\n ) : (\n <div style={{ textAlign: \"center\" }}>\n Select a tool to start working on your image.\n </div>\n )}\n </ToolOptions>\n\n <div style={{ margin: \"0 auto\", textAlign: \"center\" }}>\n <canvas\n key={src}\n id={\"canvas\"}\n style={{ maxWidth: 700 }}\n ref={this.canvas as React.Ref<any>}\n />\n </div>\n </React.Fragment>\n );\n\n if (typeof children === \"function\") {\n return children({\n render: () => editor,\n // canvas: this.canvas,\n getCanvasDataUrl: this.getCanvasDataUrl,\n activeTool: this.state.tool,\n applyActiveTool: this.applyActiveTool,\n cancelActiveTool: this.cancelActiveTool\n });\n }\n\n return editor;\n }\n}\n\nexport { ImageEditor };\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./ImageEditor\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_ImageEditor","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export * from \"./ImageEditor\";\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["cropper","undefined","renderForm","textAlign","tool","name","icon","activateTool","onActivate","canvas","options","Cropper","current","cancel","destroy","apply","Promise","resolve","src","getCroppedCanvas","toDataURL","image","window","Image","ctx","getContext","onload","drawImage","width","height"],"sources":["crop.tsx"],"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 | undefined = undefined;\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\n icon={<CropIcon />}\n onClick={() => activateTool(\"crop\")}\n data-testid={\"crop-item\"}\n />\n </Tooltip>\n );\n },\n renderForm,\n onActivate: ({ canvas, options }) => {\n cropper = new Cropper(canvas.current as HTMLCanvasElement, 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\") as CanvasRenderingContext2D;\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 = undefined;\n });\n }\n};\n\nexport default tool;\n"],"mappings":";;;;;;;AAAA;AAEA;AACA;AACA;AACA;AACA;AAEA,IAAIA,OAA4B,GAAGC,SAAS;AAE5C,IAAMC,UAAU,GAAG,SAAbA,UAAU,GAAS;EACrB,oBACI;IAAK,KAAK,EAAE;MAAEC,SAAS,EAAE;IAAS;EAAE,GAAC,oFAErC,CAAM;AAEd,CAAC;AAED,IAAMC,IAAqB,GAAG;EAC1BC,IAAI,EAAE,MAAM;EACZC,IAAI,sBAAmB;IAAA,IAAhBC,YAAY,QAAZA,YAAY;IACf,oBACI,6BAAC,gBAAO;MAAC,SAAS,EAAE,QAAS;MAAC,OAAO,EAAE;IAAO,gBAC1C,6BAAC,kBAAU;MACP,IAAI,eAAE,6BAAC,oBAAQ,OAAI;MACnB,OAAO,EAAE;QAAA,OAAMA,YAAY,CAAC,MAAM,CAAC;MAAA,CAAC;MACpC,eAAa;IAAY,EAC3B,CACI;EAElB,CAAC;EACDL,UAAU,EAAVA,UAAU;EACVM,UAAU,EAAE,2BAAyB;IAAA,IAAtBC,MAAM,SAANA,MAAM;MAAEC,OAAO,SAAPA,OAAO;IAC1BV,OAAO,GAAG,IAAIW,kBAAO,CAACF,MAAM,CAACG,OAAO,EAAuBF,OAAO,CAAC;EACvE,CAAC;EACDG,MAAM,EAAE;IAAA,OAAMb,OAAO,IAAIA,OAAO,CAACc,OAAO,EAAE;EAAA;EAC1CC,KAAK,EAAE,sBAAgB;IAAA,IAAbN,MAAM,SAANA,MAAM;IACZ,OAAO,IAAIO,OAAO,CAAC,UAACC,OAAY,EAAK;MACjC,IAAI,CAACjB,OAAO,EAAE;QACViB,OAAO,EAAE;QACT;MACJ;MAEA,IAAML,OAAO,GAAGH,MAAM,CAACG,OAAO;MAC9B,IAAMM,GAAG,GAAGlB,OAAO,CAACmB,gBAAgB,EAAE,CAACC,SAAS,EAAE;MAClD,IAAIR,OAAO,EAAE;QACT,IAAMS,KAAK,GAAG,IAAIC,MAAM,CAACC,KAAK,EAAE;QAChC,IAAMC,GAAG,GAAGZ,OAAO,CAACa,UAAU,CAAC,IAAI,CAA6B;QAChEJ,KAAK,CAACK,MAAM,GAAG,YAAM;UACjBF,GAAG,CAACG,SAAS,CAACN,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;UAC1BT,OAAO,CAACgB,KAAK,GAAGP,KAAK,CAACO,KAAK;UAC3BhB,OAAO,CAACiB,MAAM,GAAGR,KAAK,CAACQ,MAAM;UAE7BL,GAAG,CAACG,SAAS,CAACN,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;UAC1BJ,OAAO,EAAE;QACb,CAAC;QACDI,KAAK,CAACH,GAAG,GAAGA,GAAG;MACnB;MAEAlB,OAAO,CAACc,OAAO,EAAE;MACjBd,OAAO,GAAGC,SAAS;IACvB,CAAC,CAAC;EACN;AACJ,CAAC;AAAC,eAEaG,IAAI;AAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_crop","_Button","_Tooltip","_cropperjs","cropper","undefined","renderForm","default","createElement","style","textAlign","tool","name","icon","_ref","activateTool","Tooltip","placement","content","IconButton","ReactComponent","onClick","onActivate","_ref2","canvas","options","Cropper","current","cancel","destroy","apply","_ref3","Promise","resolve","src","getCroppedCanvas","toDataURL","image","window","Image","ctx","getContext","onload","drawImage","width","height","_default","exports"],"sources":["crop.tsx"],"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 | undefined = undefined;\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\n icon={<CropIcon />}\n onClick={() => activateTool(\"crop\")}\n data-testid={\"crop-item\"}\n />\n </Tooltip>\n );\n },\n renderForm,\n onActivate: ({ canvas, options }) => {\n cropper = new Cropper(canvas.current as HTMLCanvasElement, 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\") as CanvasRenderingContext2D;\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 = undefined;\n });\n }\n};\n\nexport default tool;\n"],"mappings":"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"}
@@ -12,12 +12,12 @@ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/hel
12
12
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
13
  var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
- var _debounce2 = _interopRequireDefault(require("lodash/debounce"));
16
15
  var _react = _interopRequireDefault(require("react"));
17
16
  var _filter = require("./icons/filter.svg");
18
17
  var _Slider = require("../../Slider");
19
18
  var _Button = require("../../Button");
20
19
  var _Tooltip = require("../../Tooltip");
20
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
21
21
  var _styled = _interopRequireDefault(require("@emotion/styled"));
22
22
  /**
23
23
  * When using Caman, we added @ts-ignore because it does not exist in packages, but it is loaded in packages/ui/src/ImageEditor/ImageEditor.tsx:38.
@@ -97,7 +97,7 @@ var RenderForm = /*#__PURE__*/function (_React$Component) {
97
97
  processing: false,
98
98
  values: {}
99
99
  });
100
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "applyFilters", (0, _debounce2.default)(function () {
100
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "applyFilters", (0, _debounce.default)(function () {
101
101
  var canvas = _this.props.canvas;
102
102
  var values = _this.state.values;
103
103
  // eslint-disable-next-line @typescript-eslint/no-this-alias
@@ -1 +1 @@
1
- {"version":3,"names":["Wrapper","styled","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","React","Component","tool","name","icon","activateTool","renderForm","cancel"],"sources":["filter.tsx"],"sourcesContent":["/**\n * When using Caman, we added @ts-ignore because it does not exist in packages, but it is loaded in packages/ui/src/ImageEditor/ImageEditor.tsx:38.\n * TODO: use some other library to edit images\n */\nimport 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\ninterface RenderFormState {\n values: Record<string, any>;\n processing: boolean;\n}\n\ninterface RenderFormProps {\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<RenderFormProps, RenderFormState> {\n public override state: RenderFormState = {\n processing: false,\n values: {}\n };\n\n public override componentDidMount() {\n this.resetFiltersValues();\n }\n\n private readonly 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 // @ts-ignore\n this.revert(false);\n Object.keys(values).forEach(\n // @ts-ignore\n key => values[key] !== 0 && this[key] && this[key](values[key])\n );\n // @ts-ignore\n this.render();\n component.setState({ processing: false });\n });\n }, 200);\n\n private readonly 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 public override 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: string) => {\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\n icon={<FilterIcon />}\n onClick={() => activateTool(\"filter\")}\n data-testid={\"filter-item\"}\n />\n </Tooltip>\n );\n },\n renderForm(props) {\n return <RenderForm {...props} />;\n },\n cancel: ({ canvas }) => {\n // @ts-ignore\n Caman(canvas.current, function () {\n // @ts-ignore\n this.revert(false);\n // @ts-ignore\n this.render();\n });\n }\n};\n\nexport default tool;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_filter","_Slider","_Button","_Tooltip","_debounce","_styled","Wrapper","styled","target","label","ul","textAlign","li","display","width","padding","sliders","key","min","RenderForm","_React$Component","_inherits2","default","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","processing","values","debounce","canvas","props","state","component","Caman","current","_this2","revert","Object","keys","forEach","render","setState","reduce","output","_createClass2","value","componentDidMount","resetFiltersValues","_this3","createElement","map","Slider","assign","max","disabled","onInput","_objectSpread2","applyFilters","style","ButtonDefault","onClick","React","Component","tool","name","icon","_ref","activateTool","Tooltip","placement","content","IconButton","ReactComponent","renderForm","cancel","_ref2","_default","exports"],"sources":["filter.tsx"],"sourcesContent":["/**\n * When using Caman, we added @ts-ignore because it does not exist in packages, but it is loaded in packages/ui/src/ImageEditor/ImageEditor.tsx:38.\n * TODO: use some other library to edit images\n */\nimport 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/debounce\";\nimport styled from \"@emotion/styled\";\n\ninterface RenderFormState {\n values: Record<string, any>;\n processing: boolean;\n}\n\ninterface RenderFormProps {\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<RenderFormProps, RenderFormState> {\n public override state: RenderFormState = {\n processing: false,\n values: {}\n };\n\n public override componentDidMount() {\n this.resetFiltersValues();\n }\n\n private readonly 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 // @ts-ignore\n this.revert(false);\n Object.keys(values).forEach(\n // @ts-ignore\n key => values[key] !== 0 && this[key] && this[key](values[key])\n );\n // @ts-ignore\n this.render();\n component.setState({ processing: false });\n });\n }, 200);\n\n private readonly 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 public override 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: string) => {\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\n icon={<FilterIcon />}\n onClick={() => activateTool(\"filter\")}\n data-testid={\"filter-item\"}\n />\n </Tooltip>\n );\n },\n renderForm(props) {\n return <RenderForm {...props} />;\n },\n cancel: ({ canvas }) => {\n // @ts-ignore\n Caman(canvas.current, function () {\n // @ts-ignore\n this.revert(false);\n // @ts-ignore\n this.render();\n });\n }\n};\n\nexport default tool;\n"],"mappings":"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"}