ivue 1.1.18 → 1.1.20

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.
Files changed (77) hide show
  1. package/README.md +12 -8
  2. package/dist/index.es.js +18 -18
  3. package/dist/index.umd.js +1 -1
  4. package/dist/src/ivue.d.ts +17 -8
  5. package/docs/docs/.vitepress/dist/404.html +3 -3
  6. package/docs/docs/.vitepress/dist/api/ivue.html +6 -6
  7. package/docs/docs/.vitepress/dist/api/propsWithDefaults.html +6 -6
  8. package/docs/docs/.vitepress/dist/assets/{api_ivue.md.CZqok1oO.js → api_ivue.md.Dcwh72Up.js} +1 -1
  9. package/docs/docs/.vitepress/dist/assets/{api_ivue.md.CZqok1oO.lean.js → api_ivue.md.Dcwh72Up.lean.js} +1 -1
  10. package/docs/docs/.vitepress/dist/assets/{api_propsWithDefaults.md.DEcLH0d7.js → api_propsWithDefaults.md.4_yVaZVQ.js} +1 -1
  11. package/docs/docs/.vitepress/dist/assets/{api_propsWithDefaults.md.DEcLH0d7.lean.js → api_propsWithDefaults.md.4_yVaZVQ.lean.js} +1 -1
  12. package/docs/docs/.vitepress/dist/assets/{app.BJka6k8g.js → app.BYfdK_hD.js} +1 -1
  13. package/docs/docs/.vitepress/dist/assets/chunks/@localSearchIndexroot.MRMl6PRR.js +1 -0
  14. package/docs/docs/.vitepress/dist/assets/chunks/{Button.vue_vue_type_script_setup_true_lang.CPdVloYP.js → Button.vue_vue_type_script_setup_true_lang.DTLsfrER.js} +1 -1
  15. package/docs/docs/.vitepress/dist/assets/chunks/{VPLocalSearchBox.CyTlz8Av.js → VPLocalSearchBox.BA9OZ_Zi.js} +1 -1
  16. package/docs/docs/.vitepress/dist/assets/chunks/framework.A0LWpETw.js +1 -0
  17. package/docs/docs/.vitepress/dist/assets/chunks/{index.es.Dhu93bg7.js → index.es.vxZiu-N0.js} +1 -1
  18. package/docs/docs/.vitepress/dist/assets/chunks/{theme.D4h28Zbq.js → theme.CcUearAn.js} +2 -2
  19. package/docs/docs/.vitepress/dist/assets/index.md.DKVu1ndY.js +1 -0
  20. package/docs/docs/.vitepress/dist/assets/index.md.DKVu1ndY.lean.js +1 -0
  21. package/docs/docs/.vitepress/dist/assets/{pages_advanced-usage.md.BdjYKyP7.js → pages_advanced-usage.md.DW_gZ3PR.js} +1 -1
  22. package/docs/docs/.vitepress/dist/assets/{pages_advanced-usage.md.BdjYKyP7.lean.js → pages_advanced-usage.md.DW_gZ3PR.lean.js} +1 -1
  23. package/docs/docs/.vitepress/dist/assets/pages_api.md.CTVxqljG.js +1 -0
  24. package/docs/docs/.vitepress/dist/assets/pages_api.md.CTVxqljG.lean.js +1 -0
  25. package/docs/docs/.vitepress/dist/assets/{pages_browse-code.md.002gxjsr.js → pages_browse-code.md.B0SHw1kH.js} +35 -20
  26. package/docs/docs/.vitepress/dist/assets/pages_browse-code.md.B0SHw1kH.lean.js +1 -0
  27. package/docs/docs/.vitepress/dist/assets/{pages_getting-started.md.DscMF81a.js → pages_getting-started.md.DNBViykD.js} +36 -21
  28. package/docs/docs/.vitepress/dist/assets/{pages_getting-started.md.DscMF81a.lean.js → pages_getting-started.md.DNBViykD.lean.js} +1 -1
  29. package/docs/docs/.vitepress/dist/assets/{pages_guidelines.md.CJ61_SBZ.lean.js → pages_guidelines.md.CqaMa3nD.js} +26 -20
  30. package/docs/docs/.vitepress/dist/assets/{pages_guidelines.md.CJ61_SBZ.js → pages_guidelines.md.CqaMa3nD.lean.js} +26 -20
  31. package/docs/docs/.vitepress/dist/assets/{pages_how-it-works.md.Bjq6TAX5.lean.js → pages_how-it-works.md.DnT0w5vM.js} +36 -21
  32. package/docs/docs/.vitepress/dist/assets/{pages_how-it-works.md.Bjq6TAX5.js → pages_how-it-works.md.DnT0w5vM.lean.js} +36 -21
  33. package/docs/docs/.vitepress/dist/assets/{pages_how-its-made.md.DGeFDBuv.js → pages_how-its-made.md.QUpGkW5C.js} +1 -1
  34. package/docs/docs/.vitepress/dist/assets/{pages_how-its-made.md.DGeFDBuv.lean.js → pages_how-its-made.md.QUpGkW5C.lean.js} +1 -1
  35. package/docs/docs/.vitepress/dist/assets/pages_introduction.md.Ce-jOv9s.js +1 -0
  36. package/docs/docs/.vitepress/dist/assets/pages_introduction.md.Ce-jOv9s.lean.js +1 -0
  37. package/docs/docs/.vitepress/dist/assets/{pages_usage.md.Bfpwym3w.js → pages_usage.md.Csm2P67_.js} +77 -32
  38. package/docs/docs/.vitepress/dist/assets/{pages_usage.md.Bfpwym3w.lean.js → pages_usage.md.Csm2P67_.lean.js} +77 -32
  39. package/docs/docs/.vitepress/dist/assets/{style.Fgx7OB_D.css → style.Dtxde_a0.css} +1 -1
  40. package/docs/docs/.vitepress/dist/hashmap.json +1 -1
  41. package/docs/docs/.vitepress/dist/index.html +8 -8
  42. package/docs/docs/.vitepress/dist/pages/advanced-usage.html +6 -6
  43. package/docs/docs/.vitepress/dist/pages/api.html +9 -9
  44. package/docs/docs/.vitepress/dist/pages/browse-code.html +41 -26
  45. package/docs/docs/.vitepress/dist/pages/getting-started.html +41 -26
  46. package/docs/docs/.vitepress/dist/pages/guidelines.html +31 -25
  47. package/docs/docs/.vitepress/dist/pages/how-it-works.html +41 -26
  48. package/docs/docs/.vitepress/dist/pages/how-its-made.html +7 -7
  49. package/docs/docs/.vitepress/dist/pages/introduction.html +8 -8
  50. package/docs/docs/.vitepress/dist/pages/usage.html +83 -38
  51. package/docs/docs/.vitepress/theme/main.css +1 -1
  52. package/docs/docs/components/guidelines/CounterExternalRefsDetailed.vue +5 -5
  53. package/docs/docs/components/usage/CounterComposables.vue +10 -2
  54. package/docs/docs/components/usage/CounterComposablesDestructuring.vue +4 -4
  55. package/docs/docs/components/usage/CounterComposablesIvueDestructuring.vue +36 -0
  56. package/docs/docs/components/usage/CounterExternalRefs.vue +3 -3
  57. package/docs/docs/components/usage/classes/CustomMouse.ts +16 -0
  58. package/docs/docs/components/usage/functions/{useMouse.ts → useCustomMouse.ts} +6 -6
  59. package/docs/docs/index.md +19 -7
  60. package/docs/docs/pages/api.md +12 -12
  61. package/docs/docs/pages/guidelines.md +19 -13
  62. package/docs/docs/pages/how-its-made.md +1 -1
  63. package/docs/docs/pages/introduction.md +7 -1
  64. package/docs/docs/pages/usage.md +24 -2
  65. package/docs/package.json +1 -1
  66. package/package.json +1 -1
  67. package/src/__tests__/ivue.vitest.spec.ts +1 -1
  68. package/src/ivue.ts +32 -18
  69. package/docs/docs/.vitepress/dist/assets/chunks/@localSearchIndexroot.BKS8FCve.js +0 -1
  70. package/docs/docs/.vitepress/dist/assets/chunks/framework.DwpdbuZp.js +0 -1
  71. package/docs/docs/.vitepress/dist/assets/index.md.CLB_U8aI.js +0 -1
  72. package/docs/docs/.vitepress/dist/assets/index.md.CLB_U8aI.lean.js +0 -1
  73. package/docs/docs/.vitepress/dist/assets/pages_api.md.-RSHq6PR.js +0 -7
  74. package/docs/docs/.vitepress/dist/assets/pages_api.md.-RSHq6PR.lean.js +0 -7
  75. package/docs/docs/.vitepress/dist/assets/pages_browse-code.md.002gxjsr.lean.js +0 -1
  76. package/docs/docs/.vitepress/dist/assets/pages_introduction.md.BdBoAz6L.js +0 -1
  77. package/docs/docs/.vitepress/dist/assets/pages_introduction.md.BdBoAz6L.lean.js +0 -1
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## About
4
4
 
5
- `ivue` is a TypeScript classes based composable architecture for Vue 3, that unlocks infinite scalability for Vue 3 based apps. It allows you to extend the regular Vue 3 in a simple and elegant way.
5
+ `ivue` is a TypeScript class based composable architecture for Vue 3, that unlocks infinite scalability for Vue 3 based apps. It allows you to extend the regular Vue 3 in a simple and elegant way.
6
6
 
7
7
  ## Features
8
8
  &ndash; Simple & Elegant Architecture<br />
@@ -11,20 +11,24 @@
11
11
  &ndash; Extend Emits<br />
12
12
  &ndash; Extend Slots<br />
13
13
  &ndash; Extend Components<br />
14
- &ndash; Improves DX by elegantly dealing with .value in the background<br />
14
+ &ndash; Improves DX by elegantly dealing with `.value` in the background<br />
15
15
  &ndash; Can be used both as a Store and a View Model for Components<br />
16
- &ndash; Provides Full TypeScript Support<br />
17
- &ndash; 100% Tested<br />
18
16
  &ndash; Zero dependencies except Vue 3<br />
19
- &ndash; Only 1kb in size!<br />
20
- &ndash; Production Ready<br />
21
17
 
22
18
  ## What is ivue?
19
+ ## `ivue` is
23
20
 
24
- `ivue` is &ndash;<br />
25
21
  &ndash;&nbsp; Simple like Options API<br />
26
22
  &ndash;&nbsp; Flexible like Composition API<br />
27
- &ndash;&nbsp; Extensible like TypeScript Classes API<br />
23
+ &ndash;&nbsp; Extensible like TypeScript Class API<br />
24
+ &ndash;&nbsp; Feature Complete, Minimal, Opaque & Elegant Architecture<br />
25
+ &ndash;&nbsp; 100% TypeScript Support<br />
26
+ &ndash;&nbsp; 100% Vue 3 Compatible<br />
27
+ &ndash;&nbsp; 100% Test Covered<br />
28
+ &ndash;&nbsp; Production Ready<br />
29
+ &ndash;&nbsp; Just <code>1.1kb</code> gzipped!<br />
30
+
31
+
28
32
 
29
33
  `ivue` is a powerful tool because it fully aligns itself with JavaScript / TypeScript Class API.
30
34
 
package/dist/index.es.js CHANGED
@@ -1,6 +1,6 @@
1
- import { reactive as y, computed as g, ref as O, toRef as d } from "vue";
1
+ import { reactive as O, computed as g, ref as h, toRef as d } from "vue";
2
2
  const l = /* @__PURE__ */ new Map();
3
- function h(e) {
3
+ function j(e) {
4
4
  if (l.has(e))
5
5
  return l.get(e);
6
6
  const r = /* @__PURE__ */ new Map();
@@ -12,18 +12,18 @@ function h(e) {
12
12
  }), t = Object.getPrototypeOf(t);
13
13
  return l.set(e, r), r;
14
14
  }
15
- function v(e, ...r) {
15
+ function w(e, ...r) {
16
16
  var n, f;
17
- const t = h(e), i = t != null && t.size ? {} : null, s = y(new e(...r));
17
+ const t = j(e), i = t != null && t.size ? {} : null, s = O(new e(...r));
18
18
  for (const [c, o] of t)
19
19
  ((n = e == null ? void 0 : e.ivue) == null ? void 0 : n[c]) !== !1 && Object.defineProperty(s, c, { get: o.get ? () => {
20
20
  var u, a;
21
21
  return c in i ? i[c] : i[c] = g({ get: (u = o.get) == null ? void 0 : u.bind(s), set: (a = o.set) == null ? void 0 : a.bind(s) });
22
22
  } : void 0, set: (f = o.set) == null ? void 0 : f.bind(s), enumerable: !1 });
23
- return Object.defineProperty(s, "toRefs", { get: () => w(s, t, i), enumerable: !1 }), "init" in s && s.init(), s;
23
+ return Object.defineProperty(s, "toRefs", { get: () => m(s, t, i), enumerable: !1 }), "init" in s && s.init(), s;
24
24
  }
25
25
  const p = /* @__PURE__ */ new Map();
26
- function j(e) {
26
+ function P(e) {
27
27
  if (p.has(e.constructor))
28
28
  return p.get(e.constructor);
29
29
  const r = e.constructor, t = /* @__PURE__ */ new Set();
@@ -35,12 +35,12 @@ function j(e) {
35
35
  return p.set(r, t), t;
36
36
  }
37
37
  function M(e) {
38
- return O(e);
38
+ return h(e);
39
39
  }
40
- function A(e) {
41
- return e;
40
+ function A(e, ...r) {
41
+ return y(e) ? w(e, ...r).toRefs() : e;
42
42
  }
43
- function w(e, r, t) {
43
+ function m(e, r, t) {
44
44
  return function(i) {
45
45
  var n, f;
46
46
  const s = {};
@@ -58,7 +58,7 @@ function w(e, r, t) {
58
58
  typeof e[o] == "function" ? s[o] = e[o].bind(e) : s[o] = d(e, o);
59
59
  }
60
60
  else {
61
- let c = new Set(j(e));
61
+ let c = new Set(P(e));
62
62
  r.forEach((o, u) => {
63
63
  var a, b;
64
64
  s[u] = u in t ? t[u] : t[u] = g({ get: (a = o.get) == null ? void 0 : a.bind(e), set: (b = o.set) == null ? void 0 : b.bind(e) }), c == null || c.delete(u);
@@ -69,24 +69,24 @@ function w(e, r, t) {
69
69
  return s;
70
70
  };
71
71
  }
72
- function P(e) {
72
+ function y(e) {
73
73
  var r;
74
74
  return typeof e == "function" && !!e.prototype && !((r = Object.getOwnPropertyDescriptor(e, "prototype")) != null && r.writable);
75
75
  }
76
76
  function D(e, r) {
77
77
  for (const t in r)
78
- typeof (e == null ? void 0 : e[t]) == "object" && (e == null ? void 0 : e[t]) !== null || P(e == null ? void 0 : e[t]) ? r[t].default = () => e == null ? void 0 : e[t] : r[t].default = e == null ? void 0 : e[t];
78
+ typeof (e == null ? void 0 : e[t]) == "object" && (e == null ? void 0 : e[t]) !== null || y(e == null ? void 0 : e[t]) ? r[t].default = () => e == null ? void 0 : e[t] : r[t].default = e == null ? void 0 : e[t];
79
79
  return r;
80
80
  }
81
81
  export {
82
82
  l as descriptorsMap,
83
- h as getAllClassDescriptors,
84
- j as getAllClassProperties,
83
+ j as getAllClassDescriptors,
84
+ P as getAllClassProperties,
85
85
  M as iref,
86
- P as isClass,
86
+ y as isClass,
87
87
  A as iuse,
88
- v as ivue,
89
- w as ivueToRefs,
88
+ w as ivue,
89
+ m as ivueToRefs,
90
90
  p as propsMap,
91
91
  D as propsWithDefaults
92
92
  };
package/dist/index.umd.js CHANGED
@@ -1 +1 @@
1
- (function(s,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],l):l((s=typeof globalThis<"u"?globalThis:s||self).ivue={},s.Vue)})(this,function(s,l){"use strict";const d=new Map;function b(t){if(d.has(t))return d.get(t);const r=new Map;let e=t.prototype;for(;e.constructor!==Object;)Object.entries(Object.getOwnPropertyDescriptors(e)).forEach(([c,o])=>{const i=r.get(c);i!==o&&(o!=null&&o.get||o!=null&&o.set)&&(i!=null&&i.get&&(o.get=i==null?void 0:i.get),i!=null&&i.set&&(o.set=i==null?void 0:i.set),r.set(c,o))}),e=Object.getPrototypeOf(e);return d.set(t,r),r}const g=new Map;function y(t){if(g.has(t.constructor))return g.get(t.constructor);const r=t.constructor,e=new Set;do Object.getOwnPropertyNames(t).forEach(c=>{["caller","callee","arguments","constructor"].includes(c)||e.add(c)}),t=Object.getPrototypeOf(t);while(t.constructor!==Object);return g.set(r,e),e}function O(t,r,e){return function(c){var i,p;const o={};if(Array.isArray(c)&&c.length)for(let u=0;u<c.length;u++){const n=c[u];if(r.has(n))if(n in e)o[n]=e[n];else{const f=r.get(n);o[n]=e[n]=l.computed({get:(i=f==null?void 0:f.get)==null?void 0:i.bind(t),set:(p=f==null?void 0:f.set)==null?void 0:p.bind(t)})}else typeof t[n]=="function"?o[n]=t[n].bind(t):o[n]=l.toRef(t,n)}else{let u=new Set(y(t));r.forEach((n,f)=>{var a,j;o[f]=f in e?e[f]:e[f]=l.computed({get:(a=n.get)==null?void 0:a.bind(t),set:(j=n.set)==null?void 0:j.bind(t)}),u==null||u.delete(f)}),u.forEach(n=>{typeof t[n]=="function"?o[n]=t[n].bind(t):o[n]=l.toRef(t,n)}),u=null}return o}}function h(t){var r;return typeof t=="function"&&!!t.prototype&&!((r=Object.getOwnPropertyDescriptor(t,"prototype"))!=null&&r.writable)}s.descriptorsMap=d,s.getAllClassDescriptors=b,s.getAllClassProperties=y,s.iref=function(t){return l.ref(t)},s.isClass=h,s.iuse=function(t){return t},s.ivue=function(t,...r){var i,p;const e=b(t),c=e!=null&&e.size?{}:null,o=l.reactive(new t(...r));for(const[u,n]of e)((i=t==null?void 0:t.ivue)==null?void 0:i[u])!==!1&&Object.defineProperty(o,u,{get:n.get?()=>{var f,a;return u in c?c[u]:c[u]=l.computed({get:(f=n.get)==null?void 0:f.bind(o),set:(a=n.set)==null?void 0:a.bind(o)})}:void 0,set:(p=n.set)==null?void 0:p.bind(o),enumerable:!1});return Object.defineProperty(o,"toRefs",{get:()=>O(o,e,c),enumerable:!1}),"init"in o&&o.init(),o},s.ivueToRefs=O,s.propsMap=g,s.propsWithDefaults=function(t,r){for(const e in r)typeof(t==null?void 0:t[e])=="object"&&(t==null?void 0:t[e])!==null||h(t==null?void 0:t[e])?r[e].default=()=>t==null?void 0:t[e]:r[e].default=t==null?void 0:t[e];return r},Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
1
+ (function(i,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],l):l((i=typeof globalThis<"u"?globalThis:i||self).ivue={},i.Vue)})(this,function(i,l){"use strict";const d=new Map;function y(t){if(d.has(t))return d.get(t);const r=new Map;let e=t.prototype;for(;e.constructor!==Object;)Object.entries(Object.getOwnPropertyDescriptors(e)).forEach(([c,o])=>{const s=r.get(c);s!==o&&(o!=null&&o.get||o!=null&&o.set)&&(s!=null&&s.get&&(o.get=s==null?void 0:s.get),s!=null&&s.set&&(o.set=s==null?void 0:s.set),r.set(c,o))}),e=Object.getPrototypeOf(e);return d.set(t,r),r}function O(t,...r){var s,p;const e=y(t),c=e!=null&&e.size?{}:null,o=l.reactive(new t(...r));for(const[u,n]of e)((s=t==null?void 0:t.ivue)==null?void 0:s[u])!==!1&&Object.defineProperty(o,u,{get:n.get?()=>{var f,a;return u in c?c[u]:c[u]=l.computed({get:(f=n.get)==null?void 0:f.bind(o),set:(a=n.set)==null?void 0:a.bind(o)})}:void 0,set:(p=n.set)==null?void 0:p.bind(o),enumerable:!1});return Object.defineProperty(o,"toRefs",{get:()=>j(o,e,c),enumerable:!1}),"init"in o&&o.init(),o}const g=new Map;function h(t){if(g.has(t.constructor))return g.get(t.constructor);const r=t.constructor,e=new Set;do Object.getOwnPropertyNames(t).forEach(c=>{["caller","callee","arguments","constructor"].includes(c)||e.add(c)}),t=Object.getPrototypeOf(t);while(t.constructor!==Object);return g.set(r,e),e}function j(t,r,e){return function(c){var s,p;const o={};if(Array.isArray(c)&&c.length)for(let u=0;u<c.length;u++){const n=c[u];if(r.has(n))if(n in e)o[n]=e[n];else{const f=r.get(n);o[n]=e[n]=l.computed({get:(s=f==null?void 0:f.get)==null?void 0:s.bind(t),set:(p=f==null?void 0:f.set)==null?void 0:p.bind(t)})}else typeof t[n]=="function"?o[n]=t[n].bind(t):o[n]=l.toRef(t,n)}else{let u=new Set(h(t));r.forEach((n,f)=>{var a,w;o[f]=f in e?e[f]:e[f]=l.computed({get:(a=n.get)==null?void 0:a.bind(t),set:(w=n.set)==null?void 0:w.bind(t)}),u==null||u.delete(f)}),u.forEach(n=>{typeof t[n]=="function"?o[n]=t[n].bind(t):o[n]=l.toRef(t,n)}),u=null}return o}}function b(t){var r;return typeof t=="function"&&!!t.prototype&&!((r=Object.getOwnPropertyDescriptor(t,"prototype"))!=null&&r.writable)}i.descriptorsMap=d,i.getAllClassDescriptors=y,i.getAllClassProperties=h,i.iref=function(t){return l.ref(t)},i.isClass=b,i.iuse=function(t,...r){return b(t)?O(t,...r).toRefs():t},i.ivue=O,i.ivueToRefs=j,i.propsMap=g,i.propsWithDefaults=function(t,r){for(const e in r)typeof(t==null?void 0:t[e])=="object"&&(t==null?void 0:t[e])!==null||b(t==null?void 0:t[e])?r[e].default=()=>t==null?void 0:t[e]:r[e].default=t==null?void 0:t[e];return r},Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
@@ -1,6 +1,6 @@
1
- import type { ComputedRef, ExtractPropTypes, Ref, ToRef, UnwrapNestedRefs } from 'vue';
2
- import type { Ref as DemiRef } from 'vue-demi';
1
+ import type { ComputedRef, ExtractPropTypes, Ref, ToRef } from 'vue';
3
2
  import { UnwrapRef } from 'vue';
3
+ import type { Ref as DemiRef } from 'vue-demi';
4
4
  /** Types */
5
5
  /**
6
6
  * IVue core reactive instance type with an extended .toRefs() method added.
@@ -24,14 +24,23 @@ export declare type IVueRefs<T = any> = {
24
24
  [K in keyof T]: T[K] extends Function ? T[K] : ToRef<T[K]>;
25
25
  };
26
26
  /**
27
- * Unwraps the returned Refs of composable method T to a reactive type definition.
27
+ * Unwraps Refs Recursively, helps resolve fully the bare value types of any type T
28
+ * because sometimes the Refs are returned as they are with `.value` from computeds,
29
+ * thus inferring nested ComputedRef<ComputedRef<ComputedRef<Ref>>> types, which
30
+ * are difficult to fully resolve to bare values without this utility.
28
31
  * Also support Vue 3 Demi for vue-use library support.
29
32
  */
30
- declare type ResolveRef<T = any> = T extends Ref | DemiRef ? ResolveRef<T['value']> : T;
31
- export declare type UseComposableReturn<T> = T extends Ref | DemiRef ? ResolveRef<T> : {
32
- [K in keyof T]: T[K] extends Ref | DemiRef ? ResolveRef<T[K]> : T[K];
33
+ export declare type UnwrapRefRecursively<T = any> = T extends Ref | DemiRef ? UnwrapRefRecursively<T['value']> : T;
34
+ /**
35
+ * Helper type for UseComposable.
36
+ */
37
+ export declare type UnwrapComposableReturn<T> = T extends Ref | DemiRef ? UnwrapRefRecursively<T> : {
38
+ [K in keyof T]: T[K] extends Ref | DemiRef ? UnwrapRefRecursively<T[K]> : T[K];
33
39
  };
34
- export declare type UseComposable<T extends (...args: any[]) => any> = UseComposableReturn<ReturnType<T>>;
40
+ /**
41
+ * Fully unwraps to bare value types any Vue 3 composable return definition type.
42
+ */
43
+ export declare type UseComposable<T extends (...args: any[]) => any> = UnwrapComposableReturn<ReturnType<T>>;
35
44
  /**
36
45
  * Extracts object defined emit types by converting them to a plain interface
37
46
  */
@@ -153,7 +162,7 @@ export declare function iref<T>(val?: T): UnwrapRef<T>;
153
162
  * `iuse` stands for composable.
154
163
  * Returns unwrapped composable type definition without the Refs.
155
164
  */
156
- export declare function iuse<T extends Object>(val?: T): UseComposableReturn<UnwrapNestedRefs<T>>;
165
+ export declare function iuse<T extends AnyClass | Object>(val?: T, ...args: InferredArgs<T>): T extends AnyClass ? IVue<T> : UnwrapComposableReturn<T>;
157
166
  /**
158
167
  * Convert reactive ivue class to Vue 3 refs.
159
168
  *
@@ -6,16 +6,16 @@
6
6
  <title>404 | Infinite Vue ∞ ivue</title>
7
7
  <meta name="description" content="Not Found">
8
8
  <meta name="generator" content="VitePress v1.3.2">
9
- <link rel="preload stylesheet" href="/ivue/assets/style.Fgx7OB_D.css" as="style">
9
+ <link rel="preload stylesheet" href="/ivue/assets/style.Dtxde_a0.css" as="style">
10
10
 
11
- <script type="module" src="/ivue/assets/app.BJka6k8g.js"></script>
11
+ <script type="module" src="/ivue/assets/app.BYfdK_hD.js"></script>
12
12
  <link rel="preload" href="/ivue/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
13
13
  <script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
14
14
  <script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
15
15
  </head>
16
16
  <body>
17
17
  <div id="app"></div>
18
- <script>window.__VP_HASH_MAP__=JSON.parse("{\"api_ivue.md\":\"CZqok1oO\",\"api_propswithdefaults.md\":\"DEcLH0d7\",\"index.md\":\"CLB_U8aI\",\"pages_advanced-usage.md\":\"BdjYKyP7\",\"pages_api.md\":\"-RSHq6PR\",\"pages_browse-code.md\":\"002gxjsr\",\"pages_getting-started.md\":\"DscMF81a\",\"pages_guidelines.md\":\"CJ61_SBZ\",\"pages_how-it-works.md\":\"Bjq6TAX5\",\"pages_how-its-made.md\":\"DGeFDBuv\",\"pages_introduction.md\":\"BdBoAz6L\",\"pages_usage.md\":\"Bfpwym3w\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"VitePress\",\"titleTemplate\":\":title | Infinite Vue ∞ ivue\",\"description\":\"A VitePress site\",\"base\":\"/ivue/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"outline\":\"deep\",\"siteTitle\":\"ivue ∞ Infinite Vue\",\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/infinite-system/ivue\"},{\"icon\":\"twitter\",\"link\":\"https://x.com/evgenykalash\"}],\"search\":{\"provider\":\"local\"},\"sidebar\":[{\"collapsed\":false,\"text\":\"Guide\",\"items\":[{\"text\":\"What is ivue?\",\"link\":\"/pages/introduction\"},{\"text\":\"How it works?\",\"link\":\"/pages/how-it-works\"},{\"text\":\"Getting Started\",\"link\":\"/pages/getting-started\"}]},{\"collapsed\":false,\"text\":\"Usage\",\"items\":[{\"text\":\"Basic Usage\",\"link\":\"/pages/usage#basic-usage\"},{\"text\":\"Using Props\",\"link\":\"/pages/usage#using-props\"},{\"text\":\"Using Emits\",\"link\":\"/pages/usage#using-emits\"},{\"text\":\"Using Refs\",\"link\":\"/pages/usage#using-refs\"},{\"text\":\"Using Define Expose\",\"link\":\"/pages/usage#using-define-expose\"},{\"text\":\"Using Composables\",\"link\":\"/pages/usage#using-composables\"},{\"text\":\"Using Inside Composables\",\"link\":\"/pages/usage#using-inside-composables\"},{\"text\":\"Using Computeds\",\"link\":\"/pages/usage#using-computeds\"},{\"text\":\"Using Watch\",\"link\":\"/pages/usage#using-watch\"},{\"text\":\"Using Lifecycle Hooks\",\"link\":\"/pages/usage#using-lifecycle-hooks\"}]},{\"collapsed\":false,\"text\":\"Guidelines\",\"items\":[{\"text\":\"Dos and Don'ts\",\"link\":\"/pages/guidelines#dos-and-don-ts\"},{\"text\":\"constructor() vs .init()\",\"link\":\"/pages/guidelines#constructor-vs-init\"},{\"text\":\"Unwrapping Refs\",\"link\":\"/pages/guidelines#unwrapping-refs\"},{\"text\":\"Naming Conventions\",\"link\":\"/pages/guidelines#naming-conventions\"}]},{\"collapsed\":false,\"text\":\"Advanced Usage\",\"items\":[{\"text\":\"Extend Props Defaults\",\"link\":\"/pages/advanced-usage#extend-props-defaults\"},{\"text\":\"Extend Props\",\"link\":\"/pages/advanced-usage#extend-props\"},{\"text\":\"Extend Emits\",\"link\":\"/pages/advanced-usage#extend-emits\"},{\"text\":\"Extend Slots\",\"link\":\"/pages/advanced-usage#extend-slots\"},{\"text\":\"Extend Classes\",\"link\":\"/pages/advanced-usage#extend-classes\"},{\"text\":\"Extend Components\",\"link\":\"/pages/advanced-usage#extend-components\"}]},{\"text\":\"API\"},{\"collapsed\":false,\"text\":\"Core Functions\",\"items\":[{\"text\":\"ivue()\",\"link\":\"/pages/api#ivue\"},{\"text\":\"iref()\",\"link\":\"/pages/api#iref\"},{\"text\":\"iuse()\",\"link\":\"/pages/api#iuse\"},{\"text\":\".init()\",\"link\":\"/pages/api#init\"},{\"text\":\".toRefs()\",\"link\":\"/pages/api#torefs\"}]},{\"collapsed\":false,\"text\":\"Utility Functions\",\"items\":[{\"text\":\"propsWithDefaults()\",\"link\":\"/pages/api#propswithdefaults\"}]},{\"collapsed\":false,\"text\":\"Utility Types\",\"items\":[{\"text\":\"ExtractPropDefaultTypes\",\"link\":\"/pages/api#extractpropdefaulttypes\"},{\"text\":\"ExtractEmitTypes\",\"link\":\"/pages/api#extractemittypes\"},{\"text\":\"ExtendSlots\",\"link\":\"/pages/api#extendslots\"},{\"text\":\"UseComposable\",\"link\":\"/pages/api#UseComposable\"}]},{\"collapsed\":false,\"text\":\"Source Code\",\"items\":[{\"text\":\"Browse Code\",\"link\":\"/pages/browse-code\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
18
+ <script>window.__VP_HASH_MAP__=JSON.parse("{\"api_ivue.md\":\"Dcwh72Up\",\"api_propswithdefaults.md\":\"4_yVaZVQ\",\"index.md\":\"DKVu1ndY\",\"pages_advanced-usage.md\":\"DW_gZ3PR\",\"pages_api.md\":\"CTVxqljG\",\"pages_browse-code.md\":\"B0SHw1kH\",\"pages_getting-started.md\":\"DNBViykD\",\"pages_guidelines.md\":\"CqaMa3nD\",\"pages_how-it-works.md\":\"DnT0w5vM\",\"pages_how-its-made.md\":\"QUpGkW5C\",\"pages_introduction.md\":\"Ce-jOv9s\",\"pages_usage.md\":\"Csm2P67_\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"VitePress\",\"titleTemplate\":\":title | Infinite Vue ∞ ivue\",\"description\":\"A VitePress site\",\"base\":\"/ivue/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"outline\":\"deep\",\"siteTitle\":\"ivue ∞ Infinite Vue\",\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/infinite-system/ivue\"},{\"icon\":\"twitter\",\"link\":\"https://x.com/evgenykalash\"}],\"search\":{\"provider\":\"local\"},\"sidebar\":[{\"collapsed\":false,\"text\":\"Guide\",\"items\":[{\"text\":\"What is ivue?\",\"link\":\"/pages/introduction\"},{\"text\":\"How it works?\",\"link\":\"/pages/how-it-works\"},{\"text\":\"Getting Started\",\"link\":\"/pages/getting-started\"}]},{\"collapsed\":false,\"text\":\"Usage\",\"items\":[{\"text\":\"Basic Usage\",\"link\":\"/pages/usage#basic-usage\"},{\"text\":\"Using Props\",\"link\":\"/pages/usage#using-props\"},{\"text\":\"Using Emits\",\"link\":\"/pages/usage#using-emits\"},{\"text\":\"Using Refs\",\"link\":\"/pages/usage#using-refs\"},{\"text\":\"Using Define Expose\",\"link\":\"/pages/usage#using-define-expose\"},{\"text\":\"Using Composables\",\"link\":\"/pages/usage#using-composables\"},{\"text\":\"Using Inside Composables\",\"link\":\"/pages/usage#using-inside-composables\"},{\"text\":\"Using Computeds\",\"link\":\"/pages/usage#using-computeds\"},{\"text\":\"Using Watch\",\"link\":\"/pages/usage#using-watch\"},{\"text\":\"Using Lifecycle Hooks\",\"link\":\"/pages/usage#using-lifecycle-hooks\"}]},{\"collapsed\":false,\"text\":\"Guidelines\",\"items\":[{\"text\":\"Dos and Don'ts\",\"link\":\"/pages/guidelines#dos-and-don-ts\"},{\"text\":\"constructor() vs .init()\",\"link\":\"/pages/guidelines#constructor-vs-init\"},{\"text\":\"Unwrapping Refs\",\"link\":\"/pages/guidelines#unwrapping-refs\"},{\"text\":\"Naming Conventions\",\"link\":\"/pages/guidelines#naming-conventions\"}]},{\"collapsed\":false,\"text\":\"Advanced Usage\",\"items\":[{\"text\":\"Extend Props Defaults\",\"link\":\"/pages/advanced-usage#extend-props-defaults\"},{\"text\":\"Extend Props\",\"link\":\"/pages/advanced-usage#extend-props\"},{\"text\":\"Extend Emits\",\"link\":\"/pages/advanced-usage#extend-emits\"},{\"text\":\"Extend Slots\",\"link\":\"/pages/advanced-usage#extend-slots\"},{\"text\":\"Extend Classes\",\"link\":\"/pages/advanced-usage#extend-classes\"},{\"text\":\"Extend Components\",\"link\":\"/pages/advanced-usage#extend-components\"}]},{\"text\":\"API\"},{\"collapsed\":false,\"text\":\"Core Functions\",\"items\":[{\"text\":\"ivue()\",\"link\":\"/pages/api#ivue\"},{\"text\":\"iref()\",\"link\":\"/pages/api#iref\"},{\"text\":\"iuse()\",\"link\":\"/pages/api#iuse\"},{\"text\":\".init()\",\"link\":\"/pages/api#init\"},{\"text\":\".toRefs()\",\"link\":\"/pages/api#torefs\"}]},{\"collapsed\":false,\"text\":\"Utility Functions\",\"items\":[{\"text\":\"propsWithDefaults()\",\"link\":\"/pages/api#propswithdefaults\"}]},{\"collapsed\":false,\"text\":\"Utility Types\",\"items\":[{\"text\":\"ExtractPropDefaultTypes\",\"link\":\"/pages/api#extractpropdefaulttypes\"},{\"text\":\"ExtractEmitTypes\",\"link\":\"/pages/api#extractemittypes\"},{\"text\":\"ExtendSlots\",\"link\":\"/pages/api#extendslots\"},{\"text\":\"UseComposable\",\"link\":\"/pages/api#UseComposable\"}]},{\"collapsed\":false,\"text\":\"Source Code\",\"items\":[{\"text\":\"Browse Code\",\"link\":\"/pages/browse-code\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
19
19
 
20
20
  </body>
21
21
  </html>
@@ -6,19 +6,19 @@
6
6
  <title>VitePress | Infinite Vue ∞ ivue</title>
7
7
  <meta name="description" content="A VitePress site">
8
8
  <meta name="generator" content="VitePress v1.3.2">
9
- <link rel="preload stylesheet" href="/ivue/assets/style.Fgx7OB_D.css" as="style">
9
+ <link rel="preload stylesheet" href="/ivue/assets/style.Dtxde_a0.css" as="style">
10
10
 
11
- <script type="module" src="/ivue/assets/app.BJka6k8g.js"></script>
11
+ <script type="module" src="/ivue/assets/app.BYfdK_hD.js"></script>
12
12
  <link rel="preload" href="/ivue/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
13
- <link rel="modulepreload" href="/ivue/assets/chunks/theme.D4h28Zbq.js">
14
- <link rel="modulepreload" href="/ivue/assets/chunks/framework.DwpdbuZp.js">
15
- <link rel="modulepreload" href="/ivue/assets/api_ivue.md.CZqok1oO.lean.js">
13
+ <link rel="modulepreload" href="/ivue/assets/chunks/theme.CcUearAn.js">
14
+ <link rel="modulepreload" href="/ivue/assets/chunks/framework.A0LWpETw.js">
15
+ <link rel="modulepreload" href="/ivue/assets/api_ivue.md.Dcwh72Up.lean.js">
16
16
  <script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
17
17
  <script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
18
18
  </head>
19
19
  <body>
20
20
  <div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0f60ec36></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0f60ec36> Skip to content </a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar has-sidebar top" data-v-ae24b3ad data-v-6aa21345><div class="wrapper" data-v-6aa21345><div class="container" data-v-6aa21345><div class="title" data-v-6aa21345><div class="VPNavBarTitle has-sidebar" data-v-6aa21345 data-v-ab179fa1><a class="title" href="/ivue/" data-v-ab179fa1><!--[--><!--]--><!----><span data-v-ab179fa1>ivue ∞ Infinite Vue</span><!--[--><!--]--></a></div></div><div class="content" data-v-6aa21345><div class="content-body" data-v-6aa21345><!--[--><!--]--><div class="VPNavBarSearch search" data-v-6aa21345><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><!----><!----><div class="VPNavBarAppearance appearance" data-v-6aa21345 data-v-6c893767><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-6c893767 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-6aa21345 data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/infinite-system/ivue" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><a class="VPSocialLink no-icon" href="https://x.com/evgenykalash" aria-label="twitter" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-twitter" /></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-6aa21345 data-v-bb2aa2f0 data-v-b6c34ac9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-b6c34ac9><span class="vpi-more-horizontal icon" data-v-b6c34ac9></span></button><div class="menu" data-v-b6c34ac9><div class="VPMenu" data-v-b6c34ac9 data-v-b98bc113><!----><!--[--><!--[--><!----><div class="group" data-v-bb2aa2f0><div class="item appearance" data-v-bb2aa2f0><p class="label" data-v-bb2aa2f0>Appearance</p><div class="appearance-action" data-v-bb2aa2f0><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-bb2aa2f0 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div></div></div><div class="group" data-v-bb2aa2f0><div class="item social-links" data-v-bb2aa2f0><div class="VPSocialLinks social-links-list" data-v-bb2aa2f0 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/infinite-system/ivue" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><a class="VPSocialLink no-icon" href="https://x.com/evgenykalash" aria-label="twitter" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-twitter" /></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-6aa21345 data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><div class="divider" data-v-6aa21345><div class="divider-line" data-v-6aa21345></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-5d98c3a5 data-v-a6f0e41e><div class="container" data-v-a6f0e41e><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-a6f0e41e><span class="vpi-align-left menu-icon" data-v-a6f0e41e></span><span class="menu-text" data-v-a6f0e41e>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a6f0e41e data-v-17a5e62e><button data-v-17a5e62e>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-5d98c3a5 data-v-319d5ca6><div class="curtain" data-v-319d5ca6></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-319d5ca6><span class="visually-hidden" id="sidebar-aria-label" data-v-319d5ca6> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible" data-v-c40bc020 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h2 class="text" data-v-b7550ba0>Guide</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b7550ba0><span class="vpi-chevron-right caret-icon" data-v-b7550ba0></span></div></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/introduction.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>What is ivue?</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/how-it-works.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>How it works?</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/getting-started.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Getting Started</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible" data-v-c40bc020 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h2 class="text" data-v-b7550ba0>Usage</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b7550ba0><span class="vpi-chevron-right caret-icon" data-v-b7550ba0></span></div></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#basic-usage" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Basic Usage</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#using-props" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Using Props</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#using-emits" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Using Emits</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#using-refs" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Using Refs</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#using-define-expose" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Using Define Expose</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#using-composables" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Using Composables</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#using-inside-composables" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Using Inside Composables</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#using-computeds" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Using Computeds</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#using-watch" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Using Watch</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#using-lifecycle-hooks" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Using Lifecycle Hooks</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible" data-v-c40bc020 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h2 class="text" data-v-b7550ba0>Guidelines</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b7550ba0><span class="vpi-chevron-right caret-icon" data-v-b7550ba0></span></div></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/guidelines.html#dos-and-don-ts" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Dos and Don'ts</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/guidelines.html#constructor-vs-init" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>constructor() vs .init()</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/guidelines.html#unwrapping-refs" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Unwrapping Refs</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/guidelines.html#naming-conventions" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Naming Conventions</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible" data-v-c40bc020 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h2 class="text" data-v-b7550ba0>Advanced Usage</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b7550ba0><span class="vpi-chevron-right caret-icon" data-v-b7550ba0></span></div></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/advanced-usage.html#extend-props-defaults" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Extend Props Defaults</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/advanced-usage.html#extend-props" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Extend Props</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/advanced-usage.html#extend-emits" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Extend Emits</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/advanced-usage.html#extend-slots" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Extend Slots</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/advanced-usage.html#extend-classes" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Extend Classes</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/advanced-usage.html#extend-components" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Extend Components</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0" data-v-c40bc020 data-v-b7550ba0><!----><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1" data-v-b7550ba0 data-v-b7550ba0><div class="item" role="button" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><p class="text" data-v-b7550ba0>API</p><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible" data-v-c40bc020 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h2 class="text" data-v-b7550ba0>Core Functions</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b7550ba0><span class="vpi-chevron-right caret-icon" data-v-b7550ba0></span></div></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#ivue" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>ivue()</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#iref" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>iref()</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#iuse" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>iuse()</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#init" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>.init()</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#torefs" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>.toRefs()</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible" data-v-c40bc020 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h2 class="text" data-v-b7550ba0>Utility Functions</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b7550ba0><span class="vpi-chevron-right caret-icon" data-v-b7550ba0></span></div></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#propswithdefaults" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>propsWithDefaults()</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible" data-v-c40bc020 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h2 class="text" data-v-b7550ba0>Utility Types</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b7550ba0><span class="vpi-chevron-right caret-icon" data-v-b7550ba0></span></div></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#extractpropdefaulttypes" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>ExtractPropDefaultTypes</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#extractemittypes" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>ExtractEmitTypes</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#extendslots" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>ExtendSlots</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#UseComposable" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>UseComposable</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible" data-v-c40bc020 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h2 class="text" data-v-b7550ba0>Source Code</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b7550ba0><span class="vpi-chevron-right caret-icon" data-v-b7550ba0></span></div></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/browse-code.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Browse Code</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-5d98c3a5 data-v-1428d186><div class="VPDoc has-sidebar has-aside" data-v-1428d186 data-v-39a288b8><!--[--><!--]--><div class="container" data-v-39a288b8><div class="aside" data-v-39a288b8><div class="aside-curtain" data-v-39a288b8></div><div class="aside-container" data-v-39a288b8><div class="aside-content" data-v-39a288b8><div class="VPDocAside" data-v-39a288b8 data-v-3f215769><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-3f215769 data-v-a5bbad30><div class="content" data-v-a5bbad30><div class="outline-marker" data-v-a5bbad30></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-a5bbad30>On this page</div><ul class="VPDocOutlineItem root" data-v-a5bbad30 data-v-b933a997><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-3f215769></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-39a288b8><div class="content-container" data-v-39a288b8><!--[--><!--]--><main class="main" data-v-39a288b8><div style="position:relative;" class="vp-doc _ivue_api_ivue" data-v-39a288b8><div></div></div></main><footer class="VPDocFooter" data-v-39a288b8 data-v-e257564d><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-e257564d><span class="visually-hidden" id="doc-footer-aria-label" data-v-e257564d>Pager</span><div class="pager" data-v-e257564d><!----></div><div class="pager" data-v-e257564d><a class="VPLink link pager-link next" href="/ivue/pages/introduction.html" data-v-e257564d><!--[--><span class="desc" data-v-e257564d>Next page</span><span class="title" data-v-e257564d>What is ivue?</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
21
- <script>window.__VP_HASH_MAP__=JSON.parse("{\"api_ivue.md\":\"CZqok1oO\",\"api_propswithdefaults.md\":\"DEcLH0d7\",\"index.md\":\"CLB_U8aI\",\"pages_advanced-usage.md\":\"BdjYKyP7\",\"pages_api.md\":\"-RSHq6PR\",\"pages_browse-code.md\":\"002gxjsr\",\"pages_getting-started.md\":\"DscMF81a\",\"pages_guidelines.md\":\"CJ61_SBZ\",\"pages_how-it-works.md\":\"Bjq6TAX5\",\"pages_how-its-made.md\":\"DGeFDBuv\",\"pages_introduction.md\":\"BdBoAz6L\",\"pages_usage.md\":\"Bfpwym3w\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"VitePress\",\"titleTemplate\":\":title | Infinite Vue ∞ ivue\",\"description\":\"A VitePress site\",\"base\":\"/ivue/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"outline\":\"deep\",\"siteTitle\":\"ivue ∞ Infinite Vue\",\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/infinite-system/ivue\"},{\"icon\":\"twitter\",\"link\":\"https://x.com/evgenykalash\"}],\"search\":{\"provider\":\"local\"},\"sidebar\":[{\"collapsed\":false,\"text\":\"Guide\",\"items\":[{\"text\":\"What is ivue?\",\"link\":\"/pages/introduction\"},{\"text\":\"How it works?\",\"link\":\"/pages/how-it-works\"},{\"text\":\"Getting Started\",\"link\":\"/pages/getting-started\"}]},{\"collapsed\":false,\"text\":\"Usage\",\"items\":[{\"text\":\"Basic Usage\",\"link\":\"/pages/usage#basic-usage\"},{\"text\":\"Using Props\",\"link\":\"/pages/usage#using-props\"},{\"text\":\"Using Emits\",\"link\":\"/pages/usage#using-emits\"},{\"text\":\"Using Refs\",\"link\":\"/pages/usage#using-refs\"},{\"text\":\"Using Define Expose\",\"link\":\"/pages/usage#using-define-expose\"},{\"text\":\"Using Composables\",\"link\":\"/pages/usage#using-composables\"},{\"text\":\"Using Inside Composables\",\"link\":\"/pages/usage#using-inside-composables\"},{\"text\":\"Using Computeds\",\"link\":\"/pages/usage#using-computeds\"},{\"text\":\"Using Watch\",\"link\":\"/pages/usage#using-watch\"},{\"text\":\"Using Lifecycle Hooks\",\"link\":\"/pages/usage#using-lifecycle-hooks\"}]},{\"collapsed\":false,\"text\":\"Guidelines\",\"items\":[{\"text\":\"Dos and Don'ts\",\"link\":\"/pages/guidelines#dos-and-don-ts\"},{\"text\":\"constructor() vs .init()\",\"link\":\"/pages/guidelines#constructor-vs-init\"},{\"text\":\"Unwrapping Refs\",\"link\":\"/pages/guidelines#unwrapping-refs\"},{\"text\":\"Naming Conventions\",\"link\":\"/pages/guidelines#naming-conventions\"}]},{\"collapsed\":false,\"text\":\"Advanced Usage\",\"items\":[{\"text\":\"Extend Props Defaults\",\"link\":\"/pages/advanced-usage#extend-props-defaults\"},{\"text\":\"Extend Props\",\"link\":\"/pages/advanced-usage#extend-props\"},{\"text\":\"Extend Emits\",\"link\":\"/pages/advanced-usage#extend-emits\"},{\"text\":\"Extend Slots\",\"link\":\"/pages/advanced-usage#extend-slots\"},{\"text\":\"Extend Classes\",\"link\":\"/pages/advanced-usage#extend-classes\"},{\"text\":\"Extend Components\",\"link\":\"/pages/advanced-usage#extend-components\"}]},{\"text\":\"API\"},{\"collapsed\":false,\"text\":\"Core Functions\",\"items\":[{\"text\":\"ivue()\",\"link\":\"/pages/api#ivue\"},{\"text\":\"iref()\",\"link\":\"/pages/api#iref\"},{\"text\":\"iuse()\",\"link\":\"/pages/api#iuse\"},{\"text\":\".init()\",\"link\":\"/pages/api#init\"},{\"text\":\".toRefs()\",\"link\":\"/pages/api#torefs\"}]},{\"collapsed\":false,\"text\":\"Utility Functions\",\"items\":[{\"text\":\"propsWithDefaults()\",\"link\":\"/pages/api#propswithdefaults\"}]},{\"collapsed\":false,\"text\":\"Utility Types\",\"items\":[{\"text\":\"ExtractPropDefaultTypes\",\"link\":\"/pages/api#extractpropdefaulttypes\"},{\"text\":\"ExtractEmitTypes\",\"link\":\"/pages/api#extractemittypes\"},{\"text\":\"ExtendSlots\",\"link\":\"/pages/api#extendslots\"},{\"text\":\"UseComposable\",\"link\":\"/pages/api#UseComposable\"}]},{\"collapsed\":false,\"text\":\"Source Code\",\"items\":[{\"text\":\"Browse Code\",\"link\":\"/pages/browse-code\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
21
+ <script>window.__VP_HASH_MAP__=JSON.parse("{\"api_ivue.md\":\"Dcwh72Up\",\"api_propswithdefaults.md\":\"4_yVaZVQ\",\"index.md\":\"DKVu1ndY\",\"pages_advanced-usage.md\":\"DW_gZ3PR\",\"pages_api.md\":\"CTVxqljG\",\"pages_browse-code.md\":\"B0SHw1kH\",\"pages_getting-started.md\":\"DNBViykD\",\"pages_guidelines.md\":\"CqaMa3nD\",\"pages_how-it-works.md\":\"DnT0w5vM\",\"pages_how-its-made.md\":\"QUpGkW5C\",\"pages_introduction.md\":\"Ce-jOv9s\",\"pages_usage.md\":\"Csm2P67_\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"VitePress\",\"titleTemplate\":\":title | Infinite Vue ∞ ivue\",\"description\":\"A VitePress site\",\"base\":\"/ivue/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"outline\":\"deep\",\"siteTitle\":\"ivue ∞ Infinite Vue\",\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/infinite-system/ivue\"},{\"icon\":\"twitter\",\"link\":\"https://x.com/evgenykalash\"}],\"search\":{\"provider\":\"local\"},\"sidebar\":[{\"collapsed\":false,\"text\":\"Guide\",\"items\":[{\"text\":\"What is ivue?\",\"link\":\"/pages/introduction\"},{\"text\":\"How it works?\",\"link\":\"/pages/how-it-works\"},{\"text\":\"Getting Started\",\"link\":\"/pages/getting-started\"}]},{\"collapsed\":false,\"text\":\"Usage\",\"items\":[{\"text\":\"Basic Usage\",\"link\":\"/pages/usage#basic-usage\"},{\"text\":\"Using Props\",\"link\":\"/pages/usage#using-props\"},{\"text\":\"Using Emits\",\"link\":\"/pages/usage#using-emits\"},{\"text\":\"Using Refs\",\"link\":\"/pages/usage#using-refs\"},{\"text\":\"Using Define Expose\",\"link\":\"/pages/usage#using-define-expose\"},{\"text\":\"Using Composables\",\"link\":\"/pages/usage#using-composables\"},{\"text\":\"Using Inside Composables\",\"link\":\"/pages/usage#using-inside-composables\"},{\"text\":\"Using Computeds\",\"link\":\"/pages/usage#using-computeds\"},{\"text\":\"Using Watch\",\"link\":\"/pages/usage#using-watch\"},{\"text\":\"Using Lifecycle Hooks\",\"link\":\"/pages/usage#using-lifecycle-hooks\"}]},{\"collapsed\":false,\"text\":\"Guidelines\",\"items\":[{\"text\":\"Dos and Don'ts\",\"link\":\"/pages/guidelines#dos-and-don-ts\"},{\"text\":\"constructor() vs .init()\",\"link\":\"/pages/guidelines#constructor-vs-init\"},{\"text\":\"Unwrapping Refs\",\"link\":\"/pages/guidelines#unwrapping-refs\"},{\"text\":\"Naming Conventions\",\"link\":\"/pages/guidelines#naming-conventions\"}]},{\"collapsed\":false,\"text\":\"Advanced Usage\",\"items\":[{\"text\":\"Extend Props Defaults\",\"link\":\"/pages/advanced-usage#extend-props-defaults\"},{\"text\":\"Extend Props\",\"link\":\"/pages/advanced-usage#extend-props\"},{\"text\":\"Extend Emits\",\"link\":\"/pages/advanced-usage#extend-emits\"},{\"text\":\"Extend Slots\",\"link\":\"/pages/advanced-usage#extend-slots\"},{\"text\":\"Extend Classes\",\"link\":\"/pages/advanced-usage#extend-classes\"},{\"text\":\"Extend Components\",\"link\":\"/pages/advanced-usage#extend-components\"}]},{\"text\":\"API\"},{\"collapsed\":false,\"text\":\"Core Functions\",\"items\":[{\"text\":\"ivue()\",\"link\":\"/pages/api#ivue\"},{\"text\":\"iref()\",\"link\":\"/pages/api#iref\"},{\"text\":\"iuse()\",\"link\":\"/pages/api#iuse\"},{\"text\":\".init()\",\"link\":\"/pages/api#init\"},{\"text\":\".toRefs()\",\"link\":\"/pages/api#torefs\"}]},{\"collapsed\":false,\"text\":\"Utility Functions\",\"items\":[{\"text\":\"propsWithDefaults()\",\"link\":\"/pages/api#propswithdefaults\"}]},{\"collapsed\":false,\"text\":\"Utility Types\",\"items\":[{\"text\":\"ExtractPropDefaultTypes\",\"link\":\"/pages/api#extractpropdefaulttypes\"},{\"text\":\"ExtractEmitTypes\",\"link\":\"/pages/api#extractemittypes\"},{\"text\":\"ExtendSlots\",\"link\":\"/pages/api#extendslots\"},{\"text\":\"UseComposable\",\"link\":\"/pages/api#UseComposable\"}]},{\"collapsed\":false,\"text\":\"Source Code\",\"items\":[{\"text\":\"Browse Code\",\"link\":\"/pages/browse-code\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
22
22
 
23
23
  </body>
24
24
  </html>
@@ -6,19 +6,19 @@
6
6
  <title>VitePress | Infinite Vue ∞ ivue</title>
7
7
  <meta name="description" content="A VitePress site">
8
8
  <meta name="generator" content="VitePress v1.3.2">
9
- <link rel="preload stylesheet" href="/ivue/assets/style.Fgx7OB_D.css" as="style">
9
+ <link rel="preload stylesheet" href="/ivue/assets/style.Dtxde_a0.css" as="style">
10
10
 
11
- <script type="module" src="/ivue/assets/app.BJka6k8g.js"></script>
11
+ <script type="module" src="/ivue/assets/app.BYfdK_hD.js"></script>
12
12
  <link rel="preload" href="/ivue/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
13
- <link rel="modulepreload" href="/ivue/assets/chunks/theme.D4h28Zbq.js">
14
- <link rel="modulepreload" href="/ivue/assets/chunks/framework.DwpdbuZp.js">
15
- <link rel="modulepreload" href="/ivue/assets/api_propsWithDefaults.md.DEcLH0d7.lean.js">
13
+ <link rel="modulepreload" href="/ivue/assets/chunks/theme.CcUearAn.js">
14
+ <link rel="modulepreload" href="/ivue/assets/chunks/framework.A0LWpETw.js">
15
+ <link rel="modulepreload" href="/ivue/assets/api_propsWithDefaults.md.4_yVaZVQ.lean.js">
16
16
  <script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
17
17
  <script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
18
18
  </head>
19
19
  <body>
20
20
  <div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0f60ec36></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0f60ec36> Skip to content </a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar has-sidebar top" data-v-ae24b3ad data-v-6aa21345><div class="wrapper" data-v-6aa21345><div class="container" data-v-6aa21345><div class="title" data-v-6aa21345><div class="VPNavBarTitle has-sidebar" data-v-6aa21345 data-v-ab179fa1><a class="title" href="/ivue/" data-v-ab179fa1><!--[--><!--]--><!----><span data-v-ab179fa1>ivue ∞ Infinite Vue</span><!--[--><!--]--></a></div></div><div class="content" data-v-6aa21345><div class="content-body" data-v-6aa21345><!--[--><!--]--><div class="VPNavBarSearch search" data-v-6aa21345><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><!----><!----><div class="VPNavBarAppearance appearance" data-v-6aa21345 data-v-6c893767><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-6c893767 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-6aa21345 data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/infinite-system/ivue" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><a class="VPSocialLink no-icon" href="https://x.com/evgenykalash" aria-label="twitter" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-twitter" /></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-6aa21345 data-v-bb2aa2f0 data-v-b6c34ac9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-b6c34ac9><span class="vpi-more-horizontal icon" data-v-b6c34ac9></span></button><div class="menu" data-v-b6c34ac9><div class="VPMenu" data-v-b6c34ac9 data-v-b98bc113><!----><!--[--><!--[--><!----><div class="group" data-v-bb2aa2f0><div class="item appearance" data-v-bb2aa2f0><p class="label" data-v-bb2aa2f0>Appearance</p><div class="appearance-action" data-v-bb2aa2f0><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-bb2aa2f0 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div></div></div><div class="group" data-v-bb2aa2f0><div class="item social-links" data-v-bb2aa2f0><div class="VPSocialLinks social-links-list" data-v-bb2aa2f0 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/infinite-system/ivue" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><a class="VPSocialLink no-icon" href="https://x.com/evgenykalash" aria-label="twitter" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-twitter" /></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-6aa21345 data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><div class="divider" data-v-6aa21345><div class="divider-line" data-v-6aa21345></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-5d98c3a5 data-v-a6f0e41e><div class="container" data-v-a6f0e41e><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-a6f0e41e><span class="vpi-align-left menu-icon" data-v-a6f0e41e></span><span class="menu-text" data-v-a6f0e41e>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a6f0e41e data-v-17a5e62e><button data-v-17a5e62e>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-5d98c3a5 data-v-319d5ca6><div class="curtain" data-v-319d5ca6></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-319d5ca6><span class="visually-hidden" id="sidebar-aria-label" data-v-319d5ca6> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible" data-v-c40bc020 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h2 class="text" data-v-b7550ba0>Guide</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b7550ba0><span class="vpi-chevron-right caret-icon" data-v-b7550ba0></span></div></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/introduction.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>What is ivue?</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/how-it-works.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>How it works?</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/getting-started.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Getting Started</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible" data-v-c40bc020 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h2 class="text" data-v-b7550ba0>Usage</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b7550ba0><span class="vpi-chevron-right caret-icon" data-v-b7550ba0></span></div></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#basic-usage" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Basic Usage</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#using-props" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Using Props</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#using-emits" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Using Emits</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#using-refs" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Using Refs</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#using-define-expose" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Using Define Expose</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#using-composables" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Using Composables</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#using-inside-composables" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Using Inside Composables</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#using-computeds" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Using Computeds</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#using-watch" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Using Watch</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/usage.html#using-lifecycle-hooks" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Using Lifecycle Hooks</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible" data-v-c40bc020 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h2 class="text" data-v-b7550ba0>Guidelines</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b7550ba0><span class="vpi-chevron-right caret-icon" data-v-b7550ba0></span></div></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/guidelines.html#dos-and-don-ts" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Dos and Don'ts</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/guidelines.html#constructor-vs-init" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>constructor() vs .init()</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/guidelines.html#unwrapping-refs" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Unwrapping Refs</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/guidelines.html#naming-conventions" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Naming Conventions</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible" data-v-c40bc020 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h2 class="text" data-v-b7550ba0>Advanced Usage</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b7550ba0><span class="vpi-chevron-right caret-icon" data-v-b7550ba0></span></div></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/advanced-usage.html#extend-props-defaults" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Extend Props Defaults</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/advanced-usage.html#extend-props" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Extend Props</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/advanced-usage.html#extend-emits" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Extend Emits</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/advanced-usage.html#extend-slots" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Extend Slots</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/advanced-usage.html#extend-classes" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Extend Classes</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/advanced-usage.html#extend-components" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Extend Components</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0" data-v-c40bc020 data-v-b7550ba0><!----><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1" data-v-b7550ba0 data-v-b7550ba0><div class="item" role="button" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><p class="text" data-v-b7550ba0>API</p><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible" data-v-c40bc020 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h2 class="text" data-v-b7550ba0>Core Functions</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b7550ba0><span class="vpi-chevron-right caret-icon" data-v-b7550ba0></span></div></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#ivue" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>ivue()</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#iref" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>iref()</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#iuse" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>iuse()</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#init" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>.init()</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#torefs" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>.toRefs()</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible" data-v-c40bc020 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h2 class="text" data-v-b7550ba0>Utility Functions</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b7550ba0><span class="vpi-chevron-right caret-icon" data-v-b7550ba0></span></div></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#propswithdefaults" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>propsWithDefaults()</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible" data-v-c40bc020 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h2 class="text" data-v-b7550ba0>Utility Types</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b7550ba0><span class="vpi-chevron-right caret-icon" data-v-b7550ba0></span></div></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#extractpropdefaulttypes" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>ExtractPropDefaultTypes</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#extractemittypes" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>ExtractEmitTypes</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#extendslots" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>ExtendSlots</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/api.html#UseComposable" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>UseComposable</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 collapsible" data-v-c40bc020 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h2 class="text" data-v-b7550ba0>Source Code</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-b7550ba0><span class="vpi-chevron-right caret-icon" data-v-b7550ba0></span></div></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/ivue/pages/browse-code.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Browse Code</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-5d98c3a5 data-v-1428d186><div class="VPDoc has-sidebar has-aside" data-v-1428d186 data-v-39a288b8><!--[--><!--]--><div class="container" data-v-39a288b8><div class="aside" data-v-39a288b8><div class="aside-curtain" data-v-39a288b8></div><div class="aside-container" data-v-39a288b8><div class="aside-content" data-v-39a288b8><div class="VPDocAside" data-v-39a288b8 data-v-3f215769><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-3f215769 data-v-a5bbad30><div class="content" data-v-a5bbad30><div class="outline-marker" data-v-a5bbad30></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-a5bbad30>On this page</div><ul class="VPDocOutlineItem root" data-v-a5bbad30 data-v-b933a997><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-3f215769></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-39a288b8><div class="content-container" data-v-39a288b8><!--[--><!--]--><main class="main" data-v-39a288b8><div style="position:relative;" class="vp-doc _ivue_api_propsWithDefaults" data-v-39a288b8><div></div></div></main><footer class="VPDocFooter" data-v-39a288b8 data-v-e257564d><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-e257564d><span class="visually-hidden" id="doc-footer-aria-label" data-v-e257564d>Pager</span><div class="pager" data-v-e257564d><!----></div><div class="pager" data-v-e257564d><a class="VPLink link pager-link next" href="/ivue/pages/introduction.html" data-v-e257564d><!--[--><span class="desc" data-v-e257564d>Next page</span><span class="title" data-v-e257564d>What is ivue?</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
21
- <script>window.__VP_HASH_MAP__=JSON.parse("{\"api_ivue.md\":\"CZqok1oO\",\"api_propswithdefaults.md\":\"DEcLH0d7\",\"index.md\":\"CLB_U8aI\",\"pages_advanced-usage.md\":\"BdjYKyP7\",\"pages_api.md\":\"-RSHq6PR\",\"pages_browse-code.md\":\"002gxjsr\",\"pages_getting-started.md\":\"DscMF81a\",\"pages_guidelines.md\":\"CJ61_SBZ\",\"pages_how-it-works.md\":\"Bjq6TAX5\",\"pages_how-its-made.md\":\"DGeFDBuv\",\"pages_introduction.md\":\"BdBoAz6L\",\"pages_usage.md\":\"Bfpwym3w\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"VitePress\",\"titleTemplate\":\":title | Infinite Vue ∞ ivue\",\"description\":\"A VitePress site\",\"base\":\"/ivue/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"outline\":\"deep\",\"siteTitle\":\"ivue ∞ Infinite Vue\",\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/infinite-system/ivue\"},{\"icon\":\"twitter\",\"link\":\"https://x.com/evgenykalash\"}],\"search\":{\"provider\":\"local\"},\"sidebar\":[{\"collapsed\":false,\"text\":\"Guide\",\"items\":[{\"text\":\"What is ivue?\",\"link\":\"/pages/introduction\"},{\"text\":\"How it works?\",\"link\":\"/pages/how-it-works\"},{\"text\":\"Getting Started\",\"link\":\"/pages/getting-started\"}]},{\"collapsed\":false,\"text\":\"Usage\",\"items\":[{\"text\":\"Basic Usage\",\"link\":\"/pages/usage#basic-usage\"},{\"text\":\"Using Props\",\"link\":\"/pages/usage#using-props\"},{\"text\":\"Using Emits\",\"link\":\"/pages/usage#using-emits\"},{\"text\":\"Using Refs\",\"link\":\"/pages/usage#using-refs\"},{\"text\":\"Using Define Expose\",\"link\":\"/pages/usage#using-define-expose\"},{\"text\":\"Using Composables\",\"link\":\"/pages/usage#using-composables\"},{\"text\":\"Using Inside Composables\",\"link\":\"/pages/usage#using-inside-composables\"},{\"text\":\"Using Computeds\",\"link\":\"/pages/usage#using-computeds\"},{\"text\":\"Using Watch\",\"link\":\"/pages/usage#using-watch\"},{\"text\":\"Using Lifecycle Hooks\",\"link\":\"/pages/usage#using-lifecycle-hooks\"}]},{\"collapsed\":false,\"text\":\"Guidelines\",\"items\":[{\"text\":\"Dos and Don'ts\",\"link\":\"/pages/guidelines#dos-and-don-ts\"},{\"text\":\"constructor() vs .init()\",\"link\":\"/pages/guidelines#constructor-vs-init\"},{\"text\":\"Unwrapping Refs\",\"link\":\"/pages/guidelines#unwrapping-refs\"},{\"text\":\"Naming Conventions\",\"link\":\"/pages/guidelines#naming-conventions\"}]},{\"collapsed\":false,\"text\":\"Advanced Usage\",\"items\":[{\"text\":\"Extend Props Defaults\",\"link\":\"/pages/advanced-usage#extend-props-defaults\"},{\"text\":\"Extend Props\",\"link\":\"/pages/advanced-usage#extend-props\"},{\"text\":\"Extend Emits\",\"link\":\"/pages/advanced-usage#extend-emits\"},{\"text\":\"Extend Slots\",\"link\":\"/pages/advanced-usage#extend-slots\"},{\"text\":\"Extend Classes\",\"link\":\"/pages/advanced-usage#extend-classes\"},{\"text\":\"Extend Components\",\"link\":\"/pages/advanced-usage#extend-components\"}]},{\"text\":\"API\"},{\"collapsed\":false,\"text\":\"Core Functions\",\"items\":[{\"text\":\"ivue()\",\"link\":\"/pages/api#ivue\"},{\"text\":\"iref()\",\"link\":\"/pages/api#iref\"},{\"text\":\"iuse()\",\"link\":\"/pages/api#iuse\"},{\"text\":\".init()\",\"link\":\"/pages/api#init\"},{\"text\":\".toRefs()\",\"link\":\"/pages/api#torefs\"}]},{\"collapsed\":false,\"text\":\"Utility Functions\",\"items\":[{\"text\":\"propsWithDefaults()\",\"link\":\"/pages/api#propswithdefaults\"}]},{\"collapsed\":false,\"text\":\"Utility Types\",\"items\":[{\"text\":\"ExtractPropDefaultTypes\",\"link\":\"/pages/api#extractpropdefaulttypes\"},{\"text\":\"ExtractEmitTypes\",\"link\":\"/pages/api#extractemittypes\"},{\"text\":\"ExtendSlots\",\"link\":\"/pages/api#extendslots\"},{\"text\":\"UseComposable\",\"link\":\"/pages/api#UseComposable\"}]},{\"collapsed\":false,\"text\":\"Source Code\",\"items\":[{\"text\":\"Browse Code\",\"link\":\"/pages/browse-code\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
21
+ <script>window.__VP_HASH_MAP__=JSON.parse("{\"api_ivue.md\":\"Dcwh72Up\",\"api_propswithdefaults.md\":\"4_yVaZVQ\",\"index.md\":\"DKVu1ndY\",\"pages_advanced-usage.md\":\"DW_gZ3PR\",\"pages_api.md\":\"CTVxqljG\",\"pages_browse-code.md\":\"B0SHw1kH\",\"pages_getting-started.md\":\"DNBViykD\",\"pages_guidelines.md\":\"CqaMa3nD\",\"pages_how-it-works.md\":\"DnT0w5vM\",\"pages_how-its-made.md\":\"QUpGkW5C\",\"pages_introduction.md\":\"Ce-jOv9s\",\"pages_usage.md\":\"Csm2P67_\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"VitePress\",\"titleTemplate\":\":title | Infinite Vue ∞ ivue\",\"description\":\"A VitePress site\",\"base\":\"/ivue/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"outline\":\"deep\",\"siteTitle\":\"ivue ∞ Infinite Vue\",\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/infinite-system/ivue\"},{\"icon\":\"twitter\",\"link\":\"https://x.com/evgenykalash\"}],\"search\":{\"provider\":\"local\"},\"sidebar\":[{\"collapsed\":false,\"text\":\"Guide\",\"items\":[{\"text\":\"What is ivue?\",\"link\":\"/pages/introduction\"},{\"text\":\"How it works?\",\"link\":\"/pages/how-it-works\"},{\"text\":\"Getting Started\",\"link\":\"/pages/getting-started\"}]},{\"collapsed\":false,\"text\":\"Usage\",\"items\":[{\"text\":\"Basic Usage\",\"link\":\"/pages/usage#basic-usage\"},{\"text\":\"Using Props\",\"link\":\"/pages/usage#using-props\"},{\"text\":\"Using Emits\",\"link\":\"/pages/usage#using-emits\"},{\"text\":\"Using Refs\",\"link\":\"/pages/usage#using-refs\"},{\"text\":\"Using Define Expose\",\"link\":\"/pages/usage#using-define-expose\"},{\"text\":\"Using Composables\",\"link\":\"/pages/usage#using-composables\"},{\"text\":\"Using Inside Composables\",\"link\":\"/pages/usage#using-inside-composables\"},{\"text\":\"Using Computeds\",\"link\":\"/pages/usage#using-computeds\"},{\"text\":\"Using Watch\",\"link\":\"/pages/usage#using-watch\"},{\"text\":\"Using Lifecycle Hooks\",\"link\":\"/pages/usage#using-lifecycle-hooks\"}]},{\"collapsed\":false,\"text\":\"Guidelines\",\"items\":[{\"text\":\"Dos and Don'ts\",\"link\":\"/pages/guidelines#dos-and-don-ts\"},{\"text\":\"constructor() vs .init()\",\"link\":\"/pages/guidelines#constructor-vs-init\"},{\"text\":\"Unwrapping Refs\",\"link\":\"/pages/guidelines#unwrapping-refs\"},{\"text\":\"Naming Conventions\",\"link\":\"/pages/guidelines#naming-conventions\"}]},{\"collapsed\":false,\"text\":\"Advanced Usage\",\"items\":[{\"text\":\"Extend Props Defaults\",\"link\":\"/pages/advanced-usage#extend-props-defaults\"},{\"text\":\"Extend Props\",\"link\":\"/pages/advanced-usage#extend-props\"},{\"text\":\"Extend Emits\",\"link\":\"/pages/advanced-usage#extend-emits\"},{\"text\":\"Extend Slots\",\"link\":\"/pages/advanced-usage#extend-slots\"},{\"text\":\"Extend Classes\",\"link\":\"/pages/advanced-usage#extend-classes\"},{\"text\":\"Extend Components\",\"link\":\"/pages/advanced-usage#extend-components\"}]},{\"text\":\"API\"},{\"collapsed\":false,\"text\":\"Core Functions\",\"items\":[{\"text\":\"ivue()\",\"link\":\"/pages/api#ivue\"},{\"text\":\"iref()\",\"link\":\"/pages/api#iref\"},{\"text\":\"iuse()\",\"link\":\"/pages/api#iuse\"},{\"text\":\".init()\",\"link\":\"/pages/api#init\"},{\"text\":\".toRefs()\",\"link\":\"/pages/api#torefs\"}]},{\"collapsed\":false,\"text\":\"Utility Functions\",\"items\":[{\"text\":\"propsWithDefaults()\",\"link\":\"/pages/api#propswithdefaults\"}]},{\"collapsed\":false,\"text\":\"Utility Types\",\"items\":[{\"text\":\"ExtractPropDefaultTypes\",\"link\":\"/pages/api#extractpropdefaulttypes\"},{\"text\":\"ExtractEmitTypes\",\"link\":\"/pages/api#extractemittypes\"},{\"text\":\"ExtendSlots\",\"link\":\"/pages/api#extendslots\"},{\"text\":\"UseComposable\",\"link\":\"/pages/api#UseComposable\"}]},{\"collapsed\":false,\"text\":\"Source Code\",\"items\":[{\"text\":\"Browse Code\",\"link\":\"/pages/browse-code\"}]}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
22
22
 
23
23
  </body>
24
24
  </html>
@@ -1 +1 @@
1
- import{_ as e,c as t,o as a}from"./chunks/framework.DwpdbuZp.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"api/ivue.md","filePath":"api/ivue.md"}'),r={name:"api/ivue.md"};function i(o,s,c,n,p,_){return a(),t("div")}const f=e(r,[["render",i]]);export{m as __pageData,f as default};
1
+ import{_ as e,c as t,o as a}from"./chunks/framework.A0LWpETw.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"api/ivue.md","filePath":"api/ivue.md"}'),r={name:"api/ivue.md"};function i(o,s,c,n,p,_){return a(),t("div")}const f=e(r,[["render",i]]);export{m as __pageData,f as default};
@@ -1 +1 @@
1
- import{_ as e,c as t,o as a}from"./chunks/framework.DwpdbuZp.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"api/ivue.md","filePath":"api/ivue.md"}'),r={name:"api/ivue.md"};function i(o,s,c,n,p,_){return a(),t("div")}const f=e(r,[["render",i]]);export{m as __pageData,f as default};
1
+ import{_ as e,c as t,o as a}from"./chunks/framework.A0LWpETw.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"api/ivue.md","filePath":"api/ivue.md"}'),r={name:"api/ivue.md"};function i(o,s,c,n,p,_){return a(),t("div")}const f=e(r,[["render",i]]);export{m as __pageData,f as default};
@@ -1 +1 @@
1
- import{_ as t,c as e,o as a}from"./chunks/framework.DwpdbuZp.js";const _=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"api/propsWithDefaults.md","filePath":"api/propsWithDefaults.md"}'),s={name:"api/propsWithDefaults.md"};function p(r,o,i,c,n,f){return a(),e("div")}const d=t(s,[["render",p]]);export{_ as __pageData,d as default};
1
+ import{_ as t,c as e,o as a}from"./chunks/framework.A0LWpETw.js";const _=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"api/propsWithDefaults.md","filePath":"api/propsWithDefaults.md"}'),s={name:"api/propsWithDefaults.md"};function p(r,o,i,c,n,f){return a(),e("div")}const d=t(s,[["render",p]]);export{_ as __pageData,d as default};
@@ -1 +1 @@
1
- import{_ as t,c as e,o as a}from"./chunks/framework.DwpdbuZp.js";const _=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"api/propsWithDefaults.md","filePath":"api/propsWithDefaults.md"}'),s={name:"api/propsWithDefaults.md"};function p(r,o,i,c,n,f){return a(),e("div")}const d=t(s,[["render",p]]);export{_ as __pageData,d as default};
1
+ import{_ as t,c as e,o as a}from"./chunks/framework.A0LWpETw.js";const _=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"api/propsWithDefaults.md","filePath":"api/propsWithDefaults.md"}'),s={name:"api/propsWithDefaults.md"};function p(r,o,i,c,n,f){return a(),e("div")}const d=t(s,[["render",p]]);export{_ as __pageData,d as default};
@@ -1 +1 @@
1
- import{t as p}from"./chunks/theme.D4h28Zbq.js";import{d as u,U as o,a9 as l,u as c,y as f,x as d,aa as m,ab as h,ac as g,ad as A,ae as y,af as P,ag as v,ah as C,ai as b,aj as w,ak as E,al as R,am as S}from"./chunks/framework.DwpdbuZp.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(p),T=u({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=c();return f(()=>{d(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&m(),h(),g(),s.setup&&s.setup(),()=>A(s.Layout)}});async function j(){globalThis.__VITEPRESS__=!0;const e=D(),a=x();a.provide(y,e);const t=P(e.route);return a.provide(v,t),a.component("Content",C),a.component("ClientOnly",b),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:w}),{app:a,router:e,data:t}}function x(){return E(T)}function D(){let e=o,a;return R(t=>{let n=S(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&j().then(({app:e,router:a,data:t})=>{a.go().then(()=>{l(a.route,t.site),e.mount("#app")})});export{j as createApp};
1
+ import{t as p}from"./chunks/theme.CcUearAn.js";import{d as u,U as o,aa as l,u as c,y as f,x as d,ab as m,ac as h,ad as g,ae as A,af as y,ag as P,ah as v,ai as C,aj as b,ak as w,al as E,am as R,an as S}from"./chunks/framework.A0LWpETw.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(p),T=u({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=c();return f(()=>{d(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&m(),h(),g(),s.setup&&s.setup(),()=>A(s.Layout)}});async function j(){globalThis.__VITEPRESS__=!0;const e=D(),a=x();a.provide(y,e);const t=P(e.route);return a.provide(v,t),a.component("Content",C),a.component("ClientOnly",b),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:w}),{app:a,router:e,data:t}}function x(){return E(T)}function D(){let e=o,a;return R(t=>{let n=S(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&j().then(({app:e,router:a,data:t})=>{a.go().then(()=>{l(a.route,t.site),e.mount("#app")})});export{j as createApp};