geoiq-frontend-ui-kit 2.0.2 → 2.0.4
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/dist/components/organisms/image-editor/components/line-session-bar.d.ts +20 -0
- package/dist/components/organisms/image-editor/components/line-session-bar.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/components/panel-insert.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/components/panel-selected.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/components/panel.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/components/saved-layers-list.d.ts +9 -0
- package/dist/components/organisms/image-editor/components/saved-layers-list.d.ts.map +1 -0
- package/dist/components/organisms/image-editor/image-editor-modal.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/image-editor.types.d.ts +73 -0
- package/dist/components/organisms/image-editor/image-editor.types.d.ts.map +1 -1
- package/dist/components/organisms/image-editor/use-image-editor.d.ts.map +1 -1
- package/dist/components/ui/request-credits-view/component/request-credit-dialog.d.ts.map +1 -1
- package/dist/index.es100.js +147 -120
- package/dist/index.es100.js.map +1 -1
- package/dist/index.es101.js +16 -11
- package/dist/index.es101.js.map +1 -1
- package/dist/index.es102.js +7 -41
- package/dist/index.es102.js.map +1 -1
- package/dist/index.es103.js +21 -10
- package/dist/index.es103.js.map +1 -1
- package/dist/index.es104.js +7 -74
- package/dist/index.es104.js.map +1 -1
- package/dist/index.es105.js +177 -30
- package/dist/index.es105.js.map +1 -1
- package/dist/index.es106.js +45 -16
- package/dist/index.es106.js.map +1 -1
- package/dist/index.es107.js +42 -20
- package/dist/index.es107.js.map +1 -1
- package/dist/index.es108.js +22 -12
- package/dist/index.es108.js.map +1 -1
- package/dist/index.es109.js +122 -98
- package/dist/index.es109.js.map +1 -1
- package/dist/index.es11.js +1 -1
- package/dist/index.es110.js +33 -62
- package/dist/index.es110.js.map +1 -1
- package/dist/index.es111.js +60 -52
- package/dist/index.es111.js.map +1 -1
- package/dist/index.es112.js +10 -41
- package/dist/index.es112.js.map +1 -1
- package/dist/index.es113.js +21 -11
- package/dist/index.es113.js.map +1 -1
- package/dist/index.es114.js +42 -92
- package/dist/index.es114.js.map +1 -1
- package/dist/index.es115.js +37 -16
- package/dist/index.es115.js.map +1 -1
- package/dist/index.es116.js +12 -99
- package/dist/index.es116.js.map +1 -1
- package/dist/index.es117.js +92 -13
- package/dist/index.es117.js.map +1 -1
- package/dist/index.es118.js +13 -101
- package/dist/index.es118.js.map +1 -1
- package/dist/index.es119.js +71 -20
- package/dist/index.es119.js.map +1 -1
- package/dist/index.es12.js +1 -1
- package/dist/index.es120.js +34 -25
- package/dist/index.es120.js.map +1 -1
- package/dist/index.es121.js +20 -22
- package/dist/index.es121.js.map +1 -1
- package/dist/index.es122.js +16 -45
- package/dist/index.es122.js.map +1 -1
- package/dist/index.es123.js +11 -34
- package/dist/index.es123.js.map +1 -1
- package/dist/index.es124.js +96 -61
- package/dist/index.es124.js.map +1 -1
- package/dist/index.es125.js +57 -174
- package/dist/index.es125.js.map +1 -1
- package/dist/index.es126.js +50 -17
- package/dist/index.es126.js.map +1 -1
- package/dist/index.es127.js +2 -2
- package/dist/index.es128.js +2 -2
- package/dist/index.es129.js +1 -1
- package/dist/index.es130.js +1 -1
- package/dist/index.es131.js +2 -2
- package/dist/index.es132.js +35 -38
- package/dist/index.es132.js.map +1 -1
- package/dist/index.es133.js +41 -7
- package/dist/index.es133.js.map +1 -1
- package/dist/index.es134.js +88 -7
- package/dist/index.es134.js.map +1 -1
- package/dist/index.es135.js +14 -34
- package/dist/index.es135.js.map +1 -1
- package/dist/index.es136.js +269 -35
- package/dist/index.es136.js.map +1 -1
- package/dist/index.es137.js +7 -2
- package/dist/index.es137.js.map +1 -1
- package/dist/index.es138.js +23 -25
- package/dist/index.es138.js.map +1 -1
- package/dist/index.es139.js +169 -15
- package/dist/index.es139.js.map +1 -1
- package/dist/index.es140.js +82 -7
- package/dist/index.es140.js.map +1 -1
- package/dist/index.es141.js +73 -21
- package/dist/index.es141.js.map +1 -1
- package/dist/index.es142.js +3 -168
- package/dist/index.es142.js.map +1 -1
- package/dist/index.es143.js +56 -82
- package/dist/index.es143.js.map +1 -1
- package/dist/index.es144.js +119 -4
- package/dist/index.es144.js.map +1 -1
- package/dist/index.es145.js +405 -56
- package/dist/index.es145.js.map +1 -1
- package/dist/index.es146.js +25 -110
- package/dist/index.es146.js.map +1 -1
- package/dist/index.es147.js +60 -314
- package/dist/index.es147.js.map +1 -1
- package/dist/index.es148.js +29 -24
- package/dist/index.es148.js.map +1 -1
- package/dist/index.es149.js +21 -64
- package/dist/index.es149.js.map +1 -1
- package/dist/index.es150.js +36 -30
- package/dist/index.es150.js.map +1 -1
- package/dist/index.es151.js +211 -24
- package/dist/index.es151.js.map +1 -1
- package/dist/index.es152.js +141 -35
- package/dist/index.es152.js.map +1 -1
- package/dist/index.es153.js +141 -140
- package/dist/index.es153.js.map +1 -1
- package/dist/index.es154.js +45 -142
- package/dist/index.es154.js.map +1 -1
- package/dist/index.es155.js +353 -45
- package/dist/index.es155.js.map +1 -1
- package/dist/index.es156.js +14 -10
- package/dist/index.es156.js.map +1 -1
- package/dist/index.es157.js +10 -42
- package/dist/index.es157.js.map +1 -1
- package/dist/index.es158.js +44 -5
- package/dist/index.es158.js.map +1 -1
- package/dist/index.es159.js +5 -11
- package/dist/index.es159.js.map +1 -1
- package/dist/index.es16.js +1 -1
- package/dist/index.es160.js +10 -10
- package/dist/index.es160.js.map +1 -1
- package/dist/index.es161.js +11 -2
- package/dist/index.es161.js.map +1 -1
- package/dist/index.es162.js +2 -91
- package/dist/index.es162.js.map +1 -1
- package/dist/index.es163.js +2 -213
- package/dist/index.es163.js.map +1 -1
- package/dist/index.es164.js +23 -52
- package/dist/index.es164.js.map +1 -1
- package/dist/index.es165.js +88 -33
- package/dist/index.es165.js.map +1 -1
- package/dist/index.es166.js +52 -31
- package/dist/index.es166.js.map +1 -1
- package/dist/index.es167.js +32 -29
- package/dist/index.es167.js.map +1 -1
- package/dist/index.es168.js +26 -84
- package/dist/index.es168.js.map +1 -1
- package/dist/index.es169.js +27 -111
- package/dist/index.es169.js.map +1 -1
- package/dist/index.es170.js +97 -285
- package/dist/index.es170.js.map +1 -1
- package/dist/index.es171.js +251 -30
- package/dist/index.es171.js.map +1 -1
- package/dist/index.es172.js +63 -11
- package/dist/index.es172.js.map +1 -1
- package/dist/index.es173.js +284 -82
- package/dist/index.es173.js.map +1 -1
- package/dist/index.es174.js +29 -70
- package/dist/index.es174.js.map +1 -1
- package/dist/index.es175.js +10 -114
- package/dist/index.es175.js.map +1 -1
- package/dist/index.es176.js +23 -106
- package/dist/index.es176.js.map +1 -1
- package/dist/index.es177.js +19 -82
- package/dist/index.es177.js.map +1 -1
- package/dist/index.es178.js +63 -109
- package/dist/index.es178.js.map +1 -1
- package/dist/index.es179.js +63 -117
- package/dist/index.es179.js.map +1 -1
- package/dist/index.es180.js +112 -23
- package/dist/index.es180.js.map +1 -1
- package/dist/index.es181.js +103 -18
- package/dist/index.es181.js.map +1 -1
- package/dist/index.es182.js +86 -5
- package/dist/index.es182.js.map +1 -1
- package/dist/index.es183.js +133 -0
- package/dist/index.es183.js.map +1 -0
- package/dist/index.es184.js +133 -0
- package/dist/index.es184.js.map +1 -0
- package/dist/index.es185.js +9 -0
- package/dist/index.es185.js.map +1 -0
- package/dist/index.es19.js +1 -1
- package/dist/index.es2.js +21 -21
- package/dist/index.es2.js.map +1 -1
- package/dist/index.es20.js +1 -1
- package/dist/index.es21.js +3 -3
- package/dist/index.es22.js +1 -1
- package/dist/index.es25.js +1 -1
- package/dist/index.es27.js +1 -1
- package/dist/index.es28.js +2 -2
- package/dist/index.es30.js +1 -1
- package/dist/index.es32.js +1 -1
- package/dist/index.es33.js +1 -1
- package/dist/index.es45.js +48 -46
- package/dist/index.es45.js.map +1 -1
- package/dist/index.es46.js +2 -2
- package/dist/index.es47.js +1 -1
- package/dist/index.es48.js +1 -1
- package/dist/index.es53.js +1 -1
- package/dist/index.es54.js +1 -1
- package/dist/index.es57.js +1 -1
- package/dist/index.es59.js +1 -1
- package/dist/index.es67.js +2 -2
- package/dist/index.es68.js +1 -1
- package/dist/index.es71.js +1 -1
- package/dist/index.es72.js +7 -7
- package/dist/index.es73.js +2 -2
- package/dist/index.es85.js +1 -1
- package/dist/index.es97.js +16 -11
- package/dist/index.es97.js.map +1 -1
- package/dist/index.es98.js +89 -262
- package/dist/index.es98.js.map +1 -1
- package/dist/index.es99.js +13 -87
- package/dist/index.es99.js.map +1 -1
- package/dist/styles.css +55 -0
- package/package.json +2 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ImageEditorEngine, ImageEditorUiState } from '../image-editor.types';
|
|
2
|
+
|
|
3
|
+
interface LineSessionBarProps {
|
|
4
|
+
ui: ImageEditorUiState;
|
|
5
|
+
engine: ImageEditorEngine;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* On-screen controls for a live multi-point line.
|
|
9
|
+
*
|
|
10
|
+
* Touch has no Shift, Backspace, Enter or Escape, double-tap is unreliable
|
|
11
|
+
* (and often zooms), and there is no hover to preview with -- so on a phone
|
|
12
|
+
* these buttons are the *only* way to undo a corner or finish a line. They
|
|
13
|
+
* show on every device rather than only small screens, because the same
|
|
14
|
+
* ambiguity ("how do I stop drawing?") exists with a mouse.
|
|
15
|
+
*
|
|
16
|
+
* Rendered over the stage, bottom-centre, clear of the toolbar and panel.
|
|
17
|
+
*/
|
|
18
|
+
export declare function LineSessionBar({ ui, engine }: LineSessionBarProps): import("react/jsx-dev-runtime").JSX.Element | null;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=line-session-bar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-session-bar.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/image-editor/components/line-session-bar.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE7E,UAAU,mBAAmB;IAC3B,EAAE,EAAE,kBAAkB,CAAA;IACtB,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,mBAAmB,sDA4CjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel-insert.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/image-editor/components/panel-insert.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"panel-insert.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/image-editor/components/panel-insert.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAM7E,UAAU,gBAAgB;IACxB,EAAE,EAAE,kBAAkB,CAAA;IACtB,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAaD,wBAAgB,WAAW,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,gBAAgB,+CA4I3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel-selected.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/image-editor/components/panel-selected.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"panel-selected.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/image-editor/components/panel-selected.tsx"],"names":[],"mappings":"AAUA,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,uBAAuB,CAAA;AAK9B,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,wBAAwB,CAAA;IAClC,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAoBD,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,kBAAkB,+CAoVrE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/image-editor/components/panel.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAEjB,kBAAkB,EACnB,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/image-editor/components/panel.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EAEjB,kBAAkB,EACnB,MAAM,uBAAuB,CAAA;AAQ9B,UAAU,UAAU;IAClB,EAAE,EAAE,kBAAkB,CAAA;IACtB,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAcD,wBAAgB,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,+CAyB/C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ImageEditorEngine, ImageEditorUiState } from '../image-editor.types';
|
|
2
|
+
|
|
3
|
+
interface SavedLayersListProps {
|
|
4
|
+
ui: ImageEditorUiState;
|
|
5
|
+
engine: ImageEditorEngine;
|
|
6
|
+
}
|
|
7
|
+
export declare function SavedLayersList({ ui, engine }: SavedLayersListProps): import("react/jsx-dev-runtime").JSX.Element | null;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=saved-layers-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saved-layers-list.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/image-editor/components/saved-layers-list.tsx"],"names":[],"mappings":"AAKA,OAAO,EACL,iBAAiB,EAEjB,kBAAkB,EACnB,MAAM,uBAAuB,CAAA;AAE9B,UAAU,oBAAoB;IAC5B,EAAE,EAAE,kBAAkB,CAAA;IACtB,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAWD,wBAAgB,eAAe,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,oBAAoB,sDAuGnE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-editor-modal.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/image-editor/image-editor-modal.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"image-editor-modal.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/image-editor/image-editor-modal.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAQ5E,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,iBAAiB,CAAA;IACzB,EAAE,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAC7B,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,EAAE,EACF,MAAM,EACN,SAAS,GACV,EAAE,qBAAqB,sDAoHvB"}
|
|
@@ -61,6 +61,24 @@ export interface ImageEditorConfig {
|
|
|
61
61
|
closeOnBackdrop?: boolean;
|
|
62
62
|
closeOnEscape?: boolean;
|
|
63
63
|
allowOpenImage?: boolean;
|
|
64
|
+
savedLayers?: ImageEditorSavedLayer[];
|
|
65
|
+
onSavedLayersChange?: (layers: ImageEditorSavedLayer[]) => void;
|
|
66
|
+
savedLayersScope?: string;
|
|
67
|
+
onSearchSavedLayers?: (query: string) => Promise<ImageEditorSavedLayer[]>;
|
|
68
|
+
}
|
|
69
|
+
export interface ImageEditorSavedLayer {
|
|
70
|
+
id: string;
|
|
71
|
+
name: string;
|
|
72
|
+
createdAt: number;
|
|
73
|
+
/** The layer JSON, minus its id and any in-progress editing state. */
|
|
74
|
+
layer: Record<string, unknown>;
|
|
75
|
+
}
|
|
76
|
+
/** What the panel needs to list a saved layer, without its geometry. */
|
|
77
|
+
export interface ImageEditorSavedLayerSummary {
|
|
78
|
+
id: string;
|
|
79
|
+
name: string;
|
|
80
|
+
type?: string;
|
|
81
|
+
createdAt?: number;
|
|
64
82
|
}
|
|
65
83
|
export interface ImageEditorProps extends ImageEditorConfig {
|
|
66
84
|
trigger: React.ReactElement;
|
|
@@ -85,6 +103,19 @@ export interface ImageEditorSelectedLayer {
|
|
|
85
103
|
boxWidth?: number;
|
|
86
104
|
fill?: string;
|
|
87
105
|
width?: number;
|
|
106
|
+
shape?: string;
|
|
107
|
+
label?: string;
|
|
108
|
+
labelSize?: number;
|
|
109
|
+
labelColor?: string;
|
|
110
|
+
labelFont?: string;
|
|
111
|
+
pointCount?: number;
|
|
112
|
+
closed?: boolean;
|
|
113
|
+
labelSide?: 'above' | 'below';
|
|
114
|
+
labelOffset?: number;
|
|
115
|
+
labelPos?: number;
|
|
116
|
+
labelRotate?: boolean;
|
|
117
|
+
labelDx?: number;
|
|
118
|
+
labelDy?: number;
|
|
88
119
|
}
|
|
89
120
|
export interface ImageEditorUiState {
|
|
90
121
|
hasImage: boolean;
|
|
@@ -105,6 +136,15 @@ export interface ImageEditorUiState {
|
|
|
105
136
|
isLoadingImage: boolean;
|
|
106
137
|
adjustments: ImageEditorAdjustments;
|
|
107
138
|
selectedShapeType: string;
|
|
139
|
+
multiPointMode: boolean;
|
|
140
|
+
savedLayers: ImageEditorSavedLayerSummary[];
|
|
141
|
+
canSearchSavedLayers: boolean;
|
|
142
|
+
poly: {
|
|
143
|
+
active: boolean;
|
|
144
|
+
pointCount: number;
|
|
145
|
+
canFinish: boolean;
|
|
146
|
+
canClose: boolean;
|
|
147
|
+
};
|
|
108
148
|
textColor: string;
|
|
109
149
|
shapeColor: string;
|
|
110
150
|
drawColor: string;
|
|
@@ -174,6 +214,39 @@ export interface ImageEditorEngine extends ImageEditorInstance {
|
|
|
174
214
|
setSelectedBoxWidth: (v: number) => void;
|
|
175
215
|
setSelectedShapeFill: (v: 'stroke' | 'fill') => void;
|
|
176
216
|
setSelectedWidth: (v: number) => void;
|
|
217
|
+
setSelectedLabel: (v: string) => void;
|
|
218
|
+
setSelectedLabelSize: (v: number) => void;
|
|
219
|
+
setSelectedLabelColor: (v: string) => void;
|
|
220
|
+
setSelectedLabelFont: (v: string) => void;
|
|
221
|
+
setSelectedClosed: (v: boolean) => void;
|
|
222
|
+
setSelectedLabelSide: (v: 'above' | 'below') => void;
|
|
223
|
+
setSelectedLabelOffset: (v: number) => void;
|
|
224
|
+
setSelectedLabelPos: (v: number) => void;
|
|
225
|
+
setSelectedLabelRotate: (v: boolean) => void;
|
|
226
|
+
setMultiPointMode: (v: boolean) => void;
|
|
227
|
+
/** Reopens the selected line so more corners can be appended. */
|
|
228
|
+
continueSelectedLine: () => void;
|
|
229
|
+
finishLine: () => void;
|
|
230
|
+
closeLine: () => void;
|
|
231
|
+
undoLinePoint: () => void;
|
|
232
|
+
cancelLine: () => void;
|
|
233
|
+
/** Saves the selected layer for reuse; omit `name` for an auto one. */
|
|
234
|
+
saveSelectedLayer: (name?: string) => void;
|
|
235
|
+
insertSavedLayer: (id: string) => void;
|
|
236
|
+
deleteSavedLayer: (id: string) => void;
|
|
237
|
+
renameSavedLayer: (id: string, name: string) => void;
|
|
238
|
+
getSavedLayers: () => ImageEditorSavedLayer[];
|
|
239
|
+
/** Replaces the library — call this when your own fetch resolves. */
|
|
240
|
+
setSavedLayers: (layers: ImageEditorSavedLayer[]) => void;
|
|
241
|
+
/** Inserts a layer from a full entry — used for API search results. */
|
|
242
|
+
insertSavedLayerEntry: (entry: ImageEditorSavedLayer) => void;
|
|
243
|
+
searchSavedLayers: (query: string) => Promise<ImageEditorSavedLayer[]>;
|
|
244
|
+
setSelectedLabelDx: (v: number) => void;
|
|
245
|
+
setSelectedLabelDy: (v: number) => void;
|
|
246
|
+
/** Rotates the whole image regardless of selection. */
|
|
247
|
+
rotateImage: (deg: number) => void;
|
|
248
|
+
/** Flips the whole image regardless of selection. */
|
|
249
|
+
flipImage: (horizontal: boolean) => void;
|
|
177
250
|
applyCrop: () => void;
|
|
178
251
|
cancelCrop: () => void;
|
|
179
252
|
setCropRatio: (v: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-editor.types.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/image-editor/image-editor.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"image-editor.types.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/image-editor/image-editor.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-image-editor.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/image-editor/use-image-editor.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,iBAAiB,EAEjB,mBAAmB,EAEpB,MAAM,sBAAsB,CAAA;AAI7B,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"use-image-editor.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/image-editor/use-image-editor.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,iBAAiB,EAEjB,mBAAmB,EAEpB,MAAM,sBAAsB,CAAA;AAI7B,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,mBAAmB,CA+F7E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-credit-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/request-credits-view/component/request-credit-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAKlD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAIzE,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,
|
|
1
|
+
{"version":3,"file":"request-credit-dialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/request-credits-view/component/request-credit-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAKlD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAIzE,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA4NpE,CAAA"}
|
package/dist/index.es100.js
CHANGED
|
@@ -1,125 +1,152 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
{
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
)
|
|
28
|
-
|
|
1
|
+
import { VERSION as L } from "./index.es143.js";
|
|
2
|
+
import { CROP_RATIOS as st, FILTERS as ot, FONTS as rt, SHAPES as it, SWATCHES as dt } from "./index.es143.js";
|
|
3
|
+
import { createState as b, getState as C, emit as i, emptySourceCanvas as g, resetAdjValues as v, getSel as x } from "./index.es144.js";
|
|
4
|
+
import { zoomIn as T, zoomOut as z, zoomToFit as F, ZOOM_MIN as O, ZOOM_MAX as k, syncCanvasSize as w, render as p, fitStage as I } from "./index.es145.js";
|
|
5
|
+
import { undo as P, redo as E } from "./index.es146.js";
|
|
6
|
+
import { rotate as u, flip as y, resetToOriginal as R, applyCrop as M, cancelCrop as A, setCropRatio as W } from "./index.es147.js";
|
|
7
|
+
import { setMode as B, selectLayer as D } from "./index.es148.js";
|
|
8
|
+
import { commitTextEdit as m } from "./index.es149.js";
|
|
9
|
+
import { addSticker as _ } from "./index.es150.js";
|
|
10
|
+
import { deleteLayer as j, deleteSelected as H, duplicateSelected as U, bringSelectedToFront as N, sendSelectedToBack as Z, setAdjustment as $, setFilter as q, selectShapeType as V, setShapeFill as X, setShapeWidth as G, setBrushSize as J, setBrushStyle as K, setTextFont as Q, setTextSize as Y, setTextColor as ee, setShapeColor as te, setDrawColor as ae, setSelectedColor as le, setSelectedText as se, setSelectedFont as oe, setSelectedTextSize as re, setSelectedBoxWidth as ie, setSelectedShapeFill as de, setSelectedWidth as ne, setSelectedLabel as ce, setSelectedLabelSize as Se, setSelectedLabelColor as pe, setSelectedLabelFont as ue, setSelectedClosed as ye, setSelectedLabelSide as me, setSelectedLabelOffset as he, setSelectedLabelPos as fe, setSelectedLabelRotate as Le, setSelectedLabelDx as be, setSelectedLabelDy as Ce, setMultiPointMode as ge, layerName as ve, rotateSelected as xe, flipSelected as Te } from "./index.es151.js";
|
|
11
|
+
import { doSave as ze, produce as Fe, normalizeSource as d, loadState as h, doLoadImage as n } from "./index.es152.js";
|
|
12
|
+
import { loadSavedLayers as Oe, saveSelectedLayer as ke, insertSavedLayer as we, deleteSavedLayer as Ie, renameSavedLayer as Pe, setSavedLayers as Ee, insertSavedLayerEntry as Re, searchSavedLayers as Me, canSearch as Ae } from "./index.es153.js";
|
|
13
|
+
import { mount as We } from "./index.es154.js";
|
|
14
|
+
import { resumePoly as Be, finishPoly as f, undoPolyPoint as De, cancelPoly as _e, polyStatus as je } from "./index.es155.js";
|
|
15
|
+
function c(s, a) {
|
|
16
|
+
queueMicrotask(() => {
|
|
17
|
+
throw new Error(`[image-editor] ${s}`, { cause: a });
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function He(s) {
|
|
21
|
+
s = s || {};
|
|
22
|
+
const a = {}, t = b(s);
|
|
23
|
+
Oe(t);
|
|
24
|
+
function o() {
|
|
25
|
+
try {
|
|
26
|
+
typeof s.onUiChange == "function" && s.onUiChange(S());
|
|
27
|
+
} catch (e) {
|
|
28
|
+
c("onUiChange threw", e);
|
|
29
|
+
}
|
|
29
30
|
}
|
|
30
|
-
));
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
31
|
+
t.notify = o, a.on = (e, l) => (t.listeners[e] && t.listeners[e].push(l), a), a.off = (e, l) => (t.listeners[e] && (t.listeners[e] = t.listeners[e].filter((r) => r !== l)), a);
|
|
32
|
+
function S() {
|
|
33
|
+
const e = x(t);
|
|
34
|
+
return {
|
|
35
|
+
hasImage: !!t.sourceCanvas.width,
|
|
36
|
+
mode: t.mode,
|
|
37
|
+
canUndo: t.undoStack.length > 0,
|
|
38
|
+
canRedo: t.redoStack.length > 0,
|
|
39
|
+
canReset: !!t.originalCanvas,
|
|
40
|
+
zoomPercent: Math.round(t.zoom * 100),
|
|
41
|
+
canZoomIn: t.zoom < k - 1e-6,
|
|
42
|
+
canZoomOut: t.zoom > O + 1e-6,
|
|
43
|
+
closeOnBackdrop: s.closeOnBackdrop !== !1,
|
|
44
|
+
canOpenImage: s.allowOpenImage !== !1,
|
|
45
|
+
isEditingText: !!t.editingLayer,
|
|
46
|
+
editingSelectAll: t.editingSelectAll,
|
|
47
|
+
dims: t.sourceCanvas.width ? `${t.sourceCanvas.width} × ${t.sourceCanvas.height} px` : "No image",
|
|
48
|
+
statusText: t.statusText,
|
|
49
|
+
isSaving: t.isSaving,
|
|
50
|
+
isLoadingImage: t.isLoadingImage,
|
|
51
|
+
adjustments: { ...t.adj },
|
|
52
|
+
selectedShapeType: t.selectedShapeType,
|
|
53
|
+
multiPointMode: !!t.multiPointMode,
|
|
54
|
+
canSearchSavedLayers: Ae(t),
|
|
55
|
+
savedLayers: (t.savedLayers || []).map((l) => ({
|
|
56
|
+
id: l.id,
|
|
57
|
+
name: l.name,
|
|
58
|
+
type: l.layer?.type,
|
|
59
|
+
createdAt: l.createdAt
|
|
60
|
+
})),
|
|
61
|
+
poly: je(t),
|
|
62
|
+
textColor: t.textColor,
|
|
63
|
+
shapeColor: t.shapeColor,
|
|
64
|
+
drawColor: t.drawColor,
|
|
65
|
+
shapeFill: t.shapeFill,
|
|
66
|
+
shapeWidth: t.shapeWidth,
|
|
67
|
+
brushSize: t.brushSize,
|
|
68
|
+
brushStyle: t.brushStyle,
|
|
69
|
+
textFont: t.textFont,
|
|
70
|
+
textSize: t.textSize,
|
|
71
|
+
cropRatio: t.cropRatio,
|
|
72
|
+
stickers: t.stickers,
|
|
73
|
+
selected: e ? {
|
|
74
|
+
id: e.id,
|
|
75
|
+
type: e.type,
|
|
76
|
+
color: e.color,
|
|
77
|
+
text: e.type === "text" ? e.text : void 0,
|
|
78
|
+
font: e.type === "text" ? e.font : void 0,
|
|
79
|
+
size: e.type === "text" ? e.size : void 0,
|
|
80
|
+
boxWidth: e.type === "text" ? e.boxWidth : void 0,
|
|
81
|
+
fill: e.type === "shape" ? e.fill : void 0,
|
|
82
|
+
width: e.type === "shape" || e.type === "stroke" ? e.width : void 0,
|
|
83
|
+
shape: e.type === "shape" ? e.shape : void 0,
|
|
84
|
+
label: e.type === "shape" ? e.label ?? "" : void 0,
|
|
85
|
+
labelSize: e.type === "shape" ? e.labelSize : void 0,
|
|
86
|
+
labelColor: e.type === "shape" ? e.labelColor : void 0,
|
|
87
|
+
labelFont: e.type === "shape" ? e.labelFont : void 0,
|
|
88
|
+
pointCount: e.type === "shape" && e.points ? e.points.length : void 0,
|
|
89
|
+
closed: e.type === "shape" ? !!e.closed : void 0,
|
|
90
|
+
labelSide: e.type === "shape" ? e.labelSide ?? "above" : void 0,
|
|
91
|
+
labelOffset: e.type === "shape" ? e.labelOffset : void 0,
|
|
92
|
+
labelPos: e.type === "shape" ? e.labelPos ?? 0.5 : void 0,
|
|
93
|
+
labelRotate: e.type === "shape" ? e.labelRotate !== !1 : void 0,
|
|
94
|
+
labelDx: e.type === "shape" ? e.labelDx ?? 0 : void 0,
|
|
95
|
+
labelDy: e.type === "shape" ? e.labelDy ?? 0 : void 0
|
|
96
|
+
} : null,
|
|
97
|
+
layers: t.layers.map((l) => ({
|
|
98
|
+
id: l.id,
|
|
99
|
+
type: l.type,
|
|
100
|
+
name: ve(l)
|
|
101
|
+
}))
|
|
102
|
+
};
|
|
42
103
|
}
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
{
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
),
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
},
|
|
84
|
-
/* @__PURE__ */ e.createElement("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center" }, /* @__PURE__ */ e.createElement(t.ItemIndicator, null, /* @__PURE__ */ e.createElement(m, { className: "w-2 h-2 fill-current" }))),
|
|
85
|
-
n
|
|
86
|
-
));
|
|
87
|
-
w.displayName = t.RadioItem.displayName;
|
|
88
|
-
const g = e.forwardRef(({ className: o, inset: n, ...a }, r) => /* @__PURE__ */ e.createElement(
|
|
89
|
-
t.Label,
|
|
90
|
-
{
|
|
91
|
-
ref: r,
|
|
92
|
-
className: d(
|
|
93
|
-
"px-2 py-1.5 text-sm font-semibold",
|
|
94
|
-
n && "pl-8",
|
|
95
|
-
o
|
|
96
|
-
),
|
|
97
|
-
...a
|
|
98
|
-
}
|
|
99
|
-
));
|
|
100
|
-
g.displayName = t.Label.displayName;
|
|
101
|
-
const N = e.forwardRef(({ className: o, ...n }, a) => /* @__PURE__ */ e.createElement(
|
|
102
|
-
t.Separator,
|
|
103
|
-
{
|
|
104
|
-
ref: a,
|
|
105
|
-
className: d("-mx-1 my-1 h-px bg-muted", o),
|
|
106
|
-
...n
|
|
107
|
-
}
|
|
108
|
-
));
|
|
109
|
-
N.displayName = t.Separator.displayName;
|
|
104
|
+
return a.getUiState = S, a.refitStage = () => {
|
|
105
|
+
!t.mounted || !t.sourceCanvas.width || (I(t), p(t));
|
|
106
|
+
}, a.zoomIn = () => T(t), a.zoomOut = () => z(t), a.zoomToFit = () => F(t), a.setMode = (e) => B(t, e), a.selectLayer = (e) => D(t, e), a.undo = () => P(t), a.redo = () => E(t), a.rotate = (e) => t.selectedId != null ? xe(t, e) : u(t, e), a.flip = (e) => t.selectedId != null ? Te(t, e) : y(t, e), a.rotateImage = (e) => u(t, e), a.flipImage = (e) => y(t, e), a.resetToOriginal = () => R(t), a.applyCrop = () => M(t), a.cancelCrop = () => A(t), a.setCropRatio = (e) => W(t, e), a.commitTextEdit = () => m(t), a.addSticker = (e) => _(t, e), a.setStickers = (e) => {
|
|
107
|
+
t.stickers = e || [], o();
|
|
108
|
+
}, a.deleteLayer = (e) => j(t, e), a.deleteSelected = () => H(t), a.duplicateSelected = () => U(t), a.bringSelectedToFront = () => N(t), a.sendSelectedToBack = () => Z(t), a.setAdjustment = (e, l) => $(t, e, l), a.setFilter = (e) => q(t, e), a.selectShapeType = (e) => V(t, e), a.setShapeFill = (e) => X(t, e), a.setShapeWidth = (e) => G(t, e), a.setBrushSize = (e) => J(t, e), a.setBrushStyle = (e) => K(t, e), a.setTextFont = (e) => Q(t, e), a.setTextSize = (e) => Y(t, e), a.setTextColor = (e) => ee(t, e), a.setShapeColor = (e) => te(t, e), a.setDrawColor = (e) => ae(t, e), a.setSelectedColor = (e) => le(t, e), a.setSelectedText = (e) => se(t, e), a.setSelectedFont = (e) => oe(t, e), a.setSelectedTextSize = (e) => re(t, e), a.setSelectedBoxWidth = (e) => ie(t, e), a.setSelectedShapeFill = (e) => de(t, e), a.setSelectedWidth = (e) => ne(t, e), a.setSelectedLabel = (e) => ce(t, e), a.setSelectedLabelSize = (e) => Se(t, e), a.setSelectedLabelColor = (e) => pe(t, e), a.setSelectedLabelFont = (e) => ue(t, e), a.setSelectedClosed = (e) => ye(t, e), a.setSelectedLabelSide = (e) => me(t, e), a.setSelectedLabelOffset = (e) => he(t, e), a.setSelectedLabelPos = (e) => fe(t, e), a.setSelectedLabelRotate = (e) => Le(t, e), a.setSelectedLabelDx = (e) => be(t, e), a.setSelectedLabelDy = (e) => Ce(t, e), a.setMultiPointMode = (e) => ge(t, e), a.continueSelectedLine = () => Be(t), a.finishLine = () => f(t, !1), a.closeLine = () => f(t, !0), a.undoLinePoint = () => De(t), a.cancelLine = () => _e(t), a.saveSelectedLayer = (e) => ke(t, e), a.insertSavedLayer = (e) => we(t, e), a.deleteSavedLayer = (e) => Ie(t, e), a.renameSavedLayer = (e, l) => Pe(t, e, l), a.getSavedLayers = () => (t.savedLayers || []).slice(), a.setSavedLayers = (e) => Ee(t, e), a.insertSavedLayerEntry = (e) => Re(t, e), a.searchSavedLayers = (e) => Me(t, e), a.save = () => ze(t, a), a.export = (e) => (e = e || {}, t.sourceCanvas.width ? Fe(t, e.type, e.quality) : Promise.resolve(null)), a.getState = () => C(t), a.mount = (e) => We(t, a, e), a.openFile = (e) => d(
|
|
109
|
+
t,
|
|
110
|
+
e,
|
|
111
|
+
(l) => n(t, l)
|
|
112
|
+
), a.open = (e) => {
|
|
113
|
+
if (e = e || {}, t.isOpenFlag)
|
|
114
|
+
return o(), i(t, "open", {}), a;
|
|
115
|
+
t.isOpenFlag = !0;
|
|
116
|
+
const l = () => {
|
|
117
|
+
try {
|
|
118
|
+
t.mounted && t.sourceCanvas.width && (w(t), p(t));
|
|
119
|
+
} catch (r) {
|
|
120
|
+
c("render on open failed", r);
|
|
121
|
+
}
|
|
122
|
+
o(), i(t, "open", {});
|
|
123
|
+
};
|
|
124
|
+
return e.state ? (h(t, e.state), setTimeout(l, 0)) : e.image ? d(t, e.image, (r) => {
|
|
125
|
+
n(t, r), setTimeout(l, 0);
|
|
126
|
+
}) : setTimeout(l, 0), a;
|
|
127
|
+
}, a.close = () => {
|
|
128
|
+
t.isOpenFlag = !1;
|
|
129
|
+
try {
|
|
130
|
+
m(t);
|
|
131
|
+
} catch (e) {
|
|
132
|
+
c("commit on close failed", e);
|
|
133
|
+
}
|
|
134
|
+
return o(), i(t, "close", {}), a;
|
|
135
|
+
}, a.loadImage = (e) => (d(
|
|
136
|
+
t,
|
|
137
|
+
e,
|
|
138
|
+
(l) => n(t, l)
|
|
139
|
+
), a), a.loadState = (e) => (h(t, e), a), a.reset = () => (t.sourceCanvas = g(), t.originalCanvas = null, t.layers = [], t.selectedId = null, t.undoStack = [], t.redoStack = [], t.zoom = 1, v(t), t.statusText = "Ready", o(), a), a.isOpen = () => t.isOpenFlag, a.destroy = () => {
|
|
140
|
+
a._keyHandler && document.removeEventListener("keydown", a._keyHandler), a._resizeHandler && window.removeEventListener("resize", a._resizeHandler), Object.keys(t.listeners).forEach((e) => t.listeners[e] = []);
|
|
141
|
+
}, s.autoOpen && a.open({ image: s.image, state: s.state }), a;
|
|
142
|
+
}
|
|
143
|
+
const tt = { version: L, create: He };
|
|
110
144
|
export {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
M as DropdownMenuPortal,
|
|
118
|
-
w as DropdownMenuRadioItem,
|
|
119
|
-
N as DropdownMenuSeparator,
|
|
120
|
-
R as DropdownMenuSub,
|
|
121
|
-
p as DropdownMenuSubContent,
|
|
122
|
-
c as DropdownMenuSubTrigger,
|
|
123
|
-
E as DropdownMenuTrigger
|
|
145
|
+
st as CROP_RATIOS,
|
|
146
|
+
ot as FILTERS,
|
|
147
|
+
rt as FONTS,
|
|
148
|
+
it as SHAPES,
|
|
149
|
+
dt as SWATCHES,
|
|
150
|
+
tt as default
|
|
124
151
|
};
|
|
125
152
|
//# sourceMappingURL=index.es100.js.map
|
package/dist/index.es100.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es100.js","sources":["../src/components/molecules/dropdown-menu/dropdown-menu-components.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu'\nimport { Check, ChevronRight, Circle } from 'lucide-react'\n\nimport { cn } from '@/lib/utils'\n\nconst DropdownMenu = DropdownMenuPrimitive.Root\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n 'flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent',\n inset && 'pl-8',\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"w-4 h-4 ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n))\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n))\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content> &\n Pick<\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Portal>,\n 'container'\n >\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal container={props?.container}>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n))\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => {\n return (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex select-none items-center rounded-md outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:opacity-50 cursor-pointer data-[disabled]:cursor-not-allowed',\n inset && 'pl-8',\n className\n )}\n {...props}\n />\n )\n})\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className\n )}\n checked={checked}\n disabled\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"w-4 h-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n))\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className=\"w-2 h-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n))\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n 'px-2 py-1.5 text-sm font-semibold',\n inset && 'pl-8',\n className\n )}\n {...props}\n />\n))\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn('-mx-1 my-1 h-px bg-muted', className)}\n {...props}\n />\n))\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn('ml-auto text-xs tracking-widest opacity-60', className)}\n {...props}\n />\n )\n}\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut'\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n}\n"],"names":["DropdownMenu","DropdownMenuPrimitive","DropdownMenuTrigger","DropdownMenuGroup","DropdownMenuPortal","DropdownMenuSub","DropdownMenuSubTrigger","React","className","inset","children","props","ref","cn","ChevronRight","DropdownMenuSubContent","DropdownMenuContent","sideOffset","DropdownMenuItem","DropdownMenuCheckboxItem","checked","Check","DropdownMenuRadioItem","Circle","DropdownMenuLabel","DropdownMenuSeparator"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es100.js","sources":["../src/components/organisms/image-editor/picture-studio-engine.js"],"sourcesContent":["import {\n FILTERS,\n SWATCHES,\n SHAPES,\n FONTS,\n CROP_RATIOS,\n VERSION,\n} from './engine/constants.js'\nimport {\n createState,\n emit,\n emptySourceCanvas,\n getSel,\n getState as readState,\n resetAdjValues,\n} from './engine/state.js'\nimport {\n fitStage,\n render,\n syncCanvasSize,\n zoomIn,\n zoomOut,\n zoomToFit,\n ZOOM_MIN,\n ZOOM_MAX,\n} from './engine/rendering.js'\nimport * as history from './engine/history.js'\nimport * as geometry from './engine/geometry.js'\nimport * as mode from './engine/mode.js'\nimport * as textEditor from './engine/text-editor.js'\nimport * as stickers from './engine/stickers.js'\nimport * as layerActions from './engine/layer-actions.js'\nimport * as saveExport from './engine/save-export.js'\nimport * as savedLayers from './engine/saved-layers.js'\nimport { mount as mountEngine } from './engine/mount.js'\nimport {\n resumePoly,\n polyStatus,\n finishPoly,\n cancelPoly,\n undoPolyPoint,\n} from './engine/pointer.js'\n\nexport { FILTERS, SWATCHES, SHAPES, FONTS, CROP_RATIOS }\n\nfunction reportError(context, error) {\n // Surfaces in DevTools via window.onerror with the stack intact, without\n // aborting the caller and without a console call the lint config forbids.\n queueMicrotask(() => {\n throw new Error(`[image-editor] ${context}`, { cause: error })\n })\n}\n\nfunction createEngine(config) {\n config = config || {}\n const self = {}\n const state = createState(config)\n savedLayers.loadSavedLayers(state)\n\n function notify() {\n // onUiChange is host code (a React setState, usually). A throw here used to\n // abort open() before its 'open' event fired, leaving isOpenFlag true while\n // the UI stayed closed -- after which every open() silently no-opped and the\n // editor could never be reopened.\n try {\n if (typeof config.onUiChange === 'function') {\n config.onUiChange(getUiState())\n }\n } catch (e) {\n reportError('onUiChange threw', e)\n }\n }\n state.notify = notify\n\n self.on = (ev, fn) => {\n if (state.listeners[ev]) state.listeners[ev].push(fn)\n return self\n }\n self.off = (ev, fn) => {\n if (state.listeners[ev])\n state.listeners[ev] = state.listeners[ev].filter((f) => f !== fn)\n return self\n }\n\n function getUiState() {\n const sel = getSel(state)\n return {\n hasImage: !!state.sourceCanvas.width,\n mode: state.mode,\n canUndo: state.undoStack.length > 0,\n canRedo: state.redoStack.length > 0,\n canReset: !!state.originalCanvas,\n zoomPercent: Math.round(state.zoom * 100),\n canZoomIn: state.zoom < ZOOM_MAX - 1e-6,\n canZoomOut: state.zoom > ZOOM_MIN + 1e-6,\n closeOnBackdrop: config.closeOnBackdrop !== false,\n canOpenImage: config.allowOpenImage !== false,\n isEditingText: !!state.editingLayer,\n editingSelectAll: state.editingSelectAll,\n dims: state.sourceCanvas.width\n ? `${state.sourceCanvas.width} × ${state.sourceCanvas.height} px`\n : 'No image',\n statusText: state.statusText,\n isSaving: state.isSaving,\n isLoadingImage: state.isLoadingImage,\n adjustments: { ...state.adj },\n selectedShapeType: state.selectedShapeType,\n multiPointMode: !!state.multiPointMode,\n canSearchSavedLayers: savedLayers.canSearch(state),\n savedLayers: (state.savedLayers || []).map((e) => ({\n id: e.id,\n name: e.name,\n type: e.layer?.type,\n createdAt: e.createdAt,\n })),\n poly: polyStatus(state),\n textColor: state.textColor,\n shapeColor: state.shapeColor,\n drawColor: state.drawColor,\n shapeFill: state.shapeFill,\n shapeWidth: state.shapeWidth,\n brushSize: state.brushSize,\n brushStyle: state.brushStyle,\n textFont: state.textFont,\n textSize: state.textSize,\n cropRatio: state.cropRatio,\n stickers: state.stickers,\n selected: sel\n ? {\n id: sel.id,\n type: sel.type,\n color: sel.color,\n text: sel.type === 'text' ? sel.text : undefined,\n font: sel.type === 'text' ? sel.font : undefined,\n size: sel.type === 'text' ? sel.size : undefined,\n boxWidth: sel.type === 'text' ? sel.boxWidth : undefined,\n fill: sel.type === 'shape' ? sel.fill : undefined,\n width:\n sel.type === 'shape' || sel.type === 'stroke'\n ? sel.width\n : undefined,\n shape: sel.type === 'shape' ? sel.shape : undefined,\n label: sel.type === 'shape' ? (sel.label ?? '') : undefined,\n labelSize: sel.type === 'shape' ? sel.labelSize : undefined,\n labelColor: sel.type === 'shape' ? sel.labelColor : undefined,\n labelFont: sel.type === 'shape' ? sel.labelFont : undefined,\n pointCount:\n sel.type === 'shape' && sel.points\n ? sel.points.length\n : undefined,\n closed: sel.type === 'shape' ? !!sel.closed : undefined,\n labelSide:\n sel.type === 'shape' ? (sel.labelSide ?? 'above') : undefined,\n labelOffset: sel.type === 'shape' ? sel.labelOffset : undefined,\n labelPos: sel.type === 'shape' ? (sel.labelPos ?? 0.5) : undefined,\n labelRotate:\n sel.type === 'shape' ? sel.labelRotate !== false : undefined,\n labelDx: sel.type === 'shape' ? (sel.labelDx ?? 0) : undefined,\n labelDy: sel.type === 'shape' ? (sel.labelDy ?? 0) : undefined,\n }\n : null,\n layers: state.layers.map((l) => ({\n id: l.id,\n type: l.type,\n name: layerActions.layerName(l),\n })),\n }\n }\n self.getUiState = getUiState\n\n self.refitStage = () => {\n if (!state.mounted || !state.sourceCanvas.width) return\n fitStage(state)\n render(state)\n }\n self.zoomIn = () => zoomIn(state)\n self.zoomOut = () => zoomOut(state)\n self.zoomToFit = () => zoomToFit(state)\n self.setMode = (m) => mode.setMode(state, m)\n self.selectLayer = (id) => mode.selectLayer(state, id)\n self.undo = () => history.undo(state)\n self.redo = () => history.redo(state)\n // With a layer selected these act on that layer; otherwise on the image.\n self.rotate = (deg) =>\n state.selectedId != null\n ? layerActions.rotateSelected(state, deg)\n : geometry.rotate(state, deg)\n self.flip = (hz) =>\n state.selectedId != null\n ? layerActions.flipSelected(state, hz)\n : geometry.flip(state, hz)\n // Explicit escape hatches, so the image can still be transformed directly.\n self.rotateImage = (deg) => geometry.rotate(state, deg)\n self.flipImage = (hz) => geometry.flip(state, hz)\n self.resetToOriginal = () => geometry.resetToOriginal(state)\n self.applyCrop = () => geometry.applyCrop(state)\n self.cancelCrop = () => geometry.cancelCrop(state)\n self.setCropRatio = (v) => geometry.setCropRatio(state, v)\n self.commitTextEdit = () => textEditor.commitTextEdit(state)\n self.addSticker = (src) => stickers.addSticker(state, src)\n self.setStickers = (list) => {\n state.stickers = list || []\n notify()\n }\n self.deleteLayer = (id) => layerActions.deleteLayer(state, id)\n self.deleteSelected = () => layerActions.deleteSelected(state)\n self.duplicateSelected = () => layerActions.duplicateSelected(state)\n self.bringSelectedToFront = () => layerActions.bringSelectedToFront(state)\n self.sendSelectedToBack = () => layerActions.sendSelectedToBack(state)\n self.setAdjustment = (key, value) =>\n layerActions.setAdjustment(state, key, value)\n self.setFilter = (id) => layerActions.setFilter(state, id)\n self.selectShapeType = (id) => layerActions.selectShapeType(state, id)\n self.setShapeFill = (v) => layerActions.setShapeFill(state, v)\n self.setShapeWidth = (v) => layerActions.setShapeWidth(state, v)\n self.setBrushSize = (v) => layerActions.setBrushSize(state, v)\n self.setBrushStyle = (v) => layerActions.setBrushStyle(state, v)\n self.setTextFont = (v) => layerActions.setTextFont(state, v)\n self.setTextSize = (v) => layerActions.setTextSize(state, v)\n self.setTextColor = (v) => layerActions.setTextColor(state, v)\n self.setShapeColor = (v) => layerActions.setShapeColor(state, v)\n self.setDrawColor = (v) => layerActions.setDrawColor(state, v)\n self.setSelectedColor = (v) => layerActions.setSelectedColor(state, v)\n self.setSelectedText = (v) => layerActions.setSelectedText(state, v)\n self.setSelectedFont = (v) => layerActions.setSelectedFont(state, v)\n self.setSelectedTextSize = (v) => layerActions.setSelectedTextSize(state, v)\n self.setSelectedBoxWidth = (v) => layerActions.setSelectedBoxWidth(state, v)\n self.setSelectedShapeFill = (v) => layerActions.setSelectedShapeFill(state, v)\n self.setSelectedWidth = (v) => layerActions.setSelectedWidth(state, v)\n self.setSelectedLabel = (v) => layerActions.setSelectedLabel(state, v)\n self.setSelectedLabelSize = (v) => layerActions.setSelectedLabelSize(state, v)\n self.setSelectedLabelColor = (v) =>\n layerActions.setSelectedLabelColor(state, v)\n self.setSelectedLabelFont = (v) => layerActions.setSelectedLabelFont(state, v)\n self.setSelectedClosed = (v) => layerActions.setSelectedClosed(state, v)\n self.setSelectedLabelSide = (v) => layerActions.setSelectedLabelSide(state, v)\n self.setSelectedLabelOffset = (v) =>\n layerActions.setSelectedLabelOffset(state, v)\n self.setSelectedLabelPos = (v) => layerActions.setSelectedLabelPos(state, v)\n self.setSelectedLabelRotate = (v) =>\n layerActions.setSelectedLabelRotate(state, v)\n self.setSelectedLabelDx = (v) => layerActions.setSelectedLabelDx(state, v)\n self.setSelectedLabelDy = (v) => layerActions.setSelectedLabelDy(state, v)\n self.setMultiPointMode = (v) => layerActions.setMultiPointMode(state, v)\n self.continueSelectedLine = () => resumePoly(state)\n // Touch has no Enter/Esc/Backspace, so every session action needs a button.\n self.finishLine = () => finishPoly(state, false)\n self.closeLine = () => finishPoly(state, true)\n self.undoLinePoint = () => undoPolyPoint(state)\n self.cancelLine = () => cancelPoly(state)\n self.saveSelectedLayer = (name) => savedLayers.saveSelectedLayer(state, name)\n self.insertSavedLayer = (id) => savedLayers.insertSavedLayer(state, id)\n self.deleteSavedLayer = (id) => savedLayers.deleteSavedLayer(state, id)\n self.renameSavedLayer = (id, name) =>\n savedLayers.renameSavedLayer(state, id, name)\n self.getSavedLayers = () => (state.savedLayers || []).slice()\n self.setSavedLayers = (list) => savedLayers.setSavedLayers(state, list)\n self.insertSavedLayerEntry = (entry) =>\n savedLayers.insertSavedLayerEntry(state, entry)\n self.searchSavedLayers = (q) => savedLayers.searchSavedLayers(state, q)\n self.save = () => saveExport.doSave(state, self)\n self.export = (opts) => {\n opts = opts || {}\n if (!state.sourceCanvas.width) return Promise.resolve(null)\n return saveExport.produce(state, opts.type, opts.quality)\n }\n self.getState = () => readState(state)\n self.mount = (refs) => mountEngine(state, self, refs)\n self.openFile = (file) =>\n saveExport.normalizeSource(state, file, (d) =>\n saveExport.doLoadImage(state, d)\n )\n\n self.open = (opts) => {\n opts = opts || {}\n if (state.isOpenFlag) {\n // Already flagged open. Re-emit rather than only notifying: if the host\n // never saw the last 'open' -- a throw mid-open, or a wrapper that hid\n // itself without calling close -- the flag and the UI have drifted apart,\n // and every later open() would no-op, leaving a permanently dead button.\n notify()\n emit(state, 'open', {})\n return self\n }\n state.isOpenFlag = true\n const finish = () => {\n try {\n if (state.mounted && state.sourceCanvas.width) {\n syncCanvasSize(state)\n render(state)\n }\n } catch (e) {\n // A render failure must not strand isOpenFlag: the event below is what\n // the host listens on, and without it the editor can never reopen.\n reportError('render on open failed', e)\n }\n notify()\n emit(state, 'open', {})\n }\n if (opts.state) {\n saveExport.loadState(state, opts.state)\n setTimeout(finish, 0)\n } else if (opts.image) {\n saveExport.normalizeSource(state, opts.image, (d) => {\n saveExport.doLoadImage(state, d)\n setTimeout(finish, 0)\n })\n } else {\n setTimeout(finish, 0)\n }\n return self\n }\n self.close = () => {\n state.isOpenFlag = false\n try {\n textEditor.commitTextEdit(state)\n } catch (e) {\n reportError('commit on close failed', e)\n }\n notify()\n emit(state, 'close', {})\n return self\n }\n self.loadImage = (src) => {\n saveExport.normalizeSource(state, src, (d) =>\n saveExport.doLoadImage(state, d)\n )\n return self\n }\n self.loadState = (s) => {\n saveExport.loadState(state, s)\n return self\n }\n self.reset = () => {\n state.sourceCanvas = emptySourceCanvas()\n state.originalCanvas = null\n state.layers = []\n state.selectedId = null\n state.undoStack = []\n state.redoStack = []\n state.zoom = 1\n resetAdjValues(state)\n state.statusText = 'Ready'\n notify()\n return self\n }\n self.isOpen = () => state.isOpenFlag\n self.destroy = () => {\n if (self._keyHandler)\n document.removeEventListener('keydown', self._keyHandler)\n if (self._resizeHandler)\n window.removeEventListener('resize', self._resizeHandler)\n Object.keys(state.listeners).forEach((k) => (state.listeners[k] = []))\n }\n\n if (config.autoOpen) self.open({ image: config.image, state: config.state })\n\n return self\n}\n\nconst PictureStudioEngine = { version: VERSION, create: createEngine }\nexport default PictureStudioEngine\n"],"names":["reportError","context","error","createEngine","config","self","state","createState","savedLayers.loadSavedLayers","notify","getUiState","ev","fn","f","sel","getSel","ZOOM_MAX","ZOOM_MIN","savedLayers.canSearch","e","polyStatus","layerActions.layerName","fitStage","render","zoomIn","zoomOut","zoomToFit","m","mode.setMode","id","mode.selectLayer","history.undo","history.redo","deg","layerActions.rotateSelected","geometry.rotate","hz","layerActions.flipSelected","geometry.flip","geometry.resetToOriginal","geometry.applyCrop","geometry.cancelCrop","v","geometry.setCropRatio","textEditor.commitTextEdit","src","stickers.addSticker","list","layerActions.deleteLayer","layerActions.deleteSelected","layerActions.duplicateSelected","layerActions.bringSelectedToFront","layerActions.sendSelectedToBack","key","value","layerActions.setAdjustment","layerActions.setFilter","layerActions.selectShapeType","layerActions.setShapeFill","layerActions.setShapeWidth","layerActions.setBrushSize","layerActions.setBrushStyle","layerActions.setTextFont","layerActions.setTextSize","layerActions.setTextColor","layerActions.setShapeColor","layerActions.setDrawColor","layerActions.setSelectedColor","layerActions.setSelectedText","layerActions.setSelectedFont","layerActions.setSelectedTextSize","layerActions.setSelectedBoxWidth","layerActions.setSelectedShapeFill","layerActions.setSelectedWidth","layerActions.setSelectedLabel","layerActions.setSelectedLabelSize","layerActions.setSelectedLabelColor","layerActions.setSelectedLabelFont","layerActions.setSelectedClosed","layerActions.setSelectedLabelSide","layerActions.setSelectedLabelOffset","layerActions.setSelectedLabelPos","layerActions.setSelectedLabelRotate","layerActions.setSelectedLabelDx","layerActions.setSelectedLabelDy","layerActions.setMultiPointMode","resumePoly","finishPoly","undoPolyPoint","cancelPoly","name","savedLayers.saveSelectedLayer","savedLayers.insertSavedLayer","savedLayers.deleteSavedLayer","savedLayers.renameSavedLayer","savedLayers.setSavedLayers","entry","savedLayers.insertSavedLayerEntry","q","savedLayers.searchSavedLayers","saveExport.doSave","opts","saveExport.produce","readState","refs","mountEngine","file","saveExport.normalizeSource","d","saveExport.doLoadImage","emit","finish","syncCanvasSize","saveExport.loadState","s","emptySourceCanvas","resetAdjValues","k","PictureStudioEngine","VERSION"],"mappings":"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"}
|