ivue 1.1.20 → 1.1.21

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 (71) hide show
  1. package/README.md +3 -2
  2. package/coverage/clover.xml +174 -160
  3. package/coverage/coverage-final.json +1 -1
  4. package/coverage/index.html +18 -18
  5. package/coverage/{index.ts.html → ivue.ts.html} +221 -32
  6. package/dist/src/ivue.d.ts +17 -11
  7. package/docs/docs/.vitepress/config.ts +10 -4
  8. package/docs/docs/.vitepress/dist/404.html +2 -2
  9. package/docs/docs/.vitepress/dist/api/ivue.html +6 -6
  10. package/docs/docs/.vitepress/dist/api/propsWithDefaults.html +6 -6
  11. package/docs/docs/.vitepress/dist/assets/{api_ivue.md.Dcwh72Up.js → api_ivue.md.DyFbv52x.js} +1 -1
  12. package/docs/docs/.vitepress/dist/assets/{api_ivue.md.Dcwh72Up.lean.js → api_ivue.md.DyFbv52x.lean.js} +1 -1
  13. package/docs/docs/.vitepress/dist/assets/{api_propsWithDefaults.md.4_yVaZVQ.lean.js → api_propsWithDefaults.md.C6C7ZBZl.js} +1 -1
  14. package/docs/docs/.vitepress/dist/assets/{api_propsWithDefaults.md.4_yVaZVQ.js → api_propsWithDefaults.md.C6C7ZBZl.lean.js} +1 -1
  15. package/docs/docs/.vitepress/dist/assets/{app.BYfdK_hD.js → app.CQ7kL6_f.js} +1 -1
  16. package/docs/docs/.vitepress/dist/assets/chunks/@localSearchIndexroot.DPHmCl-3.js +1 -0
  17. package/docs/docs/.vitepress/dist/assets/chunks/{Button.vue_vue_type_script_setup_true_lang.DTLsfrER.js → Button.vue_vue_type_script_setup_true_lang.Bynntqk6.js} +1 -1
  18. package/docs/docs/.vitepress/dist/assets/chunks/{VPLocalSearchBox.BA9OZ_Zi.js → VPLocalSearchBox.hM-bvSJA.js} +1 -1
  19. package/docs/docs/.vitepress/dist/assets/chunks/{framework.A0LWpETw.js → framework.CvEKxEoK.js} +1 -1
  20. package/docs/docs/.vitepress/dist/assets/chunks/index.es.BJUrCfJB.js +1 -0
  21. package/docs/docs/.vitepress/dist/assets/chunks/{theme.CcUearAn.js → theme.BQo6cm_A.js} +2 -2
  22. package/docs/docs/.vitepress/dist/assets/index.md.D-9TpgnJ.js +1 -0
  23. package/docs/docs/.vitepress/dist/assets/index.md.D-9TpgnJ.lean.js +1 -0
  24. package/docs/docs/.vitepress/dist/assets/{pages_advanced-usage.md.DW_gZ3PR.js → pages_advanced-usage.md.DsU0E8Oi.js} +1 -1
  25. package/docs/docs/.vitepress/dist/assets/{pages_advanced-usage.md.DW_gZ3PR.lean.js → pages_advanced-usage.md.DsU0E8Oi.lean.js} +1 -1
  26. package/docs/docs/.vitepress/dist/assets/pages_api.md.CElVfYwg.js +1 -0
  27. package/docs/docs/.vitepress/dist/assets/pages_api.md.CElVfYwg.lean.js +1 -0
  28. package/docs/docs/.vitepress/dist/assets/{pages_browse-code.md.B0SHw1kH.js → pages_browse-code.md.DhMpWRNv.js} +13 -11
  29. package/docs/docs/.vitepress/dist/assets/{pages_browse-code.md.B0SHw1kH.lean.js → pages_browse-code.md.DhMpWRNv.lean.js} +1 -1
  30. package/docs/docs/.vitepress/dist/assets/{pages_getting-started.md.DNBViykD.js → pages_getting-started.md.CRguJKe8.js} +14 -12
  31. package/docs/docs/.vitepress/dist/assets/{pages_getting-started.md.DNBViykD.lean.js → pages_getting-started.md.CRguJKe8.lean.js} +1 -1
  32. package/docs/docs/.vitepress/dist/assets/{pages_guidelines.md.CqaMa3nD.lean.js → pages_guidelines.md.yUFCB7mz.js} +3 -3
  33. package/docs/docs/.vitepress/dist/assets/{pages_guidelines.md.CqaMa3nD.js → pages_guidelines.md.yUFCB7mz.lean.js} +3 -3
  34. package/docs/docs/.vitepress/dist/assets/{pages_how-it-works.md.DnT0w5vM.lean.js → pages_how-it-works.md.DDKhyGlo.js} +14 -12
  35. package/docs/docs/.vitepress/dist/assets/{pages_how-it-works.md.DnT0w5vM.js → pages_how-it-works.md.DDKhyGlo.lean.js} +14 -12
  36. package/docs/docs/.vitepress/dist/assets/{pages_how-its-made.md.QUpGkW5C.js → pages_how-its-made.md.CCol99CD.js} +1 -1
  37. package/docs/docs/.vitepress/dist/assets/{pages_how-its-made.md.QUpGkW5C.lean.js → pages_how-its-made.md.CCol99CD.lean.js} +1 -1
  38. package/docs/docs/.vitepress/dist/assets/pages_introduction.md.CCkiQtfX.js +1 -0
  39. package/docs/docs/.vitepress/dist/assets/pages_introduction.md.CCkiQtfX.lean.js +1 -0
  40. package/docs/docs/.vitepress/dist/assets/{pages_usage.md.Csm2P67_.js → pages_usage.md.EDa7wXde.js} +27 -22
  41. package/docs/docs/.vitepress/dist/assets/{pages_usage.md.Csm2P67_.lean.js → pages_usage.md.EDa7wXde.lean.js} +27 -22
  42. package/docs/docs/.vitepress/dist/hashmap.json +1 -1
  43. package/docs/docs/.vitepress/dist/index.html +8 -8
  44. package/docs/docs/.vitepress/dist/pages/advanced-usage.html +6 -6
  45. package/docs/docs/.vitepress/dist/pages/api.html +7 -7
  46. package/docs/docs/.vitepress/dist/pages/browse-code.html +18 -16
  47. package/docs/docs/.vitepress/dist/pages/getting-started.html +19 -17
  48. package/docs/docs/.vitepress/dist/pages/guidelines.html +8 -8
  49. package/docs/docs/.vitepress/dist/pages/how-it-works.html +19 -17
  50. package/docs/docs/.vitepress/dist/pages/how-its-made.html +6 -6
  51. package/docs/docs/.vitepress/dist/pages/introduction.html +8 -8
  52. package/docs/docs/.vitepress/dist/pages/usage.html +32 -27
  53. package/docs/docs/components/usage/CounterComposablesIvueDestructuring.vue +1 -1
  54. package/docs/docs/components/usage/classes/CustomMouse.ts +3 -1
  55. package/docs/docs/components/usage/functions/useCustomMouse.ts +8 -3
  56. package/docs/docs/index.md +24 -16
  57. package/docs/docs/pages/api.md +1 -1
  58. package/docs/docs/pages/how-it-works.md +24 -10
  59. package/docs/docs/pages/introduction.md +4 -3
  60. package/docs/package.json +1 -1
  61. package/package.json +1 -1
  62. package/src/__tests__/ivue.vitest.spec.ts +22 -21
  63. package/src/ivue.ts +19 -14
  64. package/docs/docs/.vitepress/dist/assets/chunks/@localSearchIndexroot.MRMl6PRR.js +0 -1
  65. package/docs/docs/.vitepress/dist/assets/chunks/index.es.vxZiu-N0.js +0 -1
  66. package/docs/docs/.vitepress/dist/assets/index.md.DKVu1ndY.js +0 -1
  67. package/docs/docs/.vitepress/dist/assets/index.md.DKVu1ndY.lean.js +0 -1
  68. package/docs/docs/.vitepress/dist/assets/pages_api.md.CTVxqljG.js +0 -1
  69. package/docs/docs/.vitepress/dist/assets/pages_api.md.CTVxqljG.lean.js +0 -1
  70. package/docs/docs/.vitepress/dist/assets/pages_introduction.md.Ce-jOv9s.js +0 -1
  71. package/docs/docs/.vitepress/dist/assets/pages_introduction.md.Ce-jOv9s.lean.js +0 -1
@@ -1,4 +1,4 @@
1
- import{v as m,M as o,A}from"./chunks/index.es.vxZiu-N0.js";import{d as c,o as u,c as b,j as h,k as p,a as r,t as k,F as C,s as B,a6 as _,a7 as P,h as D,a8 as M,a9 as w,v as I,y as U,I as y,a5 as F}from"./chunks/framework.A0LWpETw.js";const j=c({__name:"CounterBasic",setup(a){class n{constructor(){this.count=o(0)}increment(){this.count++}}const s=m(n);return(l,i)=>(u(),b(C,null,[h("a",{href:"javascript:void(0)",onClick:i[0]||(i[0]=()=>p(s).increment())},"Increment"),r(" Count: "+k(p(s).count),1)],64))}}),S=c({__name:"CounterWithProps",props:{initialCount:null},setup(a){const n=a;class s{constructor(t){this.props=t,this.count=o(0),this.count=this.props.initialCount}increment(){this.count++}}const l=m(s,n);return(i,t)=>(u(),b(C,null,[h("a",{href:"javascript:void(0)",onClick:t[0]||(t[0]=()=>p(l).increment())},"Increment"),r(" Count: "+k(p(l).count),1)],64))}}),z=c({__name:"CounterWithPropsAndEmits",props:{initialCount:null},emits:["increment"],setup(a,{emit:n}){const s=a;class l{constructor(E,d){this.props=E,this.emit=d,this.count=o(0),this.count=this.props.initialCount}increment(){this.count++,this.emit("increment",this.count)}}const i=m(l,s,n);return(t,E)=>(u(),b(C,null,[h("a",{href:"javascript:void(0)",onClick:E[0]||(E[0]=()=>p(i).increment())},"Increment"),r(" Count: "+k(p(i).count),1)],64))}});class T{constructor(){this.count=o(0)}increment(){this.count++}decrement(){this.count--}}const O=c({__name:"CounterDefineExpose",setup(a,{expose:n}){const s=m(T);return n(s),(l,i)=>" Count: "+k(p(s).count)}}),Y=c({__name:"CounterExternalRefs",setup(a,{expose:n}){class s{constructor(E){this.span=E,this.count=o(0)}increment(){this.count++,this.span.innerHTML=String(this.count+1)}}const l=B(null),i=m(s,A(l));return n(i),(t,E)=>(u(),b(C,null,[h("a",{href:"javascript:void(0)",onClick:E[0]||(E[0]=()=>p(i).increment())},"Increment"),r(" Count: "+k(p(i).count)+" ",1),h("span",{ref_key:"span",ref:l},null,512)],64))}}),$=c({__name:"CounterInternalRefs",setup(a){class n{constructor(){this.count=o(0),this.span=o(null)}increment(){this.count++,this.span.innerHTML=String(this.count+1)}}const s=m(n),{span:l}=s.toRefs(["span"]);return(i,t)=>(u(),b(C,null,[h("a",{href:"javascript:void(0)",onClick:t[0]||(t[0]=()=>p(s).increment())},"Increment"),r(" Count: "+k(p(s).count)+" ",1),h("span",{ref_key:"span",ref:l},null,512)],64))}}),L=h("br",null,null,-1),H=h("br",null,null,-1),N=h("br",null,null,-1),W=h("br",null,null,-1),X=h("br",null,null,-1),V=h("br",null,null,-1),J=h("br",null,null,-1),Q=h("br",null,null,-1),Z=h("br",null,null,-1),G=c({__name:"CounterComposables",setup(a){class n{constructor(){this.count=o(0),this.mouse=A(_()),this.pointer=A(P())}increment(){this.count++}}const s=m(n);return(l,i)=>(u(),b(C,null,[h("a",{href:"javascript:void(0)",onClick:i[0]||(i[0]=()=>p(s).increment())},"Increment"),r(" Count: "+k(p(s).count)+" ",1),L,H,r(" Mouse: "),N,r(" X: "+k(p(s).mouse.x)+" ",1),W,r(" Y: "+k(p(s).mouse.y)+" ",1),X,V,r(" Pointer: "),J,r(" X: "+k(p(s).pointer.x)+" ",1),Q,r(" Y: "+k(p(s).pointer.y)+" ",1),Z],64))}});function K(){const{x:a,y:n}=_(),s=B(0);function l(){s.value=a.value+n.value}const i=D(()=>s),t=D(()=>i);return{x:a,y:n,sum:l,total:t}}const ss=h("br",null,null,-1),is=h("br",null,null,-1),as=h("br",null,null,-1),ns=c({__name:"CounterComposablesDestructuring",setup(a){class n{constructor(){this.count=o(0),{x:this.x,y:this.y,sum:this.sum,total:this.total}=A(K())}increment(){this.count++}}const s=m(n);return(l,i)=>(u(),b(C,null,[h("a",{href:"javascript:void(0)",onClick:i[0]||(i[0]=()=>p(s).increment())},"Increment"),r(" Count: "+k(p(s).count)+" ",1),ss,r(" Mouse X: "+k(p(s).x)+", Y: "+k(p(s).y)+" ",1),is,r(" Total (computed): "+k(p(s).total)+" ",1),as,h("button",{class:"button",onClick:i[1]||(i[1]=()=>p(s).sum())},"Click This Big Sum Button To Total X + Y")],64))}});class ls{constructor(n){this.test=n,{x:this.x,y:this.y}=A(_())}get total(){return this.x+this.y}}const f=new Map;function ts(a){if(f.has(a))return f.get(a);const n=new Map;let s=a.prototype;for(;s.constructor!==Object;)Object.entries(Object.getOwnPropertyDescriptors(s)).forEach(([l,i])=>{const t=n.get(l);t!==i&&(i!=null&&i.get||i!=null&&i.set)&&(t!=null&&t.get&&(i.get=t==null?void 0:t.get),t!=null&&t.set&&(i.set=t==null?void 0:t.set),n.set(l,i))}),s=Object.getPrototypeOf(s);return f.set(a,n),n}function R(a,...n){var t,E;const s=ts(a),l=s!=null&&s.size?{}:null,i=M(new a(...n));for(const[d,e]of s)((t=a==null?void 0:a.ivue)==null?void 0:t[d])!==!1&&Object.defineProperty(i,d,{get:e.get?()=>{var g,v;return d in l?l[d]:l[d]=D({get:(g=e.get)==null?void 0:g.bind(i),set:(v=e.set)==null?void 0:v.bind(i)})}:void 0,set:(E=e.set)==null?void 0:E.bind(i),enumerable:!1});return Object.defineProperty(i,"toRefs",{get:()=>ks(i,s,l),enumerable:!1}),"init"in i&&i.init(),i}const x=new Map;function ps(a){if(x.has(a.constructor))return x.get(a.constructor);const n=a.constructor,s=new Set;do Object.getOwnPropertyNames(a).forEach(l=>{["caller","callee","arguments","constructor"].includes(l)||s.add(l)}),a=Object.getPrototypeOf(a);while(a.constructor!==Object);return x.set(n,s),s}function hs(a){return B(a)}function es(a,...n){return rs(a)?R(a,...n).toRefs():a}function ks(a,n,s){return function(l){var t,E;const i={};if(Array.isArray(l)&&l.length)for(let d=0;d<l.length;d++){const e=l[d];if(n.has(e))if(e in s)i[e]=s[e];else{const g=n.get(e);i[e]=s[e]=D({get:(t=g==null?void 0:g.get)==null?void 0:t.bind(a),set:(E=g==null?void 0:g.set)==null?void 0:E.bind(a)})}else typeof a[e]=="function"?i[e]=a[e].bind(a):i[e]=w(a,e)}else{let d=new Set(ps(a));n.forEach((e,g)=>{var v,q;g in s?i[g]=s[g]:i[g]=s[g]=D({get:(v=e.get)==null?void 0:v.bind(a),set:(q=e.set)==null?void 0:q.bind(a)}),d==null||d.delete(g)}),d.forEach(e=>{typeof a[e]=="function"?i[e]=a[e].bind(a):i[e]=w(a,e)}),d=null}return i}}function rs(a){var n;return!(typeof a!="function"||!a.prototype||(n=Object.getOwnPropertyDescriptor(a,"prototype"))!=null&&n.writable)}const Es=h("br",null,null,-1),ds=h("br",null,null,-1),gs=h("br",null,null,-1),cs=c({__name:"CounterComposablesIvueDestructuring",setup(a){class n{constructor(){this.count=hs(0),{x:this.x,y:this.y,total:this.total}=es(ls,4)}increment(){this.count++}}const s=R(n);return(l,i)=>(u(),b(C,null,[h("a",{href:"javascript:void(0)",onClick:i[0]||(i[0]=()=>p(s).increment())},"Increment"),r(" Count: "+k(p(s).count)+" ",1),Es,r(" Mouse X: "+k(p(s).x)+", Y: "+k(p(s).y)+" ",1),ds,r(" Total (computed): "+k(p(s).total)+" ",1),gs],64))}}),ys=h("br",null,null,-1),os=c({__name:"CounterInsideComposables",setup(a){class n{constructor(){this.count=o(0)}increment(){this.count++}}function s(){const{count:t,increment:E}=m(n).toRefs();return{count:t,increment:E}}const{count:l,increment:i}=s();return(t,E)=>(u(),b(C,null,[h("a",{href:"javascript:void(0)",onClick:E[0]||(E[0]=(...d)=>p(i)&&p(i)(...d))},"Increment"),r(" Count: "+k(p(l))+" ",1),ys],64))}}),us=h("br",null,null,-1),bs=h("br",null,null,-1),Fs=h("br",null,null,-1),ms=c({__name:"CounterComputeds",setup(a){class n{constructor(){this.count=o(0)}increment(){this.count++}get doubleCount(){return this.count*2}get quadCount(){return this.doubleCount*2}}const s=m(n);return(l,i)=>(u(),b(C,null,[h("a",{href:"javascript:void(0)",onClick:i[0]||(i[0]=()=>p(s).increment())},"Increment"),r(" Count: "+k(p(s).count)+" ",1),us,r(" Double Count: "+k(p(s).doubleCount)+" ",1),bs,r(" Quad Count: "+k(p(s).quadCount)+" ",1),Fs],64))}}),Cs=c({__name:"CounterWatch",setup(a){class n{constructor(){this.count=o(0)}init(){I(()=>this.count,i=>{i===5&&alert("You already clicked 5 times!")})}increment(){this.count++}}const s=m(n);return(l,i)=>(u(),b(C,null,[h("a",{href:"javascript:void(0)",onClick:i[0]||(i[0]=()=>p(s).increment())},"Increment"),r(" Count: "+k(p(s).count)+" (Click 5 times to get an alert) ",1)],64))}}),vs=c({__name:"CounterLifecycleHooks",setup(a){class n{constructor(){this.count=o(0)}init(){U(()=>{this.count=100})}increment(){this.count++}}const s=m(n);return(l,i)=>(u(),b(C,null,[h("a",{href:"javascript:void(0)",onClick:i[0]||(i[0]=()=>p(s).increment())},"Increment"),r(" Count: "+k(p(s).count)+" (onMounted we set it to 100) ",1)],64))}}),As=F(`<h1 id="example-usage" tabindex="-1">Example Usage <a class="header-anchor" href="#example-usage" aria-label="Permalink to &quot;Example Usage&quot;">​</a></h1><p>Using ivue is very simple, but you need to understand a few principles. See the examples below expanding on each principle.</p><h2 id="basic-usage" tabindex="-1">Basic Usage <a class="header-anchor" href="#basic-usage" aria-label="Permalink to &quot;Basic Usage&quot;">​</a></h2><p>Classic Counter example built with <code>ivue</code></p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-wsxJ6" id="tab-KUv8bDo" checked><label for="tab-KUv8bDo">CounterBasic.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
1
+ import{w as c,M as E,A as F}from"./chunks/index.es.BJUrCfJB.js";import{d,o as y,c as o,j as n,k as a,a as h,t as p,F as b,s as C,a6 as v,a7 as D,h as A,v as B,y as f,I as g,a5 as u}from"./chunks/framework.CvEKxEoK.js";const x=d({__name:"CounterBasic",setup(e){class l{constructor(){this.count=E(0)}increment(){this.count++}}const s=c(l);return(t,i)=>(y(),o(b,null,[n("a",{href:"javascript:void(0)",onClick:i[0]||(i[0]=()=>a(s).increment())},"Increment"),h(" Count: "+p(a(s).count),1)],64))}}),_=d({__name:"CounterWithProps",props:{initialCount:null},setup(e){const l=e;class s{constructor(k){this.props=k,this.count=E(0),this.count=this.props.initialCount}increment(){this.count++}}const t=c(s,l);return(i,k)=>(y(),o(b,null,[n("a",{href:"javascript:void(0)",onClick:k[0]||(k[0]=()=>a(t).increment())},"Increment"),h(" Count: "+p(a(t).count),1)],64))}}),q=d({__name:"CounterWithPropsAndEmits",props:{initialCount:null},emits:["increment"],setup(e,{emit:l}){const s=e;class t{constructor(r,m){this.props=r,this.emit=m,this.count=E(0),this.count=this.props.initialCount}increment(){this.count++,this.emit("increment",this.count)}}const i=c(t,s,l);return(k,r)=>(y(),o(b,null,[n("a",{href:"javascript:void(0)",onClick:r[0]||(r[0]=()=>a(i).increment())},"Increment"),h(" Count: "+p(a(i).count),1)],64))}});class w{constructor(){this.count=E(0)}increment(){this.count++}decrement(){this.count--}}const R=d({__name:"CounterDefineExpose",setup(e,{expose:l}){const s=c(w);return l(s),(t,i)=>" Count: "+p(a(s).count)}}),P=d({__name:"CounterExternalRefs",setup(e,{expose:l}){class s{constructor(r){this.span=r,this.count=E(0)}increment(){this.count++,this.span.innerHTML=String(this.count+1)}}const t=C(null),i=c(s,F(t));return l(i),(k,r)=>(y(),o(b,null,[n("a",{href:"javascript:void(0)",onClick:r[0]||(r[0]=()=>a(i).increment())},"Increment"),h(" Count: "+p(a(i).count)+" ",1),n("span",{ref_key:"span",ref:t},null,512)],64))}}),I=d({__name:"CounterInternalRefs",setup(e){class l{constructor(){this.count=E(0),this.span=E(null)}increment(){this.count++,this.span.innerHTML=String(this.count+1)}}const s=c(l),{span:t}=s.toRefs(["span"]);return(i,k)=>(y(),o(b,null,[n("a",{href:"javascript:void(0)",onClick:k[0]||(k[0]=()=>a(s).increment())},"Increment"),h(" Count: "+p(a(s).count)+" ",1),n("span",{ref_key:"span",ref:t},null,512)],64))}}),U=n("br",null,null,-1),M=n("br",null,null,-1),T=n("br",null,null,-1),S=n("br",null,null,-1),j=n("br",null,null,-1),z=n("br",null,null,-1),$=n("br",null,null,-1),N=n("br",null,null,-1),H=n("br",null,null,-1),L=d({__name:"CounterComposables",setup(e){class l{constructor(){this.count=E(0),this.mouse=F(v()),this.pointer=F(D())}increment(){this.count++}}const s=c(l);return(t,i)=>(y(),o(b,null,[n("a",{href:"javascript:void(0)",onClick:i[0]||(i[0]=()=>a(s).increment())},"Increment"),h(" Count: "+p(a(s).count)+" ",1),U,M,h(" Mouse: "),T,h(" X: "+p(a(s).mouse.x)+" ",1),S,h(" Y: "+p(a(s).mouse.y)+" ",1),j,z,h(" Pointer: "),$,h(" X: "+p(a(s).pointer.x)+" ",1),N,h(" Y: "+p(a(s).pointer.y)+" ",1),H],64))}});function Y(){const{x:e,y:l}=v(),s=C(0);function t(){s.value=e.value+l.value}const i=A(()=>s),k=A(()=>i);return{x:e,y:l,sum:t,total:k}}const X=n("br",null,null,-1),W=n("br",null,null,-1),O=n("br",null,null,-1),V=d({__name:"CounterComposablesDestructuring",setup(e){class l{constructor(){this.count=E(0),{x:this.x,y:this.y,sum:this.sum,total:this.total}=F(Y())}increment(){this.count++}}const s=c(l);return(t,i)=>(y(),o(b,null,[n("a",{href:"javascript:void(0)",onClick:i[0]||(i[0]=()=>a(s).increment())},"Increment"),h(" Count: "+p(a(s).count)+" ",1),X,h(" Mouse X: "+p(a(s).x)+", Y: "+p(a(s).y)+" ",1),W,h(" Total (computed): "+p(a(s).total)+" ",1),O,n("button",{class:"button",onClick:i[1]||(i[1]=()=>a(s).sum())},"Click This Big Sum Button To Total X + Y")],64))}});class Z{constructor(l){this.test=l,{x:this.x,y:this.y}=F(v())}get total(){return this.x+this.y}}const J=n("br",null,null,-1),K=n("br",null,null,-1),Q=n("br",null,null,-1),G=d({__name:"CounterComposablesIvueDestructuring",setup(e){class l{constructor(){this.count=E(0),{x:this.x,y:this.y,total:this.total}=F(Z,5)}increment(){this.count++}}const s=c(l);return(t,i)=>(y(),o(b,null,[n("a",{href:"javascript:void(0)",onClick:i[0]||(i[0]=()=>a(s).increment())},"Increment"),h(" Count: "+p(a(s).count)+" ",1),J,h(" Mouse X: "+p(a(s).x)+", Y: "+p(a(s).y)+" ",1),K,h(" Total (computed): "+p(a(s).total)+" ",1),Q],64))}}),ss=n("br",null,null,-1),is=d({__name:"CounterInsideComposables",setup(e){class l{constructor(){this.count=E(0)}increment(){this.count++}}function s(){const{count:k,increment:r}=c(l).toRefs();return{count:k,increment:r}}const{count:t,increment:i}=s();return(k,r)=>(y(),o(b,null,[n("a",{href:"javascript:void(0)",onClick:r[0]||(r[0]=(...m)=>a(i)&&a(i)(...m))},"Increment"),h(" Count: "+p(a(t))+" ",1),ss],64))}}),as=n("br",null,null,-1),ns=n("br",null,null,-1),ls=n("br",null,null,-1),ts=d({__name:"CounterComputeds",setup(e){class l{constructor(){this.count=E(0)}increment(){this.count++}get doubleCount(){return this.count*2}get quadCount(){return this.doubleCount*2}}const s=c(l);return(t,i)=>(y(),o(b,null,[n("a",{href:"javascript:void(0)",onClick:i[0]||(i[0]=()=>a(s).increment())},"Increment"),h(" Count: "+p(a(s).count)+" ",1),as,h(" Double Count: "+p(a(s).doubleCount)+" ",1),ns,h(" Quad Count: "+p(a(s).quadCount)+" ",1),ls],64))}}),ps=d({__name:"CounterWatch",setup(e){class l{constructor(){this.count=E(0)}init(){B(()=>this.count,i=>{i===5&&alert("You already clicked 5 times!")})}increment(){this.count++}}const s=c(l);return(t,i)=>(y(),o(b,null,[n("a",{href:"javascript:void(0)",onClick:i[0]||(i[0]=()=>a(s).increment())},"Increment"),h(" Count: "+p(a(s).count)+" (Click 5 times to get an alert) ",1)],64))}}),hs=d({__name:"CounterLifecycleHooks",setup(e){class l{constructor(){this.count=E(0)}init(){f(()=>{this.count=100})}increment(){this.count++}}const s=c(l);return(t,i)=>(y(),o(b,null,[n("a",{href:"javascript:void(0)",onClick:i[0]||(i[0]=()=>a(s).increment())},"Increment"),h(" Count: "+p(a(s).count)+" (onMounted we set it to 100) ",1)],64))}}),es=u(`<h1 id="example-usage" tabindex="-1">Example Usage <a class="header-anchor" href="#example-usage" aria-label="Permalink to &quot;Example Usage&quot;">​</a></h1><p>Using ivue is very simple, but you need to understand a few principles. See the examples below expanding on each principle.</p><h2 id="basic-usage" tabindex="-1">Basic Usage <a class="header-anchor" href="#basic-usage" aria-label="Permalink to &quot;Basic Usage&quot;">​</a></h2><p>Classic Counter example built with <code>ivue</code></p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-cTIIh" id="tab-K1RavKX" checked><label for="tab-K1RavKX">CounterBasic.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
2
2
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ivue, iref } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ivue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
3
3
  <span class="line"></span>
4
4
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> Counter</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
@@ -15,7 +15,7 @@ import{v as m,M as o,A}from"./chunks/index.es.vxZiu-N0.js";import{d as c,o as u,
15
15
  <span class="line highlighted"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Count: {{ counter.count }}</span></span>
16
16
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br></div></div></div></div><details class="details custom-block"><summary>For this example we initialize the component like this:</summary><div class="language-vue vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
17
17
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">CounterBasic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
18
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,7),Ds=F(`<div class="warning custom-block"><p class="custom-block-title">NOTICE: JavaScript Class Caveat</p><p>See <code>() =&gt; counter.increment()</code>. You cannot simply use <code>counter.increment</code> to refer to the method when it was defined as an object of a class, because that method would not know that it has to be bound to <code>counter</code>. You have to either use <code>() =&gt; counter.increment()</code> or <code>counter.increment.bind(counter)</code>, but the latter example is too verbose, so the preferred more readable way is to use an arrow function.</p></div><h2 id="using-props" tabindex="-1">Using Props <a class="header-anchor" href="#using-props" aria-label="Permalink to &quot;Using Props&quot;">​</a></h2><p>See the highlighted sections related to props.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-MaxHr" id="tab-CjL15rr" checked><label for="tab-CjL15rr">CounterWithProps.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
18
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,7),ks=u(`<div class="warning custom-block"><p class="custom-block-title">NOTICE: JavaScript Class Caveat</p><p>See <code>() =&gt; counter.increment()</code>. You cannot simply use <code>counter.increment</code> to refer to the method when it was defined as an object of a class, because that method would not know that it has to be bound to <code>counter</code>. You have to either use <code>() =&gt; counter.increment()</code> or <code>counter.increment.bind(counter)</code>, but the latter example is too verbose, so the preferred more readable way is to use an arrow function.</p></div><h2 id="using-props" tabindex="-1">Using Props <a class="header-anchor" href="#using-props" aria-label="Permalink to &quot;Using Props&quot;">​</a></h2><p>See the highlighted sections related to props.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-7DSJb" id="tab-ISXweIs" checked><label for="tab-ISXweIs">CounterWithProps.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
19
19
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ivue, iref } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ivue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
20
20
  <span class="line"></span>
21
21
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">interface</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> CounterProps</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
@@ -44,7 +44,7 @@ import{v as m,M as o,A}from"./chunks/index.es.vxZiu-N0.js";import{d as c,o as u,
44
44
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Count: {{ counter.count }}</span></span>
45
45
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br></div></div></div></div><details class="details custom-block"><summary>For this example we initialize the component like this:</summary><div class="language-vue vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
46
46
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">CounterWithProps</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> :</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">initial-count</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">5</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
47
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,6),Bs=F(`<h2 id="using-emits" tabindex="-1">Using Emits <a class="header-anchor" href="#using-emits" aria-label="Permalink to &quot;Using Emits&quot;">​</a></h2><p>See the highlighted sections related to using emits.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-_AFXy" id="tab-mAnlV59" checked><label for="tab-mAnlV59">CounterWithPropsAndEmits.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
47
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,6),rs=u(`<h2 id="using-emits" tabindex="-1">Using Emits <a class="header-anchor" href="#using-emits" aria-label="Permalink to &quot;Using Emits&quot;">​</a></h2><p>See the highlighted sections related to using emits.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-bTwbT" id="tab-NP71yzZ" checked><label for="tab-NP71yzZ">CounterWithPropsAndEmits.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
48
48
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ivue, iref } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ivue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
49
49
  <span class="line"></span>
50
50
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">interface</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> CounterProps</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
@@ -85,7 +85,7 @@ import{v as m,M as o,A}from"./chunks/index.es.vxZiu-N0.js";import{d as c,o as u,
85
85
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
86
86
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
87
87
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">CounterWithPropsAndEmits</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> :</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">initial-count</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">5</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> @</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">increment</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">onIncrement</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
88
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,5),fs=F(`<h2 id="using-refs" tabindex="-1">Using Refs <a class="header-anchor" href="#using-refs" aria-label="Permalink to &quot;Using Refs&quot;">​</a></h2><h3 id="refs-defined-externally-in-the-component-outside-of-the-class" tabindex="-1">Refs defined externally in the component outside of the class. <a class="header-anchor" href="#refs-defined-externally-in-the-component-outside-of-the-class" aria-label="Permalink to &quot;Refs defined externally in the component outside of the class.&quot;">​</a></h3><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-wErAu" id="tab-JR2iGpE" checked><label for="tab-JR2iGpE">CounterExternalRefs.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
88
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,5),Es=u(`<h2 id="using-refs" tabindex="-1">Using Refs <a class="header-anchor" href="#using-refs" aria-label="Permalink to &quot;Using Refs&quot;">​</a></h2><h3 id="refs-defined-externally-in-the-component-outside-of-the-class" tabindex="-1">Refs defined externally in the component outside of the class. <a class="header-anchor" href="#refs-defined-externally-in-the-component-outside-of-the-class" aria-label="Permalink to &quot;Refs defined externally in the component outside of the class.&quot;">​</a></h3><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-H7F36" id="tab-BONCdVb" checked><label for="tab-BONCdVb">CounterExternalRefs.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
89
89
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ref } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;vue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
90
90
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ivue, iref, iuse } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ivue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
91
91
  <span class="line"></span>
@@ -111,7 +111,7 @@ import{v as m,M as o,A}from"./chunks/index.es.vxZiu-N0.js";import{d as c,o as u,
111
111
  <span class="line highlighted"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">span</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ref</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;span&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">span</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
112
112
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br></div></div></div></div><details class="details custom-block"><summary>For this example we initialize the component like this:</summary><div class="language-vue vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
113
113
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">CounterExternalRefs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
114
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,5),xs=F(`<h3 id="refs-defined-internally-inside-of-the-class" tabindex="-1">Refs defined internally inside of the class. <a class="header-anchor" href="#refs-defined-internally-inside-of-the-class" aria-label="Permalink to &quot;Refs defined internally inside of the class.&quot;">​</a></h3><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-TbnVk" id="tab-CS5NdbR" checked><label for="tab-CS5NdbR">CounterInternalRefs.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
114
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,5),ds=u(`<h3 id="refs-defined-internally-inside-of-the-class" tabindex="-1">Refs defined internally inside of the class. <a class="header-anchor" href="#refs-defined-internally-inside-of-the-class" aria-label="Permalink to &quot;Refs defined internally inside of the class.&quot;">​</a></h3><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-m-XkC" id="tab-PQpvh_f" checked><label for="tab-PQpvh_f">CounterInternalRefs.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
115
115
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ivue, iref } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ivue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
116
116
  <span class="line"></span>
117
117
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> Counter</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
@@ -137,7 +137,7 @@ import{v as m,M as o,A}from"./chunks/index.es.vxZiu-N0.js";import{d as c,o as u,
137
137
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">span</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ref</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;span&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">span</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
138
138
  <span class="line highlighted"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br></div></div></div></div><details class="details custom-block"><summary>For this example we initialize the component like this:</summary><div class="language-vue vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
139
139
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">CounterInternalRefs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
140
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,4),_s=F(`<h2 id="using-define-expose" tabindex="-1">Using Define Expose <a class="header-anchor" href="#using-define-expose" aria-label="Permalink to &quot;Using Define Expose&quot;">​</a></h2><h3 id="use-class-as-interface-for-defineexpose" tabindex="-1">Use class as interface for <code>defineExpose()</code> <a class="header-anchor" href="#use-class-as-interface-for-defineexpose" aria-label="Permalink to &quot;Use class as interface for \`defineExpose()\`&quot;">​</a></h3><p>See the highlighted sections related to <code>defineExpose</code>.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-RCUFV" id="tab-aHwrcYY" checked><label for="tab-aHwrcYY">CounterDefineExpose.vue</label><input type="radio" name="group-RCUFV" id="tab-ZYiqNAe"><label for="tab-ZYiqNAe">CounterDefineExposeClass.ts</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
140
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,4),gs=u(`<h2 id="using-define-expose" tabindex="-1">Using Define Expose <a class="header-anchor" href="#using-define-expose" aria-label="Permalink to &quot;Using Define Expose&quot;">​</a></h2><h3 id="use-class-as-interface-for-defineexpose" tabindex="-1">Use class as interface for <code>defineExpose()</code> <a class="header-anchor" href="#use-class-as-interface-for-defineexpose" aria-label="Permalink to &quot;Use class as interface for \`defineExpose()\`&quot;">​</a></h3><p>See the highlighted sections related to <code>defineExpose</code>.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-UyFcb" id="tab-7PBU9Al" checked><label for="tab-7PBU9Al">CounterDefineExpose.vue</label><input type="radio" name="group-UyFcb" id="tab-X2kNTVY"><label for="tab-X2kNTVY">CounterDefineExposeClass.ts</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
141
141
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ivue } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ivue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
142
142
  <span class="line"></span>
143
143
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Counter </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;./CounterDefineExposeClass&#39;</span></span>
@@ -177,7 +177,7 @@ import{v as m,M as o,A}from"./chunks/index.es.vxZiu-N0.js";import{d as c,o as u,
177
177
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Decrement via Component Ref from Parent Component</span></span>
178
178
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">button</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
179
179
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">CounterDefineExpose</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
180
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,6),qs=h("br",null,null,-1),ws=F(`<h3 id="pick-allowed-interface-properties-for-defineexpose" tabindex="-1">Pick allowed interface properties for <code>defineExpose()</code> <a class="header-anchor" href="#pick-allowed-interface-properties-for-defineexpose" aria-label="Permalink to &quot;Pick allowed interface properties for \`defineExpose()\`&quot;">​</a></h3><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-4q0IL" id="tab-L9oot1N" checked><label for="tab-L9oot1N">CounterDefineExposeAdvanced.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
180
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,6),cs=n("br",null,null,-1),ys=u(`<h3 id="pick-allowed-interface-properties-for-defineexpose" tabindex="-1">Pick allowed interface properties for <code>defineExpose()</code> <a class="header-anchor" href="#pick-allowed-interface-properties-for-defineexpose" aria-label="Permalink to &quot;Pick allowed interface properties for \`defineExpose()\`&quot;">​</a></h3><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-DiKi0" id="tab-vaRFoSO" checked><label for="tab-vaRFoSO">CounterDefineExposeAdvanced.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
181
181
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ivue, iref } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ivue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
182
182
  <span class="line"></span>
183
183
  <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/** </span></span>
@@ -200,7 +200,7 @@ import{v as m,M as o,A}from"./chunks/index.es.vxZiu-N0.js";import{d as c,o as u,
200
200
  <span class="line"></span>
201
201
  <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">defineExpose</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">CounterExposed</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;(counter);</span></span>
202
202
  <span class="line highlighted"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
203
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;Count: {{ counter.count }}&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br></div></div></div></div><h2 id="using-composables" tabindex="-1">Using Composables <a class="header-anchor" href="#using-composables" aria-label="Permalink to &quot;Using Composables&quot;">​</a></h2><h3 id="assign-a-composable-to-a-class-property" tabindex="-1">Assign a composable to a class property <a class="header-anchor" href="#assign-a-composable-to-a-class-property" aria-label="Permalink to &quot;Assign a composable to a class property&quot;">​</a></h3><p>See the highlighted sections related to composable usage.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-y1QEg" id="tab-_DEQleN" checked><label for="tab-_DEQleN">CounterComposables.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
203
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;Count: {{ counter.count }}&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br></div></div></div></div><h2 id="using-composables" tabindex="-1">Using Composables <a class="header-anchor" href="#using-composables" aria-label="Permalink to &quot;Using Composables&quot;">​</a></h2><h3 id="assign-a-composable-to-a-class-property" tabindex="-1">Assign a composable to a class property <a class="header-anchor" href="#assign-a-composable-to-a-class-property" aria-label="Permalink to &quot;Assign a composable to a class property&quot;">​</a></h3><p>See the highlighted sections related to composable usage.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-IjBES" id="tab-xRH6bvw" checked><label for="tab-xRH6bvw">CounterComposables.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
204
204
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { useMouse, usePointer } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;@vueuse/core&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
205
205
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ivue, iref, iuse } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ivue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
206
206
  <span class="line highlighted"><wbr></span>
@@ -228,7 +228,7 @@ import{v as m,M as o,A}from"./chunks/index.es.vxZiu-N0.js";import{d as c,o as u,
228
228
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Y: {{ counter.pointer.y }} &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">br</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
229
229
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br></div></div></div></div><details class="details custom-block"><summary>For this example we initialize the component like this:</summary><div class="language-vue vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
230
230
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">CounterComposables</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
231
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,8),Rs=F(`<h3 id="destructuring-composable-into-the-class" tabindex="-1">Destructuring composable into the class <a class="header-anchor" href="#destructuring-composable-into-the-class" aria-label="Permalink to &quot;Destructuring composable into the class&quot;">​</a></h3><p>See the highlighted sections related to destructuring composable usage.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-seyhs" id="tab-Ock4lR_" checked><label for="tab-Ock4lR_">CounterComposablesDestructuring.vue</label><input type="radio" name="group-seyhs" id="tab-yri8ICC"><label for="tab-yri8ICC">functions/useCustomMouse.ts</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
231
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,8),os=u(`<h3 id="destructuring-composable-into-the-class" tabindex="-1">Destructuring composable into the class <a class="header-anchor" href="#destructuring-composable-into-the-class" aria-label="Permalink to &quot;Destructuring composable into the class&quot;">​</a></h3><p>See the highlighted sections related to destructuring composable usage.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-ZgF40" id="tab-qFLmjgl" checked><label for="tab-qFLmjgl">CounterComposablesDestructuring.vue</label><input type="radio" name="group-ZgF40" id="tab-Ct6mJB4"><label for="tab-Ct6mJB4">functions/useCustomMouse.ts</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
232
232
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { useCustomMouse } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;./functions/useCustomMouse&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
233
233
  <span class="line"></span>
234
234
  <span class="line highlighted"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ivue, iuse, iref, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> UseComposable } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ivue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
@@ -278,18 +278,23 @@ import{v as m,M as o,A}from"./chunks/index.es.vxZiu-N0.js";import{d as c,o as u,
278
278
  <span class="line"></span>
279
279
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> useCustomMouse</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() {</span></span>
280
280
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> const</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">x</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">y</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> useMouse</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">();</span></span>
281
+ <span class="line"></span>
281
282
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> _sum</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ref</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
282
283
  <span class="line"></span>
283
284
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> sum</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() {</span></span>
284
285
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> _sum.value </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> x.value </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> y.value;</span></span>
285
286
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
286
287
  <span class="line"></span>
287
- <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> total2</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> computed</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(() </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
288
- <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> _sum; </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// Returning with .value</span></span>
288
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> _total</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> computed</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(() </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
289
+ <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // Returning without .value, not entirely correctly, but will still work in Vue template.</span></span>
290
+ <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // This is to test the impressive IVue unwrapping capabilities of deeply nested and confusing Refs</span></span>
291
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> _sum;</span></span>
289
292
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> });</span></span>
290
293
  <span class="line"></span>
291
294
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> total</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> computed</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(() </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
292
- <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> total2; </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// Returning with .value</span></span>
295
+ <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // Returning without .value, not entirely correctly, but will still work in Vue template.</span></span>
296
+ <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // This is to test the impressive IVue unwrapping capabilities of deeply nested and confusing Refs</span></span>
297
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> _total;</span></span>
293
298
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> });</span></span>
294
299
  <span class="line"></span>
295
300
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
@@ -298,9 +303,9 @@ import{v as m,M as o,A}from"./chunks/index.es.vxZiu-N0.js";import{d as c,o as u,
298
303
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sum,</span></span>
299
304
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> total,</span></span>
300
305
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> };</span></span>
301
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br></div></div></div></div><details class="details custom-block"><summary>For this example we initialize the component like this:</summary><div class="language-vue vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
306
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br></div></div></div></div><details class="details custom-block"><summary>For this example we initialize the component like this:</summary><div class="language-vue vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
302
307
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">CounterComposablesDestructuring</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
303
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,5),Ps=F(`<h2 id="using-inside-composables" tabindex="-1">Using Inside Composables <a class="header-anchor" href="#using-inside-composables" aria-label="Permalink to &quot;Using Inside Composables&quot;">​</a></h2><p>See the highlighted sections related to using <code>ivue</code> inside a composable.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-iPFSr" id="tab-rpOqNZk" checked><label for="tab-rpOqNZk">CounterInsideComposables.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
308
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,5),us=u(`<h2 id="using-inside-composables" tabindex="-1">Using Inside Composables <a class="header-anchor" href="#using-inside-composables" aria-label="Permalink to &quot;Using Inside Composables&quot;">​</a></h2><p>See the highlighted sections related to using <code>ivue</code> inside a composable.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-7npU4" id="tab-bRJfOTe" checked><label for="tab-bRJfOTe">CounterInsideComposables.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
304
309
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ivue, iref } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ivue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
305
310
  <span class="line"></span>
306
311
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> Counter</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
@@ -327,10 +332,10 @@ import{v as m,M as o,A}from"./chunks/index.es.vxZiu-N0.js";import{d as c,o as u,
327
332
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Count: {{ count }} &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">br</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
328
333
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br></div></div></div></div><details class="details custom-block"><summary>For this example we initialize the component like this:</summary><div class="language-vue vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
329
334
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">CounterInsideComposables</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
330
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,5),Ms=F(`<h2 id="using-ivue-composables" tabindex="-1">Using <code>ivue</code> Composables <a class="header-anchor" href="#using-ivue-composables" aria-label="Permalink to &quot;Using \`ivue\` Composables&quot;">​</a></h2><p>See the highlighted sections related to using <code>ivue</code> based composables.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-vhHJ6" id="tab-PYumoC_" checked><label for="tab-PYumoC_">CounterComposablesIvueDestructuring.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
335
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,5),bs=u(`<h2 id="using-ivue-composables" tabindex="-1">Using <code>ivue</code> Composables <a class="header-anchor" href="#using-ivue-composables" aria-label="Permalink to &quot;Using \`ivue\` Composables&quot;">​</a></h2><p>See the highlighted sections related to using <code>ivue</code> based composables.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group--xskU" id="tab-6yybHxL" checked><label for="tab-6yybHxL">CounterComposablesIvueDestructuring.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
331
336
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { CustomMouse } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;./classes/CustomMouse&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
332
337
  <span class="line"></span>
333
- <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ivue, iref, iuse } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;../../../../src/ivue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
338
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ivue, iref, iuse } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ivue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
334
339
  <span class="line"></span>
335
340
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> Counter</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
336
341
  <span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> count</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> iref</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
@@ -349,7 +354,7 @@ import{v as m,M as o,A}from"./chunks/index.es.vxZiu-N0.js";import{d as c,o as u,
349
354
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> x: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.x,</span></span>
350
355
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> y: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.y,</span></span>
351
356
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> total: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.total,</span></span>
352
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> iuse</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(CustomMouse, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">));</span></span>
357
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> iuse</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(CustomMouse, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">5</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">));</span></span>
353
358
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
354
359
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span>
355
360
  <span class="line"></span>
@@ -364,7 +369,7 @@ import{v as m,M as o,A}from"./chunks/index.es.vxZiu-N0.js";import{d as c,o as u,
364
369
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">br</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
365
370
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br><span class="line-number">33</span><br><span class="line-number">34</span><br><span class="line-number">35</span><br><span class="line-number">36</span><br></div></div></div></div><details class="details custom-block"><summary>For this example we initialize the component like this:</summary><div class="language-vue vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
366
371
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">CounterComposablesIvueDestructuring</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
367
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,5),Is=F(`<h2 id="using-computeds" tabindex="-1">Using Computeds <a class="header-anchor" href="#using-computeds" aria-label="Permalink to &quot;Using Computeds&quot;">​</a></h2><h3 id="getters-are-computeds-in-ivue-unless-disabled" tabindex="-1">Getters are computeds in <code>ivue</code> unless disabled.<br> <a class="header-anchor" href="#getters-are-computeds-in-ivue-unless-disabled" aria-label="Permalink to &quot;Getters are computeds in \`ivue\` unless disabled.&lt;br /&gt;&quot;">​</a></h3><p>See the highlighted sections related to getters.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-x0k6_" id="tab-KQzCJ5E" checked><label for="tab-KQzCJ5E">CounterComputeds.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
372
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,5),Fs=u(`<h2 id="using-computeds" tabindex="-1">Using Computeds <a class="header-anchor" href="#using-computeds" aria-label="Permalink to &quot;Using Computeds&quot;">​</a></h2><h3 id="getters-are-computeds-in-ivue-unless-disabled" tabindex="-1">Getters are computeds in <code>ivue</code> unless disabled.<br> <a class="header-anchor" href="#getters-are-computeds-in-ivue-unless-disabled" aria-label="Permalink to &quot;Getters are computeds in \`ivue\` unless disabled.&lt;br /&gt;&quot;">​</a></h3><p>See the highlighted sections related to getters.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-lDvaJ" id="tab-nAq-Zkw" checked><label for="tab-nAq-Zkw">CounterComputeds.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
368
373
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ivue, iref } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ivue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
369
374
  <span class="line"></span>
370
375
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> Counter</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
@@ -389,7 +394,7 @@ import{v as m,M as o,A}from"./chunks/index.es.vxZiu-N0.js";import{d as c,o as u,
389
394
  <span class="line highlighted"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Quad Count: {{ counter.quadCount }} &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">br</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
390
395
  <span class="line highlighted"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br></div></div></div></div><details class="details custom-block"><summary>For this example we initialize the component like this:</summary><div class="language-vue vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
391
396
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">CounterComputeds</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
392
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,6),Us=F(`<h3 id="disable-computed-behavior-for-certain-getters-in-ivue" tabindex="-1">Disable computed behavior for certain getters in <code>ivue</code>.<br> <a class="header-anchor" href="#disable-computed-behavior-for-certain-getters-in-ivue" aria-label="Permalink to &quot;Disable computed behavior for certain getters in \`ivue\`.&lt;br /&gt;&quot;">​</a></h3><p>You can disable computed getters via <code>static ivue = { getter: false }</code>, see below:</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-ntSNl" id="tab-nDcegv9" checked><label for="tab-nDcegv9">CounterComputedsDisabled.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
397
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,6),ms=u(`<h3 id="disable-computed-behavior-for-certain-getters-in-ivue" tabindex="-1">Disable computed behavior for certain getters in <code>ivue</code>.<br> <a class="header-anchor" href="#disable-computed-behavior-for-certain-getters-in-ivue" aria-label="Permalink to &quot;Disable computed behavior for certain getters in \`ivue\`.&lt;br /&gt;&quot;">​</a></h3><p>You can disable computed getters via <code>static ivue = { getter: false }</code>, see below:</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-R45Hs" id="tab-zCyEWZf" checked><label for="tab-zCyEWZf">CounterComputedsDisabled.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
393
398
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ivue, iref } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ivue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
394
399
  <span class="line"></span>
395
400
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> Counter</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
@@ -419,7 +424,7 @@ import{v as m,M as o,A}from"./chunks/index.es.vxZiu-N0.js";import{d as c,o as u,
419
424
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Count: {{ counter.count }} &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">br</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
420
425
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Double Count: {{ counter.doubleCount }} &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">br</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
421
426
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Quad Count: {{ counter.quadCount }} &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">br</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
422
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br></div></div></div></div><p>The result of this example is identical to the above.</p><h2 id="using-watch" tabindex="-1">Using Watch <a class="header-anchor" href="#using-watch" aria-label="Permalink to &quot;Using Watch&quot;">​</a></h2><p>To use <code>watch</code>, <code>watchEffect</code>, and other reactive functions, declare <code>.init()</code> method in the class. See the highlighted sections related to using <code>init()</code> below:</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-WCqOg" id="tab-jsd_Fz_" checked><label for="tab-jsd_Fz_">CounterWatch.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
427
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br></div></div></div></div><p>The result of this example is identical to the above.</p><h2 id="using-watch" tabindex="-1">Using Watch <a class="header-anchor" href="#using-watch" aria-label="Permalink to &quot;Using Watch&quot;">​</a></h2><p>To use <code>watch</code>, <code>watchEffect</code>, and other reactive functions, declare <code>.init()</code> method in the class. See the highlighted sections related to using <code>init()</code> below:</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-txL2e" id="tab-s8N5Bps" checked><label for="tab-s8N5Bps">CounterWatch.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
423
428
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { watch } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;vue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
424
429
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ivue, iref } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ivue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
425
430
  <span class="line"></span>
@@ -448,7 +453,7 @@ import{v as m,M as o,A}from"./chunks/index.es.vxZiu-N0.js";import{d as c,o as u,
448
453
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Count: {{ counter.count }} (Click 5 times to get an alert)</span></span>
449
454
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br></div></div></div></div><details class="details custom-block"><summary>For this example we initialize the component like this:</summary><div class="language-vue vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
450
455
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">CounterWatch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
451
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,9),js=F(`<h2 id="using-lifecycle-hooks" tabindex="-1">Using Lifecycle Hooks <a class="header-anchor" href="#using-lifecycle-hooks" aria-label="Permalink to &quot;Using Lifecycle Hooks&quot;">​</a></h2><p>To use <code>onMounted</code>, <code>onBeforeMount</code> and other lifecycle hooks, declare <code>.init()</code> method in the class. See the highlighted sections related to using <code>init()</code> below:</p><div class="tip custom-block"><p class="custom-block-title">NOTICE:</p><p><code>init()</code> method can be declared as <code>async</code> if needed.</p></div><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-YSoNq" id="tab-Z1rk0at" checked><label for="tab-Z1rk0at">CounterLifecycleHooks.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
456
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,9),Cs=u(`<h2 id="using-lifecycle-hooks" tabindex="-1">Using Lifecycle Hooks <a class="header-anchor" href="#using-lifecycle-hooks" aria-label="Permalink to &quot;Using Lifecycle Hooks&quot;">​</a></h2><p>To use <code>onMounted</code>, <code>onBeforeMount</code> and other lifecycle hooks, declare <code>.init()</code> method in the class. See the highlighted sections related to using <code>init()</code> below:</p><div class="tip custom-block"><p class="custom-block-title">NOTICE:</p><p><code>init()</code> method can be declared as <code>async</code> if needed.</p></div><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-SF0v1" id="tab-abGZr2y" checked><label for="tab-abGZr2y">CounterLifecycleHooks.vue</label></div><div class="blocks"><div class="language-vue vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> lang</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;ts&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
452
457
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { onMounted } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;vue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
453
458
  <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { ivue, iref } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ivue&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
454
459
  <span class="line"></span>
@@ -471,4 +476,4 @@ import{v as m,M as o,A}from"./chunks/index.es.vxZiu-N0.js";import{d as c,o as u,
471
476
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Count: {{ counter.count }} (onMounted we set it to 100)</span></span>
472
477
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br></div></div></div></div><details class="details custom-block"><summary>For this example we initialize the component like this:</summary><div class="language-vue vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
473
478
  <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">CounterLifecycleHooks</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> /&gt;</span></span>
474
- <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,6),Os=JSON.parse('{"title":"Example Usage","description":"","frontmatter":{},"headers":[],"relativePath":"pages/usage.md","filePath":"pages/usage.md"}'),Ss={name:"pages/usage.md"},Ys=c({...Ss,setup(a){function n(t){alert("Count is now: "+t)}const s=B(null);function l(){s.value.increment()}function i(){s.value.decrement()}return(t,E)=>(u(),b("div",null,[As,y(j),Ds,y(S,{"initial-count":5}),Bs,y(z,{"initial-count":5,onIncrement:n}),fs,y(Y),xs,y($),_s,h("p",null,[h("button",{class:"button",onClick:l},"Increment via Component Ref from Parent Component"),qs,h("button",{class:"button",onClick:i},"Decrement via Component Ref from Parent Component")]),y(O,{ref_key:"defineExposeRef",ref:s},null,512),ws,y(G),Rs,y(ns),Ps,y(os),Ms,y(cs),Is,y(ms),Us,y(Cs),js,y(vs)]))}});export{Os as __pageData,Ys as default};
479
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div></details><div style="font-size:18px;font-weight:500;">Result</div>`,6),Bs=JSON.parse('{"title":"Example Usage","description":"","frontmatter":{},"headers":[],"relativePath":"pages/usage.md","filePath":"pages/usage.md"}'),vs={name:"pages/usage.md"},fs=d({...vs,setup(e){function l(k){alert("Count is now: "+k)}const s=C(null);function t(){s.value.increment()}function i(){s.value.decrement()}return(k,r)=>(y(),o("div",null,[es,g(x),ks,g(_,{"initial-count":5}),rs,g(q,{"initial-count":5,onIncrement:l}),Es,g(P),ds,g(I),gs,n("p",null,[n("button",{class:"button",onClick:t},"Increment via Component Ref from Parent Component"),cs,n("button",{class:"button",onClick:i},"Decrement via Component Ref from Parent Component")]),g(R,{ref_key:"defineExposeRef",ref:s},null,512),ys,g(L),os,g(V),us,g(is),bs,g(G),Fs,g(ts),ms,g(ps),Cs,g(hs)]))}});export{Bs as __pageData,fs as default};