@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{CircleOutlined as EllipseIcon}from"@mui/icons-material";import ToolsBarItemButton from"components/tools-bar/tools-bar-item-button";import{TOOLS_IDS}from"utils/constants";var EllipseButton=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{id:TOOLS_IDS.ELLIPSE,label:d("ellipseTool"),Icon:EllipseIcon,onClick:b,isSelected:void 0!==c&&c})};export default EllipseButton;
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{useAnnotation}from"hooks";import{TOOLS_IDS}from"utils/constants";import AnnotationOptions from"components/common/annotation-options";var EllipseOptions=function(a){var b=a.t,c=useAnnotation({name:TOOLS_IDS.ELLIPSE}),d=_slicedToArray(c,2),e=d[0],f=d[1];return React.createElement(AnnotationOptions,{className:"FIE_ellipse-tool-options",annotation:e,updateAnnotation:f,t:b})};export default EllipseOptions;
@@ -0,0 +1 @@
1
+ export{default as EllipseButton}from"./ellipse-button";export{default as EllipseOptions}from"./ellipse-options";
@@ -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{memo,useCallback,useEffect,useRef}from"react";import{Layer,Image,Stage}from"react-konva";import{Typography}from"@mui/material";import{SFlexBox}from"@solostylist/ui-kit/core";var MAX_FILTER_PREVIEW_WIDTH=60,MAX_FILTER_PREVIEW_HEIGHT=45,FilterItem=function(a){var b=a.filterLabel,c=a.filterFn,d=a.applyFilter,e=a.isActive,f=a.image,g=useRef(null),h=useCallback(function(){d(c)},[c]),i=useCallback(function(){g.current?g.current.cache():setTimeout(i,0)},[]);useEffect(function(){return f&&i(),function(){var a;null===(a=g.current)||void 0===a||a.clearCache()}},[f]);var j=f.width/f.height,k=1>j,l=k?MAX_FILTER_PREVIEW_WIDTH:MAX_FILTER_PREVIEW_HEIGHT*j,m=k?MAX_FILTER_PREVIEW_WIDTH/j:MAX_FILTER_PREVIEW_HEIGHT;return React.createElement(SFlexBox,{onClick:h,"aria-selected":e,sx:{flexDirection:"column",alignItems:"center",justifyContent:"center",gap:.5,cursor:"pointer"}},React.createElement(Stage,{width:MAX_FILTER_PREVIEW_WIDTH,height:MAX_FILTER_PREVIEW_HEIGHT,style:_objectSpread({padding:1},e&&{borderRadius:2,border:"1px solid",borderColor:"divider"})},React.createElement(Layer,{onTap:h},React.createElement(Image,{image:f,filters:c?[c]:[],width:l,height:m,x:-(l-MAX_FILTER_PREVIEW_WIDTH)/2,y:-(m-MAX_FILTER_PREVIEW_HEIGHT)/2,ref:g}))),React.createElement(Typography,null,b))};export default memo(FilterItem);
@@ -0,0 +1 @@
1
+ import Konva from"konva";import*as CustomKonvaFilters from"custom/filters";var konvaFilters=Konva.Filters;export var AVAILABLE_FILTERS=[{label:"Original",filterFn:null},{label:"Invert",filterFn:konvaFilters.Invert},{label:"Black & White",filterFn:CustomKonvaFilters.BlackAndWhite},{label:"Sepia",filterFn:konvaFilters.Sepia},{label:"Solarize",filterFn:konvaFilters.Solarize},{label:"Clarendon",filterFn:CustomKonvaFilters.Clarendon},{label:"Gingham",filterFn:CustomKonvaFilters.Gingham},{label:"Moon",filterFn:CustomKonvaFilters.Moon},{label:"Lark",filterFn:CustomKonvaFilters.Lark},{label:"Reyes",filterFn:CustomKonvaFilters.Reyes},{label:"Juno",filterFn:CustomKonvaFilters.Juno},{label:"Slumber",filterFn:CustomKonvaFilters.Slumber},{label:"Crema",filterFn:CustomKonvaFilters.Crema},{label:"Ludwig",filterFn:CustomKonvaFilters.Ludwig},{label:"Aden",filterFn:CustomKonvaFilters.Aden},{label:"Perpetua",filterFn:CustomKonvaFilters.Perpetua},{label:"Amaro",filterFn:CustomKonvaFilters.Amaro},{label:"Mayfair",filterFn:CustomKonvaFilters.Mayfair},{label:"Rise",filterFn:CustomKonvaFilters.Rise},{label:"Hudson",filterFn:CustomKonvaFilters.Hudson},{label:"Valencia",filterFn:CustomKonvaFilters.Valencia},{label:"X-Pro II",filterFn:CustomKonvaFilters.XPro2},{label:"Sierra",filterFn:CustomKonvaFilters.Sierra},{label:"Willow",filterFn:CustomKonvaFilters.Willow},{label:"Lo-Fi",filterFn:CustomKonvaFilters.LoFi},{label:"Inkwell",filterFn:konvaFilters.Grayscale},{label:"Hefe",filterFn:CustomKonvaFilters.Hefe},{label:"Nashville",filterFn:CustomKonvaFilters.Nashville},{label:"Stinson",filterFn:CustomKonvaFilters.Stinson},{label:"Vesper",filterFn:CustomKonvaFilters.Vesper},{label:"Earlybird",filterFn:CustomKonvaFilters.Earlybird},{label:"Brannan",filterFn:CustomKonvaFilters.Brannan},{label:"Sutro",filterFn:CustomKonvaFilters.Sutro},{label:"Toaster",filterFn:CustomKonvaFilters.Toaster},{label:"Walden",filterFn:CustomKonvaFilters.Walden},{label:"1977",filterFn:CustomKonvaFilters.NinteenSeventySeven},{label:"Kelvin",filterFn:CustomKonvaFilters.Kelvin},{label:"Maven",filterFn:CustomKonvaFilters.Maven},{label:"Ginza",filterFn:CustomKonvaFilters.Ginza},{label:"Skyline",filterFn:CustomKonvaFilters.Skyline},{label:"Dogpatch",filterFn:CustomKonvaFilters.Dogpatch},{label:"Brooklyn",filterFn:CustomKonvaFilters.Brooklyn},{label:"Helena",filterFn:CustomKonvaFilters.Helena},{label:"Ashby",filterFn:CustomKonvaFilters.Ashby},{label:"Charmes",filterFn:CustomKonvaFilters.Charmes}];
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{SCarousel}from"@solostylist/ui-kit/carousel";import{useFilter,useStore}from"hooks";import FilterItem from"./filter-item";import{AVAILABLE_FILTERS}from"./filters.constants";var responsiveSettings=[{breakpoint:1400,settings:{slidesToShow:16,slidesToScroll:8}},{breakpoint:1200,settings:{slidesToShow:12,slidesToScroll:6}},{breakpoint:900,settings:{slidesToShow:10,slidesToScroll:5}},{breakpoint:600,settings:{slidesToShow:6,slidesToScroll:3}},{breakpoint:400,settings:{slidesToShow:4,slidesToScroll:2}}],Filters=function(){var a=useStore(),b=a.originalImage,c=useFilter(),d=_slicedToArray(c,2),e=d[0],f=d[1];return React.createElement(SCarousel,{slidesToShow:20,slidesToScroll:10,responsive:responsiveSettings},AVAILABLE_FILTERS.map(function(a){return React.createElement(FilterItem,{key:a.label,filterLabel:a.label,filterFn:a.filterFn,applyFilter:f,isActive:e===a.filterFn,image:b})}))};export default Filters;
@@ -0,0 +1 @@
1
+ export{default as Filters}from"./filters";
@@ -0,0 +1 @@
1
+ import{FlipOutlined}from"@mui/icons-material";import{useCallback,useMemo}from"react";import{TOGGLE_FLIP}from"actions";import ToolsBarItemButton from"components/tools-bar/tools-bar-item-button";import{useStore}from"hooks";import{FLIP_DIRECTIONS,TOOLS_IDS}from"utils/constants";var xFlipReverseSideStyle={transform:"scaleX(-1)"},FlipX=function(a){var b=a.selectTool,c=a.isSelected,d=a.t,e=useStore(),f=e.dispatch,g=e.adjustments.isFlippedX,h=useCallback(function(){return React.createElement(FlipOutlined,{sx:g?xFlipReverseSideStyle:void 0})},[g]),i=useMemo(function(){return{reverseLabelOfCurrXFlipDir:g?d("unFlipX"):d("flipX"),reverseIconOfCurrXFlipDir:h}},[g,h]),j=i.reverseLabelOfCurrXFlipDir,k=i.reverseIconOfCurrXFlipDir,l=useCallback(function(){f({type:TOGGLE_FLIP,payload:{direction:FLIP_DIRECTIONS.X}})},[]),m=useCallback(function(a){b(a),l()},[]);return React.createElement(ToolsBarItemButton,{id:TOOLS_IDS.FLIP_X,label:j,Icon:k,onClick:m,isSelected:void 0!==c&&c})};export default FlipX;
@@ -0,0 +1 @@
1
+ import{FlipOutlined}from"@mui/icons-material";import{useCallback,useMemo}from"react";import{TOGGLE_FLIP}from"actions";import ToolsBarItemButton from"components/tools-bar/tools-bar-item-button";import{useStore}from"hooks";import{FLIP_DIRECTIONS,TOOLS_IDS}from"utils/constants";var FlipY=function(a){var b=a.selectTool,c=a.isSelected,d=a.t,e=useStore(),f=e.dispatch,g=e.adjustments.isFlippedY,h=useCallback(function(){return React.createElement(FlipOutlined,{sx:g?{transform:"rotate(90deg)"}:{transform:"rotate(270deg)"}})},[g]),i=useMemo(function(){return{reverseLabelOfCurrYFlipDir:g?d("unFlipY"):d("flipY"),reverseIconOfCurrYFlipDir:h}},[g]),j=i.reverseLabelOfCurrYFlipDir,k=i.reverseIconOfCurrYFlipDir,l=useCallback(function(){f({type:TOGGLE_FLIP,payload:{direction:FLIP_DIRECTIONS.Y}})},[]),m=useCallback(function(a){b(a),l()},[]);return React.createElement(ToolsBarItemButton,{id:TOOLS_IDS.FLIP_Y,label:j,Icon:k,onClick:m,isSelected:void 0!==c&&c})};export default FlipY;
@@ -0,0 +1 @@
1
+ export{default as FlipX}from"./flip-x";export{default as FlipY}from"./flip-y";
@@ -0,0 +1 @@
1
+ import{GradientOutlined as SaturationIcon}from"@mui/icons-material";import ToolsBarItemButton from"components/tools-bar/tools-bar-item-button";import{TOOLS_IDS}from"utils/constants";var HSV=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{id:TOOLS_IDS.HSV,label:d("hsvTool"),Icon:SaturationIcon,onClick:b,isSelected:void 0!==c&&c})};export default HSV;
@@ -0,0 +1 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import Konva from"konva";import{Box}from"@mui/material";import Slider from"components/common/slider";import{useFinetune}from"hooks";var DEFAULT_VALUE={hue:0,saturation:0,value:0},MAX_VALUE={hue:259,saturation:10,value:2},HSVOptions=function(a){var b,c,d,e=a.t,f=useFinetune(Konva.Filters.HSV,DEFAULT_VALUE),g=_slicedToArray(f,2),h=g[0],i=g[1],j=function(a,b){i(_defineProperty({},a,b>MAX_VALUE[a]?MAX_VALUE[a]:+b))};return React.createElement(Box,{display:"flex",justifyContent:"center",gap:2},React.createElement(Slider,{label:e("hue"),min:0,step:1,max:259,value:null!==(b=h.hue)&&void 0!==b?b:DEFAULT_VALUE.hue,onChange:function(a){return j("hue",a)}}),React.createElement(Slider,{label:e("saturation"),min:-2,step:.5,max:10,value:null!==(c=h.saturation)&&void 0!==c?c:DEFAULT_VALUE.saturation,onChange:function(a){return j("saturation",a)}}),React.createElement(Slider,{label:e("value"),min:-2,step:.1,max:2,value:null!==(d=h.value)&&void 0!==d?d:DEFAULT_VALUE.value,onChange:function(a){return j("value",a)}}))};export default HSVOptions;
@@ -0,0 +1 @@
1
+ export{default as HSV}from"./hsv";export{default as HSVOptions}from"./hsvoptions";
@@ -0,0 +1 @@
1
+ import{ImageOutlined as ImageIcon}from"@mui/icons-material";import ToolsBarItemButton from"components/tools-bar/tools-bar-item-button";import{TOOLS_IDS}from"utils/constants";var ImageButton=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{id:TOOLS_IDS.IMAGE,label:d("imageTool"),Icon:ImageIcon,onClick:b,isSelected:void 0!==c&&c})};export default ImageButton;
@@ -0,0 +1 @@
1
+ import AnnotationOptions from"components/common/annotation-options";var ImageControls=function(a){var b=a.image,c=a.saveImage,d=a.children,e=a.t;return React.createElement(AnnotationOptions,{className:"FIE_image-tool-options",annotation:b,updateAnnotation:c,t:e,hideFillOption:!0},d)};export default ImageControls;
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{useMemo,useRef,useState}from"react";import{CollectionsOutlined,FileUploadOutlined}from"@mui/icons-material";import{useAnnotation,usePopover,useStore}from"hooks";import{FEEDBACK_STATUSES,TOOLS_IDS}from"utils/constants";import{SET_FEEDBACK}from"actions";import HiddenUploadInput from"components/common/hidden-upload-input";import ButtonWithMenu from"components/common/button-with-menu";import ImageControls from"./image-controls";import ImagesGallery from"./images-gallery";var ADDED_IMG_SPACING_PERCENT=.15,ImageOptions=function(){var a=useState(),b=_slicedToArray(a,2),c=b[0],d=b[1],e=usePopover(),f=useRef(null),g=useRef(null),h=useStore(),i=h.shownImageDimensions,j=h.dispatch,k=h.adjustments.crop,l=void 0===k?{}:k,m=h.t,n=h.config,o=void 0===n?{}:n,p=o[TOOLS_IDS.IMAGE],q=!p.disableUpload,r=Array.isArray(p.gallery)&&0<p.gallery.length,s=useAnnotation({name:TOOLS_IDS.IMAGE,opacity:1},!1),t=_slicedToArray(s,3),u=t[0],v=t[1],w=t[2],x=useRef(0),y=function(a){var b=l.width||i.width,c=l.height||i.height,d=l.x||0,e=l.y||0,f=Math.min(1,b/(a.width+a.width*ADDED_IMG_SPACING_PERCENT),c/(a.height+a.height*ADDED_IMG_SPACING_PERCENT));w({image:a,x:d+b/2-a.width*f/2,y:e+c/2-a.height*f/2,width:a.width*f,height:a.height*f})},z=function(a){x.current+=1,x.current===a&&(x.current=0,d(!1))},A=function(a){j({type:SET_FEEDBACK,payload:{feedback:{message:a,status:FEEDBACK_STATUSES.WARNING}}})},B=function(){f.current&&f.current.click()},C=function(){e.handleOpen({currentTarget:g.current})},D=useMemo(function(){return[q&&{key:"add-by-upload-image",label:c?m("importing"):m("uploadImage"),icon:FileUploadOutlined,onClick:c?void 0:B},r&&{key:"add-from-gallery",label:m("fromGallery"),icon:CollectionsOutlined,onClick:C}]},[p,c,m]);return React.createElement(ImageControls,{image:u,saveImage:v,t:m},React.createElement(ButtonWithMenu,{label:m("addImage"),menuItems:D,buttonRef:g}),q&&React.createElement(HiddenUploadInput,{ref:f,onChange:c?void 0:function(a){if(a.target.files){d(!0);var b=[],c=Array.from(a.target.files),e=c.length;if(c.forEach(function(a){if(a.type.startsWith("image/")){var c=new Image;c.onload=function(){y(c),URL.revokeObjectURL(a),z(e)},c.onerror=function(){A(m("uploadImageError")),z(e)},c.src=URL.createObjectURL(a)}else b.push(a.name),z(e)}),0<b.length){var f=1<b.length?m("areNotImages"):m("isNotImage");A("".concat(b.join(", ")," ").concat(f," ").concat(m("toBeUploaded"),"."))}}a.target.value=""},disabled:c,multiple:!0}),r&&React.createElement(ImagesGallery,{gallery:p.gallery,onSelect:function(a){d(!0);var b=new Image;b.onload=function(){y(b),z(1)},b.onerror=function(){A(m("uploadImageError")),z(1)},b.crossOrigin="Anonymous",b.src=a},onClose:function(){e.handleClose()},anchorEl:e.anchorEl}))};export default ImageOptions;
@@ -0,0 +1 @@
1
+ import{Popover}from"@mui/material";import{SFlexBox}from"@solostylist/ui-kit/core";import ImagePreviewTile from"components/common/image-preview-tile";var ImagesGallery=function(a){var b=a.gallery,c=void 0===b?[]:b,d=a.anchorEl,e=void 0===d?null:d,f=a.onClose,g=a.onSelect;return React.createElement(Popover,{anchorEl:e,open:!!e,onClose:f,anchorOrigin:{vertical:"top",horizontal:"center"},transformOrigin:{vertical:"bottom",horizontal:"center"},slotProps:{paper:{sx:{px:2,py:1}}}},React.createElement(SFlexBox,{sx:{borderRadius:1,paddingX:1,paddingY:2,overflowY:"auto",maxHeight:"450px",display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gap:1}},c.map(function(a){var b=a.originalUrl,c=a.previewUrl;return React.createElement(ImagePreviewTile,{key:b,src:c,alt:c,onClick:function(){return g(b)}})})))};export default ImagesGallery;
@@ -0,0 +1 @@
1
+ export{default as ImageButton}from"./image-button";export{default as ImageOptions}from"./image-options";
@@ -0,0 +1 @@
1
+ export{default as LineButton}from"./line-button";export{default as LineOptions}from"./line-options";
@@ -0,0 +1 @@
1
+ import{HorizontalRuleOutlined as Line}from"@mui/icons-material";import ToolsBarItemButton from"components/tools-bar/tools-bar-item-button";import{TOOLS_IDS}from"utils/constants";var LineButton=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{id:TOOLS_IDS.LINE,label:d("lineTool"),Icon:Line,onClick:b,isSelected:void 0!==c&&c})};export default LineButton;
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{useAnnotation}from"hooks";import{TOOLS_IDS}from"utils/constants";import AnnotationOptions from"components/common/annotation-options";var LineOptions=function(a){var b=a.t,c=useAnnotation({name:TOOLS_IDS.LINE}),d=_slicedToArray(c,2),e=d[0],f=d[1];return React.createElement(AnnotationOptions,{className:"FIE_line-tool-options",annotation:e,updateAnnotation:f,t:b,hidePositionField:!0,hideFillOption:!0})};export default LineOptions;
@@ -0,0 +1 @@
1
+ export{default as PenButton}from"./pen-button";export{default as PenOptions}from"./pen-options";
@@ -0,0 +1 @@
1
+ import{GestureOutlined as PenIcon}from"@mui/icons-material";import ToolsBarItemButton from"components/tools-bar/tools-bar-item-button";import{TOOLS_IDS}from"utils/constants";var PenButton=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{id:TOOLS_IDS.PEN,label:d("penTool"),Icon:PenIcon,onClick:b,isSelected:void 0!==c&&c})};export default PenButton;
@@ -0,0 +1 @@
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";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,useRef}from"react";import{useAnnotation,useStore}from"hooks";import{TOOLS_IDS}from"utils/constants";import AnnotationOptions from"components/common/annotation-options";import getPointerOffsetPositionBoundedToObject from"utils/get-pointer-offset-position-bounded-to-object";import randomId from"utils/random-id";import{SELECT_ANNOTATION,SET_ANNOTATION}from"actions";import getElemDocumentCoords from"utils/get-elem-document-coords";var eventsOptions={passive:!0},PenOptions=function(a){var b=a.t,c=useStore(),d=c.dispatch,e=c.designLayer,f=c.previewGroup,g=c.config,h=useAnnotation(_objectSpread(_objectSpread(_objectSpread({},g.annotationsCommon),g[TOOLS_IDS.PEN]),{},{name:TOOLS_IDS.PEN}),!1),i=_slicedToArray(h,3),j=i[0],k=i[1],l=i[2],m=useRef(null),n=useRef({points:[],moved:!1,id:""}),o=useCallback(function(){var a=getElemDocumentCoords(m.current.content),b=getPointerOffsetPositionBoundedToObject(f,a);return[b.offsetX-(e.attrs.xPadding||0),b.offsetY-(e.attrs.yPadding||0)]},[e]),p=useCallback(function(){var a;if(!(null!==(a=n.current)&&void 0!==a&&a.moved)){var b;n.current={moved:!0,id:randomId(TOOLS_IDS.PEN),points:[].concat(_toConsumableArray((null===(b=n.current)||void 0===b?void 0:b.points)||[]),_toConsumableArray(o()))},l({id:n.current.id,name:TOOLS_IDS.PEN,points:n.current.points})}else n.current&&(n.current.points=n.current.points.concat(o()),d({type:SET_ANNOTATION,payload:{id:n.current.id,points:n.current.points,dismissHistory:!0}}))},[o]),q=useCallback(function(){var a,b;null!==(a=n.current)&&void 0!==a&&a.id&&null!==(b=g[TOOLS_IDS.PEN])&&void 0!==b&&b.selectAnnotationAfterDrawing&&d({type:SELECT_ANNOTATION,payload:{annotationId:n.current.id}}),n.current=null,m.current.off("mousemove touchmove",p),m.current.off("mouseleave touchcancel",q),document.removeEventListener("mouseup",q,eventsOptions),document.removeEventListener("touchend",q,eventsOptions),document.removeEventListener("mouseleave",q,eventsOptions),document.removeEventListener("touchcancel",q,eventsOptions)},[p]),r=useCallback(function(a){a.target.attrs.draggable||(a.evt.preventDefault(),n.current={points:o()},m.current.on("mousemove touchmove",p),m.current.on("mouseleave touchcancel",q),document.addEventListener("mouseup",q,eventsOptions),document.addEventListener("touchend",q,eventsOptions),document.addEventListener("mouseleave",q,eventsOptions),document.addEventListener("touchcancel",q,eventsOptions))},[o,p,q]);return useEffect(function(){return m.current=null===e||void 0===e?void 0:e.getStage(),m.current&&m.current.on("mousedown touchstart",r),function(){m.current&&m.current.off("mousedown touchstart",r)}},[e]),React.createElement(AnnotationOptions,{className:"FIE_pen-tool-options",annotation:j,updateAnnotation:k,t:b,hidePositionField:!0,hideFillOption:!0})};export default PenOptions;
@@ -0,0 +1 @@
1
+ export{default as PolygonButton}from"./polygon-button";export{default as PolygonOptions}from"./polygon-options";
@@ -0,0 +1 @@
1
+ import{HexagonOutlined as PolygonIcon}from"@mui/icons-material";import ToolsBarItemButton from"components/tools-bar/tools-bar-item-button";import{TOOLS_IDS}from"utils/constants";var PolygonButton=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{id:TOOLS_IDS.POLYGON,label:d("polygonTool"),Icon:PolygonIcon,onClick:b,isSelected:void 0!==c&&c})};export default PolygonButton;
@@ -0,0 +1 @@
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{useAnnotation}from"hooks";import{TOOLS_IDS}from"utils/constants";import AnnotationOptions from"components/common/annotation-options";import{polygonOptionsPopupComponents,POLYGON_POPPABLE_OPTIONS}from"./polygon.constants";var PolygonOptions=function(a){var b=a.t,c=useAnnotation({name:TOOLS_IDS.POLYGON}),d=_slicedToArray(c,2),e=d[0],f=d[1];return React.createElement(AnnotationOptions,{className:"FIE_polygon-tool-options",morePoppableOptionsPrepended:_toConsumableArray(POLYGON_POPPABLE_OPTIONS),moreOptionsPopupComponentsObj:polygonOptionsPopupComponents,annotation:e,updateAnnotation:f,t:b,hidePositionField:!0})};export default PolygonOptions;
@@ -0,0 +1 @@
1
+ import Slider from"components/common/slider";import restrictNumber from"utils/restrict-number";var MIN_VALUE=3,MAX_VALUE=25,PolygonSidesField=function(a){var b=a.annotation,c=a.updateAnnotation,d=a.t,e=b.sides;return React.createElement(Slider,{label:d("sides"),onChange:function(a){c({sides:restrictNumber(a,MIN_VALUE,MAX_VALUE)})},value:e,min:MIN_VALUE,max:MAX_VALUE})};export default PolygonSidesField;
@@ -0,0 +1 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import{CategoryOutlined as PolygonSides}from"@mui/icons-material";import PolygonSidesField from"./polygon-sides-field";export var SIDES_NUMBER="sides-number";export var POLYGON_POPPABLE_OPTIONS=[{titleKey:"sides",name:"sides-number",Icon:PolygonSides}];export var polygonOptionsPopupComponents=_defineProperty({},"sides-number",PolygonSidesField);
@@ -0,0 +1 @@
1
+ export{default as RectButton}from"./rect-button";export{default as RectOptions}from"./rect-options";
@@ -0,0 +1 @@
1
+ import{CropLandscapeOutlined as RectIcon}from"@mui/icons-material";import ToolsBarItemButton from"components/tools-bar/tools-bar-item-button";import{TOOLS_IDS}from"utils/constants";var RectButton=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{className:"FIE_rect-tool-button",id:TOOLS_IDS.RECT,label:d("rectangleTool"),Icon:RectIcon,onClick:b,isSelected:void 0!==c&&c})};export default RectButton;
@@ -0,0 +1 @@
1
+ import Slider from"components/common/slider";import restrictNumber from"utils/restrict-number";var MIN_VALUE=0,MAX_VALUE=150,RectCornerField=function(a){var b=a.annotation,c=a.updateAnnotation,d=a.t,e=b.cornerRadius;return React.createElement(Slider,{annotation:"px",label:d("cornerRadius"),onChange:function(a){c({cornerRadius:restrictNumber(a,MIN_VALUE,MAX_VALUE)})},value:e,min:MIN_VALUE,max:MAX_VALUE})};export default RectCornerField;
@@ -0,0 +1 @@
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{useAnnotation}from"hooks";import{TOOLS_IDS}from"utils/constants";import AnnotationOptions from"components/common/annotation-options";import{rectOptionsPopupComponents,RECT_POPPABLE_OPTIONS}from"./rect.constants";var RectOptions=function(a){var b=a.t,c=useAnnotation({name:TOOLS_IDS.RECT}),d=_slicedToArray(c,2),e=d[0],f=d[1];return React.createElement(AnnotationOptions,{className:"FIE_rect-tool-options",moreOptionsPopupComponentsObj:rectOptionsPopupComponents,morePoppableOptionsPrepended:_toConsumableArray(RECT_POPPABLE_OPTIONS),annotation:e,updateAnnotation:f,t:b})};export default RectOptions;
@@ -0,0 +1 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import{RoundedCornerOutlined as RadiusCorner}from"@mui/icons-material";import RectCornerField from"./rect-corner-field";export var CORNER_RADIUS="corner-radius";export var RECT_POPPABLE_OPTIONS=[{titleKey:"cornerRadius",name:"corner-radius",Icon:RadiusCorner}];export var rectOptionsPopupComponents=_defineProperty({},"corner-radius",RectCornerField);
@@ -0,0 +1 @@
1
+ export{default as Resize}from"./resize";
@@ -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{Refresh,LockOutlined,LockOpenOutlined}from"@mui/icons-material";import{SFlexBox,SIconButton,STextField}from"@solostylist/ui-kit/core";import{SET_RESIZE,ZOOM_CANVAS}from"actions";import{useStore}from"hooks";import{DEFAULT_ZOOM_FACTOR}from"utils/constants";import getProperDimensions from"utils/get-proper-dimensions";import getSizeAfterRotation from"utils/get-size-after-rotation";import getZoomFitFactor from"utils/get-zoom-fit-factor";import restrictNumber from"utils/restrict-number";var Resize=function(a){var b=a.onChange,c=a.currentSize,d=void 0===c?{}:c,e=a.hideResetButton,f=useStore(),g=f.dispatch,h=f.originalImage,i=f.resize,j=f.shownImageDimensions,k=f.adjustments,l=k.crop,m=k.rotation,n=void 0===m?0:m,o=f.t,p=getProperDimensions(((null===d||void 0===d?void 0:d.width)||(null===d||void 0===d?void 0:d.height))&&d||i,l,j,h,n),q=function(a){var c,e=a.target,f=e.name,k=e.value;if(!(1>parseFloat(k))){var m=Math.min(10*h.width,10*h.height),o=getSizeAfterRotation(h.width,h.height,n),q="height"===f,r=q?"width":"height",s=_defineProperty(_defineProperty({},f,k?restrictNumber(k,0,m):k),r,p[r]),t=null!==(c=d.ratioUnlocked)&&void 0!==c?c:i.ratioUnlocked;if(!t){var u=o.width/o.height;s[r]=q?Math.round(s[f]*u):Math.round(s[f]/u)}if(s[f]!==i[f]||s[r]!==i[r]){if("function"==typeof b)return void b(s);g({type:SET_RESIZE,payload:s});var v=l.width&&l.height&&l||j,w=_objectSpread(_objectSpread({},i),s);g({type:ZOOM_CANVAS,payload:{factor:w.width&&w.height?getZoomFitFactor(v,w):DEFAULT_ZOOM_FACTOR,isAbsoluteZoom:!0}})}}},r="undefined"==typeof i.width&&"undefined"==typeof i.height||h.width===i.width&&h.height===i.height,s=i.manualChangeDisabled,t="undefined"!=typeof i.width&&!i.width,u="undefined"!=typeof i.height&&!i.height;return React.createElement(SFlexBox,{sx:{gap:1,alignItems:"flex-end"}},React.createElement(STextField,{name:"width",value:t?"":p.width,onChange:s?void 0:q,inputMode:"numeric",label:"".concat(o("width")," (px)"),disabled:s}),React.createElement(SIconButton,{tooltipOptions:{title:o("toggleRatioLockTitle")},onClick:s?void 0:function(){return"function"==typeof b?void b({ratioUnlocked:!d.ratioUnlocked}):void g({type:SET_RESIZE,payload:{ratioUnlocked:!i.ratioUnlocked}})},disabled:s},d.ratioUnlocked||i.ratioUnlocked?React.createElement(LockOpenOutlined,{color:"success"}):React.createElement(LockOutlined,{color:"error"})),React.createElement(STextField,{name:"height",value:u?"":p.height,onChange:s?void 0:q,inputMode:"numeric",label:"".concat(o("height")," (px)"),disabled:s}),!(void 0!==e&&e)&&React.createElement(SIconButton,{tooltipOptions:{title:o("resetSize")},onClick:r||s?void 0:function(){g({type:SET_RESIZE,payload:{width:void 0,height:void 0,ratioUnlocked:!1}});var a=l.width&&l.height&&l||j;g({type:ZOOM_CANVAS,payload:{factor:getZoomFitFactor(a,a)}})},disabled:r||s},React.createElement(Refresh,null)))};export default Resize;
@@ -0,0 +1 @@
1
+ export{default as RotateButton}from"./rotate-button";export{default as RotateOptions}from"./rotate-options";
@@ -0,0 +1 @@
1
+ import{RotateLeftOutlined as RotateIcon}from"@mui/icons-material";import ToolsBarItemButton from"components/tools-bar/tools-bar-item-button";import{TOOLS_IDS}from"utils/constants";var RotateButton=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{id:TOOLS_IDS.ROTATE,label:d("rotateTool"),Icon:RotateIcon,onClick:b,isSelected:void 0!==c&&c})};export default RotateButton;
@@ -0,0 +1 @@
1
+ import{RotateLeftOutlined,RotateRightOutlined,Rotate90DegreesCwOutlined}from"@mui/icons-material";import Slider from"@mui/material/Slider";import{useDebouncedCallback,usePhoneScreen,useStore}from"hooks";import{CHANGE_ROTATION,SET_RESIZE}from"actions";import restrictNumber from"utils/restrict-number";import getSizeAfterRotation from"utils/get-size-after-rotation";import{TOOLS_IDS}from"utils/constants";import ToolsBarItemButton from"components/tools-bar/tools-bar-item-button";import{SFlexBox,SIconButton}from"@solostylist/ui-kit/core";var RotateOptions=function(){var a=useStore(),b=a.dispatch,c=a.adjustments.rotation,d=void 0===c?0:c,e=a.resize,f=void 0===e?{}:e,g=a.config,h=g[TOOLS_IDS.ROTATE],i=usePhoneScreen(),j=useDebouncedCallback(function(a,c){var d=restrictNumber(c,-180,180);if(b({type:CHANGE_ROTATION,payload:{rotation:d}}),f.width&&f.height){var e=getSizeAfterRotation(f.width,f.height,d);b({type:SET_RESIZE,payload:{width:e.width,height:e.height}})}},20);return"buttons"===h.componentType?React.createElement(React.Fragment,null,React.createElement(ToolsBarItemButton,{id:TOOLS_IDS.IMAGE,label:"-".concat(h.angle,"\xB0"),Icon:RotateLeftOutlined,onClick:function(a){var b=d-h.angle;j(a,b)}}),React.createElement(ToolsBarItemButton,{id:TOOLS_IDS.IMAGE,label:"+".concat(null===h||void 0===h?void 0:h.angle,"\xB0"),Icon:RotateRightOutlined,onClick:function(a){var b=d+h.angle;j(a,b)}})):React.createElement(SFlexBox,{alignItems:"center",gap:2},React.createElement(SIconButton,{onClick:function(a){return j(a,d-90)}},React.createElement(Rotate90DegreesCwOutlined,null)),React.createElement(Slider,{className:"FIE_rotate-slider",valueLabelDisplay:"auto",marks:!0,min:-180,max:180,step:i?h.angle/3:1,value:d,onChange:j,sx:{width:200,"& .MuiSlider-thumb":{width:12,height:12},"& .MuiSlider-mark":{width:4,height:4,borderRadius:"50%"}}}),React.createElement(SIconButton,{onClick:function(a){return j(a,d+90)}},React.createElement(Rotate90DegreesCwOutlined,{sx:{transform:"scaleX(-1)"}})))};export default RotateOptions;
@@ -0,0 +1 @@
1
+ export{default as TextButton}from"./text-button";export{default as TextOptions}from"./text-options";
@@ -0,0 +1 @@
1
+ import{TextFieldsOutlined as TextIcon}from"@mui/icons-material";import ToolsBarItemButton from"components/tools-bar/tools-bar-item-button";import{TOOLS_IDS}from"utils/constants";var TextButton=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{id:TOOLS_IDS.TEXT,label:d("textTool"),Icon:TextIcon,onClick:b,isSelected:void 0!==c&&c})};export default TextButton;
@@ -0,0 +1 @@
1
+ var textarea,textNode,transformer,editFinishCallback,disableTextEditCallback;function deactivateTextChange(){textarea&&textarea.remove(),window&&window.removeEventListener("click",handleOutsideClick),textNode&&textNode.show(),transformer&&transformer.show(),"function"==typeof disableTextEditCallback&&disableTextEditCallback(),textNode=null,textarea=null,transformer=null}function handleOutsideClick(a){if(a.target!==textarea){var b=textarea.value;deactivateTextChange(),editFinishCallback(b)}}var activateTextChange=function(a,b,c,d,e){function f(a){var b=a;b||(b=textNode.placeholder.length*textNode.fontSize());var c=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);(c||k)&&(b=Math.ceil(b));var d=!!document.documentMode||/Edge/.test(navigator.userAgent);d&&(b+=1),textarea.style.width="".concat(b,"px")}editFinishCallback=d,disableTextEditCallback=e,transformer=c,textNode=b.findOne("#".concat(a)),textNode.hide(),transformer.hide();var g=textNode.absolutePosition();textarea=document.createElement("textarea"),b.container().parentNode.appendChild(textarea),textarea.value=textNode.text(),textarea.style.position="absolute",textarea.style.top="".concat(g.y,"px"),textarea.style.left="".concat(g.x,"px"),textarea.style.width="".concat(textNode.width()-2*textNode.padding(),"px"),textarea.style.height="".concat(textNode.height()-2*textNode.padding()+5,"px"),textarea.style.maxWidth="".concat(textNode.width()-2*textNode.padding(),"px"),textarea.style.maxHeight="".concat(textNode.height()-2*textNode.padding()+5,"px"),textarea.style.fontSize="".concat(textNode.fontSize(),"px"),textarea.style.border="1px solid rgba(0, 0, 0, 0.5)",textarea.style.padding="0px",textarea.style.margin="0px",textarea.style.overflow="hidden",textarea.style.background="none",textarea.style.outline="none",textarea.style.resize="none",textarea.style.lineHeight=textNode.lineHeight(),textarea.style.fontFamily=textNode.fontFamily(),textarea.style.transformOrigin="left top",textarea.style.textAlign=textNode.align(),textarea.style.fontStyle=textNode.fontStyle(),textarea.style.letterSpacing=textNode.letterSpacing(),textarea.style.lineHeight=textNode.lineHeight(),textarea.style.color=textNode.fill();var h=textNode.rotation(),i="";h&&(i+="rotateZ(".concat(h,"deg)"));var j=0,k=-1<navigator.userAgent.toLowerCase().indexOf("firefox");k&&(j+=2+Math.round(textNode.fontSize()/20)),i+="translateY(-".concat(j,"px)"),textarea.style.transform=i,textarea.style.height="auto",textarea.style.height="".concat(textarea.scrollHeight+3,"px"),textarea.focus(),textarea.addEventListener("keydown",function(a){if("Enter"===a.key&&!a.shiftKey){var b=textarea.value;deactivateTextChange(),editFinishCallback(b)}"Escape"===a.key&&deactivateTextChange()}),textarea.addEventListener("keydown",function(a){if("Enter"!==a.key&&"Escape"!==a.key){var b=textNode.getAbsoluteScale().x;f(textNode.width()*b),textarea.style.height="auto",textarea.style.height="".concat(textarea.scrollHeight+textNode.fontSize(),"px")}}),window&&setTimeout(function(){window.addEventListener("click",handleOutsideClick)})};export{activateTextChange,deactivateTextChange};
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{useAnnotation}from"hooks";import{TOOLS_IDS}from"utils/constants";import TextControls from"./text-controls";var TextOptions=function(){var a=useAnnotation({name:TOOLS_IDS.TEXT}),b=_slicedToArray(a,2),c=b[0],d=b[1];return React.createElement(TextControls,{text:c,saveText:d})};export default TextOptions;
@@ -0,0 +1 @@
1
+ import{FormatAlignCenterOutlined,FormatAlignLeftOutlined}from"@mui/icons-material";import{SFlexBox}from"@solostylist/ui-kit/core";import SIconButtonWrapper from"components/common/icon-wrapper";var rightAlignmentCssTransform={transform:"scaleX(-1)"},TextAlignmentFields=function(a){var b=a.annotation,c=a.updateAnnotation,d=b.align,e=function(a){c({align:a})};return React.createElement(SFlexBox,{gap:1},React.createElement(SIconButtonWrapper,{onClick:function(){return e("left")},active:"left"===d},React.createElement(FormatAlignLeftOutlined,null)),React.createElement(SIconButtonWrapper,{onClick:function(){return e("center")},active:"center"===d},React.createElement(FormatAlignCenterOutlined,null)),React.createElement(SIconButtonWrapper,{onClick:function(){return e("right")},active:"right"===d},React.createElement(FormatAlignLeftOutlined,{style:rightAlignmentCssTransform})))};export default TextAlignmentFields;
@@ -0,0 +1 @@
1
+ import _typeof from"@babel/runtime/helpers/typeof";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _defineProperty from"@babel/runtime/helpers/defineProperty";import{useCallback,useEffect}from"react";import{FormatBoldOutlined,FormatItalicOutlined}from"@mui/icons-material";import{TOOLS_IDS,TRANSFORMERS_LAYER_ID}from"utils/constants";import AnnotationOptions from"components/common/annotation-options";import SIconButtonWrapper from"components/common/icon-wrapper";import{ENABLE_TEXT_CONTENT_EDIT}from"actions";import restrictNumber from"utils/restrict-number";import{useStore}from"hooks";import{SFlexBox,SSelect,STextField}from"@solostylist/ui-kit/core";import{textOptionsPopupComponents,TEXT_POPPABLE_OPTIONS}from"./text-options.constants";import{activateTextChange,deactivateTextChange}from"./handle-text-change-area";var TextControls=function(a){var b=a.text,c=a.saveText,d=a.children,e=useStore(),f=e.dispatch,g=e.textIdOfEditableContent,h=e.designLayer,i=e.t,j=e.config,k=j.useCloudimage,l=j[TOOLS_IDS.TEXT]||{},m=l.fonts,n=void 0===m?[]:m,o=l.onFontChange,p=useCallback(function(a){var b=a.target,d=b.name,e=b.value,f=b.type;c(function(a){return _defineProperty({id:a.id},d,"number"===f?restrictNumber(e,1,500):e)})},[c]),q=useCallback(function(a){if(p({target:{name:"fontFamily",value:a}}),b.fontFamily!==a&&"function"==typeof o){var c=h.draw.bind(h);o(a,c)}},[p,b,h]),r=useCallback(function(a){var c,d=(null===(c=b.fontStyle)||void 0===c?void 0:c.replace("normal","").split(" "))||[];0<Object.keys(d).length&&d.includes(a)?d=d.filter(function(b){return b!==a}):d.push(a),p({target:{name:"fontStyle",value:d.join(" ").trim()||"normal"}})},[b]),s=useCallback(function(){f({type:ENABLE_TEXT_CONTENT_EDIT,payload:{textIdOfEditableContent:null}})},[]),t=useCallback(function(a){p({target:{name:"text",value:a}}),s()},[]);return useEffect(function(){var a;if(g&&b.id===g){var c=h.getStage(),d=_slicedToArray(c.findOne("#".concat(TRANSFORMERS_LAYER_ID)).children,1);a=d[0],activateTextChange(g,c,a,t,s)}return function(){a&&g&&deactivateTextChange()}},[g]),React.createElement(AnnotationOptions,{annotation:b,updateAnnotation:c,morePoppableOptionsPrepended:k?[]:TEXT_POPPABLE_OPTIONS,moreOptionsPopupComponentsObj:k?{}:textOptionsPopupComponents,t:i},React.createElement(SFlexBox,{sx:{gap:1,alignItems:"center"}},Array.isArray(n)&&1<n.length&&React.createElement(SSelect,{onChange:function(a){return q(a.target.value)},value:b.fontFamily,placeholder:i("fontFamily"),options:n,optionLabel:"object"===_typeof(n[0])?"label":void 0,optionValue:"object"===_typeof(n[0])?"value":void 0,sx:{width:150,textAlign:"left"}}),React.createElement(STextField,{value:b.fontSize||"",name:"fontSize",onChange:p,inputMode:"numeric",type:"number",sx:{width:150},placeholder:i("size")}),!k&&React.createElement(React.Fragment,null,React.createElement(SIconButtonWrapper,{active:(b.fontStyle||"").includes("bold"),onClick:function(){return r("bold")},watermarkTool:!0},React.createElement(FormatBoldOutlined,null)),React.createElement(SIconButtonWrapper,{active:(b.fontStyle||"").includes("italic"),onClick:function(){return r("italic")},watermarkTool:!0},React.createElement(FormatItalicOutlined,null))),d))};export default TextControls;
@@ -0,0 +1 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import{FormatAlignCenterOutlined,FormatLineSpacingOutlined}from"@mui/icons-material";import TextAlignmentFields from"./text-alignment-fields";import TextSpacingsFields from"./text-spacings-fields";export var TEXT_ALIGNMENT="text-alignment";export var TEXT_SPACINGS="text-spacings";export var TEXT_POPPABLE_OPTIONS=[{titleKey:"textAlignment",name:"text-alignment",Icon:FormatAlignCenterOutlined},{titleKey:"textSpacings",name:"text-spacings",Icon:FormatLineSpacingOutlined}];export var textOptionsPopupComponents=_defineProperty(_defineProperty({},"text-alignment",TextAlignmentFields),"text-spacings",TextSpacingsFields);
@@ -0,0 +1 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import Slider from"components/common/slider";import restrictNumber from"utils/restrict-number";var MIN_VALUE=0,MAX_VALUE=100,SLIDER_STEP=1,TextSpacingsFields=function(a){var b=a.annotation,c=a.updateAnnotation,d=a.t,e=b.letterSpacing,f=b.lineHeight,g=function(a,b){c(_defineProperty({},a,restrictNumber(b,MIN_VALUE,MAX_VALUE)))};return React.createElement(React.Fragment,null,React.createElement(Slider,{annotation:"px",label:d("letterSpacing"),onChange:function(a){return g("letterSpacing",a)},value:e,step:SLIDER_STEP}),React.createElement(Slider,{annotation:"px",label:d("lineHeight"),onChange:function(a){return g("lineHeight",a)},value:f,step:SLIDER_STEP}))};export default TextSpacingsFields;
@@ -0,0 +1 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";var _TOOLS_ITEMS;import{TABS_IDS,TOOLS_IDS}from"utils/constants";import{ArrowButton,ArrowOptions}from"./arrow";import{Blur,BlurOptions}from"./blur";import{Brightness,BrightnessOptions}from"./brightness";import{Contrast,ContrastOptions}from"./contrast";import{Crop}from"./crop";import{EllipseButton,EllipseOptions}from"./ellipse";import{Filters}from"./filters";import{FlipX,FlipY}from"./flip";import{HSV,HSVOptions}from"./hsv";import{ImageButton,ImageOptions}from"./image";import{LineButton,LineOptions}from"./line";import{PenButton,PenOptions}from"./pen";import{PolygonButton,PolygonOptions}from"./polygon";import{RectButton,RectOptions}from"./rect";import{Resize}from"./resize";import{RotateButton,RotateOptions}from"./rotate";import{TextButton,TextOptions}from"./text";import{Warmth,WarmthOptions}from"./warmth";import{Watermark}from"./watermark";export var TOOLS_ITEMS=(_TOOLS_ITEMS={},_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_TOOLS_ITEMS,TOOLS_IDS.CROP,{id:TOOLS_IDS.CROP,Item:Crop}),TOOLS_IDS.ROTATE,{id:TOOLS_IDS.ROTATE,Item:RotateButton,ItemOptions:RotateOptions}),TOOLS_IDS.FLIP_X,{id:TOOLS_IDS.FLIP_X,Item:FlipX}),TOOLS_IDS.FLIP_Y,{id:TOOLS_IDS.FLIP_Y,Item:FlipY}),TOOLS_IDS.BRIGHTNESS,{id:TOOLS_IDS.BRIGHTNESS,Item:Brightness,ItemOptions:BrightnessOptions}),TOOLS_IDS.CONTRAST,{id:TOOLS_IDS.CONTRAST,Item:Contrast,ItemOptions:ContrastOptions}),TOOLS_IDS.HSV,{id:TOOLS_IDS.HSV,Item:HSV,ItemOptions:HSVOptions,hideFn:function(a){var b=a.useCloudimage;return!!b}}),TOOLS_IDS.BLUR,{id:TOOLS_IDS.BLUR,Item:Blur,ItemOptions:BlurOptions}),TOOLS_IDS.WARMTH,{id:TOOLS_IDS.WARMTH,Item:Warmth,ItemOptions:WarmthOptions,hideFn:function(a){var b=a.useCloudimage;return!!b}}),TOOLS_IDS.FILTERS,{id:TOOLS_IDS.FILTERS,Item:Filters}),_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_TOOLS_ITEMS,TOOLS_IDS.WATERMARK,{id:TOOLS_IDS.WATERMARK,Item:Watermark}),TOOLS_IDS.TEXT,{id:TOOLS_IDS.TEXT,Item:TextButton,ItemOptions:TextOptions}),TOOLS_IDS.IMAGE,{id:TOOLS_IDS.IMAGE,Item:ImageButton,ItemOptions:ImageOptions}),TOOLS_IDS.RECT,{id:TOOLS_IDS.RECT,Item:RectButton,ItemOptions:RectOptions}),TOOLS_IDS.POLYGON,{id:TOOLS_IDS.POLYGON,Item:PolygonButton,ItemOptions:PolygonOptions}),TOOLS_IDS.ELLIPSE,{id:TOOLS_IDS.ELLIPSE,Item:EllipseButton,ItemOptions:EllipseOptions}),TOOLS_IDS.PEN,{id:TOOLS_IDS.PEN,Item:PenButton,ItemOptions:PenOptions}),TOOLS_IDS.LINE,{id:TOOLS_IDS.LINE,Item:LineButton,ItemOptions:LineOptions}),TOOLS_IDS.ARROW,{id:TOOLS_IDS.ARROW,Item:ArrowButton,ItemOptions:ArrowOptions}),TOOLS_IDS.RESIZE,{id:TOOLS_IDS.RESIZE,Item:Resize}));export var TABS_TOOLS=_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},TABS_IDS.ADJUST,[TOOLS_IDS.CROP,TOOLS_IDS.ROTATE,TOOLS_IDS.FLIP_X,TOOLS_IDS.FLIP_Y]),TABS_IDS.FINETUNE,[TOOLS_IDS.BRIGHTNESS,TOOLS_IDS.CONTRAST,TOOLS_IDS.HSV,TOOLS_IDS.BLUR,TOOLS_IDS.WARMTH]),TABS_IDS.FILTERS,[TOOLS_IDS.FILTERS]),TABS_IDS.WATERMARK,[TOOLS_IDS.WATERMARK]),TABS_IDS.ANNOTATE,[TOOLS_IDS.TEXT,TOOLS_IDS.IMAGE,TOOLS_IDS.RECT,TOOLS_IDS.ELLIPSE,TOOLS_IDS.POLYGON,TOOLS_IDS.PEN,TOOLS_IDS.LINE,TOOLS_IDS.ARROW]),TABS_IDS.RESIZE,[TOOLS_IDS.RESIZE]);
@@ -0,0 +1 @@
1
+ export{default as Warmth}from"./warmth";export{default as WarmthOptions}from"./warmth-options";
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{Box}from"@mui/material";import Slider from"components/common/slider";import{Warmth as CustomWarmth}from"custom/finetunes";import{useFinetune}from"hooks";import restrictNumber from"utils/restrict-number";var MIN_VALUE=0,DEFAULT_VALUE={warmth:0},MAX_VALUE=200,WarmthOptions=function(a){var b,c=a.t,d=useFinetune(CustomWarmth,DEFAULT_VALUE),e=_slicedToArray(d,2),f=e[0],g=e[1];return React.createElement(Box,{display:"flex",justifyContent:"center"},React.createElement(Slider,{label:c("warmthTool"),min:MIN_VALUE,max:MAX_VALUE,value:null!==(b=f.warmth)&&void 0!==b?b:DEFAULT_VALUE.warmth,onChange:function(a){g({warmth:restrictNumber(a,MIN_VALUE,MAX_VALUE)})}}))};export default WarmthOptions;
@@ -0,0 +1 @@
1
+ import{WbSunnyOutlined as WarmthIcon}from"@mui/icons-material";import ToolsBarItemButton from"components/tools-bar/tools-bar-item-button";import{TOOLS_IDS}from"utils/constants";var Warmth=function(a){var b=a.selectTool,c=a.isSelected,d=a.t;return React.createElement(ToolsBarItemButton,{id:TOOLS_IDS.WARMTH,label:d("warmthTool"),Icon:WarmthIcon,onClick:b,isSelected:void 0!==c&&c})};export default Warmth;
@@ -0,0 +1 @@
1
+ export{default as Watermark}from"./watermark";
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{useState}from"react";import{SettingsOverscanOutlined}from"@mui/icons-material";import Menu from"@mui/material/Menu";import SIconButtonWrapper from"components/common/icon-wrapper";import Slider from"components/common/slider";import restrictNumber from"utils/restrict-number";var WatermarkPadding=function(a){var b=a.watermark,c=a.saveWatermark,d=a.t,e=useState(null),f=_slicedToArray(e,2),g=f[0],h=f[1],i=b.padding||0;return React.createElement(React.Fragment,null,React.createElement(SIconButtonWrapper,{title:d("padding"),onClick:function(a){h(a.currentTarget)},active:!!g},React.createElement(SettingsOverscanOutlined,null)),React.createElement(Menu,{anchorEl:g,open:!!g,onClose:function(){h(null)},anchorOrigin:{vertical:"top",horizontal:"center"},transformOrigin:{vertical:"bottom",horizontal:"center"},slotProps:{paper:{sx:{px:2,py:1}}}},React.createElement(Slider,{label:d("padding"),onChange:function(a){c({padding:restrictNumber(a,0,100)})},value:i,annotation:"px"})))};export default WatermarkPadding;
@@ -0,0 +1 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";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{FileUploadOutlined,TextFieldsOutlined}from"@mui/icons-material";import{SFlexBox}from"@solostylist/ui-kit/core";import{useEffect,useMemo,useRef,useState}from"react";import{CLEAR_ANNOTATIONS_SELECTIONS,SELECT_ANNOTATION,SET_ANNOTATION,SET_FEEDBACK}from"actions";import ButtonWithMenu from"components/common/button-with-menu";import HiddenUploadInput from"components/common/hidden-upload-input";import ImageControls from"components/tools/image/image-controls";import TextControls from"components/tools/text/text-options/text-controls";import{usePhoneScreen,useStore}from"hooks";import{FEEDBACK_STATUSES,TOOLS_IDS}from"utils/constants";import WatermarkPadding from"./watermark-padding";import WatermarksGallery from"./watermarks-gallery";var WATERMARK_IMG_RATIO_FROM_ORIGINAL=.33,WATERMARK_ANNOTATION_ID="watermark",Watermark=function(){var a=useStore(),b=a.annotations,c=a.shownImageDimensions,d=a.selectionsIds,e=a.config,f=a.dispatch,g=a.t,h=a.adjustments.crop,i=void 0===h?{}:h,j=usePhoneScreen(),k=useState(!1),l=_slicedToArray(k,2),m=l[0],n=l[1],o=useRef(null),p=e[TOOLS_IDS.WATERMARK],q=useMemo(function(){return b[WATERMARK_ANNOTATION_ID]},[b[WATERMARK_ANNOTATION_ID]]),r=i.width||c.width,s=i.height||c.height,t=i.x||0,u=i.y||0,v=(null===p||void 0===p?void 0:p.textScalingRatio)||WATERMARK_IMG_RATIO_FROM_ORIGINAL,w=(null===p||void 0===p?void 0:p.imageScalingRatio)||WATERMARK_IMG_RATIO_FROM_ORIGINAL,x=function(a){var b=a.naturalWidth||a.width,c=a.naturalHeight||a.height,d=s>r?s*w/c:r*w/b,g=_objectSpread(_objectSpread(_objectSpread({},e.annotationsCommon),e[TOOLS_IDS.IMAGE]),{},{scaleX:d,scaleY:d,padding:1,image:a,width:b,height:c,x:t+r/2-b*d/2,y:u+s/2-c*d/2,id:WATERMARK_ANNOTATION_ID,name:TOOLS_IDS.IMAGE,replaceCurrent:!0});f({type:SET_ANNOTATION,payload:g})},y=function(a){f({type:SET_ANNOTATION,payload:_objectSpread(_objectSpread({},"function"==typeof a?a(q):a),{},{id:WATERMARK_ANNOTATION_ID})})},z=function(a){f({type:SET_FEEDBACK,payload:{feedback:{message:a,status:FEEDBACK_STATUSES.WARNING}}})},A=function(a,b){if(a){n(!0);var c=new Image;c.onload=function(){x(c),b&&URL.revokeObjectURL(a),n(!1)},c.onerror=function(){z(g("mutualizedFailedToLoadImg")),b&&URL.revokeObjectURL(a),n(!1)},c.src=a}};useEffect(function(){q&&(f({type:CLEAR_ANNOTATIONS_SELECTIONS}),f({type:SELECT_ANNOTATION,payload:{annotationId:"watermark"}}))},[q]),useEffect(function(){q&&(0===d.length||d[0].id!==WATERMARK_ANNOTATION_ID)&&f({type:SELECT_ANNOTATION,payload:{annotationId:"watermark"}})},[d]);var B=[(!e.useCloudimage||"function"==typeof p.onUploadWatermarkImgClick)&&{key:"upload-watermark",label:g("uploadWatermark"),icon:FileUploadOutlined,onClick:function(){if("function"==typeof(null===p||void 0===p?void 0:p.onUploadWatermarkImgClick)){var a=p.onUploadWatermarkImgClick(A);return void(a instanceof Promise&&void a.then(function(a){var b=a.url,c=a.revokeObjectUrl;return A(b,void 0!==c&&c)}))}o.current&&o.current.click()}},!p.hideTextWatermark&&{key:"add-text-watermark",label:g("addWatermarkAsText"),icon:TextFieldsOutlined,onClick:function(){var a,b,c={};c.height=s*v,c.width=r*v;var d=_objectSpread(_objectSpread(_objectSpread(_objectSpread({},e.annotationsCommon),e[TOOLS_IDS.TEXT]),c),{},{padding:1,x:t+r/2-(null!==(a=c.width)&&void 0!==a?a:0)/2,y:u+s/2-(null!==(b=c.height)&&void 0!==b?b:0)/2,fill:"#000000",id:WATERMARK_ANNOTATION_ID,name:TOOLS_IDS.TEXT,replaceCurrent:!0});f({type:SET_ANNOTATION,payload:d})}}],C=function(){return React.createElement(WatermarkPadding,{watermark:q,saveWatermark:y,t:g})};return React.createElement(React.Fragment,null,(null===q||void 0===q?void 0:q.name)===TOOLS_IDS.TEXT&&React.createElement(TextControls,{text:q,saveText:y},C()),(null===q||void 0===q?void 0:q.name)===TOOLS_IDS.IMAGE&&React.createElement(ImageControls,{image:q,saveImage:y,t:g},C()),React.createElement(SFlexBox,{gap:1,mt:1},React.createElement(ButtonWithMenu,{label:function(){return j?g("plus"):B[0]?g("addWatermark"):g("addTextWatermark")}(),menuItems:B}),React.createElement(WatermarksGallery,{loadAndSetWatermarkImg:A,addImgWatermark:x}),React.createElement(HiddenUploadInput,{onChange:m?void 0:function(a){if(a.target.files){var b=a.target.files[0];b.type.startsWith("image/")&&A(URL.createObjectURL(b),!0)}a.target.value=""},disabled:m,ref:o})))};export default Watermark;
@@ -0,0 +1 @@
1
+ import{useMemo}from"react";import Box from"@mui/material/Box";import{useStore}from"hooks";import{TOOLS_IDS,WATERMARK_ANNOTATION_ID}from"utils/constants";import{SCarousel}from"@solostylist/ui-kit/carousel";import{SET_FEEDBACK}from"actions";import ImagePreviewTile from"components/common/image-preview-tile";var WatermarksGallery=function(a){var b=a.addImgWatermark,c=a.loadAndSetWatermarkImg,d=useStore(),e=d.config,f=d.annotations,g=d.dispatch,h=d.t,i=useMemo(function(){var a;return null===(a=(f[WATERMARK_ANNOTATION_ID]||{}).image)||void 0===a?void 0:a.src},[f[WATERMARK_ANNOTATION_ID]]),j=function(a){var c=a.currentTarget.querySelector("img");if(null!==c&&void 0!==c&&c.complete){if(!c.naturalWidth)return void g({type:SET_FEEDBACK,payload:{feedback:{message:h("mutualizedFailedToLoadImg"),duration:2e3}}});b(c)}},k=e[TOOLS_IDS.WATERMARK]||{},l=k.gallery,m=void 0===l?[]:l;return 0===m.length?null:React.createElement(Box,{sx:{flex:1,minWidth:0,overflow:"hidden"}},React.createElement(SCarousel,null,m.map(function(a){var b=(null===a||void 0===a?void 0:a.url)||a,d=(null===a||void 0===a?void 0:a.previewUrl)||b;return React.createElement("div",{key:b},React.createElement(ImagePreviewTile,{src:d,alt:"Watermark",onClick:function(a){return b===d?j(a):c(b)},selected:b===i,size:60}))})))};export default WatermarksGallery;
@@ -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{Box}from"@mui/material";import{SELECT_TOOL}from"actions";import{TABS_TOOLS,TOOLS_ITEMS}from"components/tools/tools.constants";import{useStore}from"hooks";import{TABS_IDS}from"utils/constants";import ToolsBarItemOptionsWrapper from"./tools-bar-item-options-wrapper";var ToolsBar=function(a){var b,c=a.isPhoneScreen,d=void 0!==c&&c,e=useStore(),f=e.t,g=e.dispatch,h=e.tabId,i=e.toolId,j=e.annotations,k=e.selectionsIds,l=void 0===k?[]:k,m=e.config,n=m.defaultTabId,o=m.defaultToolId,p=m.useCloudimage,q=h||n,r=i||o||(null===(b=TABS_TOOLS[q])||void 0===b?void 0:b[0]),s=useMemo(function(){return TABS_TOOLS[q]||[]},[q]),t=useCallback(function(a){g({type:SELECT_TOOL,payload:{toolId:a}})},[]),u=useMemo(function(){return s.map(function(a){var b=TOOLS_ITEMS[a],c=b.Item,d=b.hideFn;return c&&(!d||!d({useCloudimage:p}))&&React.createElement(c,{key:a,selectTool:t,t:f,isSelected:r===a})})},[s,r]),v=useMemo(function(){var a,b,c;if(!r)return!1;if(q===TABS_IDS.ANNOTATE){var d=l.length;if(1===d){var e,f=j[l[0]];return null===(e=TOOLS_ITEMS[f.name])||void 0===e?void 0:e.ItemOptions}if(1<d)return null}return q&&r&&TABS_TOOLS[q].includes(r)&&(!(null!==(a=TOOLS_ITEMS[i])&&void 0!==a&&a.hideFn)||!(null!==(b=TOOLS_ITEMS[i])&&void 0!==b&&b.hideFn({useCloudimage:p})))&&(null===(c=TOOLS_ITEMS[i])||void 0===c?void 0:c.ItemOptions)},[q,r,j,l]);return useEffect(function(){!i&&r&&g({type:SELECT_TOOL,payload:{toolId:r}})},[]),React.createElement(Box,{sx:_objectSpread({width:"100%",maxWidth:"99.5%",maxHeight:"170px"},d&&{padding:0,marginTop:1,maxHeight:"initial"})},React.createElement(ToolsBarItemOptionsWrapper,{isPhoneScreen:d},v&&React.createElement(v,{t:f})),u)};export default ToolsBar;
@@ -0,0 +1 @@
1
+ import Typography from"@mui/material/Typography";import{SButton}from"@solostylist/ui-kit/core";import{memo}from"react";var ToolsBarItemButton=function(a){var b=a.id,c=a.label,d=void 0===c?"":c,f=a.onClick,g=a.Icon,h=a.isSelected,i=void 0!==h&&h,j=a.children,k=void 0===j?null:j,l=a.className;return React.createElement(SButton,{startIcon:React.createElement(g,null),className:l,onClick:function(a){f(b,a)},"aria-selected":i,variant:i?"outlined":"text"},d&&React.createElement(Typography,null,d),k)};export default memo(ToolsBarItemButton);
@@ -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{SFlexBox}from"@solostylist/ui-kit/core";var ToolsBarItemOptionsWrapper=function(a){var b=a.children,c=a.isPhoneScreen;return React.createElement(SFlexBox,{sx:_objectSpread({position:"relative",width:"100%",transition:"max-height 100ms ease-in-out",justifyContent:"center",alignItems:"center",gap:3,maxHeight:b?"56px":0,mb:b?1:0,mx:"auto"},void 0!==c&&c&&{maxHeight:"unset",flexDirection:"column",px:1.5,pb:1,gap:1,m:0})},b)};export default ToolsBarItemOptionsWrapper;
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{Add,Remove}from"@mui/icons-material";import ListItemText from"@mui/material/ListItemText";import Menu from"@mui/material/Menu";import MenuItem from"@mui/material/MenuItem";import{useState}from"react";import{Typography}from"@mui/material";import{SFlexBox,SIconButton}from"@solostylist/ui-kit/core";import{ZOOM_CANVAS}from"actions";import{useStore}from"hooks";import{DEFAULT_ZOOM_FACTOR,TOOLS_IDS}from"utils/constants";import getZoomFitFactor from"utils/get-zoom-fit-factor";import toPrecisedFloat from"utils/to-precised-float";import{ZOOM_FACTORS_PRESETS}from"./topbar.constants";var MULTIPLY_ZOOM_FACTOR=1.1,CanvasZooming=function(){var a=useStore(),b=a.dispatch,c=a.zoom,d=void 0===c?{}:c,e=a.toolId,f=a.feedback,g=a.t,h=a.shownImageDimensions,i=a.resize,j=a.originalImage,k=a.adjustments.crop,l=a.config.useZoomPresetsMenu,m=0===f.duration,n=useState(null),o=_slicedToArray(n,2),p=o[0],q=o[1],r=function(a,c){b({type:ZOOM_CANVAS,payload:{factor:a,isAbsoluteZoom:c}})},s=function(){var a=i.width&&i.height&&i||k.width&&k.height&&k||h,b=getZoomFitFactor(k.width&&k.height&&k||h,a);r(b||DEFAULT_ZOOM_FACTOR,!0)},t=function(a){q(p?null:(null===a||void 0===a?void 0:a.target)||null)},u=function(a){if("fit"===a)return s(),void t();var b=i.width||i.height?a:Math.min(a*j.width/h.width,a*j.height/h.height);r(b,!0),t()},v=e===TOOLS_IDS.CROP||m,w=!j||i.width||i.height?d.factor:Math.min(h.width*d.factor/j.width,h.height*d.factor/j.height);return React.createElement(SFlexBox,{sx:{alignItems:"center",gap:1,borderLeft:"1px solid",borderColor:"divider",pl:1}},React.createElement(SIconButton,{onClick:function(){r(d.factor/MULTIPLY_ZOOM_FACTOR)},disabled:v,tooltipOptions:{title:g("zoomOutTitle")}},React.createElement(Remove,null)),React.createElement(Typography,{title:g("toggleZoomMenuTitle"),onClick:v?void 0:l&&t||s,"aria-disabled":v},"".concat(toPrecisedFloat(100*w,0),"%")),React.createElement(SIconButton,{onClick:function(){r(d.factor*MULTIPLY_ZOOM_FACTOR)},disabled:v,tooltipOptions:{title:g("zoomInTitle")}},React.createElement(Add,null)),React.createElement(Menu,{anchorEl:p,onClose:function(){return t()},open:!!p,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"}},ZOOM_FACTORS_PRESETS.map(function(a){var b=a.factor,c=a.labelKey,d=a.label;return React.createElement(MenuItem,{key:d||c,onClick:function(){return u(b)}},React.createElement(ListItemText,null,null!==d&&void 0!==d?d:g(c)))})))};export default CanvasZooming;
@@ -0,0 +1 @@
1
+ import{SButton,SDialog,useDialog}from"@solostylist/ui-kit/core";import{cloneElement,useCallback}from"react";import{RESET}from"actions";import{useStore}from"hooks";import{CLOSING_REASONS}from"utils/constants";var ConfirmationModal=function(a){var b=a.children,c=a.isReset,d=void 0!==c&&c,e=useStore(),f=e.t,g=e.config,h=e.dispatch,i=e.isResetted,j=e.haveNotSavedChanges,k=e.config.onClose,l=useDialog(),m=useCallback(function(){h({type:RESET,payload:{config:g}}),l.handleClose()},[g]);if("function"!=typeof k&&!d)return React.createElement("span",null);var n=function(){d||(k(CLOSING_REASONS.CLOSE_BUTTON,j),m())};return React.createElement(React.Fragment,null,cloneElement(b,{onClick:!(void 0!==i)||i?n:l.handleOpen}),React.createElement(SDialog,{title:d?f("warning"):f("discardChanges"),content:d?f("changesLoseWarningHint"):f("discardChangesWarningHint"),open:l.open,onClose:l.handleClose,showClose:!0,actions:React.createElement(React.Fragment,null,React.createElement(SButton,{variant:"outlined",onClick:l.handleClose},f("cancel")),React.createElement(SButton,{color:"warning",onClick:d?m:n},f("confirm")))}))};export default ConfirmationModal;
@@ -0,0 +1 @@
1
+ import Compare from"@mui/icons-material/Compare";import{Typography}from"@mui/material";import{SFlexBox,SIconButton}from"@solostylist/ui-kit/core";import{TOGGLE_ORIGINAL_IMAGE_DISPLAY}from"actions";import{useStore}from"hooks";import getProperDimensions from"utils/get-proper-dimensions";import CanvasZooming from"./canvas-zooming";var ImageDimensionsAndDisplayToggle=function(){var a=useStore(),b=a.dispatch,c=a.isResetted,d=!(void 0!==c)||c,e=a.originalImage,f=a.resize,g=void 0===f?{}:f,h=a.adjustments,i=h.crop,j=h.rotation,k=void 0===j?0:j,l=a.shownImageDimensions,m=a.config.disableZooming,n=a.t,o=function(){b({type:TOGGLE_ORIGINAL_IMAGE_DISPLAY,payload:{isShow:!1}}),document.removeEventListener("mouseup",o),document.removeEventListener("mouseleave",o),document.removeEventListener("touchcancel",o),document.removeEventListener("touchend",o)},p=function(){b({type:TOGGLE_ORIGINAL_IMAGE_DISPLAY,payload:{isShow:!0}}),document.addEventListener("mouseup",o),document.addEventListener("mouseleave",o),document.addEventListener("touchcancel",o),document.addEventListener("touchend",o)};if(!e)return null;var q=getProperDimensions(g,i,l,e,k);return React.createElement(SFlexBox,{sx:{gap:1,alignItems:"center",order:2}},React.createElement(Typography,{title:n("imageDimensionsHoverTitle")},"".concat(q.width," x ").concat(q.height," px")),React.createElement(SIconButton,{onMouseDown:d?void 0:p,onTouchStart:d?void 0:p,disabled:d,tooltipOptions:{title:n("showImageTitle")}},React.createElement(Compare,null)),!m&&React.createElement(CanvasZooming,null))};export default ImageDimensionsAndDisplayToggle;
@@ -0,0 +1 @@
1
+ import{Menu}from"@mui/icons-material";import{SFlexBox,SIconButton}from"@solostylist/ui-kit/core";import ImageDimensionsAndDisplayToggle from"./image-dimensions-and-display-toggle";import RedoButton from"./redo-button";import ResetButton from"./reset-button";import SaveButton from"./save-button";import UndoButton from"./undo-button";var Topbar=function(a){var b=a.toggleMainMenu,c=void 0===b?function(){}:b;return React.createElement(SFlexBox,{sx:{padding:1,width:"100%",gap:1,alignItems:"center",justifyContent:"space-between",borderBottom:"1px solid",borderColor:"divider"}},React.createElement(SFlexBox,{sx:{alignItems:"center",order:1,gap:1}},React.createElement(SIconButton,{onClick:function(){return c(!0)},sx:{display:{xs:"block",md:"none"}}},React.createElement(Menu,null)),React.createElement(SaveButton,null)),React.createElement(ImageDimensionsAndDisplayToggle,null),React.createElement(SFlexBox,{sx:{alignItems:"center",order:3,gap:1}},React.createElement(ResetButton,null),React.createElement(UndoButton,null),React.createElement(RedoButton,null)))};export default Topbar;
@@ -0,0 +1 @@
1
+ import{useCallback}from"react";import RedoIcon from"@mui/icons-material/Redo";import{SIconButton}from"@solostylist/ui-kit/core";import{REDO}from"actions";import{useStore}from"hooks";var RedoButton=function(){var a=useStore(),b=a.dispatch,c=a.hasRedo,d=void 0!==c&&c,e=a.t,f=useCallback(function(){b({type:REDO})},[]);return React.createElement(SIconButton,{onClick:d?f:void 0,disabled:!d,tooltipOptions:{title:e("redoTitle")}},React.createElement(RedoIcon,null))};export default RedoButton;
@@ -0,0 +1 @@
1
+ import ResetIcon from"@mui/icons-material/Refresh";import{SIconButton}from"@solostylist/ui-kit/core";import{useStore}from"hooks";import ConfirmationModal from"./confirmation-modal";var ResetButton=function(){var a=useStore(),b=a.isResetted,c=a.feedback,d=a.t,e=0===c.duration;return React.createElement(ConfirmationModal,{isReset:!0},React.createElement(SIconButton,{disabled:!(void 0!==b)||b||e,tooltipOptions:{title:d("resetOperations")}},React.createElement(ResetIcon,null)))};export default ResetButton;
@@ -0,0 +1 @@
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";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{SButton,SDialog,SFlexBox,SSelect,STextField,useDialog}from"@solostylist/ui-kit/core";import{useEffect,useRef,useState}from"react";import{SET_FEEDBACK,SET_SAVING}from"actions";import Slider from"components/common/slider";import{Resize}from"components/tools/resize";import{useStore,useTransformedImgData}from"hooks";import{CLOSING_REASONS,DEFAULT_SAVE_QUALITY,ELLIPSE_CROP,SUPPORTED_IMAGE_TYPES}from"utils/constants";import getDefaultSaveQuality from"utils/get-default-save-quality";import getFileFullName from"utils/get-file-full-name";import restrictNumber from"utils/restrict-number";var isFieSaveMounted=!0,SaveButton=function(){var a=useStore(),b=useRef(null),c=a.dispatch,d=a.originalImage,e=a.resize,f=a.isLoadingGlobally,g=a.haveNotSavedChanges,h=a.feedback,i=a.hasUndo,j=a.t,k=a.adjustments,l=void 0===k?{}:k,m=l.crop,n=a.config,o=n.onClose,p=n.closeAfterSave,q=n.onBeforeSave,r=n.onSave,s=n.forceToPngInEllipticalCrop,t=n.defaultSavedImageName,u=n.defaultSavedImageType,v=n.defaultSavedImageQuality,w=void 0===v?DEFAULT_SAVE_QUALITY:v,x=n.useCloudimage,y=n.disableSaveIfNoChanges,z=n.removeSaveButton,A=useDialog(),B=useState({quality:getDefaultSaveQuality(w)}),C=_slicedToArray(B,2),D=C[0],E=C[1],F=useTransformedImgData(),G=["jpeg","jpg","webp"].includes(D.extension),H=0===h.duration,I=function(){isFieSaveMounted&&A.open&&(b.current=null,A.handleClose())},J=function(){var a=F(D,!1,!0),d=b.current||r,e=d(a.imageData,a.designState),f=function(){c({type:SET_SAVING,payload:{isSaving:!1}})};e instanceof Promise?void e["finally"](f):f(),b.current=null,p&&o&&o(CLOSING_REASONS.AFTER_SAVE,g)},K=function(){c({type:SET_SAVING,payload:{isSaving:!0}}),A.handleClose(),setTimeout(J,3)},L=function(){var a=b.current||r;if("function"!=typeof a)throw new Error("Please provide onSave function handler.");return D.name&&D.extension?void K():void c({type:SET_FEEDBACK,payload:{feedback:{message:j("nameIsRequired")}}})},M=function(){var a=getFileFullName(t||d.name,s&&m.ratio===ELLIPSE_CROP?"png":SUPPORTED_IMAGE_TYPES.includes(null===u||void 0===u?void 0:u.toLowerCase())&&u||void 0),b=a.name,c=a.extension;E(_objectSpread(_objectSpread({},D),{},{name:b,extension:c}))};return useEffect(function(){d&&M()},[d]),useEffect(function(){!d||D.name&&D.extension||M()},[A.open]),useEffect(function(){E(_objectSpread(_objectSpread({},D),{},{size:{width:e.width,height:e.height}}))},[e]),useEffect(function(){return isFieSaveMounted=!0,function(){isFieSaveMounted=!1}},[]),z?null:React.createElement(React.Fragment,null,React.createElement(SButton,{onClick:function(){if(!y||i){if(x){var a=F(D),c=b.current||r;return void c(a.imageData,a.designState)}return b.current||"function"!=typeof q||!1!==q(D)?void A.handleOpen():void L()}},disabled:f||y&&!i||H},j("save")),React.createElement(SDialog,{title:j("saveAsModalTitle"),open:A.open,onClose:I,showClose:!0,content:React.createElement(SFlexBox,{flexDirection:"column",gap:2},React.createElement(STextField,{value:D.name,onChange:function(a){var b=a.target.value;E(_objectSpread(_objectSpread({},D),{},{name:b}))},label:j("name"),placeholder:j("imageName"),error:!D.name,fullWidth:!0,autoFocus:!0}),React.createElement(SSelect,{onChange:function(a){return E(_objectSpread(_objectSpread({},D),{},{extension:a.target.value}))},value:D.extension,label:j("format"),placeholder:j("extension"),options:_toConsumableArray(SUPPORTED_IMAGE_TYPES),simple:!0}),G&&React.createElement(Slider,{label:j("quality"),annotation:"%",min:1,max:100,onChange:function(a){E(_objectSpread(_objectSpread({},D),{},{quality:restrictNumber(a/100,.01,1)}))},value:parseInt(100*D.quality+"",10),width:"100%"}),React.createElement(Resize,{onChange:function(a){E(_objectSpread(_objectSpread({},D),{},{size:_objectSpread(_objectSpread({},D.size),a)}))},currentSize:(null===D||void 0===D?void 0:D.size)||{},hideResetButton:!0})),actions:React.createElement(React.Fragment,null,React.createElement(SButton,{variant:"outlined",onClick:I,disabled:f},j("cancel")),React.createElement(SButton,{onClick:L,disabled:f},j("save")))}))};export default SaveButton;
@@ -0,0 +1 @@
1
+ export var ZOOM_FACTORS_PRESETS=[{labelKey:"fitSize",factor:"fit"},{labelKey:"actualSize",factor:1},{label:"25%",factor:.25},{label:"50%",factor:.5},{label:"75%",factor:.75},{label:"125%",factor:1.25},{label:"170%",factor:1.7},{label:"300%",factor:3},{label:"500%",factor:5},{label:"1000%",factor:10}];
@@ -0,0 +1 @@
1
+ import{useCallback}from"react";import UndoIcon from"@mui/icons-material/Undo";import{SIconButton}from"@solostylist/ui-kit/core";import{UNDO}from"actions";import{useStore}from"hooks";var UndoButton=function(){var a=useStore(),b=a.dispatch,c=a.hasUndo,d=void 0!==c&&c,e=a.t,f=a.feedback,g=0===f.duration,h=useCallback(function(){b({type:UNDO})},[]);return React.createElement(SIconButton,{onClick:d?h:void 0,disabled:!d||g,tooltipOptions:{title:e("undoTitle")}},React.createElement(UndoIcon,null))};export default UndoButton;
@@ -0,0 +1 @@
1
+ import{createContext}from"react";var AppContext=createContext({});export default AppContext;
@@ -0,0 +1 @@
1
+ import AppContext from"./app-context";var AppProviderOverridenValue=function(a){var b=a.children,c=a.overridingValue;return React.createElement(AppContext.Provider,{value:c},b)};export default AppProviderOverridenValue;
@@ -0,0 +1 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";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{useTheme}from"@mui/material/styles";import{useAppReducer}from"hooks";import{translate,updateTranslations}from"utils/translator";import appReducer from"./app-reducer";import AppContext from"./app-context";import getInitialAppState from"./get-initial-app-state";var isFieMounted=!0,AppProvider=function(a){var b=a.children,c=a.config,d=void 0===c?{}:c,e=useAppReducer(appReducer,getInitialAppState(d),d),f=_slicedToArray(e,2),g=f[0],h=f[1];useEffect(function(){return isFieMounted=!0,function(){isFieMounted=!1}},[]);var i=useCallback(function(a){isFieMounted&&h(a)},[h]);useEffect(function(){updateTranslations(d.translations,d.language)},[d.useBackendTranslations,d.language,d.translations]);var j=useTheme(),k=useMemo(function(){return _objectSpread(_objectSpread({},g),{},{config:d,theme:j,dispatch:i,t:translate})},[d,g]);return React.createElement(AppContext.Provider,{value:k},b)};export default AppProvider;
@@ -0,0 +1 @@
1
+ import actions from"actions";var appReducer=function(a,b){return actions[b.type]?actions[b.type](a,b.payload)||a:a};export default appReducer;
@@ -0,0 +1 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";var _defaultConfig;import{MIN_CROP,TABS_IDS,TOOLS_IDS}from"utils/constants";var defaultConfig=(_defaultConfig={theme:{palette:{"bg-primary-active":"#ECF3FF"},typography:{fontFamily:"Roboto, Arial"}},source:"",annotationsCommon:{fill:"#000000",stroke:"#000000",strokeWidth:0,shadowOffsetX:0,shadowOffsetY:0,shadowBlur:0,shadowColor:"#000000",shadowOpacity:1,opacity:1}},_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defaultConfig,TOOLS_IDS.TEXT,{text:"Lorem ipsum dolor sit amet, consectetur adipiscing elit.",fontFamily:"Arial",fonts:[{label:"Arial",value:"Arial"},"Tahoma","Sans-serif",{label:"Comic Sans",value:"Comic-sans"}],fontSize:14,letterSpacing:0,lineHeight:1,align:"left",fontStyle:"normal",onFontChange:void 0}),TOOLS_IDS.IMAGE,{fill:void 0,disableUpload:!1,gallery:[]}),TOOLS_IDS.RECT,{cornerRadius:0}),TOOLS_IDS.ELLIPSE,{}),TOOLS_IDS.POLYGON,{sides:3}),TOOLS_IDS.PEN,{strokeWidth:1,tension:.5,lineCap:"round",selectAnnotationAfterDrawing:!0}),TOOLS_IDS.LINE,{lineCap:"butt",strokeWidth:1}),TOOLS_IDS.ARROW,{strokeWidth:6,lineCap:"butt",pointerLength:void 0,pointerWidth:void 0}),TOOLS_IDS.WATERMARK,{gallery:[],textScalingRatio:.5,imageScalingRatio:.5,hideTextWatermark:!1,onUploadWatermarkImgClick:void 0}),TOOLS_IDS.CROP,{minWidth:MIN_CROP.WIDTH,minHeight:MIN_CROP.HEIGHT,width:null,height:null,maxWidth:null,maxHeight:null,ratio:null,ratioTitleKey:void 0,noPresets:!1,autoResize:!1,presetsItems:[],lockCropAreaAt:null}),_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defaultConfig,TOOLS_IDS.ROTATE,{angle:60,componentType:"slider"}),"tabsIds",[]),"defaultTabId",TABS_IDS.ADJUST),"defaultToolId",TOOLS_IDS.CROP),"onSave",void 0),"onBeforeSave",void 0),"closeAfterSave",!1),"defaultSavedImageName",void 0),"defaultSavedImageType",null),"defaultSavedImageQuality",.92),_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defaultConfig,"forceToPngInEllipticalCrop",!1),"useBackendTranslations",!0),"translations",null),"language","en"),"avoidChangesNotSavedAlertOnLeave",!1),"loadableDesignState",null),"savingPixelRatio",4),"previewPixelRatio",window?window.devicePixelRatio||1:1),"useCloudimage",!1),"cloudimage",{token:"",dontPrefixUrl:!1,domain:"cloudimg.io",version:"",loadableQuery:"",secureProtocol:!0,imageSealing:{enable:!1,salt:"",charCount:10,includeParams:[]}}),_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defaultConfig,"observePluginContainerSize",!1),"showCanvasOnly",!1),"getCurrentImgDataFnRef",void 0),"onModify",void 0),"useZoomPresetsMenu",!0),"disableZooming",!1),"noCrossOrigin",!1),"disableSaveIfNoChanges",!1),"removeSaveButton",!1),"resetOnImageSourceChange",!1),_defineProperty(_defineProperty(_defaultConfig,"backgroundColor",void 0),"backgroundImage",void 0));export default defaultConfig;
@@ -0,0 +1 @@
1
+ var defaultTranslations={name:"Name",save:"Save",saveAs:"Save as",back:"Back",loading:"Loading...",resetOperations:"Reset/delete all operations",changesLoseWarningHint:"If you press button \"reset\" your changes will lost. Would you like to continue?",discardChangesWarningHint:"If you close modal, your last change will not be saved.",cancel:"Cancel",apply:"Apply",warning:"Warning",confirm:"Confirm",discardChanges:"Discard changes",undoTitle:"Undo last operation",redoTitle:"Redo last operation",showImageTitle:"Show original image",zoomInTitle:"Zoom in",zoomOutTitle:"Zoom out",toggleZoomMenuTitle:"Toggle zoom menu",adjustTab:"Adjust",finetuneTab:"Finetune",filtersTab:"Filters",watermarkTab:"Watermark",annotateTabLabel:"Annotate",resize:"Resize",resizeTab:"Resize",imageName:"Image name",invalidImageError:"Invalid image provided.",uploadImageError:"Error while uploading the image.",areNotImages:"are not images",isNotImage:"is not image",toBeUploaded:"to be uploaded",cropTool:"Crop",original:"Original",custom:"Custom",square:"Square",landscape:"Landscape",portrait:"Portrait",ellipse:"Ellipse",classicTv:"Classic TV",cinemascope:"Cinemascope",arrowTool:"Arrow",blurTool:"Blur",brightnessTool:"Brightness",contrastTool:"Contrast",ellipseTool:"Ellipse",unFlipX:"Un-Flip X",flipX:"Flip X",unFlipY:"Un-Flip Y",flipY:"Flip Y",hsvTool:"HSV",hue:"Hue",brightness:"Brightness",saturation:"Saturation",value:"Value",imageTool:"Image",importing:"Importing...",addImage:"+ Add image",uploadImage:"Upload image",fromGallery:"From gallery",lineTool:"Line",penTool:"Pen",polygonTool:"Polygon",sides:"Sides",rectangleTool:"Rectangle",cornerRadius:"Corner Radius",resizeWidthTitle:"Width in pixels",resizeHeightTitle:"Height in pixels",toggleRatioLockTitle:"Toggle ratio lock",resetSize:"Reset to original image size",rotateTool:"Rotate",textTool:"Text",textSpacings:"Text spacings",textAlignment:"Text alignment",fontFamily:"Font family",size:"Size",letterSpacing:"Letter Spacing",lineHeight:"Line height",warmthTool:"Warmth",addWatermark:"+ Add watermark",addTextWatermark:"+ Add text watermark",addWatermarkTitle:"Choose the watermark type",uploadWatermark:"Upload watermark",addWatermarkAsText:"Add as text",padding:"Padding",paddings:"Paddings",shadow:"Shadow",horizontal:"Horizontal",vertical:"Vertical",blur:"Blur",opacity:"Opacity",transparency:"Transparency",position:"Position",stroke:"Stroke",saveAsModalTitle:"Save as",extension:"Extension",format:"Format",nameIsRequired:"Name is required.",quality:"Quality",imageDimensionsHoverTitle:"Saved image size (width x height)",cropSizeLowerThanResizedWarning:"Note, the selected crop area is lower than the applied resize which might cause quality decrease",actualSize:"Actual size (100%)",fitSize:"Fit size",addImageTitle:"Select image to add...",mutualizedFailedToLoadImg:"Failed to load image.",tabsMenu:"Menu",download:"Download",width:"Width",height:"Height",plus:"+",cropItemNoEffect:"No preview available for this crop item",colorPickerModalTitleLabel:"Pick color"};export default defaultTranslations;
@@ -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,POINTER_ICONS,TOOLS_IDS}from"utils/constants";import filterStrToClass from"utils/filter-str-to-class";import finetunesStrsToClasses from"utils/finetunes-strs-to-classes";var getInitialAppState=function(){var a,b,c,d,e,f,g=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{},h=_objectSpread({},g.loadableDesignState);Array.isArray(h.finetunes)&&(h.finetunes=finetunesStrsToClasses(h.finetunes)),h.filter&&(h.filter=filterStrToClass(h.filter));var i=!!g.loadableDesignState||!!(g.useCloudimage&&(null===(a=g.cloudimage)||void 0===a?void 0:a.loadableQuery));return _objectSpread(_objectSpread({imgSrc:"string"==typeof g.source?g.source:(null===(b=g.source)||void 0===b?void 0:b.src)||"",finetunes:[],finetunesProps:{},filter:null,adjustments:{crop:{ratio:null===(c=g[TOOLS_IDS.CROP])||void 0===c?void 0:c.ratio,ratioTitleKey:null!==(d=null===(e=g[TOOLS_IDS.CROP])||void 0===e?void 0:e.ratioTitleKey)&&void 0!==d?d:null===(f=g[TOOLS_IDS.CROP])||void 0===f?void 0:f.ratio,width:null,height:null,x:0,y:0},isFlippedX:!1,isFlippedY:!1,rotation:0},annotations:{},resize:{},shownImageDimensions:{}},h),{},{pointerCssIcon:POINTER_ICONS.DEFAULT,canvasScale:1,zoom:{factor:DEFAULT_ZOOM_FACTOR,x:null,y:null},isLoadingGlobally:!0,selectionsIds:[],tabId:g.defaultTabId||null,toolId:g.defaultToolId||null,feedback:{},pastDesignStates:[],futureDesignStates:[],isResetted:!i,haveNotSavedChanges:!1,latestColors:{},showTabsMenu:!1,isSaving:!1})};export default getInitialAppState;
@@ -0,0 +1 @@
1
+ import AppContext from"./app-context";export default AppContext;export{default as AppProvider}from"./app-provider";export{default as AppProviderOverridenValue}from"./app-provider-overriden-value";
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var COLOR_FILTER_CONST=[228,130,225,.13],SATURATION_CONST=-.2;function Aden(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.saturation(SATURATION_CONST))}Aden.filterName="Aden";export default Aden;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var SATURATION_CONST=.3,BRIGHTNESS_CONST=.15;function Amaro(a){BaseFilters.apply(a,BaseFilters.saturation(SATURATION_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Amaro.filterName="Amaro";export default Amaro;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var COLOR_FILTER_CONST=[255,160,25,.1],BRIGHTNESS_CONST=.1;function Ashby(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Ashby.filterName="Ashby";export default Ashby;
@@ -0,0 +1 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";var BaseFilters={apply:function(a){for(var b=a.data,c=b.length,d=arguments.length,e=Array(1<d?d-1:0),f=1;f<d;f++)e[f-1]=arguments[f];for(var g=function(a){e.forEach(function(c){var d=c([b[a],b[a+1],b[a+2]]),e=_slicedToArray(d,3);b[a]=e[0],b[a+1]=e[1],b[a+2]=e[2]})},h=0;h<c;h+=4)g(h)},brightness:function(a){return function(b){var c=a;return c=1<c?1:c,c=-1>c?-1:c,c=~~(255*c),[b[0]+c,b[1]+c,b[2]+c]}},contrast:function(a){return function(b){var c=a;c*=255;var d=259*(c+255)/(255*(259-c));return[d*(b[0]-128)+128,d*(b[1]-128)+128,d*(b[2]-128)+128]}},saturation:function(a){return function(c){var d=a;d=-1>d?-1:d;var e=c[0],f=c[1],g=c[2],b=.2989*e+.587*f+.114*g;return[-b*d+e*(1+d),-b*d+f*(1+d),-b*d+g*(1+d)]}},grayscale:function(){return function(a){var c=a[0],d=a[1],e=a[2];return[,,,].fill(.2126*c+.7152*d+.0722*e)}},sepia:function(a){return function(c){var d=c[0],e=c[1],f=c[2];return[d*(1-.607*a)+.769*e*a+.189*f*a,.349*d*a+e*(1-.314*a)+.168*f*a,.272*d*a+.534*e*a+f*(1-.869*a)]}},adjustRGB:function(a){return function(b){return[b[0]*a[0],b[1]*a[1],b[2]*a[2]]}},colorFilter:function(a){return function(c){var d=c[0],e=c[1],f=c[2],b=a[3];return[d-(d-a[0])*b,e-(e-a[1])*b,f-(f-a[2])*b]}}};export default BaseFilters;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";function BlackAndWhite(a){BaseFilters.apply(a,function(a){var b=(a[0]+a[1]+a[2])/3>100,c=b?255:0;return[c,c,c]})}BlackAndWhite.filterName="BlackAndWhite";export default BlackAndWhite;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var CONTRAST_CONST=.2,COLOR_FILTER_CONST=[140,10,185,.1];function Brannan(a){BaseFilters.apply(a,BaseFilters.contrast(CONTRAST_CONST),BaseFilters.colorFilter(COLOR_FILTER_CONST))}Brannan.filterName="Brannan";export default Brannan;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var COLOR_FILTER_CONST=[25,240,252,.05],SEPIA_CONST=.3;function Brooklyn(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.sepia(SEPIA_CONST))}Brooklyn.filterName="Brooklyn";export default Brooklyn;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var COLOR_FILTER_CONST=[255,50,80,.12],CONTRAST_CONST=.05;function Charmes(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.contrast(CONTRAST_CONST))}Charmes.filterName="Charmes";export default Charmes;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var BRIGHTNESS_CONST=.1,CONTRAST_CONST=.1,SATURATION_CONST=.15;function Clarendon(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.contrast(CONTRAST_CONST),BaseFilters.saturation(SATURATION_CONST))}Clarendon.filterName="Clarendon";export default Clarendon;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var ADJUST_RGB_CONST=[1.04,1,1.02],SATURATION_CONST=-.05;function Crema(a){BaseFilters.apply(a,BaseFilters.adjustRGB(ADJUST_RGB_CONST),BaseFilters.saturation(SATURATION_CONST))}Crema.filterName="Crema";export default Crema;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var CONTRAST_CONST=.15,BRIGHTNESS_CONST=.1;function Dogpatch(a){BaseFilters.apply(a,BaseFilters.contrast(CONTRAST_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Dogpatch.filterName="Dogpatch";export default Dogpatch;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var COLOR_FILTER_CONST=[255,165,40,.2];function Earlybird(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST))}Earlybird.filterName="Earlybird";export default Earlybird;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var SEPIA_CONST=.04,CONTRAST_CONST=-.15;function Gingham(a){BaseFilters.apply(a,BaseFilters.sepia(SEPIA_CONST),BaseFilters.contrast(CONTRAST_CONST))}Gingham.filterName="Gingham";export default Gingham;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var SEPIA_CONST=.06,BRIGHTNESS_CONST=.1;function Ginza(a){BaseFilters.apply(a,BaseFilters.sepia(SEPIA_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Ginza.filterName="Ginza";export default Ginza;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var CONTRAST_CONST=.1,SATURATION_CONST=.15;function Hefe(a){BaseFilters.apply(a,BaseFilters.contrast(CONTRAST_CONST),BaseFilters.saturation(SATURATION_CONST))}Hefe.filterName="Hefe";export default Hefe;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var COLOR_FILTER_CONST=[208,208,86,.2],CONTRAST_CONST=.15;function Helena(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.contrast(CONTRAST_CONST))}Helena.filterName="Helena";export default Helena;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var ADJUST_RGB_CONST=[1,1,1.25],CONTRAST_CONST=.1,BRIGHTNESS_CONST=.15;function Hudson(a){BaseFilters.apply(a,BaseFilters.adjustRGB(ADJUST_RGB_CONST),BaseFilters.contrast(CONTRAST_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}Hudson.filterName="Hudson";export default Hudson;
@@ -0,0 +1 @@
1
+ export{default as BlackAndWhite}from"./black-and-white";export{default as Clarendon}from"./clarendon";export{default as Gingham}from"./gingham";export{default as Moon}from"./moon";export{default as Lark}from"./lark";export{default as Reyes}from"./reyes";export{default as Juno}from"./juno";export{default as Slumber}from"./slumber";export{default as Crema}from"./crema";export{default as Ludwig}from"./ludwig";export{default as Aden}from"./aden";export{default as Perpetua}from"./perpetua";export{default as Amaro}from"./amaro";export{default as Mayfair}from"./mayfair";export{default as Rise}from"./rise";export{default as Hudson}from"./hudson";export{default as Valencia}from"./valencia";export{default as XPro2}from"./xpro2";export{default as Sierra}from"./sierra";export{default as Willow}from"./willow";export{default as LoFi}from"./lo-fi";export{default as Hefe}from"./hefe";export{default as Nashville}from"./nashville";export{default as Stinson}from"./stinson";export{default as Vesper}from"./vesper";export{default as Earlybird}from"./earlybird";export{default as Brannan}from"./brannan";export{default as Sutro}from"./sutro";export{default as Toaster}from"./toaster";export{default as Walden}from"./walden";export{default as NinteenSeventySeven}from"./ninteen-seventy-seven";export{default as Kelvin}from"./kelvin";export{default as Maven}from"./maven";export{default as Ginza}from"./ginza";export{default as Skyline}from"./skyline";export{default as Dogpatch}from"./dogpatch";export{default as Brooklyn}from"./brooklyn";export{default as Helena}from"./helena";export{default as Ashby}from"./ashby";export{default as Charmes}from"./charmes";
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var ADJUST_RGB_CONST=[1.01,1.04,1],SATURATION_CONST=.3;function Juno(a){BaseFilters.apply(a,BaseFilters.adjustRGB(ADJUST_RGB_CONST),BaseFilters.saturation(SATURATION_CONST))}Juno.filterName="Juno";export default Juno;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var COLOR_FILTER_CONST=[255,140,0,.1],ADJUST_RGB_CONST=[1.15,1.05,1],SATURATION_CONST=.35;function Kelvin(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.adjustRGB(ADJUST_RGB_CONST),BaseFilters.saturation(SATURATION_CONST))}Kelvin.filterName="Kelvin";export default Kelvin;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var BRIGHTNESS_CONST=.08,ADJUST_RGB_CONST=[1,1.03,1.05],SATURATION_CONST=.12;function Lark(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.adjustRGB(ADJUST_RGB_CONST),BaseFilters.saturation(SATURATION_CONST))}Lark.filterName="Lark";export default Lark;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var CONTRAST_CONST=.15,SATURATION_CONST=.2;function LoFi(a){BaseFilters.apply(a,BaseFilters.contrast(CONTRAST_CONST),BaseFilters.saturation(SATURATION_CONST))}LoFi.filterName="LoFi";export default LoFi;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var BRIGHTNESS_CONST=.05,SATURATION_CONST=-.03;function Ludwig(a){BaseFilters.apply(a,BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.saturation(SATURATION_CONST))}Ludwig.filterName="Ludwig";export default Ludwig;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var COLOR_FILTER_CONST=[225,240,0,.1],SATURATION_CONST=.25,CONTRAST_CONST=.05;function Maven(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.saturation(SATURATION_CONST),BaseFilters.contrast(CONTRAST_CONST))}Maven.filterName="Maven";export default Maven;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var COLOR_FILTER_CONST=[230,115,108,.05],SATURATION_CONST=.15;function Mayfair(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.saturation(SATURATION_CONST))}Mayfair.filterName="Mayfair";export default Mayfair;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var BRIGHTNESS_CONST=.1;function Moon(a){BaseFilters.apply(a,BaseFilters.grayscale(),BaseFilters.brightness(BRIGHTNESS_CONST))}Moon.filterName="Moon";export default Moon;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var COLOR_FILTER_CONST=[220,115,188,.12],CONTRAST_CONST=-.05;function Nashville(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.contrast(CONTRAST_CONST))}Nashville.filterName="Nashville";export default Nashville;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var COLOR_FILTER_CONST=[255,25,0,.15],BRIGHTNESS_CONST=.1;function NinteenSeventySeven(a){BaseFilters.apply(a,BaseFilters.colorFilter(COLOR_FILTER_CONST),BaseFilters.brightness(BRIGHTNESS_CONST))}NinteenSeventySeven.filterName="NinteenSeventySeven";export default NinteenSeventySeven;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var ADJUST_RGB_CONST=[1.05,1.1,1];function Perpetua(a){BaseFilters.apply(a,BaseFilters.adjustRGB(ADJUST_RGB_CONST))}Perpetua.filterName="Perpetua";export default Perpetua;
@@ -0,0 +1 @@
1
+ import BaseFilters from"./base-filters";var SEPIA_CONST=.4,BRIGHTNESS_CONST=.13,CONTRAST_CONST=-.05;function Reyes(a){BaseFilters.apply(a,BaseFilters.sepia(SEPIA_CONST),BaseFilters.brightness(BRIGHTNESS_CONST),BaseFilters.contrast(CONTRAST_CONST))}Reyes.filterName="Reyes";export default Reyes;