@weaverse/core 1.0.22 → 1.0.23

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
@@ -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,6 +91,11 @@ 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}
@@ -146,8 +151,8 @@ declare class Weaverse {
146
151
  * @param elementSchemas {Array<ElementSchema>} List of element schemas
147
152
  * @param platformType {PlatformTypeEnum} Check the platform, shopify-section or react-ssr(hydrogen)
148
153
  */
149
- constructor({ weaverseHost, projectId, data, mediaBreakPoints, isDesignMode, ssrMode, elementSchemas, platformType, }?: WeaverseType);
150
- init({ weaverseHost, elementSchemas, platformType, projectId, data, mediaBreakPoints, isDesignMode, ssrMode, }?: WeaverseType): void;
154
+ constructor({ weaverseHost, weaverseVersion, projectId, data, mediaBreakPoints, isDesignMode, ssrMode, elementSchemas, platformType, }?: WeaverseType);
155
+ init({ weaverseHost, weaverseVersion, elementSchemas, platformType, projectId, data, mediaBreakPoints, isDesignMode, ssrMode, }?: WeaverseType): void;
151
156
  /**
152
157
  * Register the custom React Component to Weaverse, store it into Weaverse.elementInstances
153
158
  * @param element {WeaverseElement} custom React Component
@@ -178,6 +183,7 @@ type PlatformTypeEnum = "shopify-section" | "shopify-hydrogen" | "nextjs";
178
183
  interface WeaverseType {
179
184
  mediaBreakPoints?: BreakPoints;
180
185
  weaverseHost?: string;
186
+ weaverseVersion?: string;
181
187
  projectId?: string;
182
188
  data?: WeaverseProjectDataType;
183
189
  isDesignMode?: boolean;
@@ -202,7 +208,7 @@ interface ElementCatalog {
202
208
  interface ElementDataInCatalog extends Omit<ElementData, "id"> {
203
209
  id: string | number;
204
210
  }
205
- type FlagType = "draggable" | "resizable" | "sortable" | "ignoreShortcutKeys" | "hasContextMenu" | "isSortableContext";
211
+ type FlagType = "draggable" | "resizable" | "sortable" | "ignoreShortcutKeys" | "hasContextMenu" | "isSortableContext" | "mustHaveChildren";
206
212
  type ElementFlags = Partial<Record<FlagType, boolean>>;
207
213
  type ChildElementSelector = string | string[];
208
214
  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,6 +181,7 @@ var Weaverse = class {
179
181
  */
180
182
  constructor({
181
183
  weaverseHost,
184
+ weaverseVersion,
182
185
  projectId,
183
186
  data,
184
187
  mediaBreakPoints,
@@ -200,6 +203,11 @@ var Weaverse = class {
200
203
  * @type {string}
201
204
  */
202
205
  this.weaverseHost = process.env.NODE_ENV === "development" ? "http://localhost:3000" : "https://studio.weaverse.io";
206
+ /**
207
+ * Weaverse version, it can be used to load the correct version of Weaverse SDK
208
+ * @type {string}
209
+ */
210
+ this.weaverseVersion = "";
203
211
  /**
204
212
  * Weaverse project key to access project data via API
205
213
  * @type {string}
@@ -253,10 +261,21 @@ var Weaverse = class {
253
261
  utils: stitchesUtils
254
262
  });
255
263
  };
256
- this.init({ weaverseHost, projectId, data, platformType, mediaBreakPoints, isDesignMode, ssrMode, elementSchemas });
264
+ this.init({
265
+ weaverseHost,
266
+ weaverseVersion,
267
+ projectId,
268
+ data,
269
+ platformType,
270
+ mediaBreakPoints,
271
+ isDesignMode,
272
+ ssrMode,
273
+ elementSchemas
274
+ });
257
275
  }
258
276
  init({
259
277
  weaverseHost,
278
+ weaverseVersion,
260
279
  elementSchemas,
261
280
  platformType,
262
281
  projectId,
@@ -267,6 +286,7 @@ var Weaverse = class {
267
286
  } = {}) {
268
287
  this.elementSchemas = elementSchemas || this.elementSchemas;
269
288
  this.weaverseHost = weaverseHost || this.weaverseHost;
289
+ this.weaverseVersion = weaverseVersion || this.weaverseVersion;
270
290
  this.projectId = projectId || this.projectId;
271
291
  this.mediaBreakPoints = mediaBreakPoints || this.mediaBreakPoints;
272
292
  this.isDesignMode = isDesignMode || this.isDesignMode;
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,6 +139,7 @@ var Weaverse = class {
137
139
  */
138
140
  constructor({
139
141
  weaverseHost,
142
+ weaverseVersion,
140
143
  projectId,
141
144
  data,
142
145
  mediaBreakPoints,
@@ -158,6 +161,11 @@ var Weaverse = class {
158
161
  * @type {string}
159
162
  */
160
163
  this.weaverseHost = process.env.NODE_ENV === "development" ? "http://localhost:3000" : "https://studio.weaverse.io";
164
+ /**
165
+ * Weaverse version, it can be used to load the correct version of Weaverse SDK
166
+ * @type {string}
167
+ */
168
+ this.weaverseVersion = "";
161
169
  /**
162
170
  * Weaverse project key to access project data via API
163
171
  * @type {string}
@@ -211,10 +219,21 @@ var Weaverse = class {
211
219
  utils: stitchesUtils
212
220
  });
213
221
  };
214
- this.init({ weaverseHost, projectId, data, platformType, mediaBreakPoints, isDesignMode, ssrMode, elementSchemas });
222
+ this.init({
223
+ weaverseHost,
224
+ weaverseVersion,
225
+ projectId,
226
+ data,
227
+ platformType,
228
+ mediaBreakPoints,
229
+ isDesignMode,
230
+ ssrMode,
231
+ elementSchemas
232
+ });
215
233
  }
216
234
  init({
217
235
  weaverseHost,
236
+ weaverseVersion,
218
237
  elementSchemas,
219
238
  platformType,
220
239
  projectId,
@@ -225,6 +244,7 @@ var Weaverse = class {
225
244
  } = {}) {
226
245
  this.elementSchemas = elementSchemas || this.elementSchemas;
227
246
  this.weaverseHost = weaverseHost || this.weaverseHost;
247
+ this.weaverseVersion = weaverseVersion || this.weaverseVersion;
228
248
  this.projectId = projectId || this.projectId;
229
249
  this.mediaBreakPoints = mediaBreakPoints || this.mediaBreakPoints;
230
250
  this.isDesignMode = isDesignMode || this.isDesignMode;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.22",
2
+ "version": "1.0.23",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",