@weaverse/core 0.6.4 → 0.6.5
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 -8
- package/dist/index.js +9 -24
- package/dist/index.mjs +9 -24
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -53,16 +53,13 @@ interface ProjectDataType {
|
|
|
53
53
|
items: ProjectDataItemType[];
|
|
54
54
|
rootId: string | number;
|
|
55
55
|
}
|
|
56
|
-
declare type MediaBreakpoints = {
|
|
57
|
-
tablet: string;
|
|
58
|
-
mobile: string;
|
|
59
|
-
};
|
|
60
56
|
declare type WeaverseType = {
|
|
61
|
-
|
|
57
|
+
mediaBreakPoints?: any;
|
|
62
58
|
appUrl?: string;
|
|
63
59
|
projectKey?: string;
|
|
64
60
|
projectData?: ProjectDataType;
|
|
65
61
|
isDesignMode?: boolean;
|
|
62
|
+
ssrMode?: boolean;
|
|
66
63
|
};
|
|
67
64
|
/**
|
|
68
65
|
* WeaverseItemStore is a store for Weaverse item, it can be used to subscribe/update the item data
|
|
@@ -85,6 +82,7 @@ declare class WeaverseItemStore {
|
|
|
85
82
|
listeners: Set<any>;
|
|
86
83
|
ref: RefObject<HTMLElement>;
|
|
87
84
|
weaverse: Weaverse;
|
|
85
|
+
stitchesClass: string;
|
|
88
86
|
constructor(itemData: any, weaverse: Weaverse);
|
|
89
87
|
_data: any;
|
|
90
88
|
get Element(): WeaverseElement;
|
|
@@ -133,6 +131,11 @@ declare class Weaverse {
|
|
|
133
131
|
* @type {boolean}
|
|
134
132
|
*/
|
|
135
133
|
isDesignMode: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Use in element to optionally render special HTML for hydration
|
|
136
|
+
* @type {boolean}
|
|
137
|
+
*/
|
|
138
|
+
ssrMode: boolean;
|
|
136
139
|
/**
|
|
137
140
|
* stitches instance for handling CSS stylesheet, media, theme for Weaverse project
|
|
138
141
|
*/
|
|
@@ -149,8 +152,10 @@ declare class Weaverse {
|
|
|
149
152
|
* @param projectKey {string} Weaverse project key to access project data via API
|
|
150
153
|
* @param projectData {ProjectDataType} Weaverse project data, by default, user can provide project data via React Component.
|
|
151
154
|
* @param mediaBreakPoints {object} Pass down custom media query breakpoints or just use the default.
|
|
155
|
+
* @param isDesignMode {boolean} check whether the sdk is isDesignMode or not
|
|
156
|
+
* @param ssrMode {boolean} Use in element to optionally render special HTML for hydration
|
|
152
157
|
*/
|
|
153
|
-
constructor({ appUrl, projectKey, projectData, mediaBreakPoints, isDesignMode }?: WeaverseType);
|
|
158
|
+
constructor({ appUrl, projectKey, projectData, mediaBreakPoints, isDesignMode, ssrMode }?: WeaverseType);
|
|
154
159
|
/**
|
|
155
160
|
* register the custom React Component to Weaverse, store it into Weaverse.elementInstances
|
|
156
161
|
* @param element {WeaverseElement} custom React Component
|
|
@@ -158,7 +163,6 @@ declare class Weaverse {
|
|
|
158
163
|
registerElement(element: WeaverseElement): void;
|
|
159
164
|
init(): void;
|
|
160
165
|
initStitches: () => void;
|
|
161
|
-
loadStudio(): void;
|
|
162
166
|
subscribe(fn: any): void;
|
|
163
167
|
unsubscribe(fn: any): void;
|
|
164
168
|
triggerUpdate(): void;
|
|
@@ -184,4 +188,4 @@ declare const isReactNative: boolean;
|
|
|
184
188
|
declare const isBrowser: boolean;
|
|
185
189
|
declare const isIframe: boolean;
|
|
186
190
|
|
|
187
|
-
export {
|
|
191
|
+
export { ProjectDataItemType, ProjectDataType, TODO, Weaverse, WeaverseElement, WeaverseElementCatalog, WeaverseElementInput, WeaverseElementMap, WeaverseElementSchema, WeaverseItemStore, WeaverseType, isBrowser, isIframe, isReactNative };
|
package/dist/index.js
CHANGED
|
@@ -44,11 +44,6 @@ __export(src_exports, {
|
|
|
44
44
|
});
|
|
45
45
|
module.exports = __toCommonJS(src_exports);
|
|
46
46
|
|
|
47
|
-
// src/utils/index.ts
|
|
48
|
-
var isReactNative = typeof navigator === "object" && navigator.product === "ReactNative";
|
|
49
|
-
var isBrowser = typeof window !== "undefined" && !isReactNative;
|
|
50
|
-
var isIframe = isBrowser && window.top !== window.self;
|
|
51
|
-
|
|
52
47
|
// src/core.ts
|
|
53
48
|
var stitches = __toESM(require("@stitches/core"));
|
|
54
49
|
var WeaverseItemStore = class {
|
|
@@ -57,6 +52,7 @@ var WeaverseItemStore = class {
|
|
|
57
52
|
this.ref = {
|
|
58
53
|
current: null
|
|
59
54
|
};
|
|
55
|
+
this.stitchesClass = "";
|
|
60
56
|
this._data = {};
|
|
61
57
|
this.setData = (data) => {
|
|
62
58
|
this.data = Object.assign(this.data, data);
|
|
@@ -93,7 +89,7 @@ var WeaverseItemStore = class {
|
|
|
93
89
|
}
|
|
94
90
|
};
|
|
95
91
|
var _Weaverse = class {
|
|
96
|
-
constructor({ appUrl, projectKey, projectData, mediaBreakPoints, isDesignMode } = {}) {
|
|
92
|
+
constructor({ appUrl, projectKey, projectData, mediaBreakPoints, isDesignMode, ssrMode } = {}) {
|
|
97
93
|
this.elementInstances = /* @__PURE__ */ new Map();
|
|
98
94
|
this.itemInstances = /* @__PURE__ */ new Map();
|
|
99
95
|
this.appUrl = process.env.NODE_ENV === "development" ? "http://localhost:3000" : "https://weaverse.io";
|
|
@@ -104,6 +100,7 @@ var _Weaverse = class {
|
|
|
104
100
|
};
|
|
105
101
|
this.listeners = /* @__PURE__ */ new Set();
|
|
106
102
|
this.isDesignMode = false;
|
|
103
|
+
this.ssrMode = false;
|
|
107
104
|
this.mediaBreakPoints = {
|
|
108
105
|
desktop: "all",
|
|
109
106
|
mobile: "(max-width: 767.98px)"
|
|
@@ -130,6 +127,7 @@ var _Weaverse = class {
|
|
|
130
127
|
this.projectKey = projectKey || this.projectKey;
|
|
131
128
|
this.mediaBreakPoints = mediaBreakPoints || this.mediaBreakPoints;
|
|
132
129
|
this.isDesignMode = isDesignMode || this.isDesignMode;
|
|
130
|
+
this.ssrMode = ssrMode || this.ssrMode;
|
|
133
131
|
projectData && (this.projectData = projectData);
|
|
134
132
|
this.init();
|
|
135
133
|
}
|
|
@@ -143,27 +141,9 @@ var _Weaverse = class {
|
|
|
143
141
|
}
|
|
144
142
|
init() {
|
|
145
143
|
this.initStitches();
|
|
146
|
-
this.loadStudio();
|
|
147
144
|
this.initProjectItemData();
|
|
148
145
|
this.updateProjectData();
|
|
149
146
|
}
|
|
150
|
-
loadStudio() {
|
|
151
|
-
if (this.isDesignMode && isIframe) {
|
|
152
|
-
let initStudio = () => {
|
|
153
|
-
this.studioBridge = new window.WeaverseStudioBridge(this);
|
|
154
|
-
this.triggerUpdate();
|
|
155
|
-
};
|
|
156
|
-
if (!window.WeaverseStudioBridge) {
|
|
157
|
-
const studioBridgeScript = document.createElement("script");
|
|
158
|
-
studioBridgeScript.src = `${this.appUrl}/assets/studio/studio-bridge.js`;
|
|
159
|
-
studioBridgeScript.type = "module";
|
|
160
|
-
studioBridgeScript.onload = initStudio;
|
|
161
|
-
document.body.appendChild(studioBridgeScript);
|
|
162
|
-
} else {
|
|
163
|
-
initStudio();
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
147
|
subscribe(fn) {
|
|
168
148
|
this.listeners.add(fn);
|
|
169
149
|
}
|
|
@@ -206,6 +186,11 @@ var _Weaverse = class {
|
|
|
206
186
|
};
|
|
207
187
|
var Weaverse = _Weaverse;
|
|
208
188
|
Weaverse.WeaverseItemStore = WeaverseItemStore;
|
|
189
|
+
|
|
190
|
+
// src/utils/index.ts
|
|
191
|
+
var isReactNative = typeof navigator === "object" && navigator.product === "ReactNative";
|
|
192
|
+
var isBrowser = typeof window !== "undefined" && !isReactNative;
|
|
193
|
+
var isIframe = isBrowser && window.top !== window.self;
|
|
209
194
|
// Annotate the CommonJS export names for ESM import in node:
|
|
210
195
|
0 && (module.exports = {
|
|
211
196
|
Weaverse,
|
package/dist/index.mjs
CHANGED
|
@@ -15,11 +15,6 @@ var __spreadValues = (a, b) => {
|
|
|
15
15
|
return a;
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
// src/utils/index.ts
|
|
19
|
-
var isReactNative = typeof navigator === "object" && navigator.product === "ReactNative";
|
|
20
|
-
var isBrowser = typeof window !== "undefined" && !isReactNative;
|
|
21
|
-
var isIframe = isBrowser && window.top !== window.self;
|
|
22
|
-
|
|
23
18
|
// src/core.ts
|
|
24
19
|
import * as stitches from "@stitches/core";
|
|
25
20
|
var WeaverseItemStore = class {
|
|
@@ -28,6 +23,7 @@ var WeaverseItemStore = class {
|
|
|
28
23
|
this.ref = {
|
|
29
24
|
current: null
|
|
30
25
|
};
|
|
26
|
+
this.stitchesClass = "";
|
|
31
27
|
this._data = {};
|
|
32
28
|
this.setData = (data) => {
|
|
33
29
|
this.data = Object.assign(this.data, data);
|
|
@@ -64,7 +60,7 @@ var WeaverseItemStore = class {
|
|
|
64
60
|
}
|
|
65
61
|
};
|
|
66
62
|
var _Weaverse = class {
|
|
67
|
-
constructor({ appUrl, projectKey, projectData, mediaBreakPoints, isDesignMode } = {}) {
|
|
63
|
+
constructor({ appUrl, projectKey, projectData, mediaBreakPoints, isDesignMode, ssrMode } = {}) {
|
|
68
64
|
this.elementInstances = /* @__PURE__ */ new Map();
|
|
69
65
|
this.itemInstances = /* @__PURE__ */ new Map();
|
|
70
66
|
this.appUrl = process.env.NODE_ENV === "development" ? "http://localhost:3000" : "https://weaverse.io";
|
|
@@ -75,6 +71,7 @@ var _Weaverse = class {
|
|
|
75
71
|
};
|
|
76
72
|
this.listeners = /* @__PURE__ */ new Set();
|
|
77
73
|
this.isDesignMode = false;
|
|
74
|
+
this.ssrMode = false;
|
|
78
75
|
this.mediaBreakPoints = {
|
|
79
76
|
desktop: "all",
|
|
80
77
|
mobile: "(max-width: 767.98px)"
|
|
@@ -101,6 +98,7 @@ var _Weaverse = class {
|
|
|
101
98
|
this.projectKey = projectKey || this.projectKey;
|
|
102
99
|
this.mediaBreakPoints = mediaBreakPoints || this.mediaBreakPoints;
|
|
103
100
|
this.isDesignMode = isDesignMode || this.isDesignMode;
|
|
101
|
+
this.ssrMode = ssrMode || this.ssrMode;
|
|
104
102
|
projectData && (this.projectData = projectData);
|
|
105
103
|
this.init();
|
|
106
104
|
}
|
|
@@ -114,27 +112,9 @@ var _Weaverse = class {
|
|
|
114
112
|
}
|
|
115
113
|
init() {
|
|
116
114
|
this.initStitches();
|
|
117
|
-
this.loadStudio();
|
|
118
115
|
this.initProjectItemData();
|
|
119
116
|
this.updateProjectData();
|
|
120
117
|
}
|
|
121
|
-
loadStudio() {
|
|
122
|
-
if (this.isDesignMode && isIframe) {
|
|
123
|
-
let initStudio = () => {
|
|
124
|
-
this.studioBridge = new window.WeaverseStudioBridge(this);
|
|
125
|
-
this.triggerUpdate();
|
|
126
|
-
};
|
|
127
|
-
if (!window.WeaverseStudioBridge) {
|
|
128
|
-
const studioBridgeScript = document.createElement("script");
|
|
129
|
-
studioBridgeScript.src = `${this.appUrl}/assets/studio/studio-bridge.js`;
|
|
130
|
-
studioBridgeScript.type = "module";
|
|
131
|
-
studioBridgeScript.onload = initStudio;
|
|
132
|
-
document.body.appendChild(studioBridgeScript);
|
|
133
|
-
} else {
|
|
134
|
-
initStudio();
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
118
|
subscribe(fn) {
|
|
139
119
|
this.listeners.add(fn);
|
|
140
120
|
}
|
|
@@ -177,6 +157,11 @@ var _Weaverse = class {
|
|
|
177
157
|
};
|
|
178
158
|
var Weaverse = _Weaverse;
|
|
179
159
|
Weaverse.WeaverseItemStore = WeaverseItemStore;
|
|
160
|
+
|
|
161
|
+
// src/utils/index.ts
|
|
162
|
+
var isReactNative = typeof navigator === "object" && navigator.product === "ReactNative";
|
|
163
|
+
var isBrowser = typeof window !== "undefined" && !isReactNative;
|
|
164
|
+
var isIframe = isBrowser && window.top !== window.self;
|
|
180
165
|
export {
|
|
181
166
|
Weaverse,
|
|
182
167
|
WeaverseItemStore,
|
package/package.json
CHANGED