@razaman2/reactive-view 0.0.34-beta.12 → 0.0.34-beta.14

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.mts CHANGED
@@ -74,7 +74,9 @@ declare const _default: {
74
74
  type: BooleanConstructor;
75
75
  default: boolean;
76
76
  };
77
- state: {};
77
+ state: {
78
+ default: () => {};
79
+ };
78
80
  };
79
81
  setup(props: Record<string, any>, context: SetupContext): (vue: ComponentPublicInstance) => any;
80
82
  };
package/dist/index.d.ts CHANGED
@@ -74,7 +74,9 @@ declare const _default: {
74
74
  type: BooleanConstructor;
75
75
  default: boolean;
76
76
  };
77
- state: {};
77
+ state: {
78
+ default: () => {};
79
+ };
78
80
  };
79
81
  setup(props: Record<string, any>, context: SetupContext): (vue: ComponentPublicInstance) => any;
80
82
  };
package/dist/index.js CHANGED
@@ -172,7 +172,7 @@ var import_vue = require("vue");
172
172
 
173
173
  // package.json
174
174
  var name = "@razaman2/reactive-view";
175
- var version = "0.0.34-beta.12";
175
+ var version = "0.0.34-beta.14";
176
176
 
177
177
  // src/ReactiveView.ts
178
178
  var setup = {
@@ -212,7 +212,7 @@ var ReactiveView_default = {
212
212
  type: Boolean,
213
213
  default: false
214
214
  },
215
- state: {}
215
+ state: { default: () => ({}) }
216
216
  },
217
217
  setup(props, context) {
218
218
  var _a, _b, _c, _d, _e, _f, _g, _h, _i;
@@ -558,13 +558,14 @@ var extendVnode = (component, element) => {
558
558
  }, props);
559
559
  const finalProps = Object.assign(rest, functionalProps, { class: finalClasses, style: finalStyles });
560
560
  const finalSlots = slots ? typeof slots === "function" ? slots(vnode.children) : slots : vnode.children;
561
- return (0, import_vue2.h)(["undefined"].includes(typeof element) ? vnode.type : element, finalProps, finalSlots);
561
+ const finalElement = ["undefined"].includes(typeof element) ? vnode.type : element;
562
+ return (0, import_vue2.h)(finalElement, finalProps, finalSlots);
562
563
  };
563
564
  }
564
565
  });
565
566
  };
566
567
  var getData = (component, path, alternative) => {
567
- const data = import_object_manager2.default.on((0, import_vue2.unref)(component.$attrs.state));
568
+ const data = import_object_manager2.default.on((0, import_vue2.unref)(componentState(component)));
568
569
  if (path) {
569
570
  return data.get(dataPath(component, path), alternative);
570
571
  } else {
@@ -572,10 +573,14 @@ var getData = (component, path, alternative) => {
572
573
  }
573
574
  };
574
575
  var setData = (component, data, path) => {
575
- return component.$emit("update:state", {
576
- before: import_object_manager2.default.on((0, import_vue2.unref)(component.$attrs.state)).clone(),
577
- after: path ? import_object_manager2.default.on({}).set(dataPath(component, path), data).get() : data
578
- });
576
+ const diff = {
577
+ before: import_object_manager2.default.on((0, import_vue2.unref)(componentState(component))).clone(),
578
+ after: path ? import_object_manager2.default.on(componentState(component)).set(dataPath(component, path), data).get() : import_object_manager2.default.on(componentState(component)).set(data).get()
579
+ };
580
+ return "state" in component ? diff : component.$emit("update:state", diff);
581
+ };
582
+ var componentState = (component) => {
583
+ return "state" in component ? component.state : component.$attrs.state;
579
584
  };
580
585
  var dataPath = (component, path) => {
581
586
  return typeof component.$attrs["data:path"] === "function" ? component.$attrs["data:path"](path) : path;
package/dist/index.mjs CHANGED
@@ -128,7 +128,7 @@ import { ref, reactive, watch, isRef, isReactive, createVNode, getCurrentInstanc
128
128
 
129
129
  // package.json
130
130
  var name = "@razaman2/reactive-view";
131
- var version = "0.0.34-beta.12";
131
+ var version = "0.0.34-beta.14";
132
132
 
133
133
  // src/ReactiveView.ts
134
134
  var setup = {
@@ -168,7 +168,7 @@ var ReactiveView_default = {
168
168
  type: Boolean,
169
169
  default: false
170
170
  },
171
- state: {}
171
+ state: { default: () => ({}) }
172
172
  },
173
173
  setup(props, context) {
174
174
  var _a, _b, _c, _d, _e, _f, _g, _h, _i;
@@ -514,13 +514,14 @@ var extendVnode = (component, element) => {
514
514
  }, props);
515
515
  const finalProps = Object.assign(rest, functionalProps, { class: finalClasses, style: finalStyles });
516
516
  const finalSlots = slots ? typeof slots === "function" ? slots(vnode.children) : slots : vnode.children;
517
- return h(["undefined"].includes(typeof element) ? vnode.type : element, finalProps, finalSlots);
517
+ const finalElement = ["undefined"].includes(typeof element) ? vnode.type : element;
518
+ return h(finalElement, finalProps, finalSlots);
518
519
  };
519
520
  }
520
521
  });
521
522
  };
522
523
  var getData = (component, path, alternative) => {
523
- const data = ObjectManager2.on(unref2(component.$attrs.state));
524
+ const data = ObjectManager2.on(unref2(componentState(component)));
524
525
  if (path) {
525
526
  return data.get(dataPath(component, path), alternative);
526
527
  } else {
@@ -528,10 +529,14 @@ var getData = (component, path, alternative) => {
528
529
  }
529
530
  };
530
531
  var setData = (component, data, path) => {
531
- return component.$emit("update:state", {
532
- before: ObjectManager2.on(unref2(component.$attrs.state)).clone(),
533
- after: path ? ObjectManager2.on({}).set(dataPath(component, path), data).get() : data
534
- });
532
+ const diff = {
533
+ before: ObjectManager2.on(unref2(componentState(component))).clone(),
534
+ after: path ? ObjectManager2.on(componentState(component)).set(dataPath(component, path), data).get() : ObjectManager2.on(componentState(component)).set(data).get()
535
+ };
536
+ return "state" in component ? diff : component.$emit("update:state", diff);
537
+ };
538
+ var componentState = (component) => {
539
+ return "state" in component ? component.state : component.$attrs.state;
535
540
  };
536
541
  var dataPath = (component, path) => {
537
542
  return typeof component.$attrs["data:path"] === "function" ? component.$attrs["data:path"](path) : path;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@razaman2/reactive-view",
3
- "version": "0.0.34-beta.12",
3
+ "version": "0.0.34-beta.14",
4
4
  "description": "This library enables you to build vue apps in an object oriented way. It provides a convenient approach to extend and override ui components. It provides a built in eventing system along with component data management.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",