@weaverse/core 0.6.5 → 0.6.9
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 +50 -37
- package/dist/index.js +13 -15
- package/dist/index.mjs +13 -15
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,23 @@
|
|
|
1
|
+
import { CSSProperties } from '@stitches/core';
|
|
1
2
|
import Stitches from '@stitches/core/types/stitches';
|
|
2
3
|
import { RefObject } from 'react';
|
|
3
4
|
|
|
5
|
+
interface ProjectDataType {
|
|
6
|
+
items: WeaverseElementData[];
|
|
7
|
+
rootId: string | number;
|
|
8
|
+
script: {
|
|
9
|
+
css: string;
|
|
10
|
+
js: string;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
declare type WeaverseType = {
|
|
14
|
+
mediaBreakPoints?: any;
|
|
15
|
+
appUrl?: string;
|
|
16
|
+
projectKey?: string;
|
|
17
|
+
projectData?: ProjectDataType;
|
|
18
|
+
isDesignMode?: boolean;
|
|
19
|
+
ssrMode?: boolean;
|
|
20
|
+
};
|
|
4
21
|
declare type TODO = any;
|
|
5
22
|
declare type WeaverseElementMap = {
|
|
6
23
|
[key: string]: WeaverseElement;
|
|
@@ -20,9 +37,24 @@ declare type WeaverseElementSchema = {
|
|
|
20
37
|
settings?: WeaverseElementInput[];
|
|
21
38
|
styles?: WeaverseElementInput[];
|
|
22
39
|
toolbar?: TODO;
|
|
23
|
-
data?:
|
|
40
|
+
data?: WeaverseElementData;
|
|
24
41
|
catalog?: WeaverseElementCatalog;
|
|
25
42
|
};
|
|
43
|
+
declare type WeaverseElementData = {
|
|
44
|
+
id?: string | number;
|
|
45
|
+
type?: string | undefined;
|
|
46
|
+
childIds?: (string | number)[] | undefined;
|
|
47
|
+
css?: WeaverseElementCSS;
|
|
48
|
+
[key: string]: any;
|
|
49
|
+
};
|
|
50
|
+
declare type WeaverseElementCSS = {
|
|
51
|
+
'@desktop'?: CSSProperties | {
|
|
52
|
+
[key: string]: CSSProperties;
|
|
53
|
+
};
|
|
54
|
+
'@mobile'?: CSSProperties | {
|
|
55
|
+
[key: string]: CSSProperties;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
26
58
|
declare type WeaverseElementInput = {
|
|
27
59
|
label?: string;
|
|
28
60
|
type: 'select' | 'checkbox' | 'radio' | 'range' | 'button' | 'image' | 'file' | 'hidden' | 'alignment' | 'color' | 'dimensions' | 'flex' | 'grid' | 'input' | 'switch' | 'spacing' | 'textarea' | 'visibility' | 'border' | 'background' | 'typography' | 'shadow' | 'position' | 'overflow' | 'display' | 'other';
|
|
@@ -36,37 +68,15 @@ declare type WeaverseElementInput = {
|
|
|
36
68
|
declare global {
|
|
37
69
|
interface Window {
|
|
38
70
|
WeaverseStudioBridge: TODO;
|
|
71
|
+
weaverseShopifyProducts: TODO;
|
|
39
72
|
}
|
|
40
73
|
}
|
|
41
74
|
|
|
42
|
-
interface ProjectDataItemType {
|
|
43
|
-
type: string;
|
|
44
|
-
name?: string;
|
|
45
|
-
id: string | number;
|
|
46
|
-
description?: string;
|
|
47
|
-
childIds?: Array<string | number>;
|
|
48
|
-
css?: {
|
|
49
|
-
[key: string]: string;
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
interface ProjectDataType {
|
|
53
|
-
items: ProjectDataItemType[];
|
|
54
|
-
rootId: string | number;
|
|
55
|
-
}
|
|
56
|
-
declare type WeaverseType = {
|
|
57
|
-
mediaBreakPoints?: any;
|
|
58
|
-
appUrl?: string;
|
|
59
|
-
projectKey?: string;
|
|
60
|
-
projectData?: ProjectDataType;
|
|
61
|
-
isDesignMode?: boolean;
|
|
62
|
-
ssrMode?: boolean;
|
|
63
|
-
};
|
|
64
75
|
/**
|
|
65
76
|
* WeaverseItemStore is a store for Weaverse item, it can be used to subscribe/update the item data
|
|
66
|
-
* @param itemData {
|
|
77
|
+
* @param itemData {WeaverseElementData} Weaverse item data
|
|
67
78
|
* @param weaverse {Weaverse} Weaverse instance
|
|
68
|
-
*
|
|
69
|
-
* ```jsx
|
|
79
|
+
* @example
|
|
70
80
|
* useEffect(() => {
|
|
71
81
|
* let handleUpdate = (update: any) => {
|
|
72
82
|
* setData({...update})
|
|
@@ -75,33 +85,36 @@ declare type WeaverseType = {
|
|
|
75
85
|
* return () => {
|
|
76
86
|
* itemInstance.unsubscribe(handleUpdate)
|
|
77
87
|
* }
|
|
78
|
-
*
|
|
79
|
-
* ```
|
|
88
|
+
* }, [])
|
|
80
89
|
*/
|
|
81
90
|
declare class WeaverseItemStore {
|
|
82
91
|
listeners: Set<any>;
|
|
83
92
|
ref: RefObject<HTMLElement>;
|
|
84
93
|
weaverse: Weaverse;
|
|
85
94
|
stitchesClass: string;
|
|
86
|
-
constructor(itemData:
|
|
87
|
-
_data:
|
|
88
|
-
get
|
|
89
|
-
|
|
90
|
-
get
|
|
91
|
-
|
|
95
|
+
constructor(itemData: WeaverseElementData, weaverse: Weaverse);
|
|
96
|
+
_data: WeaverseElementData;
|
|
97
|
+
get _id(): string | number | undefined;
|
|
98
|
+
get _element(): HTMLElement | null;
|
|
99
|
+
get Element(): WeaverseElement | undefined;
|
|
100
|
+
set data(data: WeaverseElementData);
|
|
101
|
+
get data(): WeaverseElementData;
|
|
102
|
+
setData: (data: WeaverseElementData) => WeaverseElementData;
|
|
92
103
|
subscribe: (fn: any) => void;
|
|
93
104
|
unsubscribe: (fn: any) => void;
|
|
94
105
|
triggerUpdate: () => void;
|
|
95
106
|
}
|
|
96
107
|
declare class Weaverse {
|
|
108
|
+
/**
|
|
109
|
+
* The `weaverse-content-root` element of Weaverse SDK
|
|
110
|
+
*/
|
|
111
|
+
contentRootElement: HTMLElement | undefined;
|
|
97
112
|
/**
|
|
98
113
|
* For storing, registering element React component from Weaverse or created by user/developer
|
|
99
|
-
* @type {Map<string, React.Component>}
|
|
100
114
|
*/
|
|
101
115
|
elementInstances: Map<string, WeaverseElement>;
|
|
102
116
|
/**
|
|
103
117
|
* list of element/items store to provide data, handle state update, state sharing, etc.
|
|
104
|
-
* @type {Map<string, any>}
|
|
105
118
|
*/
|
|
106
119
|
itemInstances: Map<string | number, WeaverseItemStore>;
|
|
107
120
|
/**
|
|
@@ -188,4 +201,4 @@ declare const isReactNative: boolean;
|
|
|
188
201
|
declare const isBrowser: boolean;
|
|
189
202
|
declare const isIframe: boolean;
|
|
190
203
|
|
|
191
|
-
export {
|
|
204
|
+
export { ProjectDataType, TODO, Weaverse, WeaverseElement, WeaverseElementCSS, WeaverseElementCatalog, WeaverseElementData, WeaverseElementInput, WeaverseElementMap, WeaverseElementSchema, WeaverseItemStore, WeaverseType, isBrowser, isIframe, isReactNative };
|
package/dist/index.js
CHANGED
|
@@ -47,7 +47,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
47
47
|
// src/core.ts
|
|
48
48
|
var stitches = __toESM(require("@stitches/core"));
|
|
49
49
|
var WeaverseItemStore = class {
|
|
50
|
-
constructor(itemData
|
|
50
|
+
constructor(itemData, weaverse) {
|
|
51
51
|
this.listeners = /* @__PURE__ */ new Set();
|
|
52
52
|
this.ref = {
|
|
53
53
|
current: null
|
|
@@ -77,6 +77,12 @@ var WeaverseItemStore = class {
|
|
|
77
77
|
this.data = __spreadValues({}, itemData);
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
+
get _id() {
|
|
81
|
+
return this._data.id;
|
|
82
|
+
}
|
|
83
|
+
get _element() {
|
|
84
|
+
return this.ref.current;
|
|
85
|
+
}
|
|
80
86
|
get Element() {
|
|
81
87
|
return this.weaverse.elementInstances.get(this._data.type);
|
|
82
88
|
}
|
|
@@ -96,7 +102,11 @@ var _Weaverse = class {
|
|
|
96
102
|
this.projectKey = "";
|
|
97
103
|
this.projectData = {
|
|
98
104
|
items: [],
|
|
99
|
-
rootId: 0
|
|
105
|
+
rootId: 0,
|
|
106
|
+
script: {
|
|
107
|
+
css: "",
|
|
108
|
+
js: ""
|
|
109
|
+
}
|
|
100
110
|
};
|
|
101
111
|
this.listeners = /* @__PURE__ */ new Set();
|
|
102
112
|
this.isDesignMode = false;
|
|
@@ -108,19 +118,7 @@ var _Weaverse = class {
|
|
|
108
118
|
this.initStitches = () => {
|
|
109
119
|
this.stitchesInstance = stitches.createStitches({
|
|
110
120
|
prefix: "weaverse",
|
|
111
|
-
media: this.mediaBreakPoints
|
|
112
|
-
theme: {
|
|
113
|
-
sizes: {
|
|
114
|
-
"width": "100%",
|
|
115
|
-
"max-width": "100%",
|
|
116
|
-
"column-count": "16",
|
|
117
|
-
"row-count": "12",
|
|
118
|
-
"row-size": "48px"
|
|
119
|
-
},
|
|
120
|
-
space: {
|
|
121
|
-
gap: "8px"
|
|
122
|
-
}
|
|
123
|
-
}
|
|
121
|
+
media: this.mediaBreakPoints
|
|
124
122
|
});
|
|
125
123
|
};
|
|
126
124
|
this.appUrl = appUrl || this.appUrl;
|
package/dist/index.mjs
CHANGED
|
@@ -18,7 +18,7 @@ var __spreadValues = (a, b) => {
|
|
|
18
18
|
// src/core.ts
|
|
19
19
|
import * as stitches from "@stitches/core";
|
|
20
20
|
var WeaverseItemStore = class {
|
|
21
|
-
constructor(itemData
|
|
21
|
+
constructor(itemData, weaverse) {
|
|
22
22
|
this.listeners = /* @__PURE__ */ new Set();
|
|
23
23
|
this.ref = {
|
|
24
24
|
current: null
|
|
@@ -48,6 +48,12 @@ var WeaverseItemStore = class {
|
|
|
48
48
|
this.data = __spreadValues({}, itemData);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
+
get _id() {
|
|
52
|
+
return this._data.id;
|
|
53
|
+
}
|
|
54
|
+
get _element() {
|
|
55
|
+
return this.ref.current;
|
|
56
|
+
}
|
|
51
57
|
get Element() {
|
|
52
58
|
return this.weaverse.elementInstances.get(this._data.type);
|
|
53
59
|
}
|
|
@@ -67,7 +73,11 @@ var _Weaverse = class {
|
|
|
67
73
|
this.projectKey = "";
|
|
68
74
|
this.projectData = {
|
|
69
75
|
items: [],
|
|
70
|
-
rootId: 0
|
|
76
|
+
rootId: 0,
|
|
77
|
+
script: {
|
|
78
|
+
css: "",
|
|
79
|
+
js: ""
|
|
80
|
+
}
|
|
71
81
|
};
|
|
72
82
|
this.listeners = /* @__PURE__ */ new Set();
|
|
73
83
|
this.isDesignMode = false;
|
|
@@ -79,19 +89,7 @@ var _Weaverse = class {
|
|
|
79
89
|
this.initStitches = () => {
|
|
80
90
|
this.stitchesInstance = stitches.createStitches({
|
|
81
91
|
prefix: "weaverse",
|
|
82
|
-
media: this.mediaBreakPoints
|
|
83
|
-
theme: {
|
|
84
|
-
sizes: {
|
|
85
|
-
"width": "100%",
|
|
86
|
-
"max-width": "100%",
|
|
87
|
-
"column-count": "16",
|
|
88
|
-
"row-count": "12",
|
|
89
|
-
"row-size": "48px"
|
|
90
|
-
},
|
|
91
|
-
space: {
|
|
92
|
-
gap: "8px"
|
|
93
|
-
}
|
|
94
|
-
}
|
|
92
|
+
media: this.mediaBreakPoints
|
|
95
93
|
});
|
|
96
94
|
};
|
|
97
95
|
this.appUrl = appUrl || this.appUrl;
|
package/package.json
CHANGED