@ydesign/react-editor 0.0.6 → 0.0.8

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 (99) hide show
  1. package/dist/app.css +2 -2
  2. package/dist/app.d.ts +4 -4
  3. package/dist/app.js +1 -1
  4. package/dist/canvas/workspace-canvas.js +1 -1
  5. package/dist/canvas/workspace.js +1 -1
  6. package/dist/{chunk-TNBL7KOG.js → chunk-2A3HHQ7X.js} +1 -1
  7. package/dist/{chunk-OA7Z7HNL.js → chunk-2T3O5ZZ2.js} +1 -1
  8. package/dist/{chunk-QX7ZGRSR.js → chunk-5OA2JYPB.js} +1 -1
  9. package/dist/chunk-5X6VER6G.js +1 -0
  10. package/dist/{chunk-HD2T2D4D.js → chunk-62YF5KTO.js} +1 -1
  11. package/dist/{chunk-HQSM4X2M.js → chunk-7YLSIB43.js} +1 -1
  12. package/dist/{chunk-2XCWXNZD.js → chunk-A7SUGNOW.js} +1 -1
  13. package/dist/{chunk-4WITBL6X.js → chunk-AC6CCGZH.js} +1 -1
  14. package/dist/{chunk-OFA6JIQB.js → chunk-DGCF2GDA.js} +1 -1
  15. package/dist/{chunk-FGCLY24Q.js → chunk-HHYPIHAP.js} +1 -1
  16. package/dist/chunk-IV52R7D7.js +27 -0
  17. package/dist/{chunk-INRJE7VS.js → chunk-J6PYM4EV.js} +1 -1
  18. package/dist/{chunk-NQYSJ5MN.js → chunk-JPIYZYMQ.js} +1 -1
  19. package/dist/chunk-JUVJJS4T.js +54 -0
  20. package/dist/chunk-KKA7WASQ.js +16 -0
  21. package/dist/{chunk-4BG4CHIB.js → chunk-KVT25LDU.js} +1 -1
  22. package/dist/chunk-NDZKXZQ2.js +3 -0
  23. package/dist/chunk-O56ZNYGR.js +1 -0
  24. package/dist/{chunk-TWH7TO5J.js → chunk-O73AAP2K.js} +1 -1
  25. package/dist/chunk-OPXS6VQ6.js +151 -0
  26. package/dist/{chunk-FOMWIGAQ.js → chunk-POCSL7OS.js} +1 -1
  27. package/dist/chunk-POWRXH5R.js +1 -0
  28. package/dist/{chunk-XXR5YN2B.js → chunk-PSO4W6J7.js} +1 -1
  29. package/dist/{chunk-IPOZDTK2.js → chunk-QWM7VMLQ.js} +1 -1
  30. package/dist/{chunk-2PAJLUQH.js → chunk-RSKWMPST.js} +1 -1
  31. package/dist/chunk-SGK2XN5D.js +1 -0
  32. package/dist/{chunk-KCNKLCD5.js → chunk-T3TEB73P.js} +1 -1
  33. package/dist/{chunk-R452ARGU.js → chunk-TS5CKDHH.js} +1 -1
  34. package/dist/chunk-TTHQXTIX.js +1 -0
  35. package/dist/{chunk-TYHXQPZQ.js → chunk-TTK5Z2Z6.js} +1 -1
  36. package/dist/{chunk-DCGJ6RKU.js → chunk-TZ6B7XDS.js} +1 -1
  37. package/dist/chunk-XA2G4P2Q.js +1 -0
  38. package/dist/{chunk-ARZMBVXU.js → chunk-YCFED7XQ.js} +1 -1
  39. package/dist/chunk-YCJBBRRT.js +1 -0
  40. package/dist/{chunk-YOQ663QO.js → chunk-YVBVDUVA.js} +1 -1
  41. package/dist/config.d.ts +1 -0
  42. package/dist/config.js +1 -1
  43. package/dist/model/store.d.ts +27 -17
  44. package/dist/model/store.js +1 -1
  45. package/dist/project.d.ts +5 -0
  46. package/dist/project.js +1 -1
  47. package/dist/side-panel/background-panel.js +1 -1
  48. package/dist/side-panel/images-grid.js +1 -1
  49. package/dist/side-panel/index.js +1 -1
  50. package/dist/side-panel/layers-panel.js +1 -1
  51. package/dist/side-panel/photos-panel.js +1 -1
  52. package/dist/side-panel/shapes-panel.js +1 -1
  53. package/dist/side-panel/side-panel.js +1 -1
  54. package/dist/side-panel/size-panel.js +1 -1
  55. package/dist/side-panel/templates-panel.js +1 -1
  56. package/dist/side-panel/text-panel.js +1 -1
  57. package/dist/side-panel/upload-panel.js +1 -1
  58. package/dist/toolbar/default-toolbar.js +1 -1
  59. package/dist/toolbar/download-button.js +1 -1
  60. package/dist/toolbar/duplicate-button.js +1 -1
  61. package/dist/toolbar/figure-toolbar.js +1 -1
  62. package/dist/toolbar/filters-picker.js +1 -1
  63. package/dist/toolbar/flip-button.js +1 -1
  64. package/dist/toolbar/group-button.js +1 -1
  65. package/dist/toolbar/history-buttons.js +1 -1
  66. package/dist/toolbar/image-eraser-pen.js +1 -1
  67. package/dist/toolbar/image-remove-background.js +1 -1
  68. package/dist/toolbar/image-toolbar.js +1 -1
  69. package/dist/toolbar/lock-button.js +1 -1
  70. package/dist/toolbar/opacity-picker.js +1 -1
  71. package/dist/toolbar/position-picker.js +1 -1
  72. package/dist/toolbar/remove-button.js +1 -1
  73. package/dist/toolbar/text-ai-write.js +1 -1
  74. package/dist/toolbar/text-toolbar.js +1 -1
  75. package/dist/toolbar/toolbar.d.ts +2 -2
  76. package/dist/toolbar/toolbar.js +1 -1
  77. package/dist/topbar/create-design.d.ts +4 -1
  78. package/dist/topbar/create-design.js +1 -1
  79. package/dist/topbar/file-menu.js +1 -1
  80. package/dist/topbar/topbar.js +5 -5
  81. package/dist/utils/api.d.ts +14 -0
  82. package/dist/utils/api.js +1 -0
  83. package/dist/utils/l10n.d.ts +4 -0
  84. package/dist/utils/l10n.js +1 -1
  85. package/dist/utils/use-api.d.ts +2 -0
  86. package/dist/utils/use-api.js +0 -0
  87. package/dist/utils/use-axios.d.ts +5 -0
  88. package/dist/utils/use-axios.js +1 -0
  89. package/package.json +15 -9
  90. package/dist/chunk-EN72YNS7.js +0 -151
  91. package/dist/chunk-ISNCNIFJ.js +0 -27
  92. package/dist/chunk-LFWKF4C4.js +0 -3
  93. package/dist/chunk-N5KI6CPA.js +0 -1
  94. package/dist/chunk-OBJ5NZSC.js +0 -1
  95. package/dist/chunk-OG4HUTJF.js +0 -16
  96. package/dist/chunk-ONY3GLGA.js +0 -1
  97. package/dist/chunk-PBQY5UTI.js +0 -1
  98. package/dist/chunk-WHYEXY5V.js +0 -54
  99. package/dist/chunk-YLXPQ2GI.js +0 -1
package/dist/config.js CHANGED
@@ -1 +1 @@
1
- import{a as c,b as d,c as e,d as f}from"./chunk-DCGJ6RKU.js";import"./chunk-7NNOHYKX.js";import{a,b}from"./chunk-ARZMBVXU.js";import"./chunk-O2XFH626.js";export{e as LinePoolItems,f as PathLineLibs,d as PathShapeLibs,c as ShapePathFormulasKeys,b as getTranslations,a as setTranslations};
1
+ import{a as d,b as e,c as f,d as g}from"./chunk-TZ6B7XDS.js";import"./chunk-7NNOHYKX.js";import{i as c}from"./chunk-TTHQXTIX.js";import{a,b}from"./chunk-YCFED7XQ.js";import"./chunk-O2XFH626.js";export{f as LinePoolItems,g as PathLineLibs,e as PathShapeLibs,d as ShapePathFormulasKeys,b as getTranslations,c as setAPI,a as setTranslations};
@@ -40,6 +40,7 @@ declare const Font: mobx_state_tree.IModelType<{
40
40
  */
41
41
  declare const Store: mobx_state_tree.IModelType<{
42
42
  name: mobx_state_tree.IType<string | undefined, string, string>;
43
+ token: mobx_state_tree.IType<string | undefined, string, string>;
43
44
  width: mobx_state_tree.IType<number | undefined, number, number>;
44
45
  height: mobx_state_tree.IType<number | undefined, number, number>;
45
46
  scale: mobx_state_tree.IType<number | undefined, number, number>;
@@ -67,25 +68,24 @@ declare const Store: mobx_state_tree.IModelType<{
67
68
  }>, mobx_state_tree._NotCustomized>>;
68
69
  editor: mobx_state_tree.IType<Editor | null | undefined, Editor | null, Editor | null>;
69
70
  custom: mobx_state_tree.IType<any, any, any>;
70
- objects: mobx_state_tree.IType<any[] | null | undefined, any[], any[]>;
71
+ objects: mobx_state_tree.IArrayType<mobx_state_tree.IType<any, any, any>>;
71
72
  _key: mobx_state_tree.IType<string | undefined, string, string>;
72
73
  _updateTrigger: mobx_state_tree.IType<number | undefined, number, number>;
73
- _updateHistory: mobx_state_tree.IType<number | undefined, number, number>;
74
74
  _updateFontSize: mobx_state_tree.IType<number | undefined, number, number>;
75
75
  }, {
76
76
  readonly selectedElements: FabricObject[];
77
77
  } & {
78
78
  readonly selectedShapes: FabricObject<Partial<fabric.FabricObjectProps>, fabric.SerializedObjectProps, fabric.ObjectEvents>[];
79
79
  find(callback: (e: any) => boolean): any;
80
- getElementById(): void;
80
+ getElementById(id: string): any;
81
81
  } & {
82
82
  _setEditor(editor: Editor): void;
83
83
  _triggerUpdate(): void;
84
- _historyUpdate(): void;
85
84
  _fontSizeUpdate(): void;
85
+ _syncBackgroundColor(color: any): void;
86
86
  } & {
87
87
  setBackgroundColor(color: string | Record<string, any>): void;
88
- set(e: FabricObject, options: any): void;
88
+ set(options: any, element?: FabricObject): void;
89
89
  setUnit({ unit, dpi }: {
90
90
  unit: any;
91
91
  dpi?: any;
@@ -134,13 +134,20 @@ declare const Store: mobx_state_tree.IModelType<{
134
134
  * @param fontFamily - 字体名称
135
135
  */
136
136
  loadFont(fontFamily: string): Promise<void[]>;
137
+ } & {
138
+ on(eventName: any, callback: any): mobx_state_tree.IDisposer | undefined;
137
139
  }, mobx_state_tree._NotCustomized, mobx_state_tree._NotCustomized>;
138
140
  type StoreType = Instance<typeof Store>;
139
141
  interface StoreProps {
140
142
  key: string;
143
+ token?: string;
141
144
  }
142
- declare function createStore({ key }: StoreProps): mobx_state_tree.ModelInstanceTypeProps<{
145
+ declare const getToken: () => {
146
+ value: string;
147
+ };
148
+ declare function createStore({ key, token }: StoreProps): mobx_state_tree.ModelInstanceTypeProps<{
143
149
  name: mobx_state_tree.IType<string | undefined, string, string>;
150
+ token: mobx_state_tree.IType<string | undefined, string, string>;
144
151
  width: mobx_state_tree.IType<number | undefined, number, number>;
145
152
  height: mobx_state_tree.IType<number | undefined, number, number>;
146
153
  scale: mobx_state_tree.IType<number | undefined, number, number>;
@@ -168,25 +175,24 @@ declare function createStore({ key }: StoreProps): mobx_state_tree.ModelInstance
168
175
  }>, mobx_state_tree._NotCustomized>>;
169
176
  editor: mobx_state_tree.IType<Editor | null | undefined, Editor | null, Editor | null>;
170
177
  custom: mobx_state_tree.IType<any, any, any>;
171
- objects: mobx_state_tree.IType<any[] | null | undefined, any[], any[]>;
178
+ objects: mobx_state_tree.IArrayType<mobx_state_tree.IType<any, any, any>>;
172
179
  _key: mobx_state_tree.IType<string | undefined, string, string>;
173
180
  _updateTrigger: mobx_state_tree.IType<number | undefined, number, number>;
174
- _updateHistory: mobx_state_tree.IType<number | undefined, number, number>;
175
181
  _updateFontSize: mobx_state_tree.IType<number | undefined, number, number>;
176
182
  }> & {
177
183
  readonly selectedElements: FabricObject[];
178
184
  } & {
179
185
  readonly selectedShapes: FabricObject<Partial<fabric.FabricObjectProps>, fabric.SerializedObjectProps, fabric.ObjectEvents>[];
180
186
  find(callback: (e: any) => boolean): any;
181
- getElementById(): void;
187
+ getElementById(id: string): any;
182
188
  } & {
183
189
  _setEditor(editor: Editor): void;
184
190
  _triggerUpdate(): void;
185
- _historyUpdate(): void;
186
191
  _fontSizeUpdate(): void;
192
+ _syncBackgroundColor(color: any): void;
187
193
  } & {
188
194
  setBackgroundColor(color: string | Record<string, any>): void;
189
- set(e: FabricObject, options: any): void;
195
+ set(options: any, element?: FabricObject): void;
190
196
  setUnit({ unit, dpi }: {
191
197
  unit: any;
192
198
  dpi?: any;
@@ -235,8 +241,11 @@ declare function createStore({ key }: StoreProps): mobx_state_tree.ModelInstance
235
241
  * @param fontFamily - 字体名称
236
242
  */
237
243
  loadFont(fontFamily: string): Promise<void[]>;
244
+ } & {
245
+ on(eventName: any, callback: any): mobx_state_tree.IDisposer | undefined;
238
246
  } & mobx_state_tree.IStateTreeNode<mobx_state_tree.IModelType<{
239
247
  name: mobx_state_tree.IType<string | undefined, string, string>;
248
+ token: mobx_state_tree.IType<string | undefined, string, string>;
240
249
  width: mobx_state_tree.IType<number | undefined, number, number>;
241
250
  height: mobx_state_tree.IType<number | undefined, number, number>;
242
251
  scale: mobx_state_tree.IType<number | undefined, number, number>;
@@ -264,25 +273,24 @@ declare function createStore({ key }: StoreProps): mobx_state_tree.ModelInstance
264
273
  }>, mobx_state_tree._NotCustomized>>;
265
274
  editor: mobx_state_tree.IType<Editor | null | undefined, Editor | null, Editor | null>;
266
275
  custom: mobx_state_tree.IType<any, any, any>;
267
- objects: mobx_state_tree.IType<any[] | null | undefined, any[], any[]>;
276
+ objects: mobx_state_tree.IArrayType<mobx_state_tree.IType<any, any, any>>;
268
277
  _key: mobx_state_tree.IType<string | undefined, string, string>;
269
278
  _updateTrigger: mobx_state_tree.IType<number | undefined, number, number>;
270
- _updateHistory: mobx_state_tree.IType<number | undefined, number, number>;
271
279
  _updateFontSize: mobx_state_tree.IType<number | undefined, number, number>;
272
280
  }, {
273
281
  readonly selectedElements: FabricObject[];
274
282
  } & {
275
283
  readonly selectedShapes: FabricObject<Partial<fabric.FabricObjectProps>, fabric.SerializedObjectProps, fabric.ObjectEvents>[];
276
284
  find(callback: (e: any) => boolean): any;
277
- getElementById(): void;
285
+ getElementById(id: string): any;
278
286
  } & {
279
287
  _setEditor(editor: Editor): void;
280
288
  _triggerUpdate(): void;
281
- _historyUpdate(): void;
282
289
  _fontSizeUpdate(): void;
290
+ _syncBackgroundColor(color: any): void;
283
291
  } & {
284
292
  setBackgroundColor(color: string | Record<string, any>): void;
285
- set(e: FabricObject, options: any): void;
293
+ set(options: any, element?: FabricObject): void;
286
294
  setUnit({ unit, dpi }: {
287
295
  unit: any;
288
296
  dpi?: any;
@@ -331,6 +339,8 @@ declare function createStore({ key }: StoreProps): mobx_state_tree.ModelInstance
331
339
  * @param fontFamily - 字体名称
332
340
  */
333
341
  loadFont(fontFamily: string): Promise<void[]>;
342
+ } & {
343
+ on(eventName: any, callback: any): mobx_state_tree.IDisposer | undefined;
334
344
  }, mobx_state_tree._NotCustomized, mobx_state_tree._NotCustomized>>;
335
345
 
336
- export { type ExportOptions, Font, Store, type StoreProps, type StoreType, createStore, createStore as default, forEveryChild };
346
+ export { type ExportOptions, Font, Store, type StoreProps, type StoreType, createStore, createStore as default, forEveryChild, getToken };
@@ -1 +1 @@
1
- import{a as u}from"../chunk-P5I43V7X.js";import{a as l,h as g,i as p,m}from"../chunk-WJT6VPDR.js";import"../chunk-O2XFH626.js";import{types as i,cast as y,flow as b,destroy as f}from"mobx-state-tree";var c=(e,t)=>{if(e?.objects)for(let r of e.objects){if(t(r)===!0)break;c(r,t)}},h=i.model("Font",{fontFamily:i.string,name:i.optional(i.string,""),url:i.optional(i.string,""),img:i.optional(i.string,""),styles:i.frozen()}).preProcessSnapshot(e=>Object.assign(Object.assign({},e),{fontFamily:e.fontFamily||e.name})),E=i.model("Store",{name:"yitu-design",width:1080,height:1080,scale:1,scaleToFit:1,unit:"px",dpi:72,bleed:0,bleedVisible:!1,rulesVisible:!1,openedSidePanel:"",selectedElementsIds:i.array(i.string),backgroundColor:i.optional(i.union(i.string,i.frozen()),"#fff"),fonts:i.array(h),editor:i.frozen(null),custom:i.frozen(),objects:i.frozen([]),_key:"",_updateTrigger:0,_updateHistory:0,_updateFontSize:0}).views(e=>({get selectedElements(){let t=e._updateTrigger;return console.log("_trigger\u90FD\u53D8\u5316\u662F\u89E6\u53D1\u805A\u7126\u5143\u7D20\u7684\u5237\u65B0 ---> ",t,e.selectedElementsIds.toJSON()),e.selectedElementsIds.map(r=>e.editor?.objectsHandler.findOneById(r))}})).views(e=>({get selectedShapes(){let t=[];return c({objects:e.selectedElements},r=>{r?.type!=="group"&&t.push(r)}),t},find(t){let r,a=e.editor?.customCanvas.canvas.getObjects();if(a)return c({objects:a},o=>{if(!r&&t(o))return r=o,!0}),r},getElementById(){}})).actions(e=>({_setEditor(t){e.editor=t},_triggerUpdate(){e._updateTrigger=e._updateTrigger+1},_historyUpdate(){e._updateHistory=e._updateHistory+1},_fontSizeUpdate(){e._updateFontSize=e._updateFontSize+1}})).actions(e=>({setBackgroundColor(t){e.backgroundColor=t,e.editor?.workareaHandler.setWorkareaBgColor(t)},set(t,r){e.editor?.objectsHandler.update(r,t.id)},setUnit({unit:t,dpi:r}){e.unit=t||e.unit,e.dpi=r||e.dpi},setObjects(t){e.objects=t},selectElements(t){e.selectedElementsIds=y(t)},openSidePanel(t){e.openedSidePanel!==t&&(e.openedSidePanel=t)},deleteElements(t){t.forEach(r=>{e.editor?.objectsHandler.remove(r)})},setScale(t){e.scale=t},clone(){e.editor?.objectsHandler.clone()},addElement(t){console.log("\u6DFB\u52A0json\u6570\u636E",t),e.editor?.objectsHandler.addJson(t)},setSize({width:t,height:r}){e.width=t,e.height=r,e.editor?.workareaHandler.setSize({width:t,height:r})},setupEditorListeners(){e.editor&&(e.editor.on("object:modified",()=>{e._triggerUpdate()}),e.editor.on("history:change",()=>{e._historyUpdate()}),e.editor.on("textbox:modified",()=>{e._fontSizeUpdate()}))}})).actions(e=>({_forEachElementUp(t,r){if(!e.editor)return;let a=e.editor.layerHandler.getEffectiveLayers(),o=t.map(n=>({id:n,index:a.findIndex(d=>d.id===n)}));o.sort((n,d)=>d.index-n.index);for(let{index:n}of o){if(n==-1)continue;let d=n<a.length-1&&a[n+1],s=t.indexOf(d?.id)>=0;n===a.length-1||s||r(n)}},_forEachElementDown(t,r){if(!e.editor)return;let a=e.editor.layerHandler.getEffectiveLayers(),o=t.map(n=>({id:n,index:a.findIndex(d=>d.id===n)}));o.sort((n,d)=>d.index-n.index);for(let{index:n}of o){if(n==-1)continue;let d=n>0&&a[n-1],s=t.indexOf(d?.id)>=0;n===0||s||r(n)}return!1}})).actions(e=>({canMoveElementsUp(t){let r=!1;return e._forEachElementUp(t,()=>{r=!0}),r},moveElementsUp(t){if(!e.editor)return;let r=e.editor.layerHandler.getEffectiveLayers();[...t].map(o=>({id:o,index:r.findIndex(n=>n.id===o)})).filter(o=>o.index!==-1).sort((o,n)=>n.index-o.index).map(o=>o.id).forEach(o=>{e.editor?.layerHandler.bringForward(o)}),e._triggerUpdate()},canMoveElementsTop(t){return this.canMoveElementsUp(t)},moveElementsTop(t){e.editor&&(t.forEach(r=>{e.editor?.layerHandler.bringToFront(r)}),e._triggerUpdate())},canMoveElementsDown(t){let r=!1;return e._forEachElementDown(t,()=>{r=!0}),r},moveElementsDown(t){if(!e.editor)return;let r=e.editor.layerHandler.getEffectiveLayers();[...t].map(o=>({id:o,index:r.findIndex(n=>n.id===o)})).filter(o=>o.index!==-1).sort((o,n)=>o.index-n.index).map(o=>o.id).forEach(o=>{e.editor?.layerHandler.sendBackwards(o)}),e._triggerUpdate()},canMoveElementsBottom(t){return this.canMoveElementsDown(t)},moveElementsBottom(t){e.editor&&(t.forEach(r=>{e.editor?.layerHandler.sendToBack(r)}),e._triggerUpdate())},setElementZIndex(){}})).actions(e=>({async toDataURL(t){return e.editor?.rendererHandler.toDataURL(t)},async toBlob(t){return e.editor?.rendererHandler.toBlob(t)},async saveAsImage(t){if(!e.editor)return;let{fileName:r,...a}=t||{multiplier:1},o=await e.editor.rendererHandler.toBlob(a);o&&u(o,r||"yitu."+a.format)},toJSON(){return e.editor?.rendererHandler.toJSON()},toObject(){return e.editor?.rendererHandler.toObject()},loadJSON:b(function*(t){if(!e.editor)return;let r=yield e.editor.sceneHandler.importFromJSON(t);r&&(e.width=r.width,e.height=r.height,e.backgroundColor=r.fill)}),clear(){}})).actions(e=>({removeFont(t){e.fonts.filter(r=>r.fontFamily===t).forEach(r=>{f(r)})},addFont(t){this.removeFont(t.fontFamily),e.fonts.push(t),this.loadFont(t.fontFamily)},async loadFont(t){let r=e.fonts.find(n=>n.fontFamily===t)||l.find(n=>n.fontFamily===t),o=[{fontStyle:"normal",fontWeight:"normal"},{fontStyle:"normal",fontWeight:"bold"}];return r?(r.styles&&(o=r.styles.map(n=>({fontStyle:n.fontStyle||"normal",fontWeight:n.fontWeight||"normal"}))),p(r)):m(t),Promise.all(o.map(n=>g(t,n.fontStyle,n.fontWeight)))}}));function x({key:e}){return E.create({_key:e})}var v=x;export{h as Font,E as Store,x as createStore,v as default,c as forEveryChild};
1
+ import{a,b,c,d,e,f}from"../chunk-POWRXH5R.js";import"../chunk-P5I43V7X.js";import"../chunk-WJT6VPDR.js";import"../chunk-O2XFH626.js";export{b as Font,c as Store,e as createStore,f as default,a as forEveryChild,d as getToken};
package/dist/project.d.ts CHANGED
@@ -11,6 +11,8 @@ interface ProjectOptions {
11
11
  store: StoreType;
12
12
  }
13
13
  declare class Project {
14
+ private saveTimeout;
15
+ private isOne;
14
16
  store: StoreType;
15
17
  id: string;
16
18
  name: string;
@@ -20,6 +22,9 @@ declare class Project {
20
22
  status: string;
21
23
  language: string;
22
24
  designsLength: number;
25
+ urls: {
26
+ editorUrl: string;
27
+ };
23
28
  constructor({ store }: ProjectOptions);
24
29
  setLanguage(lang: string): void;
25
30
  requestSave(): void;
package/dist/project.js CHANGED
@@ -1 +1 @@
1
- import{a,b,c,d}from"./chunk-ONY3GLGA.js";import"./chunk-WJT6VPDR.js";import"./chunk-O2XFH626.js";export{a as ProjectContext,c as createProject,d as default,b as useProject};
1
+ import{a,b,c,d}from"./chunk-SGK2XN5D.js";import"./chunk-WJT6VPDR.js";import"./chunk-O2XFH626.js";export{a as ProjectContext,c as createProject,d as default,b as useProject};
@@ -1 +1 @@
1
- import{a,b}from"../chunk-XXR5YN2B.js";import"../chunk-N5KI6CPA.js";import"../chunk-YRJUN267.js";import"../chunk-RVXI723F.js";import"../chunk-OQ6HU62L.js";import"../chunk-FOMWIGAQ.js";import"../chunk-WCHGSVUC.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{b as BackgroundPanel,a as setBackgroundColorsPreset};
1
+ import{a,b}from"../chunk-PSO4W6J7.js";import"../chunk-O56ZNYGR.js";import"../chunk-RVXI723F.js";import"../chunk-YRJUN267.js";import"../chunk-OQ6HU62L.js";import"../chunk-POCSL7OS.js";import"../chunk-WCHGSVUC.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{b as BackgroundPanel,a as setBackgroundColorsPreset};
@@ -1 +1 @@
1
- import{a}from"../chunk-FOMWIGAQ.js";import"../chunk-WCHGSVUC.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as ImagesGrid};
1
+ import{a}from"../chunk-POCSL7OS.js";import"../chunk-WCHGSVUC.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as ImagesGrid};
@@ -1 +1 @@
1
- import{a as r,b as e,c as f,d as m,e as p,f as t,g as x,h as a,i as b,j as c}from"../chunk-WHYEXY5V.js";import"../chunk-ISNCNIFJ.js";import"../chunk-NQYSJ5MN.js";import"../chunk-YLXPQ2GI.js";import"../chunk-4LUZF4CB.js";import"../chunk-R452ARGU.js";import"../chunk-OFA6JIQB.js";import"../chunk-IPOZDTK2.js";import{a as o}from"../chunk-4HH3B3W3.js";import"../chunk-FGCLY24Q.js";import"../chunk-5C2MNUBC.js";import"../chunk-MXZ6RXT3.js";import"../chunk-XXR5YN2B.js";import"../chunk-N5KI6CPA.js";import"../chunk-YRJUN267.js";import"../chunk-RVXI723F.js";import"../chunk-OQ6HU62L.js";import"../chunk-FOMWIGAQ.js";import"../chunk-WCHGSVUC.js";import"../chunk-DCGJ6RKU.js";import"../chunk-7NNOHYKX.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{t as BackgroundSection,b as DEFAULT_SECTIONS,x as LayersSection,f as PhotosSection,o as SectionTab,m as ShapesSection,c as SidePanel,a as SizeSection,r as TemplatesSection,e as TextSection,p as UploadSection};
1
+ import{a as r,b as e,c as f,d as m,e as p,f as t,g as x,h as a,i as b,j as c}from"../chunk-JUVJJS4T.js";import"../chunk-DGCF2GDA.js";import"../chunk-QWM7VMLQ.js";import"../chunk-5C2MNUBC.js";import{a as o}from"../chunk-4HH3B3W3.js";import"../chunk-HHYPIHAP.js";import"../chunk-IV52R7D7.js";import"../chunk-JPIYZYMQ.js";import"../chunk-MXZ6RXT3.js";import"../chunk-PSO4W6J7.js";import"../chunk-O56ZNYGR.js";import"../chunk-RVXI723F.js";import"../chunk-YRJUN267.js";import"../chunk-OQ6HU62L.js";import"../chunk-5X6VER6G.js";import"../chunk-4LUZF4CB.js";import"../chunk-TS5CKDHH.js";import"../chunk-POCSL7OS.js";import"../chunk-WCHGSVUC.js";import"../chunk-TZ6B7XDS.js";import"../chunk-7NNOHYKX.js";import"../chunk-TTHQXTIX.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{t as BackgroundSection,b as DEFAULT_SECTIONS,x as LayersSection,f as PhotosSection,o as SectionTab,m as ShapesSection,c as SidePanel,a as SizeSection,r as TemplatesSection,e as TextSection,p as UploadSection};
@@ -1 +1 @@
1
- import{a}from"../chunk-YLXPQ2GI.js";import"../chunk-4LUZF4CB.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as LayersPanel};
1
+ import{a}from"../chunk-5X6VER6G.js";import"../chunk-4LUZF4CB.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as LayersPanel};
@@ -1 +1 @@
1
- import{a}from"../chunk-R452ARGU.js";import"../chunk-FOMWIGAQ.js";import"../chunk-WCHGSVUC.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as PhotosPanel};
1
+ import{a}from"../chunk-TS5CKDHH.js";import"../chunk-POCSL7OS.js";import"../chunk-WCHGSVUC.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as PhotosPanel};
@@ -1 +1 @@
1
- import{a}from"../chunk-OFA6JIQB.js";import"../chunk-MXZ6RXT3.js";import"../chunk-DCGJ6RKU.js";import"../chunk-7NNOHYKX.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as ShapesPanel};
1
+ import{a}from"../chunk-DGCF2GDA.js";import"../chunk-MXZ6RXT3.js";import"../chunk-TZ6B7XDS.js";import"../chunk-7NNOHYKX.js";import"../chunk-TTHQXTIX.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as ShapesPanel};
@@ -1 +1 @@
1
- import{a as b,b as c,c as d,d as e,e as f,f as g,g as h,h as i,i as j,j as k,k as l}from"../chunk-WHYEXY5V.js";import"../chunk-ISNCNIFJ.js";import"../chunk-NQYSJ5MN.js";import"../chunk-YLXPQ2GI.js";import"../chunk-4LUZF4CB.js";import"../chunk-R452ARGU.js";import"../chunk-OFA6JIQB.js";import"../chunk-IPOZDTK2.js";import{a}from"../chunk-4HH3B3W3.js";import"../chunk-FGCLY24Q.js";import"../chunk-5C2MNUBC.js";import"../chunk-MXZ6RXT3.js";import"../chunk-XXR5YN2B.js";import"../chunk-N5KI6CPA.js";import"../chunk-YRJUN267.js";import"../chunk-RVXI723F.js";import"../chunk-OQ6HU62L.js";import"../chunk-FOMWIGAQ.js";import"../chunk-WCHGSVUC.js";import"../chunk-DCGJ6RKU.js";import"../chunk-7NNOHYKX.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{g as BackgroundSection,j as DEFAULT_SECTIONS,h as LayersSection,d as PhotosSection,a as SectionTab,e as ShapesSection,k as SidePanel,i as SizeSection,b as TemplatesSection,c as TextSection,f as UploadSection,l as default};
1
+ import{a as b,b as c,c as d,d as e,e as f,f as g,g as h,h as i,i as j,j as k,k as l}from"../chunk-JUVJJS4T.js";import"../chunk-DGCF2GDA.js";import"../chunk-QWM7VMLQ.js";import"../chunk-5C2MNUBC.js";import{a}from"../chunk-4HH3B3W3.js";import"../chunk-HHYPIHAP.js";import"../chunk-IV52R7D7.js";import"../chunk-JPIYZYMQ.js";import"../chunk-MXZ6RXT3.js";import"../chunk-PSO4W6J7.js";import"../chunk-O56ZNYGR.js";import"../chunk-RVXI723F.js";import"../chunk-YRJUN267.js";import"../chunk-OQ6HU62L.js";import"../chunk-5X6VER6G.js";import"../chunk-4LUZF4CB.js";import"../chunk-TS5CKDHH.js";import"../chunk-POCSL7OS.js";import"../chunk-WCHGSVUC.js";import"../chunk-TZ6B7XDS.js";import"../chunk-7NNOHYKX.js";import"../chunk-TTHQXTIX.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{g as BackgroundSection,j as DEFAULT_SECTIONS,h as LayersSection,d as PhotosSection,a as SectionTab,e as ShapesSection,k as SidePanel,i as SizeSection,b as TemplatesSection,c as TextSection,f as UploadSection,l as default};
@@ -1 +1 @@
1
- import{a}from"../chunk-IPOZDTK2.js";import"../chunk-5C2MNUBC.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as SizePanel};
1
+ import{a}from"../chunk-QWM7VMLQ.js";import"../chunk-5C2MNUBC.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as SizePanel};
@@ -1 +1 @@
1
- import{a}from"../chunk-FGCLY24Q.js";import"../chunk-FOMWIGAQ.js";import"../chunk-WCHGSVUC.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as TemplatesPanel};
1
+ import{a}from"../chunk-HHYPIHAP.js";import"../chunk-POCSL7OS.js";import"../chunk-WCHGSVUC.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as TemplatesPanel};
@@ -1 +1 @@
1
- import{a}from"../chunk-ISNCNIFJ.js";import"../chunk-FOMWIGAQ.js";import"../chunk-WCHGSVUC.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as TextPanel};
1
+ import{a}from"../chunk-IV52R7D7.js";import"../chunk-POCSL7OS.js";import"../chunk-WCHGSVUC.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as TextPanel};
@@ -1 +1 @@
1
- import{a,b,c}from"../chunk-NQYSJ5MN.js";import"../chunk-OQ6HU62L.js";import"../chunk-FOMWIGAQ.js";import"../chunk-WCHGSVUC.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{b as UploadPanel,c as default,a as setUploadFunc};
1
+ import{a,b,c}from"../chunk-JPIYZYMQ.js";import"../chunk-OQ6HU62L.js";import"../chunk-POCSL7OS.js";import"../chunk-WCHGSVUC.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{b as UploadPanel,c as default,a as setUploadFunc};
@@ -1 +1 @@
1
- import{a,b,c}from"../chunk-N5KI6CPA.js";import"../chunk-YRJUN267.js";import"../chunk-RVXI723F.js";import"../chunk-OQ6HU62L.js";import"../chunk-WCHGSVUC.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as BackgroundPicker,b as DefaultToolbar,c as default};
1
+ import{a,b,c}from"../chunk-O56ZNYGR.js";import"../chunk-RVXI723F.js";import"../chunk-YRJUN267.js";import"../chunk-OQ6HU62L.js";import"../chunk-WCHGSVUC.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as BackgroundPicker,b as DefaultToolbar,c as default};
@@ -1 +1 @@
1
- import{a,b}from"../chunk-HQSM4X2M.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as DownloadButton,b as default};
1
+ import{a,b}from"../chunk-7YLSIB43.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as DownloadButton,b as default};
@@ -1 +1 @@
1
- import{a}from"../chunk-INRJE7VS.js";import"../chunk-ARZMBVXU.js";import"../chunk-JMIN2XMC.js";import"../chunk-O2XFH626.js";export{a as DuplicateButton};
1
+ import{a}from"../chunk-J6PYM4EV.js";import"../chunk-YCFED7XQ.js";import"../chunk-JMIN2XMC.js";import"../chunk-O2XFH626.js";export{a as DuplicateButton};
@@ -1 +1 @@
1
- import{a,b,c,d,e}from"../chunk-HD2T2D4D.js";import"../chunk-YOQ663QO.js";import"../chunk-YRJUN267.js";import"../chunk-RVXI723F.js";import"../chunk-WCHGSVUC.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{b as FigureFill,c as FigureSettings,d as FigureStroke,e as FigureToolbar,a as getFillKey};
1
+ import{a,b,c,d,e}from"../chunk-62YF5KTO.js";import"../chunk-YVBVDUVA.js";import"../chunk-RVXI723F.js";import"../chunk-YRJUN267.js";import"../chunk-WCHGSVUC.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{b as FigureFill,c as FigureSettings,d as FigureStroke,e as FigureToolbar,a as getFillKey};
@@ -1 +1 @@
1
- import{a}from"../chunk-YOQ663QO.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as FiltersPicker};
1
+ import{a}from"../chunk-YVBVDUVA.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as FiltersPicker};
@@ -1 +1 @@
1
- import{a}from"../chunk-TYHXQPZQ.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as FlipButton};
1
+ import{a}from"../chunk-TTK5Z2Z6.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as FlipButton};
@@ -1 +1 @@
1
- import{a}from"../chunk-KCNKLCD5.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as GroupButton};
1
+ import{a}from"../chunk-T3TEB73P.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as GroupButton};
@@ -1 +1 @@
1
- import{e as a}from"../chunk-OG4HUTJF.js";import"../chunk-QX7ZGRSR.js";import"../chunk-TNBL7KOG.js";import"../chunk-4BG4CHIB.js";import"../chunk-OA7Z7HNL.js";import"../chunk-KCNKLCD5.js";import"../chunk-LFWKF4C4.js";import"../chunk-TWH7TO5J.js";import"../chunk-4WITBL6X.js";import"../chunk-2PAJLUQH.js";import"../chunk-XRRO2RT7.js";import"../chunk-OBJ5NZSC.js";import"../chunk-INRJE7VS.js";import"../chunk-HD2T2D4D.js";import"../chunk-YOQ663QO.js";import"../chunk-TYHXQPZQ.js";import"../chunk-3TO57JPN.js";import"../chunk-CB23VFSC.js";import"../chunk-IUFYYEGO.js";import"../chunk-HQSM4X2M.js";import"../chunk-MXZ6RXT3.js";import"../chunk-N5KI6CPA.js";import"../chunk-YRJUN267.js";import"../chunk-RVXI723F.js";import"../chunk-OQ6HU62L.js";import"../chunk-WCHGSVUC.js";import"../chunk-DCGJ6RKU.js";import"../chunk-7NNOHYKX.js";import"../chunk-ARZMBVXU.js";import"../chunk-WJT6VPDR.js";import"../chunk-JMIN2XMC.js";import"../chunk-75WC3GVB.js";import"../chunk-O2XFH626.js";export{a as HistoryButtons};
1
+ import{e as a}from"../chunk-KKA7WASQ.js";import"../chunk-KVT25LDU.js";import"../chunk-2T3O5ZZ2.js";import"../chunk-NDZKXZQ2.js";import"../chunk-CB23VFSC.js";import"../chunk-3TO57JPN.js";import"../chunk-O73AAP2K.js";import"../chunk-AC6CCGZH.js";import"../chunk-RSKWMPST.js";import"../chunk-XRRO2RT7.js";import"../chunk-YCJBBRRT.js";import"../chunk-5OA2JYPB.js";import"../chunk-2A3HHQ7X.js";import"../chunk-7YLSIB43.js";import"../chunk-J6PYM4EV.js";import"../chunk-62YF5KTO.js";import"../chunk-YVBVDUVA.js";import"../chunk-TTK5Z2Z6.js";import"../chunk-T3TEB73P.js";import"../chunk-IUFYYEGO.js";import"../chunk-MXZ6RXT3.js";import"../chunk-O56ZNYGR.js";import"../chunk-RVXI723F.js";import"../chunk-YRJUN267.js";import"../chunk-OQ6HU62L.js";import"../chunk-WCHGSVUC.js";import"../chunk-TZ6B7XDS.js";import"../chunk-7NNOHYKX.js";import"../chunk-TTHQXTIX.js";import"../chunk-YCFED7XQ.js";import"../chunk-WJT6VPDR.js";import"../chunk-JMIN2XMC.js";import"../chunk-75WC3GVB.js";import"../chunk-O2XFH626.js";export{a as HistoryButtons};
@@ -1 +1 @@
1
- import{a}from"../chunk-TWH7TO5J.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as ImageEraserPen};
1
+ import{a}from"../chunk-O73AAP2K.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as ImageEraserPen};
@@ -1 +1 @@
1
- import{a}from"../chunk-4WITBL6X.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as ImageRemoveBackground};
1
+ import{a}from"../chunk-AC6CCGZH.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as ImageRemoveBackground};
@@ -1 +1 @@
1
- import{a,b,c,d,e}from"../chunk-LFWKF4C4.js";import"../chunk-TWH7TO5J.js";import"../chunk-4WITBL6X.js";import"../chunk-YOQ663QO.js";import"../chunk-TYHXQPZQ.js";import"../chunk-3TO57JPN.js";import"../chunk-CB23VFSC.js";import"../chunk-MXZ6RXT3.js";import"../chunk-YRJUN267.js";import"../chunk-WCHGSVUC.js";import"../chunk-DCGJ6RKU.js";import"../chunk-7NNOHYKX.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{c as ImageClip,b as ImageCrop,a as ImageFitToBackground,d as ImageToolbar,e as default};
1
+ import{a,b,c,d,e}from"../chunk-NDZKXZQ2.js";import"../chunk-CB23VFSC.js";import"../chunk-3TO57JPN.js";import"../chunk-O73AAP2K.js";import"../chunk-AC6CCGZH.js";import"../chunk-YVBVDUVA.js";import"../chunk-TTK5Z2Z6.js";import"../chunk-MXZ6RXT3.js";import"../chunk-YRJUN267.js";import"../chunk-WCHGSVUC.js";import"../chunk-TZ6B7XDS.js";import"../chunk-7NNOHYKX.js";import"../chunk-TTHQXTIX.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{c as ImageClip,b as ImageCrop,a as ImageFitToBackground,d as ImageToolbar,e as default};
@@ -1 +1 @@
1
- import{a}from"../chunk-2PAJLUQH.js";import"../chunk-ARZMBVXU.js";import"../chunk-75WC3GVB.js";import"../chunk-O2XFH626.js";export{a as LockButton};
1
+ import{a}from"../chunk-RSKWMPST.js";import"../chunk-YCFED7XQ.js";import"../chunk-75WC3GVB.js";import"../chunk-O2XFH626.js";export{a as LockButton};
@@ -1 +1 @@
1
- import{a}from"../chunk-OBJ5NZSC.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as OpacityPicker};
1
+ import{a}from"../chunk-YCJBBRRT.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as OpacityPicker};
@@ -1 +1 @@
1
- import{a}from"../chunk-QX7ZGRSR.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as PositionPicker};
1
+ import{a}from"../chunk-5OA2JYPB.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as PositionPicker};
@@ -1 +1 @@
1
- import{a}from"../chunk-TNBL7KOG.js";import"../chunk-IUFYYEGO.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as RemoveButton};
1
+ import{a}from"../chunk-2A3HHQ7X.js";import"../chunk-IUFYYEGO.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as RemoveButton};
@@ -1 +1 @@
1
- import{a}from"../chunk-OA7Z7HNL.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as TextAiWrite};
1
+ import{a}from"../chunk-2T3O5ZZ2.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as TextAiWrite};
@@ -1 +1 @@
1
- import{a,b,c}from"../chunk-4BG4CHIB.js";import"../chunk-OA7Z7HNL.js";import"../chunk-YOQ663QO.js";import"../chunk-YRJUN267.js";import"../chunk-RVXI723F.js";import"../chunk-WCHGSVUC.js";import"../chunk-ARZMBVXU.js";import"../chunk-WJT6VPDR.js";import"../chunk-O2XFH626.js";export{a as ALIGN_OPTIONS,b as TextToolbar,c as default};
1
+ import{a,b,c}from"../chunk-KVT25LDU.js";import"../chunk-2T3O5ZZ2.js";import"../chunk-YVBVDUVA.js";import"../chunk-RVXI723F.js";import"../chunk-YRJUN267.js";import"../chunk-WCHGSVUC.js";import"../chunk-YCFED7XQ.js";import"../chunk-WJT6VPDR.js";import"../chunk-O2XFH626.js";export{a as ALIGN_OPTIONS,b as TextToolbar,c as default};
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import * as node_modules_styled_components_dist_types from 'node_modules/styled-components/dist/types';
2
+ import * as styled_components_dist_types from 'styled-components/dist/types';
3
3
  import * as styled_components from 'styled-components';
4
4
  import * as react from 'react';
5
5
  import { StoreType } from '../model/store.js';
@@ -10,7 +10,7 @@ import '@ydesign/core';
10
10
  import '../utils/fonts.js';
11
11
  import 'mobx';
12
12
 
13
- declare const NavBarGroup: node_modules_styled_components_dist_types.IStyledComponentBase<"web", styled_components.FastOmit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
13
+ declare const NavBarGroup: styled_components_dist_types.IStyledComponentBase<"web", styled_components.FastOmit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
14
14
  declare function registerToolbarComponent(type: string, reactComponent: any): void;
15
15
  type ToolbarProps = {
16
16
  store: StoreType;
@@ -1 +1 @@
1
- import{a,b,c,d}from"../chunk-OG4HUTJF.js";import"../chunk-QX7ZGRSR.js";import"../chunk-TNBL7KOG.js";import"../chunk-4BG4CHIB.js";import"../chunk-OA7Z7HNL.js";import"../chunk-KCNKLCD5.js";import"../chunk-LFWKF4C4.js";import"../chunk-TWH7TO5J.js";import"../chunk-4WITBL6X.js";import"../chunk-2PAJLUQH.js";import"../chunk-XRRO2RT7.js";import"../chunk-OBJ5NZSC.js";import"../chunk-INRJE7VS.js";import"../chunk-HD2T2D4D.js";import"../chunk-YOQ663QO.js";import"../chunk-TYHXQPZQ.js";import"../chunk-3TO57JPN.js";import"../chunk-CB23VFSC.js";import"../chunk-IUFYYEGO.js";import"../chunk-HQSM4X2M.js";import"../chunk-MXZ6RXT3.js";import"../chunk-N5KI6CPA.js";import"../chunk-YRJUN267.js";import"../chunk-RVXI723F.js";import"../chunk-OQ6HU62L.js";import"../chunk-WCHGSVUC.js";import"../chunk-DCGJ6RKU.js";import"../chunk-7NNOHYKX.js";import"../chunk-ARZMBVXU.js";import"../chunk-WJT6VPDR.js";import"../chunk-JMIN2XMC.js";import"../chunk-75WC3GVB.js";import"../chunk-O2XFH626.js";export{a as NavBarGroup,c as Toolbar,d as default,b as registerToolbarComponent};
1
+ import{a,b,c,d}from"../chunk-KKA7WASQ.js";import"../chunk-KVT25LDU.js";import"../chunk-2T3O5ZZ2.js";import"../chunk-NDZKXZQ2.js";import"../chunk-CB23VFSC.js";import"../chunk-3TO57JPN.js";import"../chunk-O73AAP2K.js";import"../chunk-AC6CCGZH.js";import"../chunk-RSKWMPST.js";import"../chunk-XRRO2RT7.js";import"../chunk-YCJBBRRT.js";import"../chunk-5OA2JYPB.js";import"../chunk-2A3HHQ7X.js";import"../chunk-7YLSIB43.js";import"../chunk-J6PYM4EV.js";import"../chunk-62YF5KTO.js";import"../chunk-YVBVDUVA.js";import"../chunk-TTK5Z2Z6.js";import"../chunk-T3TEB73P.js";import"../chunk-IUFYYEGO.js";import"../chunk-MXZ6RXT3.js";import"../chunk-O56ZNYGR.js";import"../chunk-RVXI723F.js";import"../chunk-YRJUN267.js";import"../chunk-OQ6HU62L.js";import"../chunk-WCHGSVUC.js";import"../chunk-TZ6B7XDS.js";import"../chunk-7NNOHYKX.js";import"../chunk-TTHQXTIX.js";import"../chunk-YCFED7XQ.js";import"../chunk-WJT6VPDR.js";import"../chunk-JMIN2XMC.js";import"../chunk-75WC3GVB.js";import"../chunk-O2XFH626.js";export{a as NavBarGroup,c as Toolbar,d as default,b as registerToolbarComponent};
@@ -1,11 +1,13 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { StoreType } from '../model/store.js';
3
+ import { ProjectType } from '../project.js';
3
4
  import 'fabric';
4
5
  import 'mobx-state-tree/dist/internal';
5
6
  import 'mobx-state-tree';
6
7
  import '@ydesign/core';
7
8
  import '../utils/fonts.js';
8
9
  import 'mobx';
10
+ import 'react';
9
11
 
10
12
  type Size = {
11
13
  name: string;
@@ -17,11 +19,12 @@ type Size = {
17
19
  };
18
20
  interface CreateDesignProps {
19
21
  store: StoreType;
22
+ project: ProjectType;
20
23
  visible: boolean;
21
24
  onClose: () => void;
22
25
  onConfirm: (size: Size) => void;
23
26
  mode?: 'create' | 'open';
24
27
  }
25
- declare const CreateDesign: ({ visible, onClose, onConfirm }: CreateDesignProps) => react_jsx_runtime.JSX.Element;
28
+ declare const CreateDesign: ({ project, visible, onClose, onConfirm }: CreateDesignProps) => react_jsx_runtime.JSX.Element;
26
29
 
27
30
  export { CreateDesign };
@@ -1 +1 @@
1
- import{a}from"../chunk-EN72YNS7.js";import"../chunk-5C2MNUBC.js";import"../chunk-MXZ6RXT3.js";import"../chunk-O2XFH626.js";export{a as CreateDesign};
1
+ import{a}from"../chunk-OPXS6VQ6.js";import"../chunk-5C2MNUBC.js";import"../chunk-MXZ6RXT3.js";import"../chunk-O2XFH626.js";export{a as CreateDesign};
@@ -1 +1 @@
1
- import{a}from"../chunk-2XCWXNZD.js";import"../chunk-EN72YNS7.js";import"../chunk-5C2MNUBC.js";import"../chunk-MXZ6RXT3.js";import"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{a as FileMenu};
1
+ import{a}from"../chunk-A7SUGNOW.js";import"../chunk-OPXS6VQ6.js";import"../chunk-5C2MNUBC.js";import"../chunk-MXZ6RXT3.js";import"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{a as FileMenu};
@@ -1,4 +1,4 @@
1
- import{a as l}from"../chunk-HQSM4X2M.js";import{a as d}from"../chunk-2XCWXNZD.js";import"../chunk-EN72YNS7.js";import{b as r}from"../chunk-5C2MNUBC.js";import"../chunk-MXZ6RXT3.js";import{c as n}from"../chunk-ARZMBVXU.js";import{b as p}from"../chunk-ONY3GLGA.js";import"../chunk-WJT6VPDR.js";import"../chunk-O2XFH626.js";import o from"styled-components";import{observer as s}from"mobx-react-lite";import{Input as m,Tooltip as c,Button as f}from"antd";import{CloudUpload as g}from"lucide-react";import{jsx as t,jsxs as i}from"react/jsx-runtime";var h=o("div")`
1
+ import{a as p}from"../chunk-A7SUGNOW.js";import"../chunk-OPXS6VQ6.js";import{a as d}from"../chunk-7YLSIB43.js";import{b as s}from"../chunk-5C2MNUBC.js";import"../chunk-MXZ6RXT3.js";import{c as i}from"../chunk-YCFED7XQ.js";import{b as l}from"../chunk-SGK2XN5D.js";import"../chunk-WJT6VPDR.js";import"../chunk-O2XFH626.js";import n from"styled-components";import{observer as f}from"mobx-react-lite";import{Input as m,Tooltip as x,Button as y,theme as h}from"antd";import{CloudUpload as c,Loader as v,Check as u}from"lucide-react";import{jsx as t,jsxs as a}from"react/jsx-runtime";var w=n("div")`
2
2
  white-space: nowrap;
3
3
  height: 50px;
4
4
  padding: 0 15px;
@@ -11,18 +11,18 @@ import{a as l}from"../chunk-HQSM4X2M.js";import{a as d}from"../chunk-2XCWXNZD.js
11
11
  overflow-y: hidden;
12
12
  max-width: 100vw;
13
13
  }
14
- `,v=o("div")`
14
+ `,b=n("div")`
15
15
  @media screen and (max-width: 500px) {
16
16
  display: flex;
17
17
  }
18
- `,x=o("div")`
18
+ `,N=n("div")`
19
19
  float: left;
20
20
  display: flex;
21
21
  align-items: center;
22
22
  height: 50px;
23
- `,y=o("div")`
23
+ `,T=n("div")`
24
24
  float: right;
25
25
  display: flex;
26
26
  align-items: center;
27
27
  height: 50px;
28
- `,u=s(({project:e})=>(console.log(e.status),t(c,{title:"\u4FDD\u5B58\u4F5C\u56FE\u8BB0\u5F55",children:t(f,{type:"text",style:{marginLeft:14},icon:t(g,{size:16,style:{display:"flex"}}),children:"Save"})}))),z=s(({store:e})=>{let a=p();return t(h,{className:"topbar border-b-1 border-b-gray-200",children:i(v,{children:[i(x,{children:[i("div",{style:{display:"flex",alignItems:"center",gap:10,paddingRight:16,paddingLeft:16,userSelect:"none"},children:[t("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:t("rect",{width:"20",height:"20",fill:"rgb(22, 119, 255)"})}),t("span",{style:{fontWeight:500,fontSize:20,lineHeight:"100%",letterSpacing:.25},children:"Ydesign"})]}),t(d,{store:e,project:a}),t("div",{style:{paddingLeft:10,maxWidth:200},children:t(m,{placeholder:n("topbar.editableTextPlaceholder")})}),i("div",{style:{paddingLeft:16,fontSize:14},className:"text-gray-600",children:[r({px:e.width,unit:e.unit,dpi:e.dpi,precious:0})," x"," ",r({px:e.height,unit:e.unit,dpi:e.dpi,precious:0})," ",e.unit]}),t(u,{project:a})]}),t(y,{children:t(l,{store:e})})]})})});export{z as Topbar};
28
+ `,g={loading:{icon:t(c,{size:16,style:{display:"flex",animation:"spin 1s linear infinite"}}),textKey:"topbar.statusLoading"},saved:{icon:t(u,{size:16,style:{display:"flex",color:"#52c41a"}}),textKey:"topbar.statusSaved",color:"#52c41a"},"has-changes":{icon:t(c,{size:16,style:{display:"flex",color:"#faad14"}}),textKey:"topbar.statusHasChanges",color:"#faad14"},saving:{icon:t(v,{size:16,style:{display:"flex",animation:"spin 1s linear infinite"}}),textKey:"topbar.statusSaving"}},S=f(({project:e})=>{let o=g[e.status]||g.saved;return t(x,{title:i(o.textKey),children:t(y,{type:"text",style:{marginLeft:14,color:o.color},icon:o.icon,onClick:()=>{(e.status==="loading"||e.status==="saved")&&e.save()},children:i(o.textKey)})})}),P=f(({store:e})=>{let o=l(),{token:r}=h.useToken();return t(w,{className:"topbar",style:{backgroundColor:r.colorBgContainer,color:r.colorText,borderBottom:`1px solid ${r.colorBorder}`},children:a(b,{children:[a(N,{children:[a("div",{style:{display:"flex",alignItems:"center",gap:10,paddingRight:16,paddingLeft:16,userSelect:"none"},children:[t("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:t("rect",{width:"20",height:"20",fill:"rgb(22, 119, 255)"})}),t("span",{style:{fontWeight:500,fontSize:20,lineHeight:"100%",letterSpacing:.25},children:"Ydesign"})]}),t(p,{store:e,project:o}),t("div",{style:{paddingLeft:10,maxWidth:200},children:t(m,{placeholder:i("topbar.editableTextPlaceholder")})}),a("div",{style:{paddingLeft:16,fontSize:14},className:"text-gray-600",children:[s({px:e.width,unit:e.unit,dpi:e.dpi,precious:0})," x"," ",s({px:e.height,unit:e.unit,dpi:e.dpi,precious:0})," ",e.unit]}),t(S,{project:o})]}),t(T,{children:t(d,{store:e})})]})})});export{P as Topbar};
@@ -0,0 +1,14 @@
1
+ /**
2
+ * 后台的接口汇总
3
+ */
4
+ declare const URL = "https://api.yitupic.com";
5
+ declare const API = "https://api.yitupic.com/api";
6
+ declare const getAPI: () => string;
7
+ declare const URLS: Record<string, (...args: any[]) => string>;
8
+ declare const getFontList: () => string;
9
+ declare const templateList: () => string;
10
+ declare const templateDetail: (id: string) => string;
11
+ declare const uploadImage: () => string;
12
+ declare const setAPI: (o: string, t: (...args: any[]) => string) => void;
13
+
14
+ export { API, URL, URLS, getAPI, getFontList, setAPI, templateDetail, templateList, uploadImage };
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e,f,g,h,i}from"../chunk-TTHQXTIX.js";import"../chunk-O2XFH626.js";export{b as API,a as URL,d as URLS,c as getAPI,e as getFontList,i as setAPI,g as templateDetail,f as templateList,h as uploadImage};
@@ -211,6 +211,10 @@ declare const getTranslations: () => {
211
211
  newDesign: string;
212
212
  language: string;
213
213
  editableTextPlaceholder: string;
214
+ statusLoading: string;
215
+ statusSaved: string;
216
+ statusHasChanges: string;
217
+ statusSaving: string;
214
218
  };
215
219
  };
216
220
  /**
@@ -1 +1 @@
1
- import{a,b,c}from"../chunk-ARZMBVXU.js";import"../chunk-O2XFH626.js";export{b as getTranslations,a as setTranslations,c as translate};
1
+ import{a,b,c}from"../chunk-YCFED7XQ.js";import"../chunk-O2XFH626.js";export{b as getTranslations,a as setTranslations,c as translate};
@@ -0,0 +1,2 @@
1
+
2
+ export { }
File without changes
@@ -0,0 +1,5 @@
1
+ import * as axios from 'axios';
2
+
3
+ declare const instance: axios.AxiosInstance;
4
+
5
+ export { instance as default };
@@ -0,0 +1 @@
1
+ import{d as o}from"../chunk-POWRXH5R.js";import"../chunk-P5I43V7X.js";import"../chunk-WJT6VPDR.js";import"../chunk-O2XFH626.js";import a from"axios";var t=a.create({timeout:6e4});t.interceptors.request.use(e=>{let r=o();return r.value&&(e.headers.Authorization=`Bearer ${r.value}`),e},e=>Promise.reject(e));t.interceptors.response.use(e=>{let{data:r}=e;if(r&&r.statusCode&&r.statusCode<=201)return r;let s=new Error(e.data.message||"An error occurred");return Promise.reject(s)},e=>Promise.reject(e));var i=t;export{i as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ydesign/react-editor",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "description": "设计编辑器UI组件库,基于react版本",
5
5
  "main": "dist/app.js",
6
6
  "module": "dist/app.js",
@@ -83,38 +83,44 @@
83
83
  },
84
84
  "author": "junhaoliao",
85
85
  "peerDependencies": {
86
+ "antd": "^6.3.1",
87
+ "mobx": "^6.15.0",
88
+ "mobx-react-lite": "^4.1.1",
89
+ "mobx-state-tree": "^6.0.1",
86
90
  "react": "^18.2.0",
87
- "react-dom": "^18.2.0"
91
+ "react-dom": "^18.2.0",
92
+ "react-sortablejs": "^6.1.4",
93
+ "styled-components": "^6.1.19"
88
94
  },
89
95
  "devDependencies": {
90
96
  "@tailwindcss/postcss": "^4.1.17",
91
97
  "@types/react": "^19.2.2",
92
98
  "@types/react-dom": "^19.2.2",
93
99
  "@types/react-window": "^1.8.8",
100
+ "antd": "^6.3.1",
94
101
  "autoprefixer": "^10.4.23",
102
+ "mobx": "^6.15.0",
103
+ "mobx-react-lite": "^4.1.1",
104
+ "mobx-state-tree": "^6.0.1",
95
105
  "postcss": "^8.5.6",
96
106
  "react": "18.2.0",
97
107
  "react-dom": "18.2.0",
108
+ "react-sortablejs": "^6.1.4",
98
109
  "tsup": "^8.5.0",
99
110
  "typescript": "^5.9.3"
100
111
  },
101
112
  "license": "SEE LICENSE IN LICENSE.md",
102
113
  "dependencies": {
103
- "antd": "^6.3.1",
114
+ "axios": "^1.13.6",
104
115
  "clsx": "^2.1.1",
105
116
  "es-toolkit": "^1.44.0",
106
117
  "lucide-react": "^0.553.0",
107
- "mobx": "^6.15.0",
108
- "mobx-react-lite": "^4.1.1",
109
- "mobx-state-tree": "^6.0.1",
110
118
  "react-overflow-list": "^0.5.0",
111
- "react-sortablejs": "^6.1.4",
112
119
  "react-window": "^1.8.11",
113
- "styled-components": "^6.1.19",
114
120
  "tailwind-merge": "^3.3.1",
115
121
  "tailwindcss": "^4.1.17",
116
122
  "tw-animate-css": "^1.4.0",
117
- "@ydesign/core": "^0.0.6"
123
+ "@ydesign/core": "^0.0.7"
118
124
  },
119
125
  "browserslist": [
120
126
  "> 0.5%",