@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 _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 getSizeAfterRotation from"./get-size-after-rotation";import mapCropBox from"./map-crop-box";var getProperDimensions=function(a,b,c,d){var e=4<arguments.length&&arguments[4]!==void 0?arguments[4]:0;if(a.width&&a.height)return a;var f=mapCropBox(b,c,d),g=getSizeAfterRotation(f.width,f.height,e);return a.width||a.height?{width:a.width||g.width,height:a.height||g.height}:g.width&&g.height&&g||_objectSpread(_objectSpread({},d),getSizeAfterRotation(d.width,d.height,e))};export default getProperDimensions;
@@ -0,0 +1 @@
1
+ var SPACING_PERCENTAGE=.05,DEFAULT_SPACING=12,getProperImageToCanvasSpacing=function(){return 2*(window?Math.min(window.innerHeight,window.innerWidth)*SPACING_PERCENTAGE:DEFAULT_SPACING)};export default getProperImageToCanvasSpacing;
@@ -0,0 +1 @@
1
+ var getScrollOffset=function(){var a,b,c=document,d=c.body,e=document.documentElement,f=(null===(a=window)||void 0===a?void 0:a.pageYOffset)||e.scrollTop||d.scrollTop,g=(null===(b=window)||void 0===b?void 0:b.pageXOffset)||e.scrollLeft||d.scrollLeft;return{topOffset:f,leftOffset:g}};export default getScrollOffset;
@@ -0,0 +1 @@
1
+ var getSizeAfterRotation=function(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:0,d=Math.abs(c),e=Math.round(c),f=90<d,g=f?d-90:d,h=f?b:a,i=f?a:b,j=g*Math.PI/180,k=Math.abs(Math.sin(j)),l=Math.abs(Math.cos(j));return{width:Math.round(h*l)+Math.round(i*k),height:Math.round(h*k)+Math.round(i*l),offsetTop:0<=e&&90>=e?0:function(){return 0>e&&-90<e?h*k:90<e?h*k:i*l+h*k}(),offsetLeft:0>=e&&-90<=e?0:function(){return 90<e?h*l+i*k:i*k}()}};export default getSizeAfterRotation;
@@ -0,0 +1 @@
1
+ import{DEFAULT_ZOOM_FACTOR}from"./constants";var getZoomFitFactor=function(a,b){return Math.min(a.width/b.width,a.height/b.height)||DEFAULT_ZOOM_FACTOR};export default getZoomFitFactor;
@@ -0,0 +1 @@
1
+ var imageToBase64=function(a){if(a instanceof HTMLImageElement){var b=document.createElement("canvas"),c=b.getContext("2d");return b.width=a.width,b.height=a.height,c.drawImage(a,0,0),b.toDataURL()}return""};export default imageToBase64;
@@ -0,0 +1 @@
1
+ var isDefaultZeroValuesOnly=function(a,b){return!!(a&&Object.keys(a||{}).every(function(b){return 0===a[b]})&&b&&0===Object.keys(b||{}).length)};export default isDefaultZeroValuesOnly;
@@ -0,0 +1 @@
1
+ var isSameImage=function(a,b){return!!(a&&b&&(a instanceof HTMLImageElement&&a.src===b.src&&a.width===b.width&&a.height===b.height||((null===a||void 0===a?void 0:a.src)||a)===b.src))};export default isSameImage;
@@ -0,0 +1 @@
1
+ import extractNameFromUrl from"./extract-name-from-url";var loadImage=function(a,b){var c=!!(2<arguments.length&&arguments[2]!==void 0)&&arguments[2];return new Promise(function(d,e){var f=new Image;c||(f.crossOrigin="Anonymous"),f.src=a,f.name=null!==b&&void 0!==b?b:extractNameFromUrl(a),f.onload=function(){d(f)},f.onerror=function(){e(new Error("Error in loading the image with the provided url: ".concat(a)))}})};export default loadImage;
@@ -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 mapNumber from"./map-number";var mapCropBox=function(a,b,c){var d,e;return _objectSpread(_objectSpread(_objectSpread({},a.x||0===a.x?{x:Math.round(mapNumber(a.x,0,b.width,0,c.width))}:{}),a.y||0===a.y?{y:Math.round(mapNumber(a.y,0,b.height,0,c.height))}:{}),{},{width:Math.round(mapNumber(null!==(d=a.width)&&void 0!==d?d:b.width,0,b.width,0,c.width)),height:Math.round(mapNumber(null!==(e=a.height)&&void 0!==e?e:b.height,0,b.height,0,c.height))})};export default mapCropBox;
@@ -0,0 +1 @@
1
+ var mapNumber=function(a,b,c,d,e){return(a-b)*(e-d)/(c-b)+d};export default mapNumber;
@@ -0,0 +1 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import{POSITIONS}from"./constants";import getSizeAfterRotation from"./get-size-after-rotation";var mapPositionStringToPoint=function(a,b,c){var d=a.width,e=a.height,f=a.scaleX,g=void 0===f?1:f,h=a.scaleY,i=void 0===h?1:h,j=a.rotation,k=void 0===j?0:j,l=a.padding,m=void 0===l?0:l,n=a.radius,o=a.radiusX,p=a.radiusY,q=getSizeAfterRotation((d||2*(n||o||0))*g,(e||2*(n||p||0))*i,k),r=b.attrs,s=r.clipWidth,t=r.clipHeight,u=r.clipX,v=void 0===u?0:u,w=r.clipY,x=void 0===w?0:w,y={left:v+q.offsetLeft+m,center:v+s/2-(q.width/2-q.offsetLeft)+m,right:v+s-q.width-m+q.offsetLeft},z={top:x+q.offsetTop+m,middle:x+t/2-(q.height/2-q.offsetTop)+m,bottom:x+t-q.height-m+q.offsetTop},A=_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},POSITIONS.TOP_LEFT,function(){return{x:y.left,y:z.top}}),POSITIONS.TOP_CENTER,function(){return{x:y.center,y:z.top}}),POSITIONS.TOP_RIGHT,function(){return{x:y.right,y:z.top}}),POSITIONS.MIDDLE_LEFT,function(){return{x:y.left,y:z.middle}}),POSITIONS.MIDDLE_CENTER,function(){return{x:y.center,y:z.middle}}),POSITIONS.MIDDLE_RIGHT,function(){return{x:y.right,y:z.middle}}),POSITIONS.BOTTOM_LEFT,function(){return{x:y.left,y:z.bottom}}),POSITIONS.BOTTOM_CENTER,function(){return{x:y.center,y:z.bottom}}),POSITIONS.BOTTOM_RIGHT,function(){return{x:y.right,y:z.bottom}});return A[c]()};export default mapPositionStringToPoint;
@@ -0,0 +1 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var _excluded=["width","height","x","y","opacity","scaleX","scaleY"];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{EDITOR_TO_CLOUDIMG_POSITIONS,ELLIPSE_CROP,TOOLS_IDS,WATERMARK_ANNOTATION_ID}from"./constants";import getImageSealingParams from"./get-image-sealing-params";import mapCropBox from"./map-crop-box";import mapNumber from"./map-number";import rgbaToHexWithOpacity from"./rgba-to-hexa";import toPrecisedFloat from"./to-precised-float";var generateCropQuery=function(a,b,c,d){if(a.noEffect)return a.ratio.includes("=")?a.ratio:"gravity=".concat(a.ratio);var e=(d||{}).lockCropAreaAt,f=mapCropBox(a,b,c),g=f.x,h=f.y,i=f.width,j=f.height,k=a.ratio===ELLIPSE_CROP?"&radius=".concat(Math.max(i,j),"&force_format=png"):"";if(e){var l=e.split("-"),m=_slicedToArray(l,2),n=m[0],o=m[1],p="".concat(EDITOR_TO_CLOUDIMG_POSITIONS[n]).concat(EDITOR_TO_CLOUDIMG_POSITIONS[o]);return"gravity=".concat(p,"&aspect_ratio=").concat(toPrecisedFloat("string"==typeof a.ratio?i/j:a.ratio,2)).concat(k)}return"tl_px=".concat(g,",").concat(h,"&br_px=").concat((g||0)+i,",").concat((h||0)+j).concat(k)},generateResizeQuery=function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{},b=a.width,c=a.height;return"w=".concat(b,"&h=").concat(c)},generateRotationQuery=function(a){return"r=".concat(-a)},generateFlipQuery=function(a,b){return"flip=".concat(a?"x":"").concat(b?"y":"")},generateWatermarkQuery=function(a){var b,c=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{},d=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{},e=c.width,f=c.height,g=c.x,h=c.y,i=c.opacity,j=c.scaleX,k=void 0===j?1:j,l=c.scaleY,m=void 0===l?1:l,n=_objectWithoutProperties(c,_excluded),o=a.width/a.height,p=a.width*a.scaledBy,q=a.height*a.scaledBy,r=(g||0)*a.scaledBy,s=(h||0)*a.scaledBy,t="wat=1&wat_gravity=absolute&wat_pos=".concat(Math.floor(100*((r-(d.x||0))/p)),"p,").concat(Math.floor(100*((s-(d.y||0))/q)),"p");if(c.name===TOOLS_IDS.TEXT){var u,v=rgbaToHexWithOpacity(n.fill),w=v.hex,x=v.opacity;return"".concat(t,"&wat_text=").concat((n.text||"").replaceAll("\n",""),"&wat_font=").concat(n.fontFamily,"&wat_color=").concat(w,"&wat_opacity=").concat(null!==(u=null!==x&&void 0!==x?x:i)&&void 0!==u?u:1,"&wat_fontsize=").concat(n.fontSize,"max")}var y=(null===(b=n.image)||void 0===b?void 0:b.src)||n.image,z=!y.startsWith("blob:")&&y,A=toPrecisedFloat(100*((e||0)/(f||1)>o?(e||0)*k/p:(f||0)*m/q),2);return"".concat(t,"&wat_opacity=").concat(i,"&wat_scale=").concat(A,"p").concat(z?"&wat_url=".concat(encodeURIComponent(z)):"")};export var finetuneNameToParamInfo={Brighten:{cloudimage:{name:"bright",min:-100,max:100},internal:{propName:"brightness",min:-1,max:1}},Contrast:{cloudimage:{name:"contrast",min:-100,max:100},internal:{propName:"contrast",min:-100,max:100}},Blur:{cloudimage:{name:"blur",min:0,max:100},internal:{propName:"blurRadius",min:0,max:100}}};var generateFinetuneQuery=function(a){var b=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},c=[];return a.forEach(function(a){var d=(a.finetuneName||a.name)&&finetuneNameToParamInfo[a.finetuneName||a.name];if(d){var e=toPrecisedFloat(mapNumber(b[d.internal.propName],d.internal.min,d.internal.max,d.cloudimage.min,d.cloudimage.max),2);c.push("".concat(d.cloudimage.name,"=").concat(e))}}),c.join("&")},operationsToCloudimageUrl=function(a,b,c,d,e){var f=a.token,g=a.domain,h=a.dontPrefixUrl,i=a.version,j=a.imageSealing,k=a.secureProtocol,l=b.imgSrc,m=b.adjustments,n=m.crop,o=m.rotation,p=m.isFlippedX,q=m.isFlippedY,r=b.resize,s=void 0===r?{}:r,t=b.finetunes,u=void 0===t?[]:t,v=b.finetunesProps,w=b.annotations,x=void 0===w?{}:w,y=h?"":"http".concat(k?"s":"","://").concat(f,".").concat((g||"").replace(/^(https?:\/\/)?(www\.)?|^\.|\/$/g,""),"/").concat(i?"".concat(i,"/"):""),z=[];n.width&&n.height&&(n.x||0===n.x)&&(n.y||0===n.y)&&z.push(generateCropQuery(n,c,d,e)),(s.width||s.height)&&z.push(generateResizeQuery(_objectSpread(_objectSpread({},d),s))),o&&z.push(generateRotationQuery(o)),(p||q)&&z.push(generateFlipQuery(p,q)),0<u.length&&v&&z.push(generateFinetuneQuery(u,v)),x[WATERMARK_ANNOTATION_ID]&&z.push(generateWatermarkQuery(c,x[WATERMARK_ANNOTATION_ID],n)),z.push("ci_url_encoded=1");var A=z.join("&");null!==j&&void 0!==j&&j.enable&&(A=getImageSealingParams(A,j,l)),A=A.replaceAll(" ","+");var B=!h&&"?"||-1===l.indexOf("?")?"?":"&";return"".concat(y).concat(h?l:encodeURIComponent(l)).concat(A?"".concat(B).concat(A.replace(/&$/,"")):"")};export default operationsToCloudimageUrl;
@@ -0,0 +1 @@
1
+ var randomId=function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:"";return"".concat(a).concat(a?"-":"").concat(parseInt((Date.now()*Math.random()).toString(),10))};export default randomId;
@@ -0,0 +1 @@
1
+ var restrictNumber=function(a,b,c){var d=b===void 0?0:b;return Math.min(Math.max(d,+a),c||1e6)};export default restrictNumber;
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var rgbaToHexWithOpacity=function(){var a,c=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"",d={hex:"000000",opacity:1};if(!c)return d;if(c.startsWith("#"))return{hex:c.replace("#",""),opacity:1};var e=c.split(","),f=_slicedToArray(e,4),h=f[0],i=f[1],g=f[2],b=f[3];if(!h||!i||!g)return d;var j=parseFloat(h.replace(/rgba?\(/,"").trim()).toString(16),k=parseFloat(i.trim()).toString(16),l=parseFloat(g.trim()).toString(16),m=b?parseFloat(null!==(a=b.trim())&&void 0!==a?a:"1"):void 0;return 1===j.length&&(j="0".concat(j)),1===k.length&&(k="0".concat(k)),1===l.length&&(l="0".concat(l)),{hex:"".concat(j).concat(k).concat(l),opacity:m}};export default rgbaToHexWithOpacity;
@@ -0,0 +1 @@
1
+ var rotateLeft=function(a,b){return a<<b|a>>>32-b},cvtHex=function(a){var b,c,d="";for(b=7;0<=b;b--)c=15&a>>>4*b,d+=c.toString(16);return d},Utf8Encode=function(a){for(var b,d=a.replace(/\r\n/g,"\n"),e="",f=0;f<d.length;f++)b=d.charCodeAt(f),128>b?e+=String.fromCharCode(b):127<b&&2048>b?(e+=String.fromCharCode(192|b>>6),e+=String.fromCharCode(128|63&b)):(e+=String.fromCharCode(224|b>>12),e+=String.fromCharCode(128|63&b>>6),e+=String.fromCharCode(128|63&b));return e},sha1=function(a){var b,c,d,e,f,g,h,k,l,m=a,n=Array(80),o=1732584193,p=4023233417,q=2562383102,r=271733878,s=3285377520;m=Utf8Encode(m);var t=m.length,u=[];for(c=0;c<t-3;c+=4)d=m.charCodeAt(c)<<24|m.charCodeAt(c+1)<<16|m.charCodeAt(c+2)<<8|m.charCodeAt(c+3),u.push(d);switch(t%4){case 0:c=2147483648;break;case 1:c=8388608|m.charCodeAt(t-1)<<24;break;case 2:c=32768|(m.charCodeAt(t-2)<<24|m.charCodeAt(t-1)<<16);break;case 3:c=128|(m.charCodeAt(t-3)<<24|m.charCodeAt(t-2)<<16|m.charCodeAt(t-1)<<8);break;default:}for(u.push(c);14!=u.length%16;)u.push(0);for(u.push(t>>>29),u.push(4294967295&t<<3),b=0;b<u.length;b+=16){for(c=0;16>c;c++)n[c]=u[b+c];for(c=16;79>=c;c++)n[c]=rotateLeft(n[c-3]^n[c-8]^n[c-14]^n[c-16],1);for(e=o,f=p,g=q,h=r,k=s,c=0;19>=c;c++)l=4294967295&rotateLeft(e,5)+(f&g|~f&h)+k+n[c]+1518500249,k=h,h=g,g=rotateLeft(f,30),f=e,e=l;for(c=20;39>=c;c++)l=4294967295&rotateLeft(e,5)+(f^g^h)+k+n[c]+1859775393,k=h,h=g,g=rotateLeft(f,30),f=e,e=l;for(c=40;59>=c;c++)l=4294967295&rotateLeft(e,5)+(f&g|f&h|g&h)+k+n[c]+2400959708,k=h,h=g,g=rotateLeft(f,30),f=e,e=l;for(c=60;79>=c;c++)l=4294967295&rotateLeft(e,5)+(f^g^h)+k+n[c]+3395469782,k=h,h=g,g=rotateLeft(f,30),f=e,e=l;o=4294967295&o+e,p=4294967295&p+f,q=4294967295&q+g,r=4294967295&r+h,s=4294967295&s+k}return l=cvtHex(o)+cvtHex(p)+cvtHex(q)+cvtHex(r)+cvtHex(s),l.toLowerCase()};export default sha1;
@@ -0,0 +1 @@
1
+ var toPrecisedFloat=function(a){var b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:5;return a&&+parseFloat(a.toString()).toFixed(b)};export default toPrecisedFloat;
@@ -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 defaultTranslations from"context/default-translations";import{TRANSLATIONS_GRID_UUID}from"./constants";var backendTranslations={},activatedTranslations=_objectSpread({},defaultTranslations),hardcodedErrorMsg="Error while loading translations from backend.";export var updateTranslations=function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{},b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"en";return Object.assign(activatedTranslations,(null===backendTranslations||void 0===backendTranslations?void 0:backendTranslations[null===b||void 0===b?void 0:b.toLowerCase()])||{},a)};var sendMissingTranslationsToBackend=function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:[];return new Promise(function(b,c){var d=new XMLHttpRequest;d.responseType="json",d.onload=function(){if(200<=d.status&&300>d.status)b(d.response);else{var a;console.warn("Error in sending translation key to backend ".concat(null===(a=d.response)||void 0===a?void 0:a.hint,", ").concat(d.status)),c(new Error("Error in sending translation key to backend"))}},d.onerror=function(){var a;console.warn("Error in sending translation key to backend ".concat(null===(a=d.response)||void 0===a?void 0:a.hint,", ").concat(d.status)),c(new Error("Error in sending translation key to backend"))};d.open("POST","https://neo.wordplex.io/api/import/request-translations?grid_uuid=".concat(TRANSLATIONS_GRID_UUID)),d.send(JSON.stringify({grid_uuid:TRANSLATIONS_GRID_UUID,translations_requests:a}))})};export var getBackendTranslations=function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:"en",b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};return new Promise(function(c,d){var e=a.toLowerCase(),f=new XMLHttpRequest;f.responseType="json",f.onload=function(){if(200<=f.status&&300>f.status){(f.response||[]).forEach(function(a){backendTranslations[e]=_objectSpread(_objectSpread({},backendTranslations[e]),{},_defineProperty({},a.translation_key,a.translations[e]))});var a=[];Object.keys(defaultTranslations).forEach(function(b){var c;b&&!(null!==(c=backendTranslations[e])&&void 0!==c&&c[b])&&a.push({key:b,lang:e,default:defaultTranslations[b]})}),0<a.length&&void sendMissingTranslationsToBackend(a),updateTranslations(b,e),c(activatedTranslations)}else{var g,h,i;console.error("Status code: ".concat(f.status)),console.error((null===(g=f.response)||void 0===g?void 0:g.msg)||(null===(h=f.response)||void 0===h?void 0:h.msg)||(null===(i=f.response)||void 0===i?void 0:i.details)||hardcodedErrorMsg),d(new Error("Error in sending translation key to backend"))}},f.onerror=function(){console.error("Status code ".concat(f.status,", error: ").concat(hardcodedErrorMsg)),d(new Error("Error in sending translation key to backend"))},f.open("GET","https://i18n-fastly.ultrafast.io/api/export?grid=".concat(TRANSLATIONS_GRID_UUID)),f.send()})};export var translate=function(a){return activatedTranslations[a]||a||""};
package/package.json ADDED
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "@solostylist/image-editor",
3
+ "publishConfig": {
4
+ "access": "public"
5
+ },
6
+ "version": "1.0.0",
7
+ "license": "MIT",
8
+ "author": "Lê Đặng Trường Đạt",
9
+ "main": "./lib/index.js",
10
+ "types": "./lib/index.d.ts",
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/ledangtruongdatdnvn/solostylist-image-editor"
14
+ },
15
+ "keywords": [
16
+ "Image editing react component",
17
+ "React Image Editor",
18
+ "image editor",
19
+ "solostylist image editor",
20
+ "edit image",
21
+ "modify image",
22
+ "update image",
23
+ "finetune",
24
+ "filters",
25
+ "weatermark",
26
+ "resize",
27
+ "annotate"
28
+ ],
29
+ "files": [
30
+ "lib"
31
+ ],
32
+ "dependencies": {
33
+ "@babel/runtime": "^7.28.6",
34
+ "@emotion/cache": "^11.14.0",
35
+ "@emotion/react": "^11.14.0",
36
+ "@emotion/styled": "^11.14.1",
37
+ "@fontsource/outfit": "^5.2.8",
38
+ "@mui/icons-material": "^7.3.7",
39
+ "@mui/lab": "^7.0.1-beta.21",
40
+ "@mui/material": "^7.3.7",
41
+ "@mui/system": "^7.3.7",
42
+ "@mui/utils": "^7.3.7",
43
+ "@solostylist/ui-kit": "^1.0.195",
44
+ "dayjs": "^1.11.19",
45
+ "framer-motion": "^12.34.0",
46
+ "konva": "10.2.0",
47
+ "overlayscrollbars": "^2.14.0",
48
+ "overlayscrollbars-react": "^0.5.6",
49
+ "react-colorful": "^5.6.1",
50
+ "uuid": "^13.0.0"
51
+ },
52
+ "peerDependencies": {
53
+ "react": ">=17.0.0",
54
+ "react-dom": ">=17.0.0",
55
+ "react-konva": ">=17.0.0"
56
+ },
57
+ "scripts": {
58
+ "build:lib": "rimraf lib && cross-env BABEL_ENV=production NODE_ENV=production babel src -d lib --config-file ../../babel.config.json --extensions '.ts,.tsx' --ignore '**/*.d.ts' --copy-files -D"
59
+ },
60
+ "gitHead": "eb3c52c580ba7169cbfe3a226748fa9b4ddd0d30"
61
+ }