@weaverse/react 0.6.1 → 0.6.4

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.js CHANGED
@@ -91,24 +91,31 @@ var schema2 = {
91
91
  title: "Button",
92
92
  type: "button",
93
93
  styles: [
94
+ {
95
+ type: "dimensions"
96
+ },
94
97
  {
95
98
  type: "alignment"
96
99
  },
97
100
  {
98
- type: "visibility"
101
+ type: "border"
99
102
  },
100
103
  {
101
- type: "dimensions"
104
+ type: "background"
102
105
  },
103
106
  {
104
107
  type: "spacing"
108
+ }
109
+ ],
110
+ settings: [],
111
+ toolbar: [
112
+ {
113
+ type: "delete"
105
114
  },
106
115
  {
107
- type: "background"
116
+ type: "duplicate"
108
117
  }
109
118
  ],
110
- settings: [],
111
- toolbar: [],
112
119
  data: {
113
120
  css: {
114
121
  "@desktop": {
@@ -138,7 +145,7 @@ var schema3 = {
138
145
  backgroundColor: "rgba(248,203,203,0.38)",
139
146
  flexDirection: "column",
140
147
  alignItems: "flex-start",
141
- justifyContent: "center",
148
+ justifyContent: "flex-start",
142
149
  textAlign: "left",
143
150
  gridArea: "1 / 1 / 3 / 6",
144
151
  overflow: "hidden",
@@ -157,7 +164,7 @@ var Layout = (0, import_react3.forwardRef)((props, ref) => {
157
164
  return /* @__PURE__ */ import_react3.default.createElement("div", __spreadProps(__spreadValues({
158
165
  ref
159
166
  }, props), {
160
- children: props.children || "Layout Placeholder"
167
+ children: props.children
161
168
  }));
162
169
  });
163
170
  var schema4 = {
@@ -167,12 +174,12 @@ var schema4 = {
167
174
  css: {
168
175
  "@desktop": {
169
176
  display: "grid !important",
170
- gridTemplateRows: "repeat(auto-fill, $rowSize)",
171
- gridTemplateColumns: "repeat($columns, 1fr)",
172
- gridAutoRows: "$sizes$rowSize",
177
+ gridTemplateRows: "repeat($row-count, $row-size)",
178
+ gridTemplateColumns: "repeat($column-count, 1fr)",
173
179
  gridGap: "$gap",
174
180
  minHeight: "104px",
175
- width: "100%",
181
+ width: "$width",
182
+ maxWidth: "$max-width",
176
183
  margin: "0 auto"
177
184
  },
178
185
  "@mobile": {
@@ -219,6 +226,35 @@ var schema5 = {
219
226
  };
220
227
  var text_default = Text;
221
228
 
229
+ // src/elements/image.tsx
230
+ var import_react4 = __toESM(require("react"));
231
+ var Image = import_react4.default.forwardRef(function Image2(props, ref) {
232
+ let _a = props, { src, alt, children } = _a, rest = __objRest(_a, ["src", "alt", "children"]);
233
+ return /* @__PURE__ */ import_react4.default.createElement("img", __spreadProps(__spreadValues({
234
+ ref
235
+ }, rest), {
236
+ alt,
237
+ src
238
+ }));
239
+ });
240
+ Image.defaultProps = {
241
+ src: "https://ucarecdn.com/48d73272-3fe3-43f6-8b5b-22b68fc5a8c8/section.png",
242
+ alt: "weaverse image element"
243
+ };
244
+ var schema6 = {
245
+ settings: [],
246
+ type: "image",
247
+ title: "Image",
248
+ data: {
249
+ css: {
250
+ "@desktop": {
251
+ padding: "10px"
252
+ }
253
+ }
254
+ }
255
+ };
256
+ var image_default = Image;
257
+
222
258
  // src/elements/index.ts
223
259
  var elements = {
224
260
  Button: {
@@ -240,6 +276,10 @@ var elements = {
240
276
  Container: {
241
277
  Component: container_default,
242
278
  schema: schema3
279
+ },
280
+ Image: {
281
+ Component: image_default,
282
+ schema: schema6
243
283
  }
244
284
  };
245
285
  var elements_default = elements;
@@ -254,7 +294,7 @@ var shortCssObject = (css) => {
254
294
 
255
295
  // src/renderer.tsx
256
296
  var import_core = require("@weaverse/core");
257
- var React6 = __toESM(require("react"));
297
+ var React7 = __toESM(require("react"));
258
298
  var createRootContext = (configs) => {
259
299
  const rootContext = new import_core.Weaverse(configs);
260
300
  Object.keys(elements_default).forEach((key) => {
@@ -264,8 +304,8 @@ var createRootContext = (configs) => {
264
304
  };
265
305
  var WeaverseRoot = ({ context }) => {
266
306
  var _a;
267
- let [, setData] = React6.useState(context.projectData);
268
- React6.useEffect(() => {
307
+ let [, setData] = React7.useState(context.projectData);
308
+ React7.useEffect(() => {
269
309
  let handleUpdate = () => {
270
310
  setData({});
271
311
  };
@@ -277,19 +317,19 @@ var WeaverseRoot = ({ context }) => {
277
317
  context.unsubscribe(handleUpdate);
278
318
  };
279
319
  }, []);
280
- let handleProps = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.handleProps) || {};
320
+ let eventHandlers = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.eventHandlers) || {};
281
321
  let themeClass = context.stitchesInstance.theme.className;
282
- return /* @__PURE__ */ React6.createElement("div", __spreadValues({
322
+ return /* @__PURE__ */ React7.createElement("div", __spreadValues({
283
323
  className: `weaverse-content-root ${themeClass}`
284
- }, handleProps), /* @__PURE__ */ React6.createElement(RenderItem, {
324
+ }, eventHandlers), /* @__PURE__ */ React7.createElement(RenderItem, {
285
325
  itemId: context.projectData.rootId || 0,
286
326
  context
287
327
  }));
288
328
  };
289
329
  var Item = ({ itemInstance, elementInstances, context }) => {
290
- let [data, setData] = React6.useState(itemInstance.data);
330
+ let [data, setData] = React7.useState(itemInstance.data);
291
331
  let _a = data, { id, type, childIds, css, className } = _a, rest = __objRest(_a, ["id", "type", "childIds", "css", "className"]);
292
- React6.useEffect(() => {
332
+ React7.useEffect(() => {
293
333
  let handleUpdate = (update) => {
294
334
  setData(__spreadValues({}, update));
295
335
  };
@@ -315,13 +355,13 @@ var Item = ({ itemInstance, elementInstances, context }) => {
315
355
  if (Component.$$typeof === Symbol.for("react.forward_ref")) {
316
356
  rest.ref = itemInstance.ref;
317
357
  }
318
- return /* @__PURE__ */ React6.createElement(Component, __spreadProps(__spreadValues({
358
+ return /* @__PURE__ */ React7.createElement(Component, __spreadProps(__spreadValues({
319
359
  key: id,
320
360
  "data-wv-type": type,
321
361
  "data-wv-id": id
322
362
  }, rest), {
323
363
  className: realClassName
324
- }), Array.isArray(childIds) && childIds.map((childId) => /* @__PURE__ */ React6.createElement(RenderItem, {
364
+ }), Array.isArray(childIds) && childIds.map((childId) => /* @__PURE__ */ React7.createElement(RenderItem, {
325
365
  key: childId,
326
366
  itemId: childId,
327
367
  context
@@ -336,14 +376,14 @@ var RenderItem = ({
336
376
  let { itemInstances, elementInstances } = context;
337
377
  let itemInstance = itemInstances.get(itemId);
338
378
  if (itemInstance) {
339
- return /* @__PURE__ */ React6.createElement(Item, {
379
+ return /* @__PURE__ */ React7.createElement(Item, {
340
380
  itemInstance,
341
381
  elementInstances,
342
382
  context
343
383
  });
344
384
  }
345
385
  console.warn(`Item instance ${itemId} not found`);
346
- return /* @__PURE__ */ React6.createElement(React6.Fragment, null);
386
+ return /* @__PURE__ */ React7.createElement(React7.Fragment, null);
347
387
  };
348
388
 
349
389
  // src/index.ts
package/dist/index.mjs CHANGED
@@ -64,24 +64,31 @@ var schema2 = {
64
64
  title: "Button",
65
65
  type: "button",
66
66
  styles: [
67
+ {
68
+ type: "dimensions"
69
+ },
67
70
  {
68
71
  type: "alignment"
69
72
  },
70
73
  {
71
- type: "visibility"
74
+ type: "border"
72
75
  },
73
76
  {
74
- type: "dimensions"
77
+ type: "background"
75
78
  },
76
79
  {
77
80
  type: "spacing"
81
+ }
82
+ ],
83
+ settings: [],
84
+ toolbar: [
85
+ {
86
+ type: "delete"
78
87
  },
79
88
  {
80
- type: "background"
89
+ type: "duplicate"
81
90
  }
82
91
  ],
83
- settings: [],
84
- toolbar: [],
85
92
  data: {
86
93
  css: {
87
94
  "@desktop": {
@@ -111,7 +118,7 @@ var schema3 = {
111
118
  backgroundColor: "rgba(248,203,203,0.38)",
112
119
  flexDirection: "column",
113
120
  alignItems: "flex-start",
114
- justifyContent: "center",
121
+ justifyContent: "flex-start",
115
122
  textAlign: "left",
116
123
  gridArea: "1 / 1 / 3 / 6",
117
124
  overflow: "hidden",
@@ -130,7 +137,7 @@ var Layout = forwardRef3((props, ref) => {
130
137
  return /* @__PURE__ */ React4.createElement("div", __spreadProps(__spreadValues({
131
138
  ref
132
139
  }, props), {
133
- children: props.children || "Layout Placeholder"
140
+ children: props.children
134
141
  }));
135
142
  });
136
143
  var schema4 = {
@@ -140,12 +147,12 @@ var schema4 = {
140
147
  css: {
141
148
  "@desktop": {
142
149
  display: "grid !important",
143
- gridTemplateRows: "repeat(auto-fill, $rowSize)",
144
- gridTemplateColumns: "repeat($columns, 1fr)",
145
- gridAutoRows: "$sizes$rowSize",
150
+ gridTemplateRows: "repeat($row-count, $row-size)",
151
+ gridTemplateColumns: "repeat($column-count, 1fr)",
146
152
  gridGap: "$gap",
147
153
  minHeight: "104px",
148
- width: "100%",
154
+ width: "$width",
155
+ maxWidth: "$max-width",
149
156
  margin: "0 auto"
150
157
  },
151
158
  "@mobile": {
@@ -192,6 +199,35 @@ var schema5 = {
192
199
  };
193
200
  var text_default = Text;
194
201
 
202
+ // src/elements/image.tsx
203
+ import React6 from "react";
204
+ var Image = React6.forwardRef(function Image2(props, ref) {
205
+ let _a = props, { src, alt, children } = _a, rest = __objRest(_a, ["src", "alt", "children"]);
206
+ return /* @__PURE__ */ React6.createElement("img", __spreadProps(__spreadValues({
207
+ ref
208
+ }, rest), {
209
+ alt,
210
+ src
211
+ }));
212
+ });
213
+ Image.defaultProps = {
214
+ src: "https://ucarecdn.com/48d73272-3fe3-43f6-8b5b-22b68fc5a8c8/section.png",
215
+ alt: "weaverse image element"
216
+ };
217
+ var schema6 = {
218
+ settings: [],
219
+ type: "image",
220
+ title: "Image",
221
+ data: {
222
+ css: {
223
+ "@desktop": {
224
+ padding: "10px"
225
+ }
226
+ }
227
+ }
228
+ };
229
+ var image_default = Image;
230
+
195
231
  // src/elements/index.ts
196
232
  var elements = {
197
233
  Button: {
@@ -213,6 +249,10 @@ var elements = {
213
249
  Container: {
214
250
  Component: container_default,
215
251
  schema: schema3
252
+ },
253
+ Image: {
254
+ Component: image_default,
255
+ schema: schema6
216
256
  }
217
257
  };
218
258
  var elements_default = elements;
@@ -230,7 +270,7 @@ import {
230
270
  isBrowser,
231
271
  Weaverse
232
272
  } from "@weaverse/core";
233
- import * as React6 from "react";
273
+ import * as React7 from "react";
234
274
  var createRootContext = (configs) => {
235
275
  const rootContext = new Weaverse(configs);
236
276
  Object.keys(elements_default).forEach((key) => {
@@ -240,8 +280,8 @@ var createRootContext = (configs) => {
240
280
  };
241
281
  var WeaverseRoot = ({ context }) => {
242
282
  var _a;
243
- let [, setData] = React6.useState(context.projectData);
244
- React6.useEffect(() => {
283
+ let [, setData] = React7.useState(context.projectData);
284
+ React7.useEffect(() => {
245
285
  let handleUpdate = () => {
246
286
  setData({});
247
287
  };
@@ -253,19 +293,19 @@ var WeaverseRoot = ({ context }) => {
253
293
  context.unsubscribe(handleUpdate);
254
294
  };
255
295
  }, []);
256
- let handleProps = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.handleProps) || {};
296
+ let eventHandlers = ((_a = context == null ? void 0 : context.studioBridge) == null ? void 0 : _a.eventHandlers) || {};
257
297
  let themeClass = context.stitchesInstance.theme.className;
258
- return /* @__PURE__ */ React6.createElement("div", __spreadValues({
298
+ return /* @__PURE__ */ React7.createElement("div", __spreadValues({
259
299
  className: `weaverse-content-root ${themeClass}`
260
- }, handleProps), /* @__PURE__ */ React6.createElement(RenderItem, {
300
+ }, eventHandlers), /* @__PURE__ */ React7.createElement(RenderItem, {
261
301
  itemId: context.projectData.rootId || 0,
262
302
  context
263
303
  }));
264
304
  };
265
305
  var Item = ({ itemInstance, elementInstances, context }) => {
266
- let [data, setData] = React6.useState(itemInstance.data);
306
+ let [data, setData] = React7.useState(itemInstance.data);
267
307
  let _a = data, { id, type, childIds, css, className } = _a, rest = __objRest(_a, ["id", "type", "childIds", "css", "className"]);
268
- React6.useEffect(() => {
308
+ React7.useEffect(() => {
269
309
  let handleUpdate = (update) => {
270
310
  setData(__spreadValues({}, update));
271
311
  };
@@ -291,13 +331,13 @@ var Item = ({ itemInstance, elementInstances, context }) => {
291
331
  if (Component.$$typeof === Symbol.for("react.forward_ref")) {
292
332
  rest.ref = itemInstance.ref;
293
333
  }
294
- return /* @__PURE__ */ React6.createElement(Component, __spreadProps(__spreadValues({
334
+ return /* @__PURE__ */ React7.createElement(Component, __spreadProps(__spreadValues({
295
335
  key: id,
296
336
  "data-wv-type": type,
297
337
  "data-wv-id": id
298
338
  }, rest), {
299
339
  className: realClassName
300
- }), Array.isArray(childIds) && childIds.map((childId) => /* @__PURE__ */ React6.createElement(RenderItem, {
340
+ }), Array.isArray(childIds) && childIds.map((childId) => /* @__PURE__ */ React7.createElement(RenderItem, {
301
341
  key: childId,
302
342
  itemId: childId,
303
343
  context
@@ -312,14 +352,14 @@ var RenderItem = ({
312
352
  let { itemInstances, elementInstances } = context;
313
353
  let itemInstance = itemInstances.get(itemId);
314
354
  if (itemInstance) {
315
- return /* @__PURE__ */ React6.createElement(Item, {
355
+ return /* @__PURE__ */ React7.createElement(Item, {
316
356
  itemInstance,
317
357
  elementInstances,
318
358
  context
319
359
  });
320
360
  }
321
361
  console.warn(`Item instance ${itemId} not found`);
322
- return /* @__PURE__ */ React6.createElement(React6.Fragment, null);
362
+ return /* @__PURE__ */ React7.createElement(React7.Fragment, null);
323
363
  };
324
364
 
325
365
  // src/index.ts
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.6.1",
2
+ "version": "0.6.4",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
@@ -31,6 +31,6 @@
31
31
  "name": "@weaverse/react",
32
32
  "author": "Weaverse Team",
33
33
  "dependencies": {
34
- "@weaverse/core": "0.5.14"
34
+ "@weaverse/core": "0.6.4"
35
35
  }
36
36
  }