@weaverse/core 0.3.3 → 0.3.6
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 +32 -3
- package/dist/index.js +17 -27
- package/dist/index.mjs +8 -11
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
import Stitches from '@stitches/core/types/stitches';
|
|
2
2
|
|
|
3
|
+
declare type WeaverseElementMap = {
|
|
4
|
+
[key: string]: WeaverseElement;
|
|
5
|
+
};
|
|
6
|
+
declare type WeaverseElement = {
|
|
7
|
+
Component: any;
|
|
8
|
+
schema: WeaverseElementSchema;
|
|
9
|
+
};
|
|
10
|
+
declare type WeaverseElementSchema = {
|
|
11
|
+
title: string;
|
|
12
|
+
type: string;
|
|
13
|
+
settings: WeaverseElementSetting[];
|
|
14
|
+
};
|
|
15
|
+
declare type WeaverseElementSetting = {
|
|
16
|
+
tab: string;
|
|
17
|
+
label: string;
|
|
18
|
+
inspectors: WeaverseElementInspector[];
|
|
19
|
+
};
|
|
20
|
+
declare type WeaverseElementInspector = {
|
|
21
|
+
binding: 'data' | 'style';
|
|
22
|
+
key: string;
|
|
23
|
+
componentType: InspectorComponentType;
|
|
24
|
+
};
|
|
25
|
+
declare type InspectorComponentType = "textarea" | "color";
|
|
26
|
+
declare global {
|
|
27
|
+
interface Window {
|
|
28
|
+
WeaverseStudioBridge: any;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
3
32
|
interface ProjectDataItemType {
|
|
4
33
|
type: string;
|
|
5
34
|
name?: string;
|
|
@@ -53,7 +82,7 @@ declare class Weaverse {
|
|
|
53
82
|
* For storing, registering element React component from Weaverse or created by user/developer
|
|
54
83
|
* @type {Map<string, React.Component>}
|
|
55
84
|
*/
|
|
56
|
-
elementInstances: Map<string,
|
|
85
|
+
elementInstances: Map<string, WeaverseElement>;
|
|
57
86
|
/**
|
|
58
87
|
* list of element/items store to provide data, handle state update, state sharing, etc.
|
|
59
88
|
* @type {Map<string, any>}
|
|
@@ -104,7 +133,7 @@ declare class Weaverse {
|
|
|
104
133
|
* @param name {string} unique name of the custom React Component
|
|
105
134
|
* @param element {React.Component} custom React Component
|
|
106
135
|
*/
|
|
107
|
-
registerElement(
|
|
136
|
+
registerElement(element: WeaverseElement): void;
|
|
108
137
|
init(): void;
|
|
109
138
|
loadStudio(): void;
|
|
110
139
|
subscribe(fn: any): void;
|
|
@@ -126,4 +155,4 @@ declare const isReactNative: boolean;
|
|
|
126
155
|
declare const isBrowser: boolean;
|
|
127
156
|
declare const isIframe: boolean;
|
|
128
157
|
|
|
129
|
-
export { ProjectDataItemType, ProjectDataType, Weaverse, WeaverseItemStore, WeaverseType, isBrowser, isIframe, isReactNative };
|
|
158
|
+
export { InspectorComponentType, ProjectDataItemType, ProjectDataType, Weaverse, WeaverseElement, WeaverseElementInspector, WeaverseElementMap, WeaverseElementSchema, WeaverseElementSetting, WeaverseItemStore, WeaverseType, isBrowser, isIframe, isReactNative };
|
package/dist/index.js
CHANGED
|
@@ -4,27 +4,20 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
8
7
|
var __export = (target, all) => {
|
|
9
8
|
for (var name in all)
|
|
10
9
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
10
|
};
|
|
12
|
-
var
|
|
13
|
-
if (
|
|
14
|
-
for (let key of __getOwnPropNames(
|
|
15
|
-
if (!__hasOwnProp.call(
|
|
16
|
-
__defProp(
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
16
|
}
|
|
18
|
-
return
|
|
17
|
+
return to;
|
|
19
18
|
};
|
|
20
|
-
var __toESM = (
|
|
21
|
-
|
|
22
|
-
};
|
|
23
|
-
var __toCommonJS = /* @__PURE__ */ ((cache) => {
|
|
24
|
-
return (module2, temp) => {
|
|
25
|
-
return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
|
|
26
|
-
};
|
|
27
|
-
})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
21
|
|
|
29
22
|
// src/index.ts
|
|
30
23
|
var src_exports = {};
|
|
@@ -35,6 +28,7 @@ __export(src_exports, {
|
|
|
35
28
|
isIframe: () => isIframe,
|
|
36
29
|
isReactNative: () => isReactNative
|
|
37
30
|
});
|
|
31
|
+
module.exports = __toCommonJS(src_exports);
|
|
38
32
|
|
|
39
33
|
// src/utils/index.ts
|
|
40
34
|
var isReactNative = typeof navigator === "object" && navigator.product === "ReactNative";
|
|
@@ -70,7 +64,6 @@ var WeaverseItemStore = class {
|
|
|
70
64
|
if (type && id) {
|
|
71
65
|
this.Component = weaverse.elementInstances.get(type);
|
|
72
66
|
weaverse.itemInstances.set(id, this);
|
|
73
|
-
console.log("WeaverseItemStore created", this);
|
|
74
67
|
}
|
|
75
68
|
}
|
|
76
69
|
};
|
|
@@ -91,12 +84,17 @@ var Weaverse = class {
|
|
|
91
84
|
projectData && (this.projectData = projectData);
|
|
92
85
|
this.init();
|
|
93
86
|
}
|
|
94
|
-
registerElement(
|
|
95
|
-
|
|
87
|
+
registerElement(element) {
|
|
88
|
+
var _a;
|
|
89
|
+
if ((_a = element == null ? void 0 : element.schema) == null ? void 0 : _a.type) {
|
|
90
|
+
this.elementInstances.set(element.schema.type, element);
|
|
91
|
+
} else {
|
|
92
|
+
throw new Error("Weaverse: registerElement: schema.type is required");
|
|
93
|
+
}
|
|
96
94
|
}
|
|
97
95
|
init() {
|
|
98
96
|
this.stitchesInstance = stitches.createStitches({
|
|
99
|
-
prefix: "
|
|
97
|
+
prefix: "we",
|
|
100
98
|
media: {
|
|
101
99
|
bp1: "(min-width: 640px)",
|
|
102
100
|
bp2: "(max-width: 768px)",
|
|
@@ -106,9 +104,7 @@ var Weaverse = class {
|
|
|
106
104
|
this.loadStudio();
|
|
107
105
|
}
|
|
108
106
|
loadStudio() {
|
|
109
|
-
console.log("loadStudio", { isIframe });
|
|
110
107
|
if (isIframe) {
|
|
111
|
-
console.log("Weaverse SDK is initializing...", isIframe);
|
|
112
108
|
window.addEventListener("message", (e) => {
|
|
113
109
|
var _a;
|
|
114
110
|
if (((_a = e.data) == null ? void 0 : _a.type) === "weaverse.preview.initializeEditor") {
|
|
@@ -117,9 +113,7 @@ var Weaverse = class {
|
|
|
117
113
|
this.studioBridge = new StudioBridge(this);
|
|
118
114
|
this.studioBridge.subscribeMessageEvent();
|
|
119
115
|
this.triggerUpdate();
|
|
120
|
-
console.log("studio bridge initialized", this.studioBridge);
|
|
121
116
|
};
|
|
122
|
-
console.log("studio message", e.data);
|
|
123
117
|
this.isEditor = true;
|
|
124
118
|
if (!window.WeaverseStudioBridge) {
|
|
125
119
|
const studioBridgeScript = document.createElement("script");
|
|
@@ -151,7 +145,6 @@ var Weaverse = class {
|
|
|
151
145
|
}
|
|
152
146
|
}
|
|
153
147
|
fetchProjectData(fetch = globalThis.fetch) {
|
|
154
|
-
console.log("fetching project data...");
|
|
155
148
|
return fetch(this.appUrl + `/api/public/${this.projectKey}`).then((r) => r.json()).catch(console.error);
|
|
156
149
|
}
|
|
157
150
|
updateProjectData() {
|
|
@@ -169,11 +162,9 @@ var Weaverse = class {
|
|
|
169
162
|
}
|
|
170
163
|
initProjectItemData() {
|
|
171
164
|
let data = this.projectData;
|
|
172
|
-
console.log("init project data", data);
|
|
173
165
|
if (data.items) {
|
|
174
166
|
data.items.forEach((item) => {
|
|
175
167
|
if (!this.itemInstances.get(item.id)) {
|
|
176
|
-
console.log("init item instance", item);
|
|
177
168
|
new WeaverseItemStore(item, this);
|
|
178
169
|
}
|
|
179
170
|
});
|
|
@@ -181,7 +172,6 @@ var Weaverse = class {
|
|
|
181
172
|
}
|
|
182
173
|
};
|
|
183
174
|
Weaverse.WeaverseItemStore = WeaverseItemStore;
|
|
184
|
-
module.exports = __toCommonJS(src_exports);
|
|
185
175
|
// Annotate the CommonJS export names for ESM import in node:
|
|
186
176
|
0 && (module.exports = {
|
|
187
177
|
Weaverse,
|
package/dist/index.mjs
CHANGED
|
@@ -32,7 +32,6 @@ var WeaverseItemStore = class {
|
|
|
32
32
|
if (type && id) {
|
|
33
33
|
this.Component = weaverse.elementInstances.get(type);
|
|
34
34
|
weaverse.itemInstances.set(id, this);
|
|
35
|
-
console.log("WeaverseItemStore created", this);
|
|
36
35
|
}
|
|
37
36
|
}
|
|
38
37
|
};
|
|
@@ -53,12 +52,17 @@ var Weaverse = class {
|
|
|
53
52
|
projectData && (this.projectData = projectData);
|
|
54
53
|
this.init();
|
|
55
54
|
}
|
|
56
|
-
registerElement(
|
|
57
|
-
|
|
55
|
+
registerElement(element) {
|
|
56
|
+
var _a;
|
|
57
|
+
if ((_a = element == null ? void 0 : element.schema) == null ? void 0 : _a.type) {
|
|
58
|
+
this.elementInstances.set(element.schema.type, element);
|
|
59
|
+
} else {
|
|
60
|
+
throw new Error("Weaverse: registerElement: schema.type is required");
|
|
61
|
+
}
|
|
58
62
|
}
|
|
59
63
|
init() {
|
|
60
64
|
this.stitchesInstance = stitches.createStitches({
|
|
61
|
-
prefix: "
|
|
65
|
+
prefix: "we",
|
|
62
66
|
media: {
|
|
63
67
|
bp1: "(min-width: 640px)",
|
|
64
68
|
bp2: "(max-width: 768px)",
|
|
@@ -68,9 +72,7 @@ var Weaverse = class {
|
|
|
68
72
|
this.loadStudio();
|
|
69
73
|
}
|
|
70
74
|
loadStudio() {
|
|
71
|
-
console.log("loadStudio", { isIframe });
|
|
72
75
|
if (isIframe) {
|
|
73
|
-
console.log("Weaverse SDK is initializing...", isIframe);
|
|
74
76
|
window.addEventListener("message", (e) => {
|
|
75
77
|
var _a;
|
|
76
78
|
if (((_a = e.data) == null ? void 0 : _a.type) === "weaverse.preview.initializeEditor") {
|
|
@@ -79,9 +81,7 @@ var Weaverse = class {
|
|
|
79
81
|
this.studioBridge = new StudioBridge(this);
|
|
80
82
|
this.studioBridge.subscribeMessageEvent();
|
|
81
83
|
this.triggerUpdate();
|
|
82
|
-
console.log("studio bridge initialized", this.studioBridge);
|
|
83
84
|
};
|
|
84
|
-
console.log("studio message", e.data);
|
|
85
85
|
this.isEditor = true;
|
|
86
86
|
if (!window.WeaverseStudioBridge) {
|
|
87
87
|
const studioBridgeScript = document.createElement("script");
|
|
@@ -113,7 +113,6 @@ var Weaverse = class {
|
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
fetchProjectData(fetch = globalThis.fetch) {
|
|
116
|
-
console.log("fetching project data...");
|
|
117
116
|
return fetch(this.appUrl + `/api/public/${this.projectKey}`).then((r) => r.json()).catch(console.error);
|
|
118
117
|
}
|
|
119
118
|
updateProjectData() {
|
|
@@ -131,11 +130,9 @@ var Weaverse = class {
|
|
|
131
130
|
}
|
|
132
131
|
initProjectItemData() {
|
|
133
132
|
let data = this.projectData;
|
|
134
|
-
console.log("init project data", data);
|
|
135
133
|
if (data.items) {
|
|
136
134
|
data.items.forEach((item) => {
|
|
137
135
|
if (!this.itemInstances.get(item.id)) {
|
|
138
|
-
console.log("init item instance", item);
|
|
139
136
|
new WeaverseItemStore(item, this);
|
|
140
137
|
}
|
|
141
138
|
});
|
package/package.json
CHANGED