labellife-design-tool 1.1.1 → 1.1.3
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.
- package/README.md +83 -0
- package/dist/lib/lib/index.js +63 -9
- package/dist/lib/wordpress.js +63 -9
- package/dist/types/CanvasEditor.d.ts.map +1 -1
- package/dist/types/lib/index.d.ts +1 -1
- package/dist/types/lib/index.d.ts.map +1 -1
- package/dist/types/types/Config.d.ts +15 -0
- package/dist/types/types/Config.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -144,6 +144,89 @@ interface CustomPanelDefinition {
|
|
|
144
144
|
}
|
|
145
145
|
```
|
|
146
146
|
|
|
147
|
+
#### Add Elements from a Custom Panel
|
|
148
|
+
|
|
149
|
+
Every panel (built-in or custom) receives a `store` prop with a Polotno-like API:
|
|
150
|
+
|
|
151
|
+
```tsx
|
|
152
|
+
// Your custom panel component
|
|
153
|
+
const MyImagesPanel = ({ store }) => {
|
|
154
|
+
const handleAddImage = (url: string) => {
|
|
155
|
+
store.activePage?.addElement({
|
|
156
|
+
type: "image",
|
|
157
|
+
src: url,
|
|
158
|
+
x: 100,
|
|
159
|
+
y: 100,
|
|
160
|
+
width: 200,
|
|
161
|
+
height: 200,
|
|
162
|
+
});
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
return (
|
|
166
|
+
<div style={{ color: "white", padding: 16 }}>
|
|
167
|
+
<h3>My Images</h3>
|
|
168
|
+
<button onClick={() => handleAddImage("https://example.com/img.jpg")}>
|
|
169
|
+
Add Image
|
|
170
|
+
</button>
|
|
171
|
+
<p>Canvas size: {store.width} × {store.height}</p>
|
|
172
|
+
</div>
|
|
173
|
+
);
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
// Register the panel
|
|
177
|
+
<CanvasEditor
|
|
178
|
+
config={{
|
|
179
|
+
panels: [
|
|
180
|
+
"text",
|
|
181
|
+
"elements",
|
|
182
|
+
{ id: "my-images", title: "My Images", icon: <MyIcon />, component: MyImagesPanel },
|
|
183
|
+
"image",
|
|
184
|
+
"background",
|
|
185
|
+
],
|
|
186
|
+
}}
|
|
187
|
+
/>
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**CanvasStore interface**
|
|
191
|
+
|
|
192
|
+
```typescript
|
|
193
|
+
interface CanvasStore {
|
|
194
|
+
activePage: {
|
|
195
|
+
addElement: (element: {
|
|
196
|
+
type: string;
|
|
197
|
+
src?: string;
|
|
198
|
+
x: number;
|
|
199
|
+
y: number;
|
|
200
|
+
width: number;
|
|
201
|
+
height: number;
|
|
202
|
+
}) => void;
|
|
203
|
+
};
|
|
204
|
+
width: number;
|
|
205
|
+
height: number;
|
|
206
|
+
openSidePanel: (panelId: string | null) => void;
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
**Open panels programmatically**
|
|
211
|
+
|
|
212
|
+
```tsx
|
|
213
|
+
const MyPanel = ({ store }) => {
|
|
214
|
+
const openTextPanel = () => store.openSidePanel("text");
|
|
215
|
+
const openCustomPanel = () => store.openSidePanel("my-custom-panel");
|
|
216
|
+
const closeAllPanels = () => store.openSidePanel(null);
|
|
217
|
+
const tryOpenUnknown = () => store.openSidePanel("nonexistent"); // closes all panels
|
|
218
|
+
|
|
219
|
+
return (
|
|
220
|
+
<div style={{ color: "white", padding: 16 }}>
|
|
221
|
+
<button onClick={openTextPanel}>Open Text Panel</button>
|
|
222
|
+
<button onClick={openCustomPanel}>Open Custom Panel</button>
|
|
223
|
+
<button onClick={closeAllPanels}>Close All Panels</button>
|
|
224
|
+
<button onClick={tryOpenUnknown}>Try Unknown Panel (closes all)</button>
|
|
225
|
+
</div>
|
|
226
|
+
);
|
|
227
|
+
};
|
|
228
|
+
```
|
|
229
|
+
|
|
147
230
|
#### Default Behavior
|
|
148
231
|
|
|
149
232
|
If `config.panels` is **not provided**, the editor shows the default set:
|
package/dist/lib/lib/index.js
CHANGED
|
@@ -3611,13 +3611,60 @@ var CanvasEditor = forwardRef(({
|
|
|
3611
3611
|
delete window.__pendingImportReject;
|
|
3612
3612
|
}
|
|
3613
3613
|
};
|
|
3614
|
+
const store = useMemo(() => ({
|
|
3615
|
+
activePage: {
|
|
3616
|
+
addElement: (element) => {
|
|
3617
|
+
const newElement = {
|
|
3618
|
+
id: `element-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
|
|
3619
|
+
type: element.type,
|
|
3620
|
+
name: `${element.type} element`,
|
|
3621
|
+
x: element.x,
|
|
3622
|
+
y: element.y,
|
|
3623
|
+
width: element.width,
|
|
3624
|
+
height: element.height,
|
|
3625
|
+
rotation: 0,
|
|
3626
|
+
visible: true,
|
|
3627
|
+
locked: false,
|
|
3628
|
+
opacity: 1,
|
|
3629
|
+
...element.src && { src: element.src }
|
|
3630
|
+
};
|
|
3631
|
+
setDesign((prev) => ({
|
|
3632
|
+
...prev,
|
|
3633
|
+
pages: prev.pages.map((page) => page.id === currentPage.id ? { ...page, elements: [...page.elements, newElement] } : page)
|
|
3634
|
+
}));
|
|
3635
|
+
}
|
|
3636
|
+
},
|
|
3637
|
+
width: design.width,
|
|
3638
|
+
height: design.height,
|
|
3639
|
+
openSidePanel: (panelId) => {
|
|
3640
|
+
if (!panelId) {
|
|
3641
|
+
setActivePanelId(null);
|
|
3642
|
+
return;
|
|
3643
|
+
}
|
|
3644
|
+
const requestedPanels = config?.panels && config.panels.length > 0 ? config.panels : [
|
|
3645
|
+
"text",
|
|
3646
|
+
"elements",
|
|
3647
|
+
"image",
|
|
3648
|
+
"design",
|
|
3649
|
+
"background",
|
|
3650
|
+
...config?.variables ? ["variables"] : [],
|
|
3651
|
+
...config?.export ? ["export"] : []
|
|
3652
|
+
];
|
|
3653
|
+
const panelExists = requestedPanels.some((p) => typeof p === "string" ? p === panelId : p.id === panelId);
|
|
3654
|
+
if (panelExists) {
|
|
3655
|
+
setActivePanelId(panelId);
|
|
3656
|
+
} else {
|
|
3657
|
+
setActivePanelId(null);
|
|
3658
|
+
}
|
|
3659
|
+
}
|
|
3660
|
+
}), [currentPage.id, design.width, design.height, config, setActivePanelId]);
|
|
3614
3661
|
const panelConfigs = useMemo(() => {
|
|
3615
3662
|
const builtInConfigs = {
|
|
3616
3663
|
elements: {
|
|
3617
3664
|
id: "elements",
|
|
3618
3665
|
title: "Elements",
|
|
3619
3666
|
component: ElementPanel_default,
|
|
3620
|
-
props: { onAddShape: addShape }
|
|
3667
|
+
props: { onAddShape: addShape, store }
|
|
3621
3668
|
},
|
|
3622
3669
|
text: {
|
|
3623
3670
|
id: "text",
|
|
@@ -3627,7 +3674,8 @@ var CanvasEditor = forwardRef(({
|
|
|
3627
3674
|
selectedElement,
|
|
3628
3675
|
updateElement,
|
|
3629
3676
|
setTool,
|
|
3630
|
-
onAddText: addText
|
|
3677
|
+
onAddText: addText,
|
|
3678
|
+
store
|
|
3631
3679
|
}
|
|
3632
3680
|
},
|
|
3633
3681
|
image: {
|
|
@@ -3643,7 +3691,8 @@ var CanvasEditor = forwardRef(({
|
|
|
3643
3691
|
setUnsplashMode("element");
|
|
3644
3692
|
},
|
|
3645
3693
|
canvasWidth: design.width,
|
|
3646
|
-
canvasHeight: design.height
|
|
3694
|
+
canvasHeight: design.height,
|
|
3695
|
+
store
|
|
3647
3696
|
}
|
|
3648
3697
|
},
|
|
3649
3698
|
design: {
|
|
@@ -3660,7 +3709,8 @@ var CanvasEditor = forwardRef(({
|
|
|
3660
3709
|
setShowUnsplash(true);
|
|
3661
3710
|
setUnsplashMode("background");
|
|
3662
3711
|
},
|
|
3663
|
-
config
|
|
3712
|
+
config,
|
|
3713
|
+
store
|
|
3664
3714
|
}
|
|
3665
3715
|
},
|
|
3666
3716
|
background: {
|
|
@@ -3674,7 +3724,8 @@ var CanvasEditor = forwardRef(({
|
|
|
3674
3724
|
onSetUnsplashBackground: () => {
|
|
3675
3725
|
setShowUnsplash(true);
|
|
3676
3726
|
setUnsplashMode("background");
|
|
3677
|
-
}
|
|
3727
|
+
},
|
|
3728
|
+
store
|
|
3678
3729
|
}
|
|
3679
3730
|
},
|
|
3680
3731
|
variables: config?.variables ? {
|
|
@@ -3684,7 +3735,8 @@ var CanvasEditor = forwardRef(({
|
|
|
3684
3735
|
props: {
|
|
3685
3736
|
config,
|
|
3686
3737
|
design,
|
|
3687
|
-
setDesign
|
|
3738
|
+
setDesign,
|
|
3739
|
+
store
|
|
3688
3740
|
}
|
|
3689
3741
|
} : null,
|
|
3690
3742
|
export: {
|
|
@@ -3702,7 +3754,8 @@ var CanvasEditor = forwardRef(({
|
|
|
3702
3754
|
} : undefined,
|
|
3703
3755
|
onExportToJSON: config?.export?.json ? () => exportToJSON(design) : undefined,
|
|
3704
3756
|
onImportJSON: () => jsonInputRef.current?.click(),
|
|
3705
|
-
onLoadJSON: () => setShowJsonModal(true)
|
|
3757
|
+
onLoadJSON: () => setShowJsonModal(true),
|
|
3758
|
+
store
|
|
3706
3759
|
}
|
|
3707
3760
|
}
|
|
3708
3761
|
};
|
|
@@ -3739,7 +3792,7 @@ var CanvasEditor = forwardRef(({
|
|
|
3739
3792
|
id: custom.id,
|
|
3740
3793
|
title: custom.title,
|
|
3741
3794
|
component: custom.component,
|
|
3742
|
-
props: custom.props
|
|
3795
|
+
props: { ...custom.props, store }
|
|
3743
3796
|
});
|
|
3744
3797
|
});
|
|
3745
3798
|
return ordered;
|
|
@@ -3751,7 +3804,8 @@ var CanvasEditor = forwardRef(({
|
|
|
3751
3804
|
design,
|
|
3752
3805
|
selectedElement,
|
|
3753
3806
|
setTool,
|
|
3754
|
-
updateElement
|
|
3807
|
+
updateElement,
|
|
3808
|
+
store
|
|
3755
3809
|
]);
|
|
3756
3810
|
useEffect4(() => {
|
|
3757
3811
|
if (!panelConfigs.length)
|
package/dist/lib/wordpress.js
CHANGED
|
@@ -3611,13 +3611,60 @@ var CanvasEditor = forwardRef(({
|
|
|
3611
3611
|
delete window.__pendingImportReject;
|
|
3612
3612
|
}
|
|
3613
3613
|
};
|
|
3614
|
+
const store = useMemo(() => ({
|
|
3615
|
+
activePage: {
|
|
3616
|
+
addElement: (element) => {
|
|
3617
|
+
const newElement = {
|
|
3618
|
+
id: `element-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
|
|
3619
|
+
type: element.type,
|
|
3620
|
+
name: `${element.type} element`,
|
|
3621
|
+
x: element.x,
|
|
3622
|
+
y: element.y,
|
|
3623
|
+
width: element.width,
|
|
3624
|
+
height: element.height,
|
|
3625
|
+
rotation: 0,
|
|
3626
|
+
visible: true,
|
|
3627
|
+
locked: false,
|
|
3628
|
+
opacity: 1,
|
|
3629
|
+
...element.src && { src: element.src }
|
|
3630
|
+
};
|
|
3631
|
+
setDesign((prev) => ({
|
|
3632
|
+
...prev,
|
|
3633
|
+
pages: prev.pages.map((page) => page.id === currentPage.id ? { ...page, elements: [...page.elements, newElement] } : page)
|
|
3634
|
+
}));
|
|
3635
|
+
}
|
|
3636
|
+
},
|
|
3637
|
+
width: design.width,
|
|
3638
|
+
height: design.height,
|
|
3639
|
+
openSidePanel: (panelId) => {
|
|
3640
|
+
if (!panelId) {
|
|
3641
|
+
setActivePanelId(null);
|
|
3642
|
+
return;
|
|
3643
|
+
}
|
|
3644
|
+
const requestedPanels = config?.panels && config.panels.length > 0 ? config.panels : [
|
|
3645
|
+
"text",
|
|
3646
|
+
"elements",
|
|
3647
|
+
"image",
|
|
3648
|
+
"design",
|
|
3649
|
+
"background",
|
|
3650
|
+
...config?.variables ? ["variables"] : [],
|
|
3651
|
+
...config?.export ? ["export"] : []
|
|
3652
|
+
];
|
|
3653
|
+
const panelExists = requestedPanels.some((p) => typeof p === "string" ? p === panelId : p.id === panelId);
|
|
3654
|
+
if (panelExists) {
|
|
3655
|
+
setActivePanelId(panelId);
|
|
3656
|
+
} else {
|
|
3657
|
+
setActivePanelId(null);
|
|
3658
|
+
}
|
|
3659
|
+
}
|
|
3660
|
+
}), [currentPage.id, design.width, design.height, config, setActivePanelId]);
|
|
3614
3661
|
const panelConfigs = useMemo(() => {
|
|
3615
3662
|
const builtInConfigs = {
|
|
3616
3663
|
elements: {
|
|
3617
3664
|
id: "elements",
|
|
3618
3665
|
title: "Elements",
|
|
3619
3666
|
component: ElementPanel_default,
|
|
3620
|
-
props: { onAddShape: addShape }
|
|
3667
|
+
props: { onAddShape: addShape, store }
|
|
3621
3668
|
},
|
|
3622
3669
|
text: {
|
|
3623
3670
|
id: "text",
|
|
@@ -3627,7 +3674,8 @@ var CanvasEditor = forwardRef(({
|
|
|
3627
3674
|
selectedElement,
|
|
3628
3675
|
updateElement,
|
|
3629
3676
|
setTool,
|
|
3630
|
-
onAddText: addText
|
|
3677
|
+
onAddText: addText,
|
|
3678
|
+
store
|
|
3631
3679
|
}
|
|
3632
3680
|
},
|
|
3633
3681
|
image: {
|
|
@@ -3643,7 +3691,8 @@ var CanvasEditor = forwardRef(({
|
|
|
3643
3691
|
setUnsplashMode("element");
|
|
3644
3692
|
},
|
|
3645
3693
|
canvasWidth: design.width,
|
|
3646
|
-
canvasHeight: design.height
|
|
3694
|
+
canvasHeight: design.height,
|
|
3695
|
+
store
|
|
3647
3696
|
}
|
|
3648
3697
|
},
|
|
3649
3698
|
design: {
|
|
@@ -3660,7 +3709,8 @@ var CanvasEditor = forwardRef(({
|
|
|
3660
3709
|
setShowUnsplash(true);
|
|
3661
3710
|
setUnsplashMode("background");
|
|
3662
3711
|
},
|
|
3663
|
-
config
|
|
3712
|
+
config,
|
|
3713
|
+
store
|
|
3664
3714
|
}
|
|
3665
3715
|
},
|
|
3666
3716
|
background: {
|
|
@@ -3674,7 +3724,8 @@ var CanvasEditor = forwardRef(({
|
|
|
3674
3724
|
onSetUnsplashBackground: () => {
|
|
3675
3725
|
setShowUnsplash(true);
|
|
3676
3726
|
setUnsplashMode("background");
|
|
3677
|
-
}
|
|
3727
|
+
},
|
|
3728
|
+
store
|
|
3678
3729
|
}
|
|
3679
3730
|
},
|
|
3680
3731
|
variables: config?.variables ? {
|
|
@@ -3684,7 +3735,8 @@ var CanvasEditor = forwardRef(({
|
|
|
3684
3735
|
props: {
|
|
3685
3736
|
config,
|
|
3686
3737
|
design,
|
|
3687
|
-
setDesign
|
|
3738
|
+
setDesign,
|
|
3739
|
+
store
|
|
3688
3740
|
}
|
|
3689
3741
|
} : null,
|
|
3690
3742
|
export: {
|
|
@@ -3702,7 +3754,8 @@ var CanvasEditor = forwardRef(({
|
|
|
3702
3754
|
} : undefined,
|
|
3703
3755
|
onExportToJSON: config?.export?.json ? () => exportToJSON(design) : undefined,
|
|
3704
3756
|
onImportJSON: () => jsonInputRef.current?.click(),
|
|
3705
|
-
onLoadJSON: () => setShowJsonModal(true)
|
|
3757
|
+
onLoadJSON: () => setShowJsonModal(true),
|
|
3758
|
+
store
|
|
3706
3759
|
}
|
|
3707
3760
|
}
|
|
3708
3761
|
};
|
|
@@ -3739,7 +3792,7 @@ var CanvasEditor = forwardRef(({
|
|
|
3739
3792
|
id: custom.id,
|
|
3740
3793
|
title: custom.title,
|
|
3741
3794
|
component: custom.component,
|
|
3742
|
-
props: custom.props
|
|
3795
|
+
props: { ...custom.props, store }
|
|
3743
3796
|
});
|
|
3744
3797
|
});
|
|
3745
3798
|
return ordered;
|
|
@@ -3751,7 +3804,8 @@ var CanvasEditor = forwardRef(({
|
|
|
3751
3804
|
design,
|
|
3752
3805
|
selectedElement,
|
|
3753
3806
|
setTool,
|
|
3754
|
-
updateElement
|
|
3807
|
+
updateElement,
|
|
3808
|
+
store
|
|
3755
3809
|
]);
|
|
3756
3810
|
useEffect4(() => {
|
|
3757
3811
|
if (!panelConfigs.length)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasEditor.d.ts","sourceRoot":"","sources":["../../src/CanvasEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6F,MAAM,OAAO,CAAC;AAGlH,OAAO,KAAK,MAAM,OAAO,CAAC;AA0C1B,OAAO,EAEL,YAAY,EAKb,MAAM,SAAS,CAAC;AAiCjB,OAAO,
|
|
1
|
+
{"version":3,"file":"CanvasEditor.d.ts","sourceRoot":"","sources":["../../src/CanvasEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6F,MAAM,OAAO,CAAC;AAGlH,OAAO,KAAK,MAAM,OAAO,CAAC;AA0C1B,OAAO,EAEL,YAAY,EAKb,MAAM,SAAS,CAAC;AAiCjB,OAAO,EAA+B,MAAM,EAA0C,MAAM,gBAAgB,CAAC;AAG7G,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,YAAY,CAAC;IAC9B,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACxD;AAED,QAAA,MAAM,YAAY;UAAuC,MAAM;aAAW,MAAM;yCA4yC9E,CAAC;AAEH,eAAe,YAAY,CAAC"}
|
|
@@ -15,7 +15,7 @@ export interface CanvasEditorRef {
|
|
|
15
15
|
}
|
|
16
16
|
export { default as CanvasEditor } from '../CanvasEditor';
|
|
17
17
|
export * from '../types';
|
|
18
|
-
export type { BuiltInPanelId, CustomPanelDefinition, PanelDefinition, } from '../types/Config';
|
|
18
|
+
export type { BuiltInPanelId, CanvasStore, CustomPanelDefinition, PanelDefinition, } from '../types/Config';
|
|
19
19
|
export { exportToPNG, exportToJPG, exportToJSON, exportToJSONObject, importFromJSON, importFromJSONData, // Import JSON data directly (no file needed)
|
|
20
20
|
loadTemplateFromJSON, // Simplified template loading utility
|
|
21
21
|
findRequiredInputs, replaceUserInputs, convertTemplateToCanvasDesign, canvasToDataURL, canvasToBlob, } from '../utils/exportImportUtils';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AASxC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,YAAY,CAAC;IAC9B,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,UAAU,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAGD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG1D,cAAc,UAAU,CAAC;AAGzB,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAAE,6CAA6C;AACjE,oBAAoB,EAAE,sCAAsC;AAC5D,kBAAkB,EAClB,iBAAiB,EACjB,6BAA6B,EAC7B,eAAe,EACf,YAAY,GACb,MAAM,4BAA4B,CAAC;AAGpC,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG7E,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AASxC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,YAAY,CAAC;IAC9B,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,UAAU,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAGD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG1D,cAAc,UAAU,CAAC;AAGzB,YAAY,EACV,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAAE,6CAA6C;AACjE,oBAAoB,EAAE,sCAAsC;AAC5D,kBAAkB,EAClB,iBAAiB,EACjB,6BAA6B,EAC7B,eAAe,EACf,YAAY,GACb,MAAM,4BAA4B,CAAC;AAGpC,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG7E,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -12,6 +12,21 @@ export interface CustomPanelDefinition {
|
|
|
12
12
|
toolValue?: ToolType;
|
|
13
13
|
}
|
|
14
14
|
export type PanelDefinition = BuiltInPanelId | CustomPanelDefinition;
|
|
15
|
+
export interface CanvasStore {
|
|
16
|
+
activePage: {
|
|
17
|
+
addElement: (element: {
|
|
18
|
+
type: string;
|
|
19
|
+
src?: string;
|
|
20
|
+
x: number;
|
|
21
|
+
y: number;
|
|
22
|
+
width: number;
|
|
23
|
+
height: number;
|
|
24
|
+
}) => void;
|
|
25
|
+
};
|
|
26
|
+
width: number;
|
|
27
|
+
height: number;
|
|
28
|
+
openSidePanel: (panelId: string | null) => void;
|
|
29
|
+
}
|
|
15
30
|
export interface NavbarSection {
|
|
16
31
|
id: string;
|
|
17
32
|
type: 'default' | 'custom';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../src/types/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../src/types/Config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED