@solostylist/image-editor 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/lib/actions/add-filter.js +1 -0
  2. package/lib/actions/change-pointer-icon.js +1 -0
  3. package/lib/actions/change-rotation.js +1 -0
  4. package/lib/actions/clear-annotations-selections.js +1 -0
  5. package/lib/actions/duplicate-annotations.js +1 -0
  6. package/lib/actions/enable-text-content-edit.js +1 -0
  7. package/lib/actions/hide-loader.js +1 -0
  8. package/lib/actions/index.js +1 -0
  9. package/lib/actions/redo.js +1 -0
  10. package/lib/actions/remove-annotations.js +1 -0
  11. package/lib/actions/reset.js +1 -0
  12. package/lib/actions/select-annotation.js +1 -0
  13. package/lib/actions/select-tab.js +1 -0
  14. package/lib/actions/select-tool.js +1 -0
  15. package/lib/actions/set-annotation.js +1 -0
  16. package/lib/actions/set-canvas-size.js +1 -0
  17. package/lib/actions/set-crop.js +1 -0
  18. package/lib/actions/set-feedback.js +1 -0
  19. package/lib/actions/set-finetune.js +1 -0
  20. package/lib/actions/set-latest-color.js +1 -0
  21. package/lib/actions/set-original-image.js +1 -0
  22. package/lib/actions/set-resize.js +1 -0
  23. package/lib/actions/set-saved.js +1 -0
  24. package/lib/actions/set-saving.js +1 -0
  25. package/lib/actions/set-show-tabs-menu.js +1 -0
  26. package/lib/actions/set-shown-image-dimensions.js +1 -0
  27. package/lib/actions/show-loader.js +1 -0
  28. package/lib/actions/toggle-flip.js +1 -0
  29. package/lib/actions/toggle-original-image-display.js +1 -0
  30. package/lib/actions/undo.js +1 -0
  31. package/lib/actions/update-state.js +1 -0
  32. package/lib/actions/zoom-canvas.js +1 -0
  33. package/lib/components/app/index.js +1 -0
  34. package/lib/components/assembly-point/index.js +1 -0
  35. package/lib/components/common/annotation-options/annotation-options.constants.js +1 -0
  36. package/lib/components/common/annotation-options/index.js +1 -0
  37. package/lib/components/common/annotation-options/opacity-field.js +1 -0
  38. package/lib/components/common/annotation-options/position-fields.js +1 -0
  39. package/lib/components/common/annotation-options/shadow-fields.js +1 -0
  40. package/lib/components/common/annotation-options/stroke-fields.js +1 -0
  41. package/lib/components/common/button-with-menu/index.js +1 -0
  42. package/lib/components/common/color-input/index.js +1 -0
  43. package/lib/components/common/color-picker-modal/index.js +1 -0
  44. package/lib/components/common/hidden-upload-input/index.js +1 -0
  45. package/lib/components/common/icon-wrapper/index.js +1 -0
  46. package/lib/components/common/image-preview-tile/index.js +1 -0
  47. package/lib/components/common/slider/index.js +1 -0
  48. package/lib/components/feedback-popup/index.js +1 -0
  49. package/lib/components/layers/design-layer/annotation-nodes/annotation-nodes.constants.js +1 -0
  50. package/lib/components/layers/design-layer/annotation-nodes/arrow-node.js +1 -0
  51. package/lib/components/layers/design-layer/annotation-nodes/ellipse-node.js +1 -0
  52. package/lib/components/layers/design-layer/annotation-nodes/image-node.js +1 -0
  53. package/lib/components/layers/design-layer/annotation-nodes/index.js +1 -0
  54. package/lib/components/layers/design-layer/annotation-nodes/line-node.js +1 -0
  55. package/lib/components/layers/design-layer/annotation-nodes/memoized-annotation.js +1 -0
  56. package/lib/components/layers/design-layer/annotation-nodes/polygon-node.js +1 -0
  57. package/lib/components/layers/design-layer/annotation-nodes/rect-node.js +1 -0
  58. package/lib/components/layers/design-layer/annotation-nodes/text-node.js +1 -0
  59. package/lib/components/layers/design-layer/index.js +1 -0
  60. package/lib/components/layers/design-layer/nodes-common-prop-types.js +1 -0
  61. package/lib/components/layers/design-layer/preview-group.js +1 -0
  62. package/lib/components/layers/index.js +1 -0
  63. package/lib/components/layers/transformers-layer/crop-transformer.js +1 -0
  64. package/lib/components/layers/transformers-layer/index.js +1 -0
  65. package/lib/components/layers/transformers-layer/nodes-transformer.js +1 -0
  66. package/lib/components/layers/transformers-layer/transformers-layer.utils.js +1 -0
  67. package/lib/components/main-canvas/canvas-node.js +1 -0
  68. package/lib/components/main-canvas/index.js +1 -0
  69. package/lib/components/main-canvas/touch-zooming-events.js +1 -0
  70. package/lib/components/node-controls/index.js +1 -0
  71. package/lib/components/tabs/index.js +1 -0
  72. package/lib/components/tabs/tabs.constants.js +1 -0
  73. package/lib/components/tabs-drawer/index.js +1 -0
  74. package/lib/components/tools/arrow/arrow-button.js +1 -0
  75. package/lib/components/tools/arrow/arrow-options.js +1 -0
  76. package/lib/components/tools/arrow/index.js +1 -0
  77. package/lib/components/tools/blur/blur-options.js +1 -0
  78. package/lib/components/tools/blur/blur.js +1 -0
  79. package/lib/components/tools/blur/index.js +1 -0
  80. package/lib/components/tools/brightness/brightness-options.js +1 -0
  81. package/lib/components/tools/brightness/brightness.js +1 -0
  82. package/lib/components/tools/brightness/index.js +1 -0
  83. package/lib/components/tools/contrast/contrast-options.js +1 -0
  84. package/lib/components/tools/contrast/contrast.js +1 -0
  85. package/lib/components/tools/contrast/index.js +1 -0
  86. package/lib/components/tools/crop/crop-preset-item.js +1 -0
  87. package/lib/components/tools/crop/crop-presets-option.js +1 -0
  88. package/lib/components/tools/crop/crop.constants.js +1 -0
  89. package/lib/components/tools/crop/crop.js +1 -0
  90. package/lib/components/tools/crop/index.js +1 -0
  91. package/lib/components/tools/ellipse/ellipse-button.js +1 -0
  92. package/lib/components/tools/ellipse/ellipse-options.js +1 -0
  93. package/lib/components/tools/ellipse/index.js +1 -0
  94. package/lib/components/tools/filters/filter-item.js +1 -0
  95. package/lib/components/tools/filters/filters.constants.js +1 -0
  96. package/lib/components/tools/filters/filters.js +1 -0
  97. package/lib/components/tools/filters/index.js +1 -0
  98. package/lib/components/tools/flip/flip-x.js +1 -0
  99. package/lib/components/tools/flip/flip-y.js +1 -0
  100. package/lib/components/tools/flip/index.js +1 -0
  101. package/lib/components/tools/hsv/hsv.js +1 -0
  102. package/lib/components/tools/hsv/hsvoptions.js +1 -0
  103. package/lib/components/tools/hsv/index.js +1 -0
  104. package/lib/components/tools/image/image-button.js +1 -0
  105. package/lib/components/tools/image/image-controls.js +1 -0
  106. package/lib/components/tools/image/image-options.js +1 -0
  107. package/lib/components/tools/image/images-gallery.js +1 -0
  108. package/lib/components/tools/image/index.js +1 -0
  109. package/lib/components/tools/line/index.js +1 -0
  110. package/lib/components/tools/line/line-button.js +1 -0
  111. package/lib/components/tools/line/line-options.js +1 -0
  112. package/lib/components/tools/pen/index.js +1 -0
  113. package/lib/components/tools/pen/pen-button.js +1 -0
  114. package/lib/components/tools/pen/pen-options.js +1 -0
  115. package/lib/components/tools/polygon/index.js +1 -0
  116. package/lib/components/tools/polygon/polygon-button.js +1 -0
  117. package/lib/components/tools/polygon/polygon-options.js +1 -0
  118. package/lib/components/tools/polygon/polygon-sides-field.js +1 -0
  119. package/lib/components/tools/polygon/polygon.constants.js +1 -0
  120. package/lib/components/tools/rect/index.js +1 -0
  121. package/lib/components/tools/rect/rect-button.js +1 -0
  122. package/lib/components/tools/rect/rect-corner-field.js +1 -0
  123. package/lib/components/tools/rect/rect-options.js +1 -0
  124. package/lib/components/tools/rect/rect.constants.js +1 -0
  125. package/lib/components/tools/resize/index.js +1 -0
  126. package/lib/components/tools/resize/resize.js +1 -0
  127. package/lib/components/tools/rotate/index.js +1 -0
  128. package/lib/components/tools/rotate/rotate-button.js +1 -0
  129. package/lib/components/tools/rotate/rotate-options.js +1 -0
  130. package/lib/components/tools/text/index.js +1 -0
  131. package/lib/components/tools/text/text-button.js +1 -0
  132. package/lib/components/tools/text/text-options/handle-text-change-area.js +1 -0
  133. package/lib/components/tools/text/text-options/index.js +1 -0
  134. package/lib/components/tools/text/text-options/text-alignment-fields.js +1 -0
  135. package/lib/components/tools/text/text-options/text-controls.js +1 -0
  136. package/lib/components/tools/text/text-options/text-options.constants.js +1 -0
  137. package/lib/components/tools/text/text-options/text-spacings-fields.js +1 -0
  138. package/lib/components/tools/tools.constants.js +1 -0
  139. package/lib/components/tools/warmth/index.js +1 -0
  140. package/lib/components/tools/warmth/warmth-options.js +1 -0
  141. package/lib/components/tools/warmth/warmth.js +1 -0
  142. package/lib/components/tools/watermark/index.js +1 -0
  143. package/lib/components/tools/watermark/watermark-padding.js +1 -0
  144. package/lib/components/tools/watermark/watermark.js +1 -0
  145. package/lib/components/tools/watermark/watermarks-gallery.js +1 -0
  146. package/lib/components/tools-bar/index.js +1 -0
  147. package/lib/components/tools-bar/tools-bar-item-button.js +1 -0
  148. package/lib/components/tools-bar/tools-bar-item-options-wrapper.js +1 -0
  149. package/lib/components/topbar/canvas-zooming.js +1 -0
  150. package/lib/components/topbar/confirmation-modal.js +1 -0
  151. package/lib/components/topbar/image-dimensions-and-display-toggle.js +1 -0
  152. package/lib/components/topbar/index.js +1 -0
  153. package/lib/components/topbar/redo-button.js +1 -0
  154. package/lib/components/topbar/reset-button.js +1 -0
  155. package/lib/components/topbar/save-button.js +1 -0
  156. package/lib/components/topbar/topbar.constants.js +1 -0
  157. package/lib/components/topbar/undo-button.js +1 -0
  158. package/lib/context/app-context.js +1 -0
  159. package/lib/context/app-provider-overriden-value.js +1 -0
  160. package/lib/context/app-provider.js +1 -0
  161. package/lib/context/app-reducer.js +1 -0
  162. package/lib/context/default-config.js +1 -0
  163. package/lib/context/default-translations.js +1 -0
  164. package/lib/context/get-initial-app-state.js +1 -0
  165. package/lib/context/index.js +1 -0
  166. package/lib/custom/filters/aden.js +1 -0
  167. package/lib/custom/filters/amaro.js +1 -0
  168. package/lib/custom/filters/ashby.js +1 -0
  169. package/lib/custom/filters/base-filters.js +1 -0
  170. package/lib/custom/filters/black-and-white.js +1 -0
  171. package/lib/custom/filters/brannan.js +1 -0
  172. package/lib/custom/filters/brooklyn.js +1 -0
  173. package/lib/custom/filters/charmes.js +1 -0
  174. package/lib/custom/filters/clarendon.js +1 -0
  175. package/lib/custom/filters/crema.js +1 -0
  176. package/lib/custom/filters/dogpatch.js +1 -0
  177. package/lib/custom/filters/earlybird.js +1 -0
  178. package/lib/custom/filters/gingham.js +1 -0
  179. package/lib/custom/filters/ginza.js +1 -0
  180. package/lib/custom/filters/hefe.js +1 -0
  181. package/lib/custom/filters/helena.js +1 -0
  182. package/lib/custom/filters/hudson.js +1 -0
  183. package/lib/custom/filters/index.js +1 -0
  184. package/lib/custom/filters/juno.js +1 -0
  185. package/lib/custom/filters/kelvin.js +1 -0
  186. package/lib/custom/filters/lark.js +1 -0
  187. package/lib/custom/filters/lo-fi.js +1 -0
  188. package/lib/custom/filters/ludwig.js +1 -0
  189. package/lib/custom/filters/maven.js +1 -0
  190. package/lib/custom/filters/mayfair.js +1 -0
  191. package/lib/custom/filters/moon.js +1 -0
  192. package/lib/custom/filters/nashville.js +1 -0
  193. package/lib/custom/filters/ninteen-seventy-seven.js +1 -0
  194. package/lib/custom/filters/perpetua.js +1 -0
  195. package/lib/custom/filters/reyes.js +1 -0
  196. package/lib/custom/filters/rise.js +1 -0
  197. package/lib/custom/filters/sierra.js +1 -0
  198. package/lib/custom/filters/skyline.js +1 -0
  199. package/lib/custom/filters/slumber.js +1 -0
  200. package/lib/custom/filters/stinson.js +1 -0
  201. package/lib/custom/filters/sutro.js +1 -0
  202. package/lib/custom/filters/toaster.js +1 -0
  203. package/lib/custom/filters/valencia.js +1 -0
  204. package/lib/custom/filters/vesper.js +1 -0
  205. package/lib/custom/filters/walden.js +1 -0
  206. package/lib/custom/filters/willow.js +1 -0
  207. package/lib/custom/filters/xpro2.js +1 -0
  208. package/lib/custom/finetunes/custom-threshold.js +1 -0
  209. package/lib/custom/finetunes/index.js +1 -0
  210. package/lib/custom/finetunes/warmth.js +1 -0
  211. package/lib/hooks/index.js +1 -0
  212. package/lib/hooks/use-annotation/get-bounding-rect-un-scaled.js +1 -0
  213. package/lib/hooks/use-annotation/get-new-annotation-preview.js +1 -0
  214. package/lib/hooks/use-annotation/index.js +1 -0
  215. package/lib/hooks/use-annotation/preview-then-call-annotation-adding.js +1 -0
  216. package/lib/hooks/use-annotation-events.js +1 -0
  217. package/lib/hooks/use-app-reducer.js +1 -0
  218. package/lib/hooks/use-debounced-callback.js +1 -0
  219. package/lib/hooks/use-drag.js +1 -0
  220. package/lib/hooks/use-filter.js +1 -0
  221. package/lib/hooks/use-finetune.js +1 -0
  222. package/lib/hooks/use-phone-screen.js +1 -0
  223. package/lib/hooks/use-popover.js +1 -0
  224. package/lib/hooks/use-resize-observer.js +1 -0
  225. package/lib/hooks/use-store.js +1 -0
  226. package/lib/hooks/use-transformed-img-data.js +1 -0
  227. package/lib/hooks/use-update-effect.js +1 -0
  228. package/lib/index.d.ts +345 -0
  229. package/lib/index.js +1 -0
  230. package/lib/types/actions.js +1 -0
  231. package/lib/types/annotations.js +1 -0
  232. package/lib/types/common.js +1 -0
  233. package/lib/types/config.js +1 -0
  234. package/lib/types/index.js +1 -0
  235. package/lib/types/state.js +1 -0
  236. package/lib/utils/assign-finetune-names-to-konva.js +1 -0
  237. package/lib/utils/calculate-zoom-data.js +1 -0
  238. package/lib/utils/cloudimage-query-to-design-state.js +1 -0
  239. package/lib/utils/compare-ratios.js +1 -0
  240. package/lib/utils/constants.js +1 -0
  241. package/lib/utils/crop-image.js +1 -0
  242. package/lib/utils/debounce.js +1 -0
  243. package/lib/utils/deep-merge.js +1 -0
  244. package/lib/utils/extract-current-design-state.js +1 -0
  245. package/lib/utils/extract-name-from-url.js +1 -0
  246. package/lib/utils/filter-str-to-class.js +1 -0
  247. package/lib/utils/finetunes-strs-to-classes.js +1 -0
  248. package/lib/utils/get-center-rotated-point.js +1 -0
  249. package/lib/utils/get-default-save-quality.js +1 -0
  250. package/lib/utils/get-dimensions-minimal-ratio.js +1 -0
  251. package/lib/utils/get-elem-document-coords.js +1 -0
  252. package/lib/utils/get-file-full-name.js +1 -0
  253. package/lib/utils/get-image-sealing-params.js +1 -0
  254. package/lib/utils/get-pointer-offset-position-bounded-to-object.js +1 -0
  255. package/lib/utils/get-proper-dimensions.js +1 -0
  256. package/lib/utils/get-proper-image-to-canvas-spacing.js +1 -0
  257. package/lib/utils/get-scroll-offset.js +1 -0
  258. package/lib/utils/get-size-after-rotation.js +1 -0
  259. package/lib/utils/get-zoom-fit-factor.js +1 -0
  260. package/lib/utils/image-to-base64.js +1 -0
  261. package/lib/utils/is-default-zero-values-only.js +1 -0
  262. package/lib/utils/is-same-image.js +1 -0
  263. package/lib/utils/load-image.js +1 -0
  264. package/lib/utils/map-crop-box.js +1 -0
  265. package/lib/utils/map-number.js +1 -0
  266. package/lib/utils/map-position-string-to-point.js +1 -0
  267. package/lib/utils/operations-to-cloudimage-url.js +1 -0
  268. package/lib/utils/random-id.js +1 -0
  269. package/lib/utils/restrict-number.js +1 -0
  270. package/lib/utils/rgba-to-hexa.js +1 -0
  271. package/lib/utils/sha1.js +1 -0
  272. package/lib/utils/to-precised-float.js +1 -0
  273. package/lib/utils/translator.js +1 -0
  274. package/package.json +61 -0
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var COLOR_FILTER_CONST=[255,170,0,.1],BRIGHTNESS_CONST=.09,SATURATION_CONST=.1;function Rise(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.saturation(SATURATION_CONST))}Rise.filterName="Rise";export default Rise;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var CONTRAST_CONST=-.15,SATURATION_CONST=.1;function Sierra(a){BaseFilters.apply(a,BaseFilters.contrast(CONTRAST_CONST),BaseFilters.saturation(SATURATION_CONST))}Sierra.filterName="Sierra";export default Sierra;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var SATURATION_CONST=.35,BRIGHTNESS_CONST=.1;function Skyline(a){BaseFilters.apply(a,BaseFilters.saturation(SATURATION_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Skyline.filterName="Skyline";export default Skyline;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var BRIGHTNESS_CONST=.1,SATURATION_CONST=-.5;function Slumber(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.saturation(SATURATION_CONST))}Slumber.filterName="Slumber";export default Slumber;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var BRIGHTNESS_CONST=.1,SEPIA_CONST=.3;function Stinson(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.sepia(SEPIA_CONST))}Stinson.filterName="Stinson";export default Stinson;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var BRIGHTNESS_CONST=-.1,SATURATION_CONST=-.1;function Sutro(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.saturation(SATURATION_CONST))}Sutro.filterName="Sutro";export default Sutro;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var SEPIA_CONST=.1,COLOR_FILTER_CONST=[255,145,0,.2];function Toaster(a){BaseFilters.apply(a,BaseFilters.sepia(SEPIA_CONST),BaseFilters.colorFilter(COLOR_FILTER_CONST))}Toaster.filterName="Toaster";export default Toaster;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var COLOR_FILTER_CONST=[255,225,80,.08],SATURATION_CONST=.1,CONTRAST_CONST=.05;function Valencia(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.saturation(SATURATION_CONST),BaseFilters.contrast(CONTRAST_CONST))}Valencia.filterName="Valencia";export default Valencia;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var COLOR_FILTER_CONST=[255,225,0,.05],BRIGHTNESS_CONST=.06,CONTRAST_CONST=.06;function Vesper(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.contrast(CONTRAST_CONST))}Vesper.filterName="Vesper";export default Vesper;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var BRIGHTNESS_CONST=.1,COLOR_FILTER_CONST=[255,255,0,.2];function Walden(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.colorFilter(COLOR_FILTER_CONST))}Walden.filterName="Walden";export default Walden;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var COLOR_FILTER_CONST=[100,28,210,.03],BRIGHTNESS_CONST=.1;function Willow(a){BaseFilters.apply(a,BaseFilters.grayscale(),BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Willow.filterName="Willow";export default Willow;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var COLOR_FILTER_CONST=[255,255,0,.07],SATURATION_CONST=.2,CONTRAST_CONST=.15;function XPro2(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.saturation(SATURATION_CONST),BaseFilters.contrast(CONTRAST_CONST))}XPro2.filterName="XPro2";export default XPro2;
@@ -0,0 +1 @@
1
+ import Konva from"konva";import{Factory as KonvaFactory}from"konva/lib/Factory";import{getNumberValidator as konvaGetNumberValidator}from"konva/lib/Validators";function CustomThreshold(a){for(var b=this.threshold(),c=a.data,d=c.length,e=0;e<d;e+=4)0===b||(c[e]=c[e]>=b?255:0,c[e+1]=c[e+1]>=b?255:0,c[e+2]=c[e+2]>=b?255:0)}CustomThreshold.finetuneName="CustomThreshold";export default CustomThreshold;KonvaFactory.addGetterSetter(Konva.Image,"threshold",0,konvaGetNumberValidator(),KonvaFactory.afterSetFilter);
@@ -0,0 +1 @@
1
+ export{default as Warmth}from"./warmth";export{default as CustomThreshold}from"./custom-threshold";
@@ -0,0 +1 @@
1
+ import Konva from"konva";import{Factory as KonvaFactory}from"konva/lib/Factory";import{getNumberValidator as konvaGetNumberValidator}from"konva/lib/Validators";function Warmth(a){for(var b=this.warmth(),c=a.data,d=c.length,e=0;e<d;e+=4)c[e]+=b,c[e+2]-=b}Warmth.finetuneName="Warmth";export default Warmth;KonvaFactory.addGetterSetter(Konva.Image,"warmth",0,konvaGetNumberValidator(),KonvaFactory.afterSetFilter);
@@ -0,0 +1 @@
1
+ export{default as useFinetune}from"./use-finetune";export{default as useFilter}from"./use-filter";export{default as useAnnotation}from"./use-annotation";export{default as useAppReducer}from"./use-app-reducer";export{default as useAnnotationEvents}from"./use-annotation-events";export{default as useResizeObserver}from"./use-resize-observer";export{default as useDebouncedCallback}from"./use-debounced-callback";export{default as useStore}from"./use-store";export{default as useDrag}from"./use-drag";export{default as usePhoneScreen}from"./use-phone-screen";export{default as useTransformedImgData}from"./use-transformed-img-data";export{default as usePopover}from"./use-popover";
@@ -0,0 +1 @@
1
+ var getBoundingRectUnScaled=function(a,b,c){var d=a||{},e=b||{},f={},g=c.parent.attrs;return f.x=Math.min(d.offsetX,e.startedX)-g.xPadding||0,f.y=Math.min(d.offsetY,e.startedY)-g.yPadding||0,f.width=d.offsetX-e.startedX,f.height=d.offsetY-e.startedY,f.startedX=e.startedX-g.xPadding||0,f.startedY=e.startedY-g.yPadding||0,f};export default getBoundingRectUnScaled;
@@ -0,0 +1 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _defineProperty from"@babel/runtime/helpers/defineProperty";var _excluded=["width","height","startedX","startedY"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import Konva from"konva";import{TOOLS_IDS}from"utils/constants";var annotationsNamesToKonvaClasses=_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},TOOLS_IDS.RECT,Konva.Rect),TOOLS_IDS.ELLIPSE,Konva.Ellipse),TOOLS_IDS.POLYGON,Konva.RegularPolygon),TOOLS_IDS.LINE,Konva.Line),TOOLS_IDS.IMAGE,Konva.Image),TOOLS_IDS.TEXT,Konva.Text),TOOLS_IDS.ARROW,Konva.Arrow),ANNOTATIONS_WITH_POINTS=[TOOLS_IDS.LINE,TOOLS_IDS.ARROW];export var NO_WIDTH_HEIGHT_ANNOTATIONS=[].concat(ANNOTATIONS_WITH_POINTS,[TOOLS_IDS.ELLIPSE,TOOLS_IDS.POLYGON]);var getNewAnnotationPreview=function(a){var b,c,d;return new annotationsNamesToKonvaClasses[a.name](_objectSpread(_objectSpread({},a),{},{opacity:null!==(b=a.opacity)&&void 0!==b?b:.7,x:null!==(c=a.x)&&void 0!==c?c:0,y:null!==(d=a.y)&&void 0!==d?d:0,width:Math.abs(a.width)||0,height:Math.abs(a.height)||0},ANNOTATIONS_WITH_POINTS.includes(a.name)?{stroke:a.stroke||"#000000"}:{}))};export var dimensToProperAnnotationDimens=function(a,b,c){var d=a.width,e=a.height,f=a.startedX,g=a.startedY,h=_objectWithoutProperties(a,_excluded),i=Math.abs(d),j=Math.abs(e),k=0>d,l=0>e;switch(b){case TOOLS_IDS.RECT:c?(h.width=Math.sqrt(i*i+j*j),h.height=h.width,h.x-=k?h.width-i:0,h.y-=l?h.height-j:0):(h.width=i,h.height=j);break;case TOOLS_IDS.ELLIPSE:c?(h.radiusX=Math.sqrt(i*i+j*j)/2,h.radiusY=h.radiusX,h.x-=k?2*h.radiusX-i:0,h.y-=l?2*h.radiusY-j:0):(h.radiusX=i/2,h.radiusY=j/2),h.offsetX=-h.radiusX,h.offsetY=-h.radiusY;break;case TOOLS_IDS.POLYGON:h.radius=(i+j)/2,h.x-=k?2*h.radius-i:0,h.y-=l?2*h.radius-j:0,h.offsetX=-h.radius,h.offsetY=-h.radius;break;case TOOLS_IDS.LINE:case TOOLS_IDS.ARROW:h.x=f,h.y=g,h.points=[0,0],c?h.points.push(i>=j?d:0,j>i?e:0):h.points=[0,0,d,e];break;default:h.width=i,h.height=j}return h};export default getNewAnnotationPreview;
@@ -0,0 +1 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _defineProperty from"@babel/runtime/helpers/defineProperty";var _excluded=["fonts","onFontChange"],_excluded2=["x","y","width","height","radius","radiusX","radiusY","points","image","text","scaleX","scaleY","rotation"],_excluded3=["shouldSave","neverSave"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import{useCallback,useEffect,useMemo,useRef,useState}from"react";import{SELECT_ANNOTATION,SET_ANNOTATION}from"actions";import randomId from"utils/random-id";import debounce from"utils/debounce";import{TOOLS_IDS}from"utils/constants";import{useStore}from"hooks";import previewThenCallAnnotationAdding from"./preview-then-call-annotation-adding";import useDebouncedCallback from"../use-debounced-callback";var useAnnotation=function(){var a,b=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},c=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],d=useStore(),e=d.dispatch,f=d.previewGroup,g=d.annotations,h=d.selectionsIds,i=void 0===h?[]:h,j=d.config,k=_objectSpread(_objectSpread({},j.annotationsCommon),j[(null===(a=g[i[0]])||void 0===a?void 0:a.name)||b.name]),l=useState(function(){return _objectSpread(_objectSpread(_objectSpread({},k),b),g[i[0]])}),m=_slicedToArray(l,2),n=m[0],o=m[1],p=useRef(null),q=null===f||void 0===f?void 0:f.getStage(),r=useCallback(function(a){var c=a.fonts,d=a.onFontChange,f=_objectWithoutProperties(a,_excluded);e({type:SET_ANNOTATION,payload:f}),f.id&&b.name!==TOOLS_IDS.PEN&&debounce(function(){e({type:SELECT_ANNOTATION,payload:{annotationId:f.id}})},30)()},[]),s=useDebouncedCallback(function(a){o(function(b){return _objectSpread(_objectSpread({},b),{},{shouldSave:!1,neverSave:!1},"function"==typeof a?a(b):a)})},15),t=useCallback(function(a,c){if(a.name===c){var d=a.x,e=a.y,f=a.width,g=a.height,h=a.radius,i=a.radiusX,j=a.radiusY,l=a.points,m=a.image,n=a.text,o=a.scaleX,p=a.scaleY,q=a.rotation,r=_objectWithoutProperties(a,_excluded2);return _objectSpread(_objectSpread(_objectSpread({},k),b),r)}return _objectSpread(_objectSpread({},k),b)},[]),u=useCallback(function(a){o(function(c){var d=t(c,a.name||b.name);return _objectSpread(_objectSpread(_objectSpread({},d),a),{},{id:a.id||randomId(a.name||c.name),shouldSave:!0,neverSave:!1})})},[]);return useEffect(function(){var a=n.shouldSave,b=n.neverSave,c=_objectWithoutProperties(n,_excluded3),d=1===i.length&&g[i[0]];!b&&(a||d)&&r(_objectSpread(_objectSpread({},c),{},{id:a?c.id:d.id}))},[n]),useEffect(function(){setTimeout(function(){1===i.length?(p.current=n,o(_objectSpread(_objectSpread({},g[i[0]]),{},{neverSave:!0}))):p.current&&(o(_objectSpread(_objectSpread({},p.current),{},{neverSave:!0})),p.current=null)})},[i,g]),useEffect(function(){var a=null;if(q&&c){var d=t(n,b.name);a=previewThenCallAnnotationAdding(q,_objectSpread(_objectSpread({},d),{},{name:b.name}),f,u)}return function(){a&&a()}},[q,n,f]),useMemo(function(){return[n,s,u]},[n,s,u])};export default useAnnotation;
@@ -0,0 +1 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _defineProperty from"@babel/runtime/helpers/defineProperty";var _excluded=["id","x","y","points"],_excluded2=["startedX","startedY","offsetX","offsetY","width","height"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import{TOOLS_IDS}from"utils/constants";import getElemDocumentCoords from"utils/get-elem-document-coords";import getPointerOffsetPositionBoundedToObject from"utils/get-pointer-offset-position-bounded-to-object";import getBoundingRectUnScaled from"./get-bounding-rect-un-scaled";import getNewAnnotationPreview,{dimensToProperAnnotationDimens,NO_WIDTH_HEIGHT_ANNOTATIONS}from"./get-new-annotation-preview";var pointerDown={startedX:void 0,startedY:void 0,isOutOfCanvas:!1},eventsOptions={passive:!0},MIN_PIXELS=1,shownAnnotationPreview=null,textAnnotationWrappedRect=null,latestAnnotationProps=null,previewThenCallAnnotationAdding=function(a,b,c,d){var f=function b(){return getElemDocumentCoords(a.content)},g=function b(a){textAnnotationWrappedRect=getNewAnnotationPreview(_objectSpread(_objectSpread({},a),{},{name:TOOLS_IDS.RECT,fill:"",stroke:"#000000",strokeWidth:2,shadowColor:"#ffffff",shadowBlur:1,shadowOpacity:.7})),c.add(textAnnotationWrappedRect)},h=function b(a){shownAnnotationPreview=getNewAnnotationPreview(a),c.add(shownAnnotationPreview),a.name===TOOLS_IDS.TEXT&&g(a),latestAnnotationProps=a},i=function c(a,b){if(latestAnnotationProps){var d=dimensToProperAnnotationDimens(a,latestAnnotationProps.name,b);textAnnotationWrappedRect&&textAnnotationWrappedRect.setAttrs(d),shownAnnotationPreview.setAttrs(d),latestAnnotationProps=_objectSpread(_objectSpread({},latestAnnotationProps),d)}},j=function b(a){var d=getPointerOffsetPositionBoundedToObject(c,f());i(getBoundingRectUnScaled(d,pointerDown,c),a.shiftKey)},k=function a(){c&&shownAnnotationPreview&&c.destroyChildren()},l=function e(d){var g;if(!(1<(null===(g=d.evt.touches)||void 0===g?void 0:g.length))){var k=getPointerOffsetPositionBoundedToObject(c,f());pointerDown.isOutOfCanvas&&(document.removeEventListener("mousemove",j,eventsOptions),document.removeEventListener("touchmove",j,eventsOptions),pointerDown.isOutOfCanvas=!1);var l=getBoundingRectUnScaled(k,pointerDown,c);if(shownAnnotationPreview)i(l,d.evt.shiftKey);else{var m=b.id,n=b.x,o=b.y,p=b.points,q=_objectWithoutProperties(b,_excluded);h(_objectSpread(_objectSpread({},q),l))}a.setAttrs({isDrawing:!0})}},m=function a(){pointerDown.isOutOfCanvas||(document.addEventListener("mousemove",j,eventsOptions),document.addEventListener("touchmove",j,eventsOptions),pointerDown.isOutOfCanvas=!0)},n=function c(){var e,f;if(k(),latestAnnotationProps&&(latestAnnotationProps.width>=MIN_PIXELS&&latestAnnotationProps.height>=MIN_PIXELS||latestAnnotationProps.radiusX>=MIN_PIXELS&&latestAnnotationProps.radiusY>=MIN_PIXELS||null!==(e=latestAnnotationProps.points)&&void 0!==e&&e[2]||null!==(f=latestAnnotationProps.points)&&void 0!==f&&f[3]||latestAnnotationProps.radius>=MIN_PIXELS)){var g=latestAnnotationProps,h=g.startedX,i=g.startedY,o=g.offsetX,p=g.offsetY,q=g.width,r=g.height,s=_objectWithoutProperties(g,_excluded2);NO_WIDTH_HEIGHT_ANNOTATIONS.includes(b.name)||(s.width=q,s.height=r),d(s,!0)}shownAnnotationPreview=null,textAnnotationWrappedRect=null,latestAnnotationProps=null,a.setAttrs({isDrawing:!1}),a.off("mousemove touchmove",l),a.off("mouseleave touchcancel",m),document.removeEventListener("mouseup",n,eventsOptions),document.removeEventListener("touchend",n,eventsOptions),document.removeEventListener("mouseleave",n,eventsOptions),document.removeEventListener("touchcancel",n,eventsOptions),document.removeEventListener("mousemove",j,eventsOptions),document.removeEventListener("touchmove",j,eventsOptions),pointerDown.isOutOfCanvas=!1},o=function d(b){var e;if(b.evt.preventDefault(),!(b.target.attrs.draggable||1<(null===(e=b.evt.touches)||void 0===e?void 0:e.length))){k();var g=getPointerOffsetPositionBoundedToObject(c,f());pointerDown.startedX=g.offsetX,pointerDown.startedY=g.offsetY,pointerDown.isOutOfCanvas=!1,a.on("mousemove touchmove",l),a.on("mouseleave touchcancel",m),document.addEventListener("mouseup",n,eventsOptions),document.addEventListener("touchend",n,eventsOptions),document.addEventListener("mouseleave",n,eventsOptions),document.addEventListener("touchcancel",n,eventsOptions)}};return a.on("mousedown touchstart",o),function(){k(),a.off("mousedown touchstart",o)}};export default previewThenCallAnnotationAdding;
@@ -0,0 +1 @@
1
+ import{useMemo,useCallback}from"react";import{SET_ANNOTATION,SELECT_ANNOTATION,SELECT_TOOL}from"actions";import{TOOLS_IDS,TABS_IDS,WATERMARK_ANNOTATION_ID}from"utils/constants";import useStore from"./use-store";var useAnnotationEvents=function(){var a=useStore(),b=a.tabId,c=a.dispatch,d=useMemo(function(){return b!==TABS_IDS.ANNOTATE&&b!==TABS_IDS.WATERMARK},[b]),f=useCallback(function(a){c({type:SET_ANNOTATION,payload:a})},[]),g=useCallback(function(a){f({id:a.target.id(),x:a.target.x(),y:a.target.y()})},[]),h=useCallback(function(a){var b={id:a.target.id(),rotation:a.target.rotation(),x:a.target.x(),y:a.target.y()};return a.target.name()===TOOLS_IDS.TEXT?(b.width=a.target.width()*a.target.scaleX(),b.height=a.target.height()*a.target.scaleY(),b.scaleX=1,b.scaleY=1):(b.scaleX=a.target.scaleX(),b.scaleY=a.target.scaleY()),b},[]),i=useCallback(function(a){f(h(a))},[]),j=useCallback(function(a){a.target.name()===TOOLS_IDS.TEXT&&a.target.setAttrs(h(a))},[]),k=useCallback(function(a){if(!(a.target.id()===WATERMARK_ANNOTATION_ID||a.target.getStage().attrs.isDrawing)){var b=a.evt.ctrlKey||a.evt.shiftKey||a.evt.metaKey;c({type:SELECT_ANNOTATION,payload:{annotationId:a.target.id(),multiple:b}}),c({type:SELECT_TOOL,payload:{toolId:a.target.name(),keepSelections:b}})}},[]);return useMemo(function(){return d?{}:{onTransform:j,onTransformEnd:i,onDragEnd:g,onClick:k,onTap:k}},[d])};export default useAnnotationEvents;
@@ -0,0 +1 @@
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _defineProperty from"@babel/runtime/helpers/defineProperty";var _excluded=["isDesignState"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import{useReducer}from"react";import{REDO,RESET,UNDO}from"actions";import extractCurrentDesignState from"utils/extract-current-design-state";var timeout,applyModifyFn=function(a,b){timeout=setTimeout(function(){clearTimeout(timeout),"function"==typeof a&&b&&a(b)})},useAppReducer=function(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{},d=_objectSpread(_objectSpread({},b),{},{pastDesignStates:[],futureDesignStates:[],hasRedo:!1,hasUndo:!1});return useReducer(function(b,e){var f=a(b,e)||d;if([UNDO,REDO,RESET].includes(e.type))return applyModifyFn(c.onModify,f),f;if(f.isDesignState){var g=extractCurrentDesignState(b,!1),h=f.isDesignState,i=_objectWithoutProperties(f,_excluded),j=_objectSpread(_objectSpread({},i),{},{isDesignState:!1,pastDesignStates:[g].concat(_toConsumableArray(b.pastDesignStates)),hasUndo:!0,hasRedo:!1,futureDesignStates:[],isResetted:!1,haveNotSavedChanges:!0});return applyModifyFn(c.onModify,j),j}return f},d)};export default useAppReducer;
@@ -0,0 +1 @@
1
+ import{useCallback}from"react";import debounce from"utils/debounce";var useDebouncedCallback=function(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:[];return useCallback(debounce(a,b),c)};export default useDebouncedCallback;
@@ -0,0 +1 @@
1
+ var useDrag=function(a,b,c){var d=function(b){if("function"==typeof a){var c;a((null===(c=b.touches)||void 0===c?void 0:c[0])||b)}},f=function(a){if(document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",f),document.removeEventListener("mouseleave",f),document.removeEventListener("touchmove",d),document.removeEventListener("touchend",f),document.removeEventListener("touchcancel",f),"function"==typeof c){var b;c((null===(b=a.touches)||void 0===b?void 0:b[0])||a)}},g=function(a){if(document.addEventListener("mousemove",d),document.addEventListener("mouseup",f),document.addEventListener("mouseleave",f),document.addEventListener("touchmove",d),document.addEventListener("touchend",f),document.addEventListener("touchcancel",f),"function"==typeof b){var c;b((null===(c=a.touches)||void 0===c?void 0:c[0])||a)}};return{onMouseDown:g,onTouchStart:g}};export default useDrag;
@@ -0,0 +1 @@
1
+ import{useCallback,useMemo}from"react";import{ADD_FILTER}from"actions";import useStore from"./use-store";var useFilter=function(){var a=useStore(),b=a.dispatch,c=a.filter,d=useCallback(function(a){b({type:ADD_FILTER,payload:{filter:a}})},[]);return useMemo(function(){return[c,d]},[c])};export default useFilter;
@@ -0,0 +1 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import{useCallback,useEffect,useMemo}from"react";import{SET_FINETUNE}from"actions";import isDefaultZeroValuesOnly from"utils/is-default-zero-values-only";import useStore from"./use-store";var useFinetune=function(a,b){var c=useStore(),d=c.dispatch,e=c.finetunes,f=c.finetunesProps,g=useCallback(function(b){d({type:SET_FINETUNE,payload:{finetune:a,finetuneProps:b}})},[]);return useEffect(function(){e.includes(a)||isDefaultZeroValuesOnly(b,f)||g(_objectSpread(_objectSpread({},b),f))},[]),useMemo(function(){return[f,g]},[f])};export default useFinetune;
@@ -0,0 +1 @@
1
+ var usePhoneScreen=function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:438;return window.matchMedia("(max-width: ".concat(a,"px)")).matches};export default usePhoneScreen;
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{useCallback,useState}from"react";var usePopover=function(){var a=useState(null),b=_slicedToArray(a,2),c=b[0],d=b[1],e=useCallback(function(a){d(a.currentTarget)},[]),f=useCallback(function(){d(null)},[]),g=useCallback(function(a){d(function(b){return b?null:a.currentTarget})},[]);return{anchorEl:c,open:!!c,handleOpen:e,handleClose:f,handleToggle:g}};export default usePopover;
@@ -0,0 +1 @@
1
+ import{useCallback,useEffect,useMemo,useRef}from"react";var useResizeObserver=function(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:function(){},b=useRef(a),c=useRef(null),d=useCallback(function(a){a.forEach(function(a){if(a.contentRect){var c=a.contentRect,d=c.width,e=c.height;b.current({entry:a,width:d,height:e})}})},[]),e=useCallback(function(a){b.current=a},[]),f=useCallback(function(){c.current||(c.current=new ResizeObserver(d))},[]),g=useCallback(function(a,d){a&&(!c.current&&f(),c.current.observe(a),d&&(b.current=d))},[]),h=useCallback(function(a,d){c.current&&a&&(c.current.unobserve(a),d&&(b.current=d))},[]),i=useCallback(function(){c.current&&c.current.disconnect()},[]);return useEffect(function(){return f(),i},[]),useMemo(function(){return[g,h,e]},[])};export default useResizeObserver;
@@ -0,0 +1 @@
1
+ import{useContext}from"react";import AppContext from"context";var useStore=function(){return useContext(AppContext)};export default useStore;
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["filter"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import Konva from"konva";import{HIDE_LOADER,SET_SAVED}from"actions";import{ELLIPSE_CROP,IMAGE_NODE_ID,SUPPORTED_IMAGE_TYPES,TOOLS_IDS}from"utils/constants";import extractCurrentDesignState from"utils/extract-current-design-state";import mapCropBox from"utils/map-crop-box";import getSizeAfterRotation from"utils/get-size-after-rotation";import imageToBase64 from"utils/image-to-base64";import getFileFullName from"utils/get-file-full-name";import operationsToCloudimageUrl from"utils/operations-to-cloudimage-url";import useStore from"./use-store";var useTransformedImgData=function(){var a=useStore(),b=a.dispatch,c=a.designLayer,d=a.shownImageDimensions,e=a.originalImage,f=a.resize,g=void 0===f?{}:f,h=a.adjustments,i=void 0===h?{}:h,j=i.crop,k=void 0===j?{}:j,l=i.rotation,m=void 0===l?0:l,n=a.config,o=n.savingPixelRatio,p=n.previewPixelRatio,q=n.forceToPngInEllipticalCrop,r=n.defaultSavedImageType,s=n.useCloudimage,t=n.cloudimage,u=n[TOOLS_IDS.CROP];return s?function(){var b,c,f=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{},g=extractCurrentDesignState(a,!1),h=g.filter,i=_objectWithoutProperties(g,_excluded),j=operationsToCloudimageUrl(t,i,d,e,u),l=mapCropBox({x:k.x,y:k.y,width:k.width,height:k.height},d,e),m={cloudimageUrl:j,width:(null===f||void 0===f||null===(b=f.size)||void 0===b?void 0:b.width)||l.width,height:(null===f||void 0===f||null===(c=f.size)||void 0===c?void 0:c.height)||l.height};return{imageData:m,designState:i}}:function(){var f=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},h=!!(1<arguments.length&&void 0!==arguments[1])&&arguments[1],i=!!(2<arguments.length&&void 0!==arguments[2])&&arguments[2],j=_objectSpread({size:g},f);Konva.pixelRatio=h||o;var l=c.attrs,n=l.clipWidth,s=l.clipHeight,t=l.clipX,u=l.clipY;c.setAttr("isSaving",!0);var v=c.getStage().clone({width:e.width,height:e.height,scaleX:1,scaleY:1}),w=_slicedToArray(v.children,1),x=w[0];v.children[1].destroy();var y=v.findOne("#".concat(IMAGE_NODE_ID));y.cache();var z={x:v.width()/d.width,y:v.height()/d.height};x.setAttrs({rotation:0,offsetX:0,offsetY:0,x:0,y:0,scaleX:z.x,scaleY:z.y});var A=_objectSpread(_objectSpread({},(!j.name||!j.extension)&&getFileFullName(e.name,q&&k.ratio===ELLIPSE_CROP?"png":SUPPORTED_IMAGE_TYPES.includes(null===r||void 0===r?void 0:r.toLowerCase())&&r||void 0)),j),B=A.name,C=A.extension,D=A.quality,E=void 0===D?92:D,F=A.size,G=void 0===F?{}:F,H=["jpeg","jpg","webp"].includes(C),I=mapCropBox(k.noEffect?{x:0,y:0}:{x:k.x||t,y:k.y||u,width:k.width||n,height:k.height||s},d,v.attrs),J=getSizeAfterRotation(I.width,I.height,m);if(v.setAttrs({offsetX:I.width/2+(I.x||0),offsetY:I.height/2+(I.y||0),width:J.width,height:J.height,x:J.width/2,y:J.height/2,rotation:m}),G.width){var K=G.width/v.width();v.setAttrs({scaleX:K,width:G.width,x:v.x()*Math.abs(K)})}if(G.height){var L=G.height/v.height();v.setAttrs({scaleY:L,height:G.height,y:v.y()*Math.abs(L)})}var M=_objectSpread({mimeType:"image/".concat("jpg"===C?"jpeg":C)},H?{quality:E}:{}),N=v.toCanvas(M),O=v.toDataURL(M),P=_objectSpread(_objectSpread({},extractCurrentDesignState(a,!1)),{},{shownImageDimensions:{width:a.shownImageDimensions.width,height:a.shownImageDimensions.height,scaledBy:a.shownImageDimensions.scaledBy}});P.filter&&(P.filter=P.filter.filterName||P.filter.name),P.finetunes=P.finetunes.map(function(a){return a.finetuneName||a.name}),Object.keys(P.annotations).forEach(function(a){var b,c=P.annotations[a],d=c.name===TOOLS_IDS.IMAGE&&(null===(b=c.image)||void 0===b?void 0:b.src);d&&d.startsWith("blob:")?P.annotations[a].image=imageToBase64(c.image):c.image instanceof HTMLImageElement&&(P.annotations[a].image=d)});var Q=_objectSpread({fullName:"".concat(B,".").concat(C),name:B,extension:C,mimeType:"image/".concat(C),imageCanvas:N,imageBase64:O,width:G.width||I.width,height:G.height||I.height},H?{quality:E}:{});c.setAttr("isSaving",!1),b({type:SET_SAVED}),y.clearCache(),v.destroy(),Konva.pixelRatio=p;var R=function(){b({type:HIDE_LOADER})};return i||R(),{imageData:Q,designState:P,hideLoadingSpinner:R}}};export default useTransformedImgData;
@@ -0,0 +1 @@
1
+ import{useEffect,useRef}from"react";var useUpdateEffect=function(a,b){var c=useRef(!0);useEffect(function(){return function(){c.current=!0}},[]),useEffect(function(){if(c.current)c.current=!1;else if("function"==typeof a)return a()},b)};export default useUpdateEffect;
package/lib/index.d.ts ADDED
@@ -0,0 +1,345 @@
1
+ import { Theme } from '@mui/material/styles';
2
+ import { FunctionComponent, RefObject } from 'react';
3
+
4
+ type ThemeOverride = Partial<Theme>;
5
+
6
+ declare const TABS = {
7
+ FINETUNE: 'Finetune',
8
+ FILTERS: 'Filters',
9
+ ADJUST: 'Adjust',
10
+ WATERMARK: 'Watermark',
11
+ ANNOTATE: 'Annotate',
12
+ RESIZE: 'Resize',
13
+ } as const;
14
+
15
+ declare const TOOLS = {
16
+ CROP: 'Crop',
17
+ ROTATE: 'Rotate',
18
+ FLIP_X: 'Flip_X',
19
+ FLIP_Y: 'Flip_Y',
20
+ BRIGHTNESS: 'Brightness',
21
+ CONTRAST: 'Contrast',
22
+ HSV: 'HueSaturationValue',
23
+ WARMTH: 'Warmth',
24
+ BLUR: 'Blur',
25
+ THRESHOLD: 'Threshold',
26
+ POSTERIZE: 'Posterize',
27
+ PIXELATE: 'Pixelate',
28
+ NOISE: 'Noise',
29
+ FILTERS: 'Filters',
30
+ RECT: 'Rect',
31
+ ELLIPSE: 'Ellipse',
32
+ POLYGON: 'Polygon',
33
+ TEXT: 'Text',
34
+ LINE: 'Line',
35
+ IMAGE: 'Image',
36
+ ARROW: 'Arrow',
37
+ WATERMARK: 'Watermark',
38
+ PEN: 'Pen',
39
+ RESIZE: 'Resize',
40
+ } as const;
41
+
42
+ // TABS_IDS
43
+ type availableTabs = (typeof TABS)[keyof typeof TABS];
44
+
45
+ // TOOLS_IDS
46
+ type availableTools = (typeof TOOLS)[keyof typeof TOOLS];
47
+
48
+ type lineCap = 'butt' | 'round' | 'square';
49
+
50
+ type savedImageData = {
51
+ name: string;
52
+ extension: string;
53
+ mimeType: string;
54
+ fullName?: string;
55
+ height?: number;
56
+ width?: number;
57
+ imageBase64?: string;
58
+ imageCanvas?: HTMLCanvasElement; // doesn't support quality
59
+ quality?: number;
60
+ cloudimageUrl?: string;
61
+ };
62
+
63
+ type annotationsCommon = {
64
+ fill?: string;
65
+ stroke?: string;
66
+ strokeWidth?: number;
67
+ shadowOffsetX?: number;
68
+ shadowOffsetY?: number;
69
+ shadowBlur?: number;
70
+ shadowColor?: string;
71
+ shadowOpacity?: number;
72
+ opacity?: number;
73
+ };
74
+
75
+ type textAnnotation = annotationsCommon & {
76
+ text?: string;
77
+ fontFamily?: string;
78
+ fontSize?: number;
79
+ letterSpacing?: number;
80
+ lineHeight?: number;
81
+ align?: 'left' | 'center' | 'right';
82
+ fontStyle?: 'normal' | 'bold' | 'italic' | 'bold italic';
83
+ };
84
+
85
+ type imageAnnotation = annotationsCommon & {
86
+ disableUpload?: boolean;
87
+ gallery?: {
88
+ originalUrl: string;
89
+ previewUrl: string;
90
+ }[];
91
+ };
92
+
93
+ type rectAnnotation = annotationsCommon & {
94
+ cornerRadius?: number;
95
+ };
96
+
97
+ type polygonAnnotation = annotationsCommon & {
98
+ sides?: number;
99
+ };
100
+
101
+ type penAnnotation = annotationsCommon & {
102
+ tension?: number;
103
+ lineCap?: lineCap;
104
+ selectAnnotationAfterDrawing?: boolean;
105
+ };
106
+
107
+ type lineAnnotation = annotationsCommon & {
108
+ lineCap?: lineCap;
109
+ };
110
+
111
+ type arrowAnnotation = annotationsCommon & {
112
+ lineCap?: lineCap;
113
+ pointerLength?: number;
114
+ pointerWidth?: number;
115
+ };
116
+
117
+ type rotateAnnotation = {
118
+ angle?: number;
119
+ componentType?: 'slider' | 'buttons';
120
+ };
121
+
122
+ type cropPresetItem = {
123
+ titleKey: string;
124
+ width?: number;
125
+ height?: number;
126
+ ratio?: string | number;
127
+ descriptionKey?: string;
128
+ icon?: string | HTMLElement | FunctionComponent;
129
+ disableManualResize?: boolean;
130
+ noEffect?: boolean;
131
+ };
132
+
133
+ type imageDesignState = {
134
+ imgSrc?: string;
135
+ finetunes?: string[];
136
+ finetunesProps?: {
137
+ brightness?: number;
138
+ contrast?: number;
139
+ hue?: number;
140
+ saturation?: number;
141
+ value?: number;
142
+ blurRadius?: number;
143
+ warmth?: number;
144
+ };
145
+ filter?: string;
146
+ adjustments?: {
147
+ crop: {
148
+ ratio: string | number;
149
+ width?: number;
150
+ height?: number;
151
+ x?: number;
152
+ y?: number;
153
+ ratioTitleKey?: string;
154
+ };
155
+ isFlippedX?: boolean;
156
+ isFlippedY?: boolean;
157
+ rotation?: number;
158
+ };
159
+ annotations?: {
160
+ [key?: string]: annotationsCommon &
161
+ (
162
+ | textAnnotation
163
+ | rectAnnotation
164
+ | polygonAnnotation
165
+ | penAnnotation
166
+ | lineAnnotation
167
+ | arrowAnnotation
168
+ ) & {
169
+ id: string;
170
+ name: string;
171
+ x: number;
172
+ y: number;
173
+ scaleX?: number;
174
+ scaleY?: number;
175
+ width?: number; //Text/Image/Rect
176
+ height?: number; //Text/Image/Rect
177
+ radius?: number; // Polygon
178
+ radiusX?: number; // Ellipse
179
+ radiusY?: number; // Ellipse
180
+ points?: number[]; // Pen/Line/Arrow
181
+ image?: string | HTMLElement; // Image
182
+ };
183
+ };
184
+ resize?: {
185
+ width?: number;
186
+ height?: number;
187
+ manualChangeDisabled?: boolean;
188
+ };
189
+ shownImageDimensions?: {
190
+ width: number;
191
+ height: number;
192
+ scaledBy: number;
193
+ };
194
+ };
195
+
196
+ type onSaveFunction = (
197
+ savedImageData: savedImageData,
198
+ imageDesignState: imageDesignState,
199
+ ) => void | Promise;
200
+
201
+ export type getCurrentImgDataFunction = (
202
+ imageFileInfo: {
203
+ name?: string;
204
+ extension?: string;
205
+ quality?: number;
206
+ size?: { width?: number; height?: number };
207
+ },
208
+ pixelRatio?: boolean | number,
209
+ keepLoadingSpinnerShown?: boolean,
210
+ ) => {
211
+ imageData: savedImageData;
212
+ designState: imageDesignState;
213
+ hideLoadingSpinner: () => void;
214
+ };
215
+
216
+ export interface FilerobotImageEditorConfig {
217
+ theme?: ThemeOverride;
218
+ source: string | HTMLImageElement;
219
+ annotationsCommon?: annotationsCommon;
220
+ // [TOOLS_IDS.TEXT]
221
+ Text?: textAnnotation & {
222
+ fonts?: (string | { label: string; value: string })[];
223
+ onFontChange?: (
224
+ newFontFamily: string,
225
+ reRenderCanvasFn: () => void,
226
+ ) => void;
227
+ };
228
+ // [TOOLS_IDS.IMAGE]
229
+ Image?: imageAnnotation;
230
+ // [TOOLS_IDS.ELLIPSE]
231
+ Ellipse?: annotationsCommon;
232
+ // [TOOLS_IDS.RECT]
233
+ Rect?: rectAnnotation;
234
+ // [TOOLS_IDS.POLYGON]
235
+ Polygon?: polygonAnnotation;
236
+ // [TOOLS_IDS.PEN]
237
+ Pen?: penAnnotation;
238
+ // [TOOLS_IDS.LINE]: {
239
+ Line?: lineAnnotation;
240
+ // [TOOLS_IDS.ARROW]: {
241
+ Arrow?: arrowAnnotation;
242
+ // [TOOLS_IDS.ROTATE]:
243
+ Rotate?: rotateAnnotation;
244
+ // [TOOLS_IDS.WATERMARK]
245
+ Watermark?: {
246
+ gallery?: string[] | { url: string; previewUrl: string }[] | [];
247
+ onUploadWatermarkImgClick?: (
248
+ loadAndSetWatermarkImg: (imgUrl, revokeObjectUrl) => void,
249
+ ) => Promise<{ url: string; revokeObjectUrl?: boolean }> | void;
250
+ textScalingRatio?: number;
251
+ imageScalingRatio?: number;
252
+ hideTextWatermark?: boolean;
253
+ };
254
+ // [TOOLS_IDS.CROP]
255
+ Crop?: {
256
+ minWidth?: number;
257
+ minHeight?: number;
258
+ maxWidth?: null;
259
+ maxHeight?: null;
260
+ ratio?: 'original' | 'custom' | 'ellipse' | number;
261
+ noPresets?: boolean;
262
+ ratioTitleKey?: string;
263
+ presetsItems?: cropPresetItem[];
264
+ autoResize?: boolean;
265
+ lockCropAreaAt?:
266
+ | 'top-left'
267
+ | 'top-center'
268
+ | 'top-right'
269
+ | 'center-left'
270
+ | 'center-center'
271
+ | 'center-right'
272
+ | 'bottom-left'
273
+ | 'bottom-center'
274
+ | 'bottom-right';
275
+ };
276
+ // TABS_IDS
277
+ tabsIds?: availableTabs[] | [];
278
+ defaultTabId?: availableTabs;
279
+ defaultToolId?: availableTools;
280
+ onBeforeSave?: (savedImageData: savedImageData) => void | boolean;
281
+ onSave?: onSaveFunction;
282
+ closeAfterSave?: boolean;
283
+ defaultSavedImageName?: string;
284
+ defaultSavedImageType?: 'png' | 'jpeg' | 'jpg' | 'webp';
285
+ defaultSavedImageQuality?: number;
286
+ forceToPngInEllipticalCrop?: boolean;
287
+ useBackendTranslations?: boolean;
288
+ translations?: object;
289
+ language?:
290
+ | 'en'
291
+ | 'fr'
292
+ | 'de'
293
+ | 'it'
294
+ | 'pt'
295
+ | 'es'
296
+ | 'nl'
297
+ | 'pl'
298
+ | 'ro'
299
+ | string;
300
+ avoidChangesNotSavedAlertOnLeave?: boolean;
301
+ loadableDesignState?: imageDesignState;
302
+ savingPixelRatio: number;
303
+ previewPixelRatio: number;
304
+ useCloudimage?: boolean;
305
+ cloudimage?: {
306
+ token: string;
307
+ dontPrefixUrl?: boolean;
308
+ domain?: string;
309
+ version?: string;
310
+ secureProtocol?: boolean;
311
+ loadableQuery?: string;
312
+ imageSealing?: {
313
+ enable?: boolean;
314
+ salt?: string;
315
+ charCount?: number;
316
+ includeParams?: string[];
317
+ };
318
+ };
319
+ observePluginContainerSize?: boolean;
320
+ showCanvasOnly?: boolean;
321
+ getCurrentImgDataFnRef?:
322
+ | RefObject
323
+ | {
324
+ current?: getCurrentImgDataFunction;
325
+ };
326
+ updateStateFnRef?:
327
+ | RefObject
328
+ | {
329
+ current?: (newStatePart: {} | ((currentState: {}) => void)) => void;
330
+ };
331
+ onModify?: (currentImageDesignState: imageDesignState) => void;
332
+ useZoomPresetsMenu?: boolean;
333
+ disableZooming?: boolean;
334
+ noCrossOrigin?: boolean;
335
+ disableSaveIfNoChanges?: boolean;
336
+ removeSaveButton?: boolean;
337
+ resetOnImageSourceChange?: boolean;
338
+ backgroundColor?: string;
339
+ backgroundImage?: HTMLImageElement;
340
+ }
341
+
342
+ declare const FilerobotImageEditor: FunctionComponent<FilerobotImageEditorConfig>;
343
+
344
+ export default FilerobotImageEditor;
345
+ export { TABS, TOOLS };
package/lib/index.js ADDED
@@ -0,0 +1 @@
1
+ import FilerobotImageEditor from"components/assembly-point";import{TABS_IDS,TOOLS_IDS}from"utils/constants";export{TABS_IDS as TABS,TOOLS_IDS as TOOLS};export default FilerobotImageEditor;
@@ -0,0 +1 @@
1
+ export var SET_ORIGINAL_IMAGE="SET_ORIGINAL_IMAGE";export var SET_FEEDBACK="SET_FEEDBACK";export var SHOW_LOADER="SHOW_LOADER";export var HIDE_LOADER="HIDE_LOADER";export var CHANGE_POINTER_ICON="CHANGE_POINTER_ICON";export var SELECT_ANNOTATION="SELECT_ANNOTATION";export var CLEAR_ANNOTATIONS_SELECTIONS="CLEAR_ANNOTATIONS_SELECTIONS";export var TOGGLE_ORIGINAL_IMAGE_DISPLAY="TOGGLE_ORIGINAL_IMAGE_DISPLAY";export var SELECT_TAB="SELECT_TAB";export var SELECT_TOOL="SELECT_TOOL";export var ZOOM_CANVAS="ZOOM_CANVAS";export var SET_CANVAS_SIZE="SET_CANVAS_SIZE";export var SET_SHOWN_IMAGE_DIMENSIONS="SET_SHOWN_IMAGE_DIMENSIONS";export var ENABLE_TEXT_CONTENT_EDIT="ENABLE_TEXT_CONTENT_EDIT";export var SET_LATEST_COLOR="SET_LATEST_COLOR";export var SET_SHOWN_TABS_MENU="SET_SHOWN_TABS_MENU";export var SET_SAVING="SET_SAVING";export var ADD_FILTER="ADD_FILTER";export var SET_FINETUNE="SET_FINETUNE";export var SET_ANNOTATION="SET_ANNOTATION";export var SET_CROP="SET_CROP";export var CHANGE_ROTATION="CHANGE_ROTATION";export var TOGGLE_FLIP="TOGGLE_FLIP";export var SET_RESIZE="SET_RESIZE";export var REMOVE_ANNOTATIONS="REMOVE_ANNOTATIONS";export var DUPLICATE_ANNOTATIONS="DUPLICATE_ANNOTATIONS";export var UNDO="UNDO";export var REDO="REDO";export var RESET="RESET";export var SET_SAVED="SET_SAVED";export var UPDATE_STATE="UPDATE_STATE";
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1 @@
1
+ export var TABS={FINETUNE:"Finetune",FILTERS:"Filters",ADJUST:"Adjust",WATERMARK:"Watermark",ANNOTATE:"Annotate",RESIZE:"Resize"};export var TOOLS={CROP:"Crop",ROTATE:"Rotate",FLIP_X:"Flip_X",FLIP_Y:"Flip_Y",BRIGHTNESS:"Brightness",CONTRAST:"Contrast",HSV:"HueSaturationValue",WARMTH:"Warmth",BLUR:"Blur",THRESHOLD:"Threshold",POSTERIZE:"Posterize",PIXELATE:"Pixelate",NOISE:"Noise",FILTERS:"Filters",RECT:"Rect",ELLIPSE:"Ellipse",POLYGON:"Polygon",TEXT:"Text",LINE:"Line",IMAGE:"Image",ARROW:"Arrow",WATERMARK:"Watermark",PEN:"Pen",RESIZE:"Resize"};
@@ -0,0 +1 @@
1
+ export*from"./common";export*from"./annotations";export*from"./state";export*from"./config";export*from"./actions";
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1 @@
1
+ import Konva from"konva";var assignFinetuneNamesToKonva=function(){Object.keys(Konva.Filters).forEach(function(a){Konva.Filters[a].finetuneName=a})};export default assignFinetuneNamesToKonva;
@@ -0,0 +1 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import{DEFAULT_ZOOM_FACTOR}from"./constants";var calculateZoomData=function(a,b,c,d){if(a.factor===DEFAULT_ZOOM_FACTOR)return{x:0,y:0,factor:DEFAULT_ZOOM_FACTOR};var e=a.factor>b.factor,f={x:((a.x||0)-(b.x||0))/b.factor,y:((a.y||0)-(b.y||0))/b.factor},g={x:(a.x||0)-f.x*a.factor,y:(a.y||0)-f.y*a.factor};if(e&&1===b.factor||(g.x=Math.min(0,Math.max(g.x,c*(1-b.factor))),g.y=Math.min(0,Math.max(g.y,d*(1-b.factor)))),1>a.factor){var h=c-c*a.factor,i=d-d*a.factor;g.x+=h/2,g.y+=i/2}return _objectSpread(_objectSpread({},g),{},{factor:a.factor})};export default calculateZoomData;
@@ -0,0 +1 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _excluded=["cropX2","cropY2","crop","watermark"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import Konva from"konva";import{CLOUDIMG_TO_EDITOR_POSITIONS,ELLIPSE_CROP,TOOLS_IDS,WATERMARK_ANNOTATION_ID}from"./constants";import deepMerge from"./deep-merge";import mapNumber from"./map-number";import{finetuneNameToParamInfo}from"./operations-to-cloudimage-url";var propertyToOperation=function(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{},d=3<arguments.length&&arguments[3]!==void 0?arguments[3]:{},e=CLOUDIMG_TO_EDITOR_POSITIONS[b];switch(a){case"wat_text":return{watermark:{text:b.replaceAll("+"," ")}};case"wat_font":return{watermark:{fontFamily:b}};case"wat_color":return{watermark:{fill:"#".concat(b)}};case"wat_fontsize":return{watermark:{fontSize:parseFloat(b)}};case"wat_opacity":return{watermark:{opacity:parseFloat(b)}};case"wat_pos":{var f=b.split(","),g=_slicedToArray(f,2),h=g[0],i=g[1];return{watermark:{x:parseFloat(h)/100*(c.width||0),y:parseFloat(i)/100*(c.height||0)}}}case"wat_url":return{watermark:{image:decodeURIComponent(b)}};case"wat_scale":{var j=b.split(","),k=_slicedToArray(j,2),l=k[0],m=k[1];return{watermark:{width:parseFloat(l)/100*(c.width||0),height:parseFloat(m)/100*(c.height||0)}}}case"tl_px":{var n=b.split(","),o=_slicedToArray(n,2),p=o[0],q=o[1];return{crop:{x:mapNumber(parseFloat(p),0,d.width||0,0,c.width||0),y:mapNumber(parseFloat(q),0,d.height||0,0,c.height||0)}}}case"br_px":{var r=b.split(","),s=_slicedToArray(r,2),t=s[0],u=s[1];return{cropX2:mapNumber(parseFloat(t),0,d.width||0,0,c.width||0),cropY2:mapNumber(parseFloat(u),0,d.height||0,0,c.height||0)}}case"round":return{crop:{ratio:ELLIPSE_CROP}};case"gravity":return{crop:e?{lockCropAreaAt:e,width:null,height:null}:{noEffect:!0,ratio:b,ratioTitleKey:b,width:null,height:null}};case"aspect_ratio":return{crop:{ratio:+b}};case"w":return{resize:{width:parseFloat(b)}};case"h":return{resize:{height:parseFloat(b)}};case"r":return{adjustments:{rotation:-parseInt(b,10)}};case"flip":case"mirror":return{adjustments:{isFlippedX:b.includes("x")||b.includes("h"),isFlippedY:b.includes("y")||b.includes("v")}};default:{var v;if(Object.keys(finetuneNameToParamInfo).forEach(function(b){finetuneNameToParamInfo[b].cloudimage.name===a.toLowerCase()&&(v=b)}),!v)return null;var w=finetuneNameToParamInfo[v],x=w.cloudimage,y=w.internal;return{finetunes:[Konva.Filters[v]],finetunesProps:_defineProperty({},y.propName,mapNumber(parseFloat(b),x.min,x.max,y.min,y.max))}}}},cloudimageQueryToDesignState=function(a,b,c){if(!a)return null;var d=a.split("&"),e={};d.forEach(function(a){var d=a.split("="),f=_slicedToArray(d,2),g=f[0],h=f[1],i=propertyToOperation(g,h,b,c);i&&(e=deepMerge(e,i,!0))});var f=e,g=f.cropX2,h=f.cropY2,i=f.crop,j=f.watermark,k=_objectWithoutProperties(f,_excluded),l=_objectSpread(_objectSpread(_objectSpread({},k),g&&h&&i||null!==i&&void 0!==i&&i.noEffect||null!==i&&void 0!==i&&i.lockCropAreaAt?{adjustments:_objectSpread(_objectSpread({},k.adjustments),{},{crop:_objectSpread({width:(g||0)-i.x,height:(h||0)-i.y},i)})}:{}),{},{annotations:_objectSpread({},j?_defineProperty({},WATERMARK_ANNOTATION_ID,_objectSpread(_objectSpread({},j),{},{x:((null===i||void 0===i?void 0:i.x)||0)+(j.x||0),y:((null===i||void 0===i?void 0:i.y)||0)+(j.y||0),id:WATERMARK_ANNOTATION_ID,name:j.text?TOOLS_IDS.TEXT:TOOLS_IDS.IMAGE},j.text?{width:j.text.length*j.fontSize,height:j.fontSize}:{})):{})});return l};export default cloudimageQueryToDesignState;
@@ -0,0 +1 @@
1
+ import toPrecisedFloat from"./to-precised-float";var compareRatios=function(a,b){return toPrecisedFloat(a)===toPrecisedFloat(b)};export default compareRatios;
@@ -0,0 +1 @@
1
+ export var ROOT_CONTAINER_CLASS_NAME="FIE_root";export var DESIGN_LAYER_ID="FIE_design-layer";export var TRANSFORMERS_LAYER_ID="FIE_transformers-layer";export var IMAGE_NODE_ID="FIE_original-image";export var NODES_TRANSFORMER_ID="FIE_nodes-transformer";export var WATERMARK_ANNOTATION_ID="watermark";export var TRANSLATIONS_GRID_UUID="353297d2-40b4-4684-a875-45a2178a8157";export var DEFAULT_SAVE_QUALITY=.92;export var TABS_IDS={FINETUNE:"Finetune",FILTERS:"Filters",ADJUST:"Adjust",WATERMARK:"Watermark",ANNOTATE:"Annotate",RESIZE:"Resize"};export var TOOLS_IDS={CROP:"Crop",ROTATE:"Rotate",FLIP_X:"Flip_X",FLIP_Y:"Flip_Y",BRIGHTNESS:"Brightness",CONTRAST:"Contrast",HSV:"HueSaturationValue",WARMTH:"Warmth",BLUR:"Blur",THRESHOLD:"Threshold",POSTERIZE:"Posterize",PIXELATE:"Pixelate",NOISE:"Noise",FILTERS:"Filters",RECT:"Rect",ELLIPSE:"Ellipse",POLYGON:"Polygon",TEXT:"Text",LINE:"Line",IMAGE:"Image",ARROW:"Arrow",WATERMARK:"Watermark",PEN:"Pen",RESIZE:"Resize"};export var FLIP_DIRECTIONS={X:"X",Y:"Y"};export var DEFAULT_ZOOM_FACTOR=1;export var SUPPORTED_IMAGE_TYPES=["png","jpeg","jpg","webp"];export var POSSIBLE_IMAGE_TYPES=[].concat(SUPPORTED_IMAGE_TYPES,["svg","gif","avif","apng"]);export var DEFAULT_IMAGE_TYPE=SUPPORTED_IMAGE_TYPES[0];export var POINTER_ICONS={DEFAULT:"default",DRAW:"crosshair",SELECT:"pointer",MOVE:"move",DRAG:"GRAB"};export var DEFAULT_ENABLED_ANCHORS=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"];export var ORIGINAL_CROP="Crop";export var CUSTOM_CROP="custom";export var ELLIPSE_CROP="ellipse";export var POSITIONS={TOP_LEFT:"top-left",TOP_CENTER:"top-center",TOP_RIGHT:"top-right",MIDDLE_LEFT:"middle-left",MIDDLE_CENTER:"middle-center",MIDDLE_RIGHT:"middle-right",BOTTOM_LEFT:"bottom-left",BOTTOM_CENTER:"bottom-center",BOTTOM_RIGHT:"bottom-right"};export var MIN_CROP={WIDTH:14,HEIGHT:14};export var CLOSING_REASONS={AFTER_SAVE:"after-saving",CLOSE_BUTTON:"close-button-clicked",BACK_BUTTON:"back-button-clicked"};export var FEEDBACK_STATUSES={WARNING:"warning",ERROR:"error"};export var EDITOR_TO_CLOUDIMG_POSITIONS={top:"north",bottom:"south",left:"west",center:"center",right:"east"};export var CLOUDIMG_TO_EDITOR_POSITIONS={northwest:"top-left",northcenter:"top-center",northeast:"top-right",centerwest:"center-left",centercenter:"center-center",centereast:"center-right",southwest:"bottom-left",southcenter:"bottom-center",southeast:"bottom-right"};
@@ -0,0 +1 @@
1
+ import{ELLIPSE_CROP}from"./constants";var cropImage=function(a,b){var c=!!(2<arguments.length&&arguments[2]!==void 0)&&arguments[2];b.ratio!==ELLIPSE_CROP||c?a.rect(b.x,b.y,b.width,b.height):a.ellipse(b.x+b.width/2,b.y+b.height/2,b.width/2,b.height/2,0,0,2*Math.PI)};export default cropImage;
@@ -0,0 +1 @@
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";function _arrayLikeToArray(b,c){(null==c||c>b.length)&&(c=b.length);for(var d=0,f=Array(c);d<c;d++)f[d]=b[d];return f}var debounce=function(a){var b,c=1<arguments.length&&arguments[1]!==void 0?arguments[1]:300;return function(){var d,e;b!==void 0&&clearTimeout(b);for(var f=arguments.length,g=Array(f),h=0;h<f;h++)g[h]=arguments[h];var i=g[0],j=_arrayLikeToArray(g).slice(1);b=setTimeout(a.bind.apply(a,[null,null!==(d=null===i||void 0===i||null===(e=i.target)||void 0===e?void 0:e.value)&&void 0!==d?d:i].concat(_toConsumableArray(j))),c)}};export default debounce;
@@ -0,0 +1 @@
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _typeof from"@babel/runtime/helpers/typeof";import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}var _deepMerge=function(a){var b=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},c=!!(2<arguments.length&&void 0!==arguments[2])&&arguments[2],d=_objectSpread({},a),e=Object.keys(b);return e.forEach(function(e){var f=b[e];if(void 0!==f){var g=_typeof(f);if("object"!==g||f instanceof HTMLElement||null===f||Array.isArray(f)||!a[e]||"object"!==_typeof(a[e]))return void(d[e]=c&&Array.isArray(d[e])&&Array.isArray(f)?[].concat(_toConsumableArray(d[e]),_toConsumableArray(f)):f);d[e]=_deepMerge(a[e],f)}}),d};export default _deepMerge;
@@ -0,0 +1 @@
1
+ import defaultConfig from"context/default-config";import getInitialAppState from"context/get-initial-app-state";var extractCurrentDesignState=function(a,b){var c=getInitialAppState(b?a:defaultConfig);return{imgSrc:a.imgSrc||c.imgSrc,finetunes:a.finetunes||c.finetunes,finetunesProps:a.finetunesProps||c.finetunesProps,filter:a.filter||c.filter,adjustments:a.adjustments||c.adjustments,annotations:a.annotations||c.annotations,resize:a.resize||c.resize}};export default extractCurrentDesignState;
@@ -0,0 +1 @@
1
+ var extractNameFromUrl=function(a){var b=a.split("/");return b[b.length-1].split("?")[0]};export default extractNameFromUrl;
@@ -0,0 +1 @@
1
+ import Konva from"konva";import*as CustomFilters from"custom/filters";var filterStrToClass=function(a){return a?CustomFilters[a]||Konva.Filters[a]:null};export default filterStrToClass;
@@ -0,0 +1 @@
1
+ import Konva from"konva";import*as CustomFinetunes from"custom/finetunes";var finetunesStrsToClasses=function(a){return Array.isArray(a)&&0<a.length?a.map(function(a){return Konva.Filters[a]||CustomFinetunes[a]}):[]};export default finetunesStrsToClasses;
@@ -0,0 +1 @@
1
+ var getRotatedPoint=function(a,b){var c=a.x,d=a.y,e=b*Math.PI/180,f=Math.cos(e),g=Math.sin(e);return{x:c*f-d*g,y:d*f+c*g}},getCenterRotatedPoint=function(a,b,c){if(!a||!b||!c&&0!==c)return{x:0,y:0,rotation:c};var d={x:-a/2,y:-b/2},e=getRotatedPoint(d,0),f=getRotatedPoint(d,c),g=f.x-e.x,h=f.y-e.y;return{x:g,y:h,rotation:c}};export default getCenterRotatedPoint;
@@ -0,0 +1 @@
1
+ import{DEFAULT_SAVE_QUALITY}from"./constants";var getDefaultSaveQuality=function(a){return 0>=a||1<a?DEFAULT_SAVE_QUALITY:a};export default getDefaultSaveQuality;
@@ -0,0 +1 @@
1
+ var getDimensionsMinimalRatio=function(a,b,c,d){return Math.min(a/c,b/d)||1};export default getDimensionsMinimalRatio;
@@ -0,0 +1 @@
1
+ import getScrollOffset from"./get-scroll-offset";var getElemDocumentCoords=function(a){if(!a)return null;var b=a.getBoundingClientRect(),c=document,d=c.body,e=getScrollOffset(),f=e.topOffset,g=e.leftOffset,h=document.documentElement,i=h.clientTop||d.clientTop||0,j=h.clientLeft||d.clientLeft||0,k=b.top+f-i,l=b.left+g-j;return{top:Math.round(k),left:Math.round(l),width:b.width,height:b.height}};export default getElemDocumentCoords;
@@ -0,0 +1 @@
1
+ import{DEFAULT_IMAGE_TYPE,POSSIBLE_IMAGE_TYPES,SUPPORTED_IMAGE_TYPES}from"./constants";var getFileFullName=function(a,b){var c=a||"",d=b,e=c;if(!d&&POSSIBLE_IMAGE_TYPES.some(function(a){return c.lastIndexOf(".".concat(a))===c.length-".".concat(a).length})){var f,g=null===(f=c.slice(c.lastIndexOf(".")+1))||void 0===f?void 0:f.toLowerCase();d=g&&SUPPORTED_IMAGE_TYPES.includes(g)?g:DEFAULT_IMAGE_TYPE,e=c.slice(0,c.lastIndexOf("."))}return d=d||DEFAULT_IMAGE_TYPE,{fullName:"".concat(e,".").concat(d),name:e,extension:d}};export default getFileFullName;
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import sha1 from"./sha1";var encodeBase64=function(a){return btoa(a).replace(/=*$/g,"")},getSha1=function(a,b){return sha1(a).slice(0,b)},getSealingParams=function(a,b,c,d){var e=encodeBase64(a),f=getSha1(b+e+(c||""),d);return[f?"ci_seal=".concat(f):"",e?"ci_eqs=".concat(e):""].filter(function(a){return a}).join("&")},getImageSealingParams=function(a,b,c){var d=b||{},e=d.salt,f=d.charCount,g=d.includeParams,h=void 0===g?[]:g,i=!h||0===(null===h||void 0===h?void 0:h.length),j="",k=[],l=[];a.split("&").forEach(function(a){var b=a.split("="),c=_slicedToArray(b,1),d=c[0];-1<(null===h||void 0===h?void 0:h.indexOf(d))||i?k.push(a):l.push(a)}),0<l.length&&(j=l.join("&"));var m=getSealingParams(k.join("&"),c,e,f);return[m,j].filter(function(a){return a}).join("&")};export default getImageSealingParams;
@@ -0,0 +1 @@
1
+ import restrictNumber from"./restrict-number";var getPointerOffsetPositionBoundedToObject=function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{},b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{width:0,height:0},c=a.parent,d=c.getStage(),e=d.attrs.zoomFactor,f=c.getRelativePointerPosition();return{offsetX:restrictNumber(f.x,0,b.width/(d.scaleX()/e))+c.attrs.xPadding,offsetY:restrictNumber(f.y,0,b.height/(d.scaleY()/e))+c.attrs.yPadding}};export default getPointerOffsetPositionBoundedToObject;