@weaverse/core 1.0.22 → 1.0.24
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 +12 -4
- package/dist/index.js +33 -7
- package/dist/index.mjs +33 -7
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -61,10 +61,10 @@ declare class WeaverseItemStore {
|
|
|
61
61
|
weaverse: Weaverse;
|
|
62
62
|
stitchesClass: string;
|
|
63
63
|
_data: ElementData;
|
|
64
|
-
_flags: ElementFlags;
|
|
65
64
|
constructor(itemData: ElementData, weaverse: Weaverse);
|
|
66
65
|
get _id(): string;
|
|
67
66
|
get _element(): HTMLElement | null;
|
|
67
|
+
get _flags(): Partial<Record<FlagType, boolean>>;
|
|
68
68
|
get Element(): WeaverseElement | undefined;
|
|
69
69
|
set data(data: Omit<ElementData, "id" | "type">);
|
|
70
70
|
get data(): ElementData;
|
|
@@ -91,11 +91,17 @@ declare class Weaverse {
|
|
|
91
91
|
* @type {string}
|
|
92
92
|
*/
|
|
93
93
|
weaverseHost: string;
|
|
94
|
+
/**
|
|
95
|
+
* Weaverse version, it can be used to load the correct version of Weaverse SDK
|
|
96
|
+
* @type {string}
|
|
97
|
+
*/
|
|
98
|
+
weaverseVersion: string;
|
|
94
99
|
/**
|
|
95
100
|
* Weaverse project key to access project data via API
|
|
96
101
|
* @type {string}
|
|
97
102
|
*/
|
|
98
103
|
projectId: string;
|
|
104
|
+
pageId: string;
|
|
99
105
|
/**
|
|
100
106
|
* Weaverse project data, by default, user can provide project data via React Component:
|
|
101
107
|
* <WeaverseRoot data={data} /> it will be used to server-side rendering
|
|
@@ -146,8 +152,8 @@ declare class Weaverse {
|
|
|
146
152
|
* @param elementSchemas {Array<ElementSchema>} List of element schemas
|
|
147
153
|
* @param platformType {PlatformTypeEnum} Check the platform, shopify-section or react-ssr(hydrogen)
|
|
148
154
|
*/
|
|
149
|
-
constructor({ weaverseHost, projectId, data, mediaBreakPoints, isDesignMode, ssrMode, elementSchemas, platformType, }?: WeaverseType);
|
|
150
|
-
init({ weaverseHost, elementSchemas, platformType, projectId, data, mediaBreakPoints, isDesignMode, ssrMode, }?: WeaverseType): void;
|
|
155
|
+
constructor({ weaverseHost, weaverseVersion, projectId, data, mediaBreakPoints, isDesignMode, ssrMode, elementSchemas, platformType, pageId, }?: WeaverseType);
|
|
156
|
+
init({ weaverseHost, weaverseVersion, elementSchemas, platformType, projectId, data, mediaBreakPoints, isDesignMode, ssrMode, pageId, }?: WeaverseType): void;
|
|
151
157
|
/**
|
|
152
158
|
* Register the custom React Component to Weaverse, store it into Weaverse.elementInstances
|
|
153
159
|
* @param element {WeaverseElement} custom React Component
|
|
@@ -178,7 +184,9 @@ type PlatformTypeEnum = "shopify-section" | "shopify-hydrogen" | "nextjs";
|
|
|
178
184
|
interface WeaverseType {
|
|
179
185
|
mediaBreakPoints?: BreakPoints;
|
|
180
186
|
weaverseHost?: string;
|
|
187
|
+
weaverseVersion?: string;
|
|
181
188
|
projectId?: string;
|
|
189
|
+
pageId?: string;
|
|
182
190
|
data?: WeaverseProjectDataType;
|
|
183
191
|
isDesignMode?: boolean;
|
|
184
192
|
ssrMode?: boolean;
|
|
@@ -202,7 +210,7 @@ interface ElementCatalog {
|
|
|
202
210
|
interface ElementDataInCatalog extends Omit<ElementData, "id"> {
|
|
203
211
|
id: string | number;
|
|
204
212
|
}
|
|
205
|
-
type FlagType = "draggable" | "resizable" | "sortable" | "ignoreShortcutKeys" | "hasContextMenu" | "isSortableContext";
|
|
213
|
+
type FlagType = "draggable" | "resizable" | "sortable" | "ignoreShortcutKeys" | "hasContextMenu" | "isSortableContext" | "mustHaveChildren";
|
|
206
214
|
type ElementFlags = Partial<Record<FlagType, boolean>>;
|
|
207
215
|
type ChildElementSelector = string | string[];
|
|
208
216
|
interface ChildElement {
|
package/dist/index.js
CHANGED
|
@@ -121,7 +121,6 @@ var WeaverseItemStore = class {
|
|
|
121
121
|
};
|
|
122
122
|
this.stitchesClass = "";
|
|
123
123
|
this._data = { id: "", type: "" };
|
|
124
|
-
this._flags = {};
|
|
125
124
|
this.setData = (data) => {
|
|
126
125
|
this.data = Object.assign(this.data, data);
|
|
127
126
|
this.triggerUpdate();
|
|
@@ -151,6 +150,9 @@ var WeaverseItemStore = class {
|
|
|
151
150
|
get _element() {
|
|
152
151
|
return this.ref.current;
|
|
153
152
|
}
|
|
153
|
+
get _flags() {
|
|
154
|
+
return this.Element?.schema?.flags || {};
|
|
155
|
+
}
|
|
154
156
|
get Element() {
|
|
155
157
|
return this.weaverse.elementInstances.get(this._data.type);
|
|
156
158
|
}
|
|
@@ -179,13 +181,15 @@ var Weaverse = class {
|
|
|
179
181
|
*/
|
|
180
182
|
constructor({
|
|
181
183
|
weaverseHost,
|
|
184
|
+
weaverseVersion,
|
|
182
185
|
projectId,
|
|
183
186
|
data,
|
|
184
187
|
mediaBreakPoints,
|
|
185
188
|
isDesignMode,
|
|
186
189
|
ssrMode,
|
|
187
190
|
elementSchemas,
|
|
188
|
-
platformType
|
|
191
|
+
platformType,
|
|
192
|
+
pageId
|
|
189
193
|
} = {}) {
|
|
190
194
|
/**
|
|
191
195
|
* For storing, registering element React component from Weaverse or created by user/developer
|
|
@@ -199,12 +203,18 @@ var Weaverse = class {
|
|
|
199
203
|
* Weaverse base URL that can provide by user/developer. for local development, use localhost:3000
|
|
200
204
|
* @type {string}
|
|
201
205
|
*/
|
|
202
|
-
this.weaverseHost =
|
|
206
|
+
this.weaverseHost = "https://studio.weaverse.io";
|
|
207
|
+
/**
|
|
208
|
+
* Weaverse version, it can be used to load the correct version of Weaverse SDK
|
|
209
|
+
* @type {string}
|
|
210
|
+
*/
|
|
211
|
+
this.weaverseVersion = "";
|
|
203
212
|
/**
|
|
204
213
|
* Weaverse project key to access project data via API
|
|
205
214
|
* @type {string}
|
|
206
215
|
*/
|
|
207
216
|
this.projectId = "";
|
|
217
|
+
this.pageId = "";
|
|
208
218
|
/**
|
|
209
219
|
* Weaverse project data, by default, user can provide project data via React Component:
|
|
210
220
|
* <WeaverseRoot data={data} /> it will be used to server-side rendering
|
|
@@ -253,21 +263,36 @@ var Weaverse = class {
|
|
|
253
263
|
utils: stitchesUtils
|
|
254
264
|
});
|
|
255
265
|
};
|
|
256
|
-
this.init({
|
|
266
|
+
this.init({
|
|
267
|
+
weaverseHost,
|
|
268
|
+
weaverseVersion,
|
|
269
|
+
projectId,
|
|
270
|
+
data,
|
|
271
|
+
platformType,
|
|
272
|
+
mediaBreakPoints,
|
|
273
|
+
isDesignMode,
|
|
274
|
+
ssrMode,
|
|
275
|
+
elementSchemas,
|
|
276
|
+
pageId
|
|
277
|
+
});
|
|
257
278
|
}
|
|
258
279
|
init({
|
|
259
280
|
weaverseHost,
|
|
281
|
+
weaverseVersion,
|
|
260
282
|
elementSchemas,
|
|
261
283
|
platformType,
|
|
262
284
|
projectId,
|
|
263
285
|
data,
|
|
264
286
|
mediaBreakPoints,
|
|
265
287
|
isDesignMode,
|
|
266
|
-
ssrMode
|
|
288
|
+
ssrMode,
|
|
289
|
+
pageId
|
|
267
290
|
} = {}) {
|
|
268
291
|
this.elementSchemas = elementSchemas || this.elementSchemas;
|
|
269
292
|
this.weaverseHost = weaverseHost || this.weaverseHost;
|
|
293
|
+
this.weaverseVersion = weaverseVersion || this.weaverseVersion;
|
|
270
294
|
this.projectId = projectId || this.projectId;
|
|
295
|
+
this.pageId = pageId || this.pageId;
|
|
271
296
|
this.mediaBreakPoints = mediaBreakPoints || this.mediaBreakPoints;
|
|
272
297
|
this.isDesignMode = isDesignMode || this.isDesignMode;
|
|
273
298
|
this.ssrMode = ssrMode || this.ssrMode;
|
|
@@ -283,11 +308,12 @@ var Weaverse = class {
|
|
|
283
308
|
registerElement(element) {
|
|
284
309
|
if (element?.type) {
|
|
285
310
|
if (this.elementInstances.has(element.type)) {
|
|
286
|
-
|
|
311
|
+
console.error(`Weaverse: Element '${element.type}' already registered`);
|
|
312
|
+
return;
|
|
287
313
|
}
|
|
288
314
|
this.elementInstances.set(element?.type, element);
|
|
289
315
|
} else {
|
|
290
|
-
|
|
316
|
+
console.error("Weaverse: registerElement: `type` is required");
|
|
291
317
|
}
|
|
292
318
|
}
|
|
293
319
|
subscribe(fn) {
|
package/dist/index.mjs
CHANGED
|
@@ -79,7 +79,6 @@ var WeaverseItemStore = class {
|
|
|
79
79
|
};
|
|
80
80
|
this.stitchesClass = "";
|
|
81
81
|
this._data = { id: "", type: "" };
|
|
82
|
-
this._flags = {};
|
|
83
82
|
this.setData = (data) => {
|
|
84
83
|
this.data = Object.assign(this.data, data);
|
|
85
84
|
this.triggerUpdate();
|
|
@@ -109,6 +108,9 @@ var WeaverseItemStore = class {
|
|
|
109
108
|
get _element() {
|
|
110
109
|
return this.ref.current;
|
|
111
110
|
}
|
|
111
|
+
get _flags() {
|
|
112
|
+
return this.Element?.schema?.flags || {};
|
|
113
|
+
}
|
|
112
114
|
get Element() {
|
|
113
115
|
return this.weaverse.elementInstances.get(this._data.type);
|
|
114
116
|
}
|
|
@@ -137,13 +139,15 @@ var Weaverse = class {
|
|
|
137
139
|
*/
|
|
138
140
|
constructor({
|
|
139
141
|
weaverseHost,
|
|
142
|
+
weaverseVersion,
|
|
140
143
|
projectId,
|
|
141
144
|
data,
|
|
142
145
|
mediaBreakPoints,
|
|
143
146
|
isDesignMode,
|
|
144
147
|
ssrMode,
|
|
145
148
|
elementSchemas,
|
|
146
|
-
platformType
|
|
149
|
+
platformType,
|
|
150
|
+
pageId
|
|
147
151
|
} = {}) {
|
|
148
152
|
/**
|
|
149
153
|
* For storing, registering element React component from Weaverse or created by user/developer
|
|
@@ -157,12 +161,18 @@ var Weaverse = class {
|
|
|
157
161
|
* Weaverse base URL that can provide by user/developer. for local development, use localhost:3000
|
|
158
162
|
* @type {string}
|
|
159
163
|
*/
|
|
160
|
-
this.weaverseHost =
|
|
164
|
+
this.weaverseHost = "https://studio.weaverse.io";
|
|
165
|
+
/**
|
|
166
|
+
* Weaverse version, it can be used to load the correct version of Weaverse SDK
|
|
167
|
+
* @type {string}
|
|
168
|
+
*/
|
|
169
|
+
this.weaverseVersion = "";
|
|
161
170
|
/**
|
|
162
171
|
* Weaverse project key to access project data via API
|
|
163
172
|
* @type {string}
|
|
164
173
|
*/
|
|
165
174
|
this.projectId = "";
|
|
175
|
+
this.pageId = "";
|
|
166
176
|
/**
|
|
167
177
|
* Weaverse project data, by default, user can provide project data via React Component:
|
|
168
178
|
* <WeaverseRoot data={data} /> it will be used to server-side rendering
|
|
@@ -211,21 +221,36 @@ var Weaverse = class {
|
|
|
211
221
|
utils: stitchesUtils
|
|
212
222
|
});
|
|
213
223
|
};
|
|
214
|
-
this.init({
|
|
224
|
+
this.init({
|
|
225
|
+
weaverseHost,
|
|
226
|
+
weaverseVersion,
|
|
227
|
+
projectId,
|
|
228
|
+
data,
|
|
229
|
+
platformType,
|
|
230
|
+
mediaBreakPoints,
|
|
231
|
+
isDesignMode,
|
|
232
|
+
ssrMode,
|
|
233
|
+
elementSchemas,
|
|
234
|
+
pageId
|
|
235
|
+
});
|
|
215
236
|
}
|
|
216
237
|
init({
|
|
217
238
|
weaverseHost,
|
|
239
|
+
weaverseVersion,
|
|
218
240
|
elementSchemas,
|
|
219
241
|
platformType,
|
|
220
242
|
projectId,
|
|
221
243
|
data,
|
|
222
244
|
mediaBreakPoints,
|
|
223
245
|
isDesignMode,
|
|
224
|
-
ssrMode
|
|
246
|
+
ssrMode,
|
|
247
|
+
pageId
|
|
225
248
|
} = {}) {
|
|
226
249
|
this.elementSchemas = elementSchemas || this.elementSchemas;
|
|
227
250
|
this.weaverseHost = weaverseHost || this.weaverseHost;
|
|
251
|
+
this.weaverseVersion = weaverseVersion || this.weaverseVersion;
|
|
228
252
|
this.projectId = projectId || this.projectId;
|
|
253
|
+
this.pageId = pageId || this.pageId;
|
|
229
254
|
this.mediaBreakPoints = mediaBreakPoints || this.mediaBreakPoints;
|
|
230
255
|
this.isDesignMode = isDesignMode || this.isDesignMode;
|
|
231
256
|
this.ssrMode = ssrMode || this.ssrMode;
|
|
@@ -241,11 +266,12 @@ var Weaverse = class {
|
|
|
241
266
|
registerElement(element) {
|
|
242
267
|
if (element?.type) {
|
|
243
268
|
if (this.elementInstances.has(element.type)) {
|
|
244
|
-
|
|
269
|
+
console.error(`Weaverse: Element '${element.type}' already registered`);
|
|
270
|
+
return;
|
|
245
271
|
}
|
|
246
272
|
this.elementInstances.set(element?.type, element);
|
|
247
273
|
} else {
|
|
248
|
-
|
|
274
|
+
console.error("Weaverse: registerElement: `type` is required");
|
|
249
275
|
}
|
|
250
276
|
}
|
|
251
277
|
subscribe(fn) {
|
package/package.json
CHANGED