@picsart/react-photo-editor 1.0.0 → 1.0.2

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/index.d.ts CHANGED
@@ -1,180 +1,120 @@
1
- import * as react from 'react';
2
- import { CSSProperties } from 'react';
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { CSSProperties, ReactNode } from 'react';
3
3
 
4
- declare class Picsart {
5
- constructor(settings: any);
6
- settings: any;
7
- provideShapesData: {
8
- data: ({
9
- id: number;
10
- shapeURL: string;
11
- previewURL: string;
12
- shapeData: {};
13
- height: number;
14
- width: number;
15
- meta_data?: undefined;
16
- } | {
17
- id: number;
18
- shapeURL: string;
19
- previewURL: string;
20
- meta_data: {};
21
- height: number;
22
- width: number;
23
- shapeData?: undefined;
24
- })[];
4
+ type PicsartTheme = 'dark' | 'light';
5
+ type PicsartExportType = 'base64' | 'blob' | 'buffer';
6
+ interface PicsartOpenOptions {
7
+ replayUrl?: string;
8
+ templateId?: string;
9
+ imageUrl?: string;
10
+ videoUrl?: string;
11
+ subtitleUrl?: string;
12
+ }
13
+ interface PicsartExportOutput {
14
+ templateId?: string;
15
+ data: {
16
+ replayData?: Blob | ArrayBuffer | string;
17
+ imageData?: string | Blob;
18
+ printData?: string | Blob;
19
+ previewPdfData?: string | Blob;
20
+ pdfData?: string | Blob;
21
+ previewsData?: Array<string | Blob>;
22
+ videoData?: unknown;
23
+ videoUrl?: string;
25
24
  };
26
- isEditorReady: boolean;
27
- onExportCb: () => void;
28
- messageListener: ({ data, origin }: {
29
- data: any;
30
- origin: any;
31
- }) => void;
32
- isMessageListenerAttached: boolean;
33
- log(...args: any[]): void;
34
- onOpen(callback: any): this;
35
- openCallBack: any;
36
- renderNew(src: any): void;
37
- iframe: HTMLIFrameElement | null | undefined;
38
- render(src: any): void;
39
- close(): this;
40
- hide(): void;
41
- callCloseHandlers(): void;
42
- resetTempData(): void;
43
- tempOnClose: any;
44
- tempOnExport: any;
45
- tempExportType: any;
46
- tempExportSettings: any;
47
- onClose(cb?: () => void): this;
48
- cbClose: (() => void) | undefined;
49
- /**
50
- * @param {(payload: any) => void} [cb]
51
- */
52
- onError(cb?: (payload: any) => void): this;
53
- cbError: ((payload: any) => void) | undefined;
54
- clear(): this;
55
- applySettings(settings: any): void;
56
- isIframeLoaded(): boolean | null | undefined;
57
- onReady(cb?: () => void): this;
58
- exportData(payload: any, cb: any): Promise<void>;
59
- handleUpload(data: any): void;
60
- onUpload(handler: any): void;
61
- /**
62
- * @param {(result: any) => void} [cb]
63
- */
64
- onExport(cb?: (result: any) => void): this;
65
- export(): void;
66
- getEditorSettings(params: any): any;
67
- open(params?: {}): this;
68
- openOld(params?: {}): this;
69
- sendMessage(type: any, data: any): void;
70
- attachMessageListener(): void;
71
- detachMessageListener(): void;
72
- handleMessage({ data, origin }: {
73
- data: any;
74
- origin: any;
75
- }): void;
76
- handleEditorReady(): void;
77
- flushPendingData(): void;
78
- getFetch(url: any): Promise<any>;
79
- getCategoriesData(data: any): Promise<any[]>;
80
- provideTemplates({ data, dataURL }: {
81
- data: any;
82
- dataURL: any;
83
- }): Promise<this | undefined>;
84
- provideTemplatesData: {
85
- data: any;
86
- dataURL: any;
87
- } | undefined;
88
- provideShapes({ data, dataURL }: {
89
- data: any;
90
- dataURL: any;
91
- }): Promise<this | undefined>;
92
- provideStickerShapes(): Promise<this>;
93
- provideTexts({ data, dataURL }: {
94
- data: any;
95
- dataURL: any;
96
- }): Promise<this | undefined>;
97
- provideTextsData: {
98
- data: any;
99
- dataURL: any;
100
- } | undefined;
101
- provideColors(data: any): this | undefined;
102
- provideColorsData: any;
103
- providePhotos({ data, dataURL }: {
104
- data: any;
105
- dataURL: any;
106
- }): Promise<this | undefined>;
107
- providePhotosData: {
108
- data: any;
109
- dataURL: any;
110
- } | undefined;
111
- provideStickers({ data, dataURL }: {
112
- data: any;
113
- dataURL: any;
114
- }): Promise<this | undefined>;
115
- provideStickersData: {
116
- data: any;
117
- dataURL: any;
118
- } | undefined;
119
- provideFonts({ data, dataURL }: {
120
- data: any;
121
- dataURL: any;
122
- }): Promise<this | undefined>;
123
- provideFontsData: {
124
- data: any;
125
- dataURL: any;
126
- } | undefined;
127
- provideCanvasSizes({ data, dataURL }: {
128
- data: any;
129
- dataURL: any;
130
- }): Promise<this | undefined>;
131
- provideCanvasSizesData: {
132
- data: any;
133
- dataURL: any;
134
- } | undefined;
135
- provideLabels(data: any): this | undefined;
136
- provideLabelsData: any;
137
- provideExportSettings(): void;
25
+ }
26
+ type PicsartUploadHandler = (file: Blob | ArrayBuffer | Uint8Array, mimeType: string) => Promise<{
27
+ url: string;
28
+ status: string;
29
+ progress: number;
30
+ error: unknown;
31
+ }>;
32
+ interface PicsartInstance {
33
+ onError(cb: (error: unknown) => void): PicsartInstance;
34
+ onExport(cb: (output: PicsartExportOutput) => void): PicsartInstance;
35
+ onClose(cb?: () => void): PicsartInstance;
36
+ open(options?: PicsartOpenOptions): PicsartInstance;
37
+ close(): PicsartInstance;
38
+ }
39
+ interface PicsartConstructorOptions {
40
+ apiKey: string;
41
+ customerId: string;
42
+ propertyId: string;
43
+ containerId: string;
44
+ exportType?: PicsartExportType;
45
+ theme?: PicsartTheme;
46
+ title?: string;
47
+ selectedCategory?: string;
48
+ canvasSize?: string;
49
+ templatesTitleText?: string;
50
+ templatesSubTitle?: string;
51
+ replayUrl?: string;
52
+ videoUrl?: string;
53
+ imageUrl?: string;
54
+ subtitleUrl?: string;
55
+ templateId?: string;
56
+ stickerText?: string;
57
+ stickerImageUrl?: string;
58
+ templatesFilters?: Record<string, unknown>;
59
+ onUpload?: PicsartUploadHandler;
60
+ }
61
+ interface PicsartConstructor {
62
+ new (options: PicsartConstructorOptions): PicsartInstance;
63
+ }
64
+ declare global {
65
+ interface Window {
66
+ Picsart?: PicsartConstructor;
67
+ }
138
68
  }
139
69
 
140
- type PhotoEditorOpenParams = Record<string, unknown>;
141
- type PhotoEditorProps = {
70
+ /** Matches Picsart quick-start: apiKey, customerId, propertyId, containerId, title. */
71
+ interface PicsartEditorProps {
72
+ /** From Picsart signup / dashboard. */
142
73
  apiKey: string;
74
+ /** From Picsart signup / dashboard. */
143
75
  customerId: string;
144
- propertyId?: string;
76
+ /** From Picsart signup / dashboard (required for the standard SDK flow). */
77
+ propertyId: string;
145
78
  /**
146
- * Full editor entry URL used as the iframe `src` origin (before `?query`).
147
- * Use the value from your Picsart onboarding / docs for your SDK version.
79
+ * Must match the inner editor container’s `id`. If omitted, a stable unique id is generated
80
+ * and passed to the SDK for you (same as embedding a div with that id).
148
81
  */
149
- editorDomain?: string;
82
+ containerId?: string;
150
83
  /**
151
- * Origin the editor uses as the embedding parent (query `parentDomain`).
152
- * **Important:** `http://localhost` often fails SDK origin / postMessage checks.
153
- * For local dev use an HTTPS tunnel (ngrok, etc.) and set this to that `https://…` origin,
154
- * or set env `NEXT_PUBLIC_PICSART_PARENT_DOMAIN` / `VITE_PICSART_PARENT_DOMAIN`.
84
+ * Editor chrome title when supported. Defaults to **Photo Print Designer** (Picsart docs default).
155
85
  */
156
- parentDomain?: string;
86
+ title?: string;
87
+ sdkScriptUrl?: string;
157
88
  className?: string;
158
89
  style?: CSSProperties;
159
- title?: string;
90
+ children?: ReactNode;
91
+ exportType?: PicsartExportType;
92
+ theme?: PicsartTheme;
93
+ selectedCategory?: string;
94
+ canvasSize?: string;
95
+ templatesTitleText?: string;
96
+ templatesSubTitle?: string;
97
+ templatesFilters?: Record<string, unknown>;
98
+ replayUrl?: string;
99
+ videoUrl?: string;
160
100
  imageUrl?: string;
161
- /** When true (default), merges the bundled CMS-style defaults from `cmsSettings`. */
162
- cms?: boolean;
163
- debug?: boolean;
164
- onExport?: (result: unknown) => void;
165
- onError?: (payload: unknown) => void;
101
+ subtitleUrl?: string;
102
+ templateId?: string;
103
+ stickerText?: string;
104
+ stickerImageUrl?: string;
105
+ onUpload?: PicsartUploadHandler;
106
+ onExport?: (output: PicsartExportOutput) => void;
107
+ onError?: (error: unknown) => void;
166
108
  onClose?: () => void;
167
- onOpen?: () => void;
168
- /** Merged into the Picsart constructor (advanced). */
169
- picsartSettings?: Record<string, unknown>;
170
- /** Merged into the `.open()` call after mount. */
171
- openParams?: PhotoEditorOpenParams;
172
- };
173
- type PhotoEditorHandle = {
174
- picsart: InstanceType<typeof Picsart> | null;
175
- open: (params?: PhotoEditorOpenParams) => InstanceType<typeof Picsart>;
176
- close: () => InstanceType<typeof Picsart>;
177
- };
178
- declare const PhotoEditor: react.ForwardRefExoticComponent<PhotoEditorProps & react.RefAttributes<PhotoEditorHandle>>;
109
+ /** When false, `open()` is called with no asset (blank editor). Default true. */
110
+ autoOpen?: boolean;
111
+ /** Override initial `open()` payload when autoOpen is true. */
112
+ openOptions?: PicsartOpenOptions;
113
+ }
114
+ declare function PicsartEditor({ apiKey, customerId, propertyId, containerId: containerIdProp, title, sdkScriptUrl, className, style, children, exportType, theme, selectedCategory, canvasSize, templatesTitleText, templatesSubTitle, templatesFilters, replayUrl, videoUrl, imageUrl, subtitleUrl, templateId, stickerText, stickerImageUrl, onUpload, onExport, onError, onClose, autoOpen, openOptions, }: PicsartEditorProps): react_jsx_runtime.JSX.Element;
115
+
116
+ declare function loadPicsartSdk(scriptUrl?: string): Promise<void>;
117
+
118
+ declare function createDefaultVideoUpload(apiKey: string): PicsartUploadHandler;
179
119
 
180
- export { PhotoEditor, type PhotoEditorHandle, type PhotoEditorOpenParams, type PhotoEditorProps, Picsart };
120
+ export { type PicsartConstructorOptions, PicsartEditor, type PicsartEditorProps, type PicsartExportOutput, type PicsartExportType, type PicsartInstance, type PicsartOpenOptions, type PicsartTheme, type PicsartUploadHandler, createDefaultVideoUpload, loadPicsartSdk };