@weaverse/react 0.1.6 → 0.1.10

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.
@@ -1,6 +1,5 @@
1
- import { useEffect, useState, createElement, Fragment } from 'react';
2
- import fetch from 'isomorphic-unfetch';
3
- import Elements from '@weaverse/elements';
1
+ import React__default, { forwardRef, useState, createElement } from 'react';
2
+ import { Weaverse } from '@weaverse/core';
4
3
 
5
4
  function _extends() {
6
5
  _extends = Object.assign || function (target) {
@@ -35,310 +34,77 @@ function _objectWithoutPropertiesLoose(source, excluded) {
35
34
  return target;
36
35
  }
37
36
 
38
- var isReactNative = typeof navigator === 'object' && navigator.product === 'ReactNative';
39
- var isBrowser = typeof window !== 'undefined' && !isReactNative;
37
+ var Button = /*#__PURE__*/forwardRef(function (props, ref) {
38
+ var _React$useState = useState(0),
39
+ count = _React$useState[0],
40
+ setCount = _React$useState[1];
40
41
 
41
- // TODO: Implement Weaverse SDK class
42
- var Weaverse = /*#__PURE__*/function () {
43
- function Weaverse(_temp) {
44
- var _this = this;
45
-
46
- var _ref = _temp === void 0 ? {} : _temp,
47
- appUrl = _ref.appUrl,
48
- projectKey = _ref.projectKey,
49
- projectData = _ref.projectData;
50
-
51
- this.elementInstances = new Map();
52
- this.itemInstances = new Map();
53
- this.appUrl = process.env.NODE_ENV === 'development' ? 'http://localhost:3000' : 'https://weaverse.io';
54
- this.projectKey = '';
55
- this.projectData = {
56
- items: []
57
- };
58
- this.listeners = new Set();
59
- this.isEditor = false;
60
-
61
- this.handleMessageEvent = function (e) {
62
- var _e$data, _e$data$type;
63
-
64
- if ((_e$data = e.data) != null && (_e$data$type = _e$data.type) != null && _e$data$type.startsWith('weaverse.')) {
65
- var type = e.data.type;
66
-
67
- switch (type) {
68
- case 'weaverse.editor.ready':
69
- _this.isEditor = true;
70
- break;
71
-
72
- case 'weaverse.editor.update':
73
- var payload = e.data.payload;
74
- var itemId = payload.itemId,
75
- background = payload.background;
76
-
77
- var instance = _this.itemInstances.get(itemId);
78
-
79
- if (instance) {
80
- instance.setData({
81
- style: {
82
- background: background
83
- }
84
- });
85
- }
86
-
87
- }
88
- }
89
- };
90
-
91
- this.appUrl = appUrl || this.appUrl;
92
- this.projectKey = projectKey || this.projectKey;
93
- projectData && (this.projectData = projectData);
94
- this.init();
95
- console.log('process.env.NODE_ENV', process.env.NODE_ENV);
96
- }
97
-
98
- var _proto = Weaverse.prototype;
99
-
100
- _proto.registerElement = function registerElement(name, element) {
101
- this.elementInstances.set(name, element);
102
- };
103
-
104
- _proto.init = function init() {
105
- var _this2 = this;
106
-
107
- Object.keys(Elements).forEach(function (key) {
108
- var _Elements$key, _Elements$key$configs;
109
-
110
- // @ts-ignore
111
- ((_Elements$key = Elements[key]) == null ? void 0 : (_Elements$key$configs = _Elements$key.configs) == null ? void 0 : _Elements$key$configs.type) && _this2.registerElement(Elements[key].configs.type, Elements[key]);
112
- });
113
- this.subscribeMessageEvent();
114
- };
115
-
116
- _proto.subscribe = function subscribe(fn) {
117
- this.listeners.add(fn);
118
- };
119
-
120
- _proto.unsubscribe = function unsubscribe(fn) {
121
- this.listeners["delete"](fn);
122
- };
123
-
124
- _proto.triggerUpdate = function triggerUpdate() {
125
- this.listeners.forEach(function (fn) {
126
- return fn();
127
- });
128
- this.triggerEditorUpdate();
129
- };
130
-
131
- _proto.fetchProjectData = function fetchProjectData() {
132
- return fetch(this.appUrl + ("/api/public/" + this.projectKey)).then(function (r) {
133
- return r.json();
134
- });
135
- };
136
-
137
- _proto.updateProjectData = function updateProjectData() {
138
- var _this3 = this;
139
-
140
- if (this.projectKey) {
141
- this.fetchProjectData().then(function (data) {
142
- if (data) {
143
- _this3.projectData = data;
144
-
145
- _this3.initItemData();
146
-
147
- _this3.triggerUpdate();
148
- }
149
- })["catch"](function (err) {
150
- console.error(err);
151
- });
152
- }
153
- };
154
-
155
- _proto.subscribeMessageEvent = function subscribeMessageEvent() {
156
- var _this4 = this;
157
-
158
- if (typeof this.currentFrameSubscription === 'function') {
159
- this.currentFrameSubscription();
160
- }
161
-
162
- isBrowser && window.addEventListener('message', this.handleMessageEvent);
163
-
164
- this.currentFrameSubscription = function () {
165
- isBrowser && window.removeEventListener('message', _this4.handleMessageEvent);
166
- };
167
-
168
- return this.currentFrameSubscription;
169
- };
170
-
171
- _proto.triggerEditorUpdate = function triggerEditorUpdate(type) {
172
- if (type === void 0) {
173
- type = 'weaverse.workspace.init';
174
- }
175
-
176
- if (this.isEditor) {
177
- var _window$top;
178
-
179
- (_window$top = window.top) == null ? void 0 : _window$top.postMessage({
180
- type: type,
181
- payload: {
182
- projectKey: this.projectKey,
183
- projectData: this.projectData
184
- }
185
- }, '*');
42
+ return createElement("button", Object.assign({
43
+ ref: ref
44
+ }, props, {
45
+ onClick: function onClick() {
46
+ return setCount(count + 1);
186
47
  }
187
- };
188
-
189
- _proto.initItemData = function initItemData() {
190
- var _this5 = this;
191
-
192
- var data = this.projectData;
193
-
194
- if (data.items) {
195
- data.items.forEach(function (item) {
196
- var itemStore = _this5.itemInstances.get(item.id) || new WeaverseItemStore(item, _this5);
197
-
198
- _this5.itemInstances.set(item.id, itemStore);
199
- });
200
- }
201
- };
202
-
203
- return Weaverse;
204
- }();
205
- var WeaverseItemStore = function WeaverseItemStore(itemData, weaverse) {
206
- var _this6 = this;
207
-
208
- if (itemData === void 0) {
209
- itemData = {};
210
- }
211
-
212
- this.data = {};
213
- this.listeners = new Set();
214
-
215
- this.setData = function (data) {
216
- _this6.data = Object.assign(_this6.data, data);
217
-
218
- _this6.triggerUpdate();
219
- };
220
-
221
- this.subscribe = function (fn) {
222
- _this6.listeners.add(fn);
223
- };
224
-
225
- this.unsubscribe = function (fn) {
226
- _this6.listeners["delete"](fn);
227
- };
228
-
229
- this.triggerUpdate = function () {
230
- _this6.listeners.forEach(function (fn) {
231
- return fn(_this6.data);
232
- });
233
- };
234
-
235
- this.useSubscription = function (fn) {
236
- useEffect(function () {
237
- _this6.subscribe(fn);
238
-
239
- return function () {
240
- _this6.unsubscribe(fn);
241
- };
242
- }, []);
243
- };
244
-
245
- this.data = itemData;
246
- var _itemData = itemData,
247
- type = _itemData.type;
248
-
249
- if (type) {
250
- this.Component = weaverse.elementInstances.get(type);
251
- }
48
+ }), "Test Button ", count);
49
+ });
50
+ Button.defaultProps = {
51
+ style: {
52
+ backgroundColor: 'green',
53
+ borderRadius: '9999px',
54
+ fontSize: '13px',
55
+ padding: '10px 15px'
56
+ },
57
+ type: 'button',
58
+ tag: 'button'
252
59
  };
253
60
 
254
- var _excluded = ["id", "type", "childIds"];
255
-
256
- var WeaverseRoot = function WeaverseRoot(_ref) {
257
- var _context$projectData, _context$projectData$;
258
-
259
- var context = _ref.context,
260
- defaultData = _ref.defaultData;
261
-
262
- var _React$useState = useState(context.projectData),
263
- setData = _React$useState[1];
264
-
265
- useEffect(function () {
266
- var handleUpdate = function handleUpdate() {
267
- setData(context.projectData);
268
- };
269
-
270
- context.subscribe(handleUpdate);
271
- context.updateProjectData();
272
- return function () {
273
- context.unsubscribe(handleUpdate);
274
- };
275
- }, []);
276
-
277
- if (!((_context$projectData = context.projectData) != null && (_context$projectData$ = _context$projectData.items) != null && _context$projectData$.length) && defaultData) {
278
- context.projectData = defaultData;
279
- context.initItemData();
280
- }
61
+ var _excluded = ["tag", "children"];
62
+ var BaseElement = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
63
+ var tag = _ref.tag,
64
+ children = _ref.children,
65
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
66
+
67
+ return React__default.createElement(tag, _extends({
68
+ ref: ref
69
+ }, props), children);
70
+ });
71
+ BaseElement.defaultProps = {
72
+ type: 'base',
73
+ tag: 'div',
74
+ style: {}
75
+ };
281
76
 
282
- return createElement(RenderItem, {
283
- itemId: 0,
284
- context: context
285
- });
77
+ function Grid(props) {
78
+ return React__default.createElement("div", Object.assign({}, props));
79
+ }
80
+ Grid.defaultProps = {
81
+ style: {
82
+ display: 'grid',
83
+ gridTemplate: '1fr / 1fr'
84
+ },
85
+ type: 'grid'
286
86
  };
287
87
 
288
- var Item = function Item(_ref2) {
289
- var itemInstance = _ref2.itemInstance,
290
- elementInstances = _ref2.elementInstances,
291
- context = _ref2.context;
88
+ var elements = {
89
+ Button: Button,
90
+ BaseElement: BaseElement,
91
+ Grid: Grid
92
+ };
292
93
 
293
- var _React$useState2 = useState(itemInstance.data),
294
- data = _React$useState2[0],
295
- setData = _React$useState2[1];
94
+ var createRootContext = function createRootContext(configs) {
95
+ var rootContext = new Weaverse(configs); // Register the element components
296
96
 
297
- var id = data.id,
298
- type = data.type,
299
- childIds = data.childIds,
300
- rest = _objectWithoutPropertiesLoose(data, _excluded);
97
+ Object.keys(elements).forEach(function (key) {
98
+ var _Elements$key, _Elements$key$default;
301
99
 
302
- var useSubscription = itemInstance.useSubscription;
303
- useSubscription(function (update) {
304
- console.log('update', update);
305
- setData(_extends({}, update));
100
+ // @ts-ignore
101
+ ((_Elements$key = elements[key]) == null ? void 0 : (_Elements$key$default = _Elements$key.defaultProps) == null ? void 0 : _Elements$key$default.type) && rootContext.registerElement(elements[key].defaultProps.type, elements[key]);
306
102
  });
307
- var Component = elementInstances.get(type);
308
-
309
- if (Component) {
310
- return createElement(Component, Object.assign({
311
- key: id,
312
- "data-wv-id": id
313
- }, rest), Array.isArray(childIds) && childIds.map(function (childId) {
314
- return createElement(RenderItem, {
315
- key: childId,
316
- itemId: childId,
317
- context: context
318
- });
319
- }));
320
- }
321
-
322
- return null;
103
+ return rootContext;
323
104
  };
324
-
325
- var RenderItem = function RenderItem(_ref3) {
326
- var itemId = _ref3.itemId,
327
- context = _ref3.context;
328
- var itemInstances = context.itemInstances,
329
- elementInstances = context.elementInstances;
330
- var itemInstance = itemInstances.get(itemId);
331
-
332
- if (itemInstance) {
333
- return createElement(Item, {
334
- itemInstance: itemInstance,
335
- elementInstances: elementInstances,
336
- context: context
337
- });
338
- }
339
-
340
- return createElement(Fragment, null);
105
+ var WeaverseRoot = function WeaverseRoot(_ref) {
106
+ return createElement("div", null, "hiii");
341
107
  };
342
108
 
343
- export { Weaverse, WeaverseRoot };
109
+ export { WeaverseRoot, createRootContext };
344
110
  //# sourceMappingURL=sdk-react.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-react.esm.js","sources":["../src/utils/index.ts","../src/core.ts","../src/index.tsx"],"sourcesContent":["export const isReactNative = typeof navigator === 'object' && navigator.product === 'ReactNative'\nexport const isBrowser = typeof window !== 'undefined' && !isReactNative\nexport const isIframe = isBrowser && window.top !== window.self","// TODO: Implement Weaverse SDK class\nimport fetch from 'isomorphic-unfetch'\nimport Elements from '@weaverse/elements'\nimport {useEffect} from 'react'\nimport {isBrowser} from './utils'\n\n\nexport interface ProjectDataItemType {\n\ttype: string\n\tname: string\n\tid: string | number\n}\n\nexport interface ProjectDataType {\n\titems: ProjectDataItemType[]\n}\n\nexport class Weaverse {\n\telementInstances = new Map<string, any>()\n\titemInstances = new Map<string | number, WeaverseItemStore>()\n\tappUrl: string = process.env.NODE_ENV === 'development' ? 'http://localhost:3000' : 'https://weaverse.io'\n\tprojectKey: string = ''\n\tprojectData: ProjectDataType = {\n\t\titems: []\n\t}\n\tlisteners: Set<any> = new Set()\n\tisEditor = false\n\tcurrentFrameSubscription: any\n\n\tconstructor({\n\t\t\t\t\tappUrl,\n\t\t\t\t\tprojectKey,\n\t\t\t\t\tprojectData\n\t\t\t\t}: { appUrl?: string, projectKey?: string, projectData?: ProjectDataType } = {}) {\n\t\tthis.appUrl = appUrl || this.appUrl\n\t\tthis.projectKey = projectKey || this.projectKey\n\t\tprojectData && (this.projectData = projectData)\n\t\tthis.init()\n\t\tconsole.log('process.env.NODE_ENV', process.env.NODE_ENV)\n\t}\n\n\tregisterElement(name: string, element: any) {\n\t\tthis.elementInstances.set(name, element)\n\t}\n\n\tinit() {\n\t\tObject.keys(Elements).forEach(key => {\n\t\t\t// @ts-ignore\n\t\t\tElements[key]?.configs?.type && this.registerElement(Elements[key].configs.type, Elements[key])\n\t\t})\n\t\tthis.subscribeMessageEvent()\n\t}\n\n\tsubscribe(fn: any) {\n\t\tthis.listeners.add(fn)\n\t}\n\n\tunsubscribe(fn: any) {\n\t\tthis.listeners.delete(fn)\n\t}\n\n\ttriggerUpdate() {\n\t\tthis.listeners.forEach(fn => fn())\n\t\tthis.triggerEditorUpdate()\n\t}\n\n\tfetchProjectData() {\n\t\treturn fetch(this.appUrl + `/api/public/${this.projectKey}`).then(r => r.json())\n\t}\n\n\tupdateProjectData() {\n\t\tif (this.projectKey) {\n\t\t\tthis.fetchProjectData().then(data => {\n\t\t\t\tif (data) {\n\t\t\t\t\tthis.projectData = data\n\t\t\t\t\tthis.initItemData()\n\t\t\t\t\tthis.triggerUpdate()\n\t\t\t\t}\n\t\t\t}).catch(err => {\n\t\t\t\tconsole.error(err)\n\t\t\t})\n\t\t}\n\t}\n\n\tsubscribeMessageEvent() {\n\t\tif (typeof this.currentFrameSubscription === 'function') {\n\t\t\tthis.currentFrameSubscription()\n\t\t}\n\t\tisBrowser && window.addEventListener('message', this.handleMessageEvent)\n\t\tthis.currentFrameSubscription = () => {\n\t\t\tisBrowser && window.removeEventListener('message', this.handleMessageEvent)\n\t\t}\n\t\treturn this.currentFrameSubscription\n\t}\n\n\ttriggerEditorUpdate(type = 'weaverse.workspace.init') {\n\t\tif (this.isEditor) {\n\t\t\twindow.top?.postMessage({\n\t\t\t\ttype, payload: {\n\t\t\t\t\tprojectKey: this.projectKey,\n\t\t\t\t\tprojectData: this.projectData\n\t\t\t\t}\n\t\t\t}, '*')\n\t\t}\n\t}\n\n\thandleMessageEvent = (e: MessageEvent) => {\n\t\tif (e.data?.type?.startsWith('weaverse.')) {\n\t\t\tlet type = e.data.type\n\t\t\tswitch (type) {\n\t\t\t\tcase 'weaverse.editor.ready':\n\t\t\t\t\tthis.isEditor = true\n\t\t\t\t\tbreak\n\t\t\t\tcase 'weaverse.editor.update':\n\t\t\t\t\tlet {payload} = e.data\n\t\t\t\t\tlet {itemId, background} = payload\n\t\t\t\t\tlet instance = this.itemInstances.get(itemId)\n\t\t\t\t\tif (instance) {\n\t\t\t\t\t\tinstance.setData({\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\tbackground\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tinitItemData() {\n\t\tlet data = this.projectData\n\t\tif (data.items) {\n\t\t\tdata.items.forEach(item => {\n\t\t\t\tlet itemStore = this.itemInstances.get(item.id) || new WeaverseItemStore(item, this)\n\t\t\t\tthis.itemInstances.set(item.id, itemStore)\n\t\t\t})\n\t\t}\n\t}\n}\n\nexport class WeaverseItemStore {\n\tdata: any = {}\n\tlisteners: Set<any> = new Set()\n\tComponent: any\n\n\tconstructor(itemData: any = {}, weaverse: Weaverse) {\n\t\tthis.data = itemData\n\t\tlet {type} = itemData\n\t\tif (type) {\n\t\t\tthis.Component = weaverse.elementInstances.get(type)\n\t\t}\n\t}\n\n\tsetData = (data: any) => {\n\t\tthis.data = Object.assign(this.data, data)\n\t\tthis.triggerUpdate()\n\t}\n\n\tsubscribe = (fn: any) => {\n\t\tthis.listeners.add(fn)\n\t}\n\n\tunsubscribe = (fn: any) => {\n\t\tthis.listeners.delete(fn)\n\t}\n\n\ttriggerUpdate = () => {\n\t\tthis.listeners.forEach(fn => {\n\t\t\treturn fn(this.data)\n\t\t})\n\t}\n\n\tuseSubscription = (fn: any) => {\n\t\tuseEffect(() => {\n\t\t\tthis.subscribe(fn)\n\t\t\treturn () => {\n\t\t\t\tthis.unsubscribe(fn)\n\t\t\t}\n\t\t}, [])\n\t}\n\n\n\t// addItem(item: any) {\n\t// \tthis.items.push(item)\n\t// \tthis.triggerUpdate()\n\t// }\n\t//\n\t// removeItem(item: any) {\n\t// \tthis.items = this.items.filter(i => i !== item)\n\t// \tthis.triggerUpdate()\n\t// }\n}","import * as React from 'react'\nimport {useEffect} from 'react'\nimport {Weaverse} from './core'\n\nconst WeaverseRoot = ({context, defaultData}: { context: Weaverse, defaultData: any }) => {\n let [, setData] = React.useState<any>(context.projectData)\n useEffect(() => {\n let handleUpdate = () => {\n setData(context.projectData)\n }\n context.subscribe(handleUpdate)\n context.updateProjectData()\n\n return () => {\n context.unsubscribe(handleUpdate)\n }\n }, [])\n if (!context.projectData?.items?.length && defaultData) {\n context.projectData = defaultData\n context.initItemData()\n }\n return <RenderItem itemId={0} context={context}/>\n\n}\n\n\nconst Item = ({itemInstance, elementInstances, context}: any) => {\n let [data, setData] = React.useState<any>(itemInstance.data)\n let {id, type, childIds, ...rest} = data\n\n let {useSubscription} = itemInstance\n useSubscription((update: any) => {\n console.log('update', update)\n setData({...update})\n })\n let Component = elementInstances.get(type)\n if (Component) {\n return <Component key={id} data-wv-id={id} {...rest}>\n {Array.isArray(childIds)\n && childIds.map(childId =>\n <RenderItem\n key={childId}\n itemId={childId}\n context={context}\n />\n )}\n </Component>\n }\n return null\n}\n\nconst RenderItem = ({itemId, context}: { itemId: number, context: any }): any => {\n let {itemInstances, elementInstances} = context\n let itemInstance = itemInstances.get(itemId)\n if (itemInstance) {\n return <Item itemInstance={itemInstance} elementInstances={elementInstances} context={context}/>\n }\n return <></>\n}\n\nexport {Weaverse, WeaverseRoot}\n"],"names":["isReactNative","navigator","product","isBrowser","window","Weaverse","appUrl","projectKey","projectData","Map","process","env","NODE_ENV","items","Set","e","data","type","startsWith","isEditor","payload","itemId","background","instance","itemInstances","get","setData","style","init","console","log","registerElement","name","element","elementInstances","set","Object","keys","Elements","forEach","key","configs","subscribeMessageEvent","subscribe","fn","listeners","add","unsubscribe","triggerUpdate","triggerEditorUpdate","fetchProjectData","fetch","then","r","json","updateProjectData","initItemData","err","error","currentFrameSubscription","addEventListener","handleMessageEvent","removeEventListener","top","postMessage","item","itemStore","id","WeaverseItemStore","itemData","weaverse","assign","useEffect","Component","WeaverseRoot","context","defaultData","React","handleUpdate","length","RenderItem","Item","itemInstance","childIds","rest","useSubscription","update","Array","isArray","map","childId"],"mappings":"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"}
1
+ {"version":3,"file":"sdk-react.esm.js","sources":["../src/elements/button.tsx","../src/elements/base.tsx","../src/elements/grid.tsx","../src/elements/index.ts","../src/renderer.tsx"],"sourcesContent":["import * as React from 'react'\n\nexport const Button = React.forwardRef((props: any, ref) => {\n let [count, setCount] = React.useState(0)\n return <button ref={ref} {...props} onClick={() => setCount(count + 1)}>Test Button {count}</button>\n})\n\nButton.defaultProps = {\n style: {\n backgroundColor: 'green',\n borderRadius: '9999px',\n fontSize: '13px',\n padding: '10px 15px'\n },\n type: 'button',\n tag: 'button'\n}\n\nexport default Button","import React from 'react'\n\nexport const BaseElement = React.forwardRef((({tag, children, ...props}: any, ref) => {\n return React.createElement(tag, {\n ref,\n ...props\n }, children)\n}))\n\nBaseElement.defaultProps = {\n type: 'base',\n tag: 'div',\n style: {}\n}\nexport default BaseElement\n","import React from 'react'\n\nexport default function Grid(props: any) {\n return <div {...props} />\n}\n\nGrid.defaultProps = {\n style: {\n display: 'grid',\n gridTemplate: '1fr / 1fr'\n },\n type: 'grid'\n}","import Button from './button'\nimport BaseElement from './base'\nimport Grid from './grid'\n\nconst elements = {\n Button,\n BaseElement,\n Grid\n}\nexport default elements","import * as React from 'react'\nimport {isBrowser, Weaverse, WeaverseItemStore, WeaverseType} from '@weaverse/core'\nimport Elements from './elements'\n\nexport const createRootContext = (configs: WeaverseType) => {\n const rootContext = new Weaverse(configs)\n // Register the element components\n Object.keys(Elements).forEach(key => {\n // @ts-ignore\n Elements[key]?.defaultProps?.type && rootContext.registerElement(Elements[key].defaultProps.type, Elements[key])\n })\n return rootContext\n}\n\nexport const WeaverseRoot = ({context, defaultData}: { context: Weaverse, defaultData: any }) => {\n return <div>hiii</div>\n let [, setData] = React.useState<any>(context.projectData)\n React.useEffect(() => {\n let handleUpdate = () => {\n setData({...context.projectData})\n }\n context.subscribe(handleUpdate)\n context.updateProjectData()\n return () => {\n context.unsubscribe(handleUpdate)\n }\n }, [])\n if (!context.projectData?.items?.length && defaultData) {\n context.projectData = defaultData\n context.initItemData()\n }\n let handleProps = context?.studioBridge?.handleProps || {}\n console.log('handleProps', handleProps)\n return <div {...handleProps}>\n <RenderItem itemId={0} context={context}/>\n </div>\n}\n\n\ntype ItemProps = {\n itemInstance: WeaverseItemStore\n elementInstances: Map<string, React.FC>\n context: Weaverse\n}\n\n\nconst Item = ({itemInstance, elementInstances, context}: ItemProps) => {\n let [data, setData] = React.useState<any>(itemInstance.data)\n let {id, type, childIds, css, className, ...rest} = data\n React.useEffect(() => {\n let handleUpdate = (update: any) => {\n setData({...update})\n }\n itemInstance.subscribe(handleUpdate)\n if (!itemInstance.ref.current && isBrowser) {\n Object.assign(itemInstance.ref, {current: document.querySelector(`[data-wv-id=\"${id}\"]`)})\n }\n\n return () => {\n itemInstance.unsubscribe(handleUpdate)\n }\n }, [])\n\n let realClassName = className || ''\n if (css) {\n\n // let stitches create the style from css object and\n // then return the classname, so we can use it in the render\n let selector = (context.stitchesInstance.css(css)()).className\n realClassName += ' ' + selector\n }\n let Component = elementInstances.get(type)\n if (Component) {\n // @ts-ignore\n if (Component.$$typeof === Symbol.for('react.forward_ref')) {\n rest.ref = itemInstance.ref\n }\n return <Component key={id} data-wv-id={id} {...rest} className={realClassName}>\n {Array.isArray(childIds)\n && childIds.map(childId =>\n <RenderItem\n key={childId}\n itemId={childId}\n context={context}\n />\n )}\n </Component>\n }\n return null\n}\n\nconst RenderItem = ({itemId, context}: { itemId: number, context: any }): any => {\n let {itemInstances, elementInstances} = context\n let itemInstance = itemInstances.get(itemId)\n if (itemInstance) {\n return <Item itemInstance={itemInstance} elementInstances={elementInstances} context={context}/>\n }\n return <></>\n}\n\n"],"names":["Button","React","props","ref","count","setCount","onClick","defaultProps","style","backgroundColor","borderRadius","fontSize","padding","type","tag","BaseElement","forwardRef","children","createElement","Grid","display","gridTemplate","elements","createRootContext","configs","rootContext","Weaverse","Object","keys","Elements","forEach","key","registerElement","WeaverseRoot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,MAAM,gBAAGC,UAAA,CAAiB,UAACC,KAAD,EAAaC,GAAb;AACrC,wBAAwBF,QAAA,CAAe,CAAf,CAAxB;AAAA,MAAKG,KAAL;AAAA,MAAYC,QAAZ;;AACA,SAAOJ,aAAA,SAAA;AAAQE,IAAAA,GAAG,EAAEA;KAASD;AAAOI,IAAAA,OAAO,EAAE;AAAA,aAAMD,QAAQ,CAACD,KAAK,GAAG,CAAT,CAAd;AAAA;IAAtC,gBAAA,EAA8EA,KAA9E,CAAP;AACD,CAHqB,CAAf;AAKPJ,MAAM,CAACO,YAAP,GAAsB;AAClBC,EAAAA,KAAK,EAAE;AACHC,IAAAA,eAAe,EAAE,OADd;AAEHC,IAAAA,YAAY,EAAE,QAFX;AAGHC,IAAAA,QAAQ,EAAE,MAHP;AAIHC,IAAAA,OAAO,EAAE;AAJN,GADW;AAOlBC,EAAAA,IAAI,EAAE,QAPY;AAQlBC,EAAAA,GAAG,EAAE;AARa,CAAtB;;;ACPA,AAEO,IAAMC,WAAW,gBAAGd,cAAK,CAACe,UAAN,CAAkB,gBAAiCb,GAAjC;MAAEW,WAAAA;MAAKG,gBAAAA;MAAaf;;AAC/D,SAAOD,cAAK,CAACiB,aAAN,CAAoBJ,GAApB;AACLX,IAAAA,GAAG,EAAHA;AADK,KAEFD,KAFE,GAGJe,QAHI,CAAP;AAID,CAL0B,CAApB;AAOPF,WAAW,CAACR,YAAZ,GAA2B;AACzBM,EAAAA,IAAI,EAAE,MADmB;AAEzBC,EAAAA,GAAG,EAAE,KAFoB;AAGzBN,EAAAA,KAAK,EAAE;AAHkB,CAA3B;;SCPwBW,KAAKjB;AAC3B,SAAOD,4BAAA,MAAA,oBAASC,MAAT,CAAP;AACD;AAEDiB,IAAI,CAACZ,YAAL,GAAoB;AAClBC,EAAAA,KAAK,EAAE;AACLY,IAAAA,OAAO,EAAE,MADJ;AAELC,IAAAA,YAAY,EAAE;AAFT,GADW;AAKlBR,EAAAA,IAAI,EAAE;AALY,CAApB;;ACFA,IAAMS,QAAQ,GAAG;AACftB,EAAAA,MAAM,EAANA,MADe;AAEfe,EAAAA,WAAW,EAAXA,WAFe;AAGfI,EAAAA,IAAI,EAAJA;AAHe,CAAjB;;ICAaI,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,OAAD;AAC/B,MAAMC,WAAW,GAAG,IAAIC,QAAJ,CAAaF,OAAb,CAApB;;AAEAG,EAAAA,MAAM,CAACC,IAAP,CAAYC,QAAZ,EAAsBC,OAAtB,CAA8B,UAAAC,GAAG;;;AAC/B;AACA,sBAAAF,QAAQ,CAACE,GAAD,CAAR,4DAAexB,YAAf,2CAA6BM,IAA7B,KAAqCY,WAAW,CAACO,eAAZ,CAA4BH,QAAQ,CAACE,GAAD,CAAR,CAAcxB,YAAd,CAA2BM,IAAvD,EAA6DgB,QAAQ,CAACE,GAAD,CAArE,CAArC;AACD,GAHD;AAIA,SAAON,WAAP;AACD,CARM;AAUP,IAAaQ,YAAY,GAAG,SAAfA,YAAe;AAC1B,SAAOhC,aAAA,MAAA,MAAA,QAAA,CAAP;AAqBD,CAtBM;;;;"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.6",
2
+ "version": "0.1.10",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
@@ -7,8 +7,7 @@
7
7
  "access": "public"
8
8
  },
9
9
  "files": [
10
- "dist",
11
- "src"
10
+ "dist"
12
11
  ],
13
12
  "engines": {
14
13
  "node": ">=10"
@@ -24,8 +23,8 @@
24
23
  "analyze": "size-limit --why"
25
24
  },
26
25
  "peerDependencies": {
27
- "@weaverse/elements": "^0.1.1",
28
- "react": ">=16"
26
+ "react": ">=17",
27
+ "react-dom": ">=17"
29
28
  },
30
29
  "husky": {
31
30
  "hooks": {
@@ -39,7 +38,7 @@
39
38
  "trailingComma": "es5"
40
39
  },
41
40
  "name": "@weaverse/react",
42
- "author": "Paul Phan",
41
+ "author": "Weaverse Team",
43
42
  "module": "dist/sdk-react.esm.js",
44
43
  "size-limit": [
45
44
  {
@@ -52,19 +51,17 @@
52
51
  }
53
52
  ],
54
53
  "devDependencies": {
55
- "@size-limit/preset-small-lib": "^7.0.4",
56
- "@types/react": "^17.0.37",
54
+ "@size-limit/preset-small-lib": "^7.0.8",
55
+ "@types/react": "^17.0.39",
57
56
  "@types/react-dom": "^17.0.11",
58
- "@weaverse/elements": "^0.1.4",
57
+ "@types/react-is": "^17.0.3",
59
58
  "husky": "^7.0.4",
60
- "react": "^17.0.2",
61
- "react-dom": "^17.0.2",
62
- "size-limit": "^7.0.4",
59
+ "size-limit": "^7.0.8",
63
60
  "tsdx": "^0.14.1",
64
61
  "tslib": "^2.3.1",
65
- "typescript": "^4.5.4"
62
+ "typescript": "^4.5.5"
66
63
  },
67
64
  "dependencies": {
68
- "isomorphic-unfetch": "^3.1.0"
65
+ "@weaverse/core": "^0.2.4"
69
66
  }
70
67
  }
package/dist/core.d.ts DELETED
@@ -1,45 +0,0 @@
1
- export interface ProjectDataItemType {
2
- type: string;
3
- name: string;
4
- id: string | number;
5
- }
6
- export interface ProjectDataType {
7
- items: ProjectDataItemType[];
8
- }
9
- export declare class Weaverse {
10
- elementInstances: Map<string, any>;
11
- itemInstances: Map<string | number, WeaverseItemStore>;
12
- appUrl: string;
13
- projectKey: string;
14
- projectData: ProjectDataType;
15
- listeners: Set<any>;
16
- isEditor: boolean;
17
- currentFrameSubscription: any;
18
- constructor({ appUrl, projectKey, projectData }?: {
19
- appUrl?: string;
20
- projectKey?: string;
21
- projectData?: ProjectDataType;
22
- });
23
- registerElement(name: string, element: any): void;
24
- init(): void;
25
- subscribe(fn: any): void;
26
- unsubscribe(fn: any): void;
27
- triggerUpdate(): void;
28
- fetchProjectData(): Promise<any>;
29
- updateProjectData(): void;
30
- subscribeMessageEvent(): any;
31
- triggerEditorUpdate(type?: string): void;
32
- handleMessageEvent: (e: MessageEvent) => void;
33
- initItemData(): void;
34
- }
35
- export declare class WeaverseItemStore {
36
- data: any;
37
- listeners: Set<any>;
38
- Component: any;
39
- constructor(itemData: any, weaverse: Weaverse);
40
- setData: (data: any) => void;
41
- subscribe: (fn: any) => void;
42
- unsubscribe: (fn: any) => void;
43
- triggerUpdate: () => void;
44
- useSubscription: (fn: any) => void;
45
- }
@@ -1,3 +0,0 @@
1
- export declare const isReactNative: boolean;
2
- export declare const isBrowser: boolean;
3
- export declare const isIframe: boolean;