voodoojs 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,6 +4,13 @@
4
4
 
5
5
  No mandatory build step · No runtime dependencies · No Virtual DOM · No configuration required
6
6
 
7
+ [Website](https://kwy404.github.io/Voodoo.js/) ·
8
+ [Playground](https://kwy404.github.io/Voodoo.js/playground.html) ·
9
+ [Components](https://kwy404.github.io/Voodoo.js/components.html) ·
10
+ [Examples](https://kwy404.github.io/Voodoo.js/examples/) ·
11
+ [Documentation](https://kwy404.github.io/Voodoo.js/docs/) ·
12
+ [GitHub](https://github.com/kwy404/Voodoo.js)
13
+
7
14
  ---
8
15
 
9
16
  ## Install
@@ -15,14 +22,16 @@ npm install voodoojs
15
22
  Or drop it into a page, with nothing else:
16
23
 
17
24
  ```html
18
- <script src="https://cdn.jsdelivr.net/npm/voodoojs/dist/voodoo.min.js" defer></script>
25
+ <script src="https://cdn.jsdelivr.net/npm/voodoojs@0.6/dist/voodoo.min.js" defer></script>
19
26
 
20
27
  <div v-data="{ count: 0 }">
21
28
  <button @click="count++">Clicked { count } times</button>
22
29
  </div>
23
30
  ```
24
31
 
25
- That page is a complete application. There is no build step, no bundler and no configuration.
32
+ That page is a complete application. There is no build step, no bundler and no
33
+ configuration. The tag is pinned to the `0.6` line, so patch releases arrive
34
+ without an edit; pin the exact version if you would rather approve each one.
26
35
 
27
36
  ## Two ways to write it
28
37
 
@@ -45,30 +54,73 @@ effect(() => console.log(state.count));
45
54
  state.count++;
46
55
  ```
47
56
 
57
+ ## What you get
58
+
59
+ Reactivity, components, a router, HTTP, forms with validation and masks, input
60
+ masks, i18n, charts, motion, sound, a devtools inspector, and 29 ready-made
61
+ components that need no registration — writing the tag is the whole usage.
62
+
63
+ ```html
64
+ <v-button variant="primary">Save</v-button>
65
+ <v-input label="Email" type="email"></v-input>
66
+ <v-table :columns="cols" :rows="people"></v-table>
67
+ ```
68
+
69
+ ## No eval, anywhere
70
+
71
+ Expressions run through a lexer, a Pratt parser and an interpreter, never `eval`
72
+ or `new Function`. That is why the library works under a strict Content Security
73
+ Policy with no `unsafe-eval`, which a browser test proves by loading it under
74
+ `script-src 'self'` and asserting no policy violation is raised.
75
+
76
+ ## It cleans up after itself
77
+
78
+ Once a directive is installed, its attribute is read into memory and removed from
79
+ the document. What ships to the page is ordinary HTML, with no framework residue
80
+ in the inspector. Turn it off with `V.config.cleanAttributes = false` if you need
81
+ the attributes for something else.
82
+
48
83
  ## Builds
49
84
 
50
- | File | What it carries |
51
- | --- | --- |
52
- | `dist/voodoo.core.min.js` | Reactivity, expressions, DOM engine, components, core directives |
53
- | `dist/voodoo.min.js` | The above plus forms, validation, masks, UI and HTTP. Served by default on the CDN |
54
- | `dist/voodoo.full.min.js` | Everything: charts, motion, router, i18n, sound and the devtools inspector |
85
+ | File | What it carries | Gzip |
86
+ | --- | --- | --- |
87
+ | `dist/voodoo.core.min.js` | Reactivity, expressions, DOM engine, components, core directives | 46 KB |
88
+ | `dist/voodoo.min.js` | The above plus forms, validation, masks, UI and HTTP | 83 KB |
89
+ | `dist/voodoo.full.min.js` | Everything: charts, motion, router, i18n, sound, devtools | 129 KB |
55
90
 
56
- Module entry points are also published for bundlers:
91
+ Module entry points are published for bundlers, in ESM and CJS, with types:
57
92
 
58
93
  ```js
59
94
  import { reactive } from 'voodoojs/reactivity';
60
95
  import { http } from 'voodoojs/http';
61
96
  ```
62
97
 
63
- TypeScript definitions ship with the package.
98
+ ## Performance
64
99
 
65
- ## Documentation
100
+ A 1,000-row keyed list, median of 30 samples, against the same document, every
101
+ framework bundled production and minified. Lower is better.
102
+
103
+ | | create 1k | update 1 in 10 | clear 1k |
104
+ | --- | ---: | ---: | ---: |
105
+ | vanilla JS | 48.74 | 7.52 | 21.06 |
106
+ | Preact 10.29.8 | 91.62 | 2.59 | 29.48 |
107
+ | **Voodoo.js** | **97.70** | **5.42** | **30.44** |
108
+ | React 19.2.8 | 100.23 | 4.63 | 33.59 |
109
+ | Vue 3.5.42 | 110.56 | 19.21 | 31.65 |
110
+ | Solid 1.9.15 | 111.63 | 0.91 | 19.99 |
111
+ | Alpine 3.17.1 | 179.47 | 104.51 | 31.39 |
66
112
 
67
- Full documentation, guides, examples and the API reference live in the repository:
113
+ Read honestly: hand-written vanilla still builds a list twice as fast, and Voodoo
114
+ is by far the largest bundle in that table. If size is your main constraint,
115
+ Alpine and Preact are the honest recommendation. Method and per-framework
116
+ adapters are in the repository.
68
117
 
69
- **https://github.com/kwy404/Voodoo.js**
118
+ ## Documentation
70
119
 
71
- The documentation is written in Portuguese under `docs/`, with an English set under `docs/en/`.
120
+ Everything lives at **[kwy404.github.io/Voodoo.js](https://kwy404.github.io/Voodoo.js/)**:
121
+ a guide, an API reference, 13 working example applications, a playground with 26
122
+ runnable examples, and the component gallery. The site is built with Voodoo.js
123
+ itself and has no build step of its own.
72
124
 
73
125
  ## License
74
126
 
package/dist/index.cjs CHANGED
@@ -7746,12 +7746,13 @@ function writeUrl(state2, url2, replace) {
7746
7746
  }
7747
7747
  }
7748
7748
  if (settings2.mode !== "hash") return;
7749
- const hash = url2.slice(url2.indexOf("#"));
7749
+ const marker = url2.indexOf("#");
7750
+ if (marker < 0) return;
7751
+ const hash = url2.slice(marker);
7750
7752
  if (window.location.hash === hash) return;
7751
7753
  writingHash = true;
7752
7754
  try {
7753
- if (replace) window.location.replace(url2);
7754
- else window.location.hash = hash;
7755
+ window.location.hash = hash;
7755
7756
  } finally {
7756
7757
  setTimeout(() => {
7757
7758
  writingHash = false;
package/dist/index.js CHANGED
@@ -142,12 +142,13 @@ function writeUrl(state2, url2, replace) {
142
142
  }
143
143
  }
144
144
  if (settings.mode !== "hash") return;
145
- const hash = url2.slice(url2.indexOf("#"));
145
+ const marker = url2.indexOf("#");
146
+ if (marker < 0) return;
147
+ const hash = url2.slice(marker);
146
148
  if (window.location.hash === hash) return;
147
149
  writingHash = true;
148
150
  try {
149
- if (replace) window.location.replace(url2);
150
- else window.location.hash = hash;
151
+ window.location.hash = hash;
151
152
  } finally {
152
153
  setTimeout(() => {
153
154
  writingHash = false;
@@ -7869,12 +7869,13 @@ Suggestion: attribute expressions accept a single value. If the logic spans more
7869
7869
  }
7870
7870
  }
7871
7871
  if (settings2.mode !== "hash") return;
7872
- const hash = url2.slice(url2.indexOf("#"));
7872
+ const marker = url2.indexOf("#");
7873
+ if (marker < 0) return;
7874
+ const hash = url2.slice(marker);
7873
7875
  if (window.location.hash === hash) return;
7874
7876
  writingHash = true;
7875
7877
  try {
7876
- if (replace) window.location.replace(url2);
7877
- else window.location.hash = hash;
7878
+ window.location.hash = hash;
7878
7879
  } finally {
7879
7880
  setTimeout(() => {
7880
7881
  writingHash = false;
@@ -135,7 +135,7 @@ Suggestion: attribute expressions accept a single value. If the logic spans more
135
135
  .v-json-object dt{font-weight:600;color:var(--v-text-muted,#6B6580)}
136
136
  .v-json-object dd{margin:0}
137
137
  .v-json-empty{color:var(--v-text-muted,#6B6580);font-style:italic}
138
- `)}))}function Bv(e){let t=e.tagName;if(t==="FORM")return"submit";if(t==="INPUT"||t==="SELECT"||t==="TEXTAREA"){let n=e.type;return n==="button"||n==="submit"?"click":"change"}return"click"}function jv({el:e,cleanup:t,run:n}){var d,u;let r=V(e,"trigger")||Bv(e),[o,...i]=r.split(/[.\s]+/),s=G((d=V(e,"poll"))!=null?d:void 0,0);if(s>0){n();let p=setInterval(()=>{document.visibilityState==="visible"&&n()},s);t(()=>clearInterval(p));return}if(o==="load"||o==="ready"){n();return}if(o==="visible"||o==="revealed"){if(typeof IntersectionObserver=="undefined"){n();return}let p=new IntersectionObserver(f=>{for(let m of f)m.isIntersecting&&(n(),i.includes("repeat")||p.unobserve(e))},{rootMargin:"80px"});p.observe(e),t(()=>p.disconnect());return}let a=i.includes("once"),l=G((u=V(e,"debounce"))!=null?u:void 0,0),c=p=>{(e.tagName==="FORM"||e.href)&&p.preventDefault(),n(p)};l>0&&(c=Ue(c,l)),e.addEventListener(o,c,{once:a}),t(()=>e.removeEventListener(o,c))}var qv=[["get","GET"],["post","POST"],["put","PUT"],["patch","PATCH"],["delete","DELETE"]];for(let[e,t]of qv)y(e,({el:n,scope:r,expression:o,cleanup:i})=>{jv({el:n,scope:r,cleanup:i,run:a=>{let l=qr(o,r);if(!l)return;let c=V(n,"body")||V(n,"data-body"),d=c?q(c,r.child({$event:a}),"v-body"):void 0,u=V(n,"params"),p=u?q(u,r,"v-params"):void 0;jr({el:n,scope:r,method:t,url:l,body:d,params:p,event:a})}})});function qr(e,t){let n=e.trim();if(!n)return"";if((/^[./#?]/.test(n)||/^https?:\/\//i.test(n)||/^[\w-]+\/[\w\-/.]*$/.test(n))&&!/[+`'"]|\$\{/.test(n))return n;let o=q(n,t,"URL");return typeof o=="string"?o:n}y("load",({el:e,scope:t,expression:n})=>{let r=qr(n,t);r&&jr({el:e,scope:t,method:"GET",url:r})});y("load-visible",({el:e,scope:t,cleanup:n,expression:r})=>{let o=qr(r,t);if(!o)return;if(typeof IntersectionObserver=="undefined"){jr({el:e,scope:t,method:"GET",url:o});return}let i=new IntersectionObserver(s=>{for(let a of s)a.isIntersecting&&(i.unobserve(e),jr({el:e,scope:t,method:"GET",url:o}))},{rootMargin:"120px"});i.observe(e),n(()=>i.disconnect())});y("search",({el:e,scope:t,expression:n,cleanup:r})=>{var u,p;let o=e,i=qr(n,t),s=V(e,"param")||o.getAttribute("name")||"q",a=G((u=V(e,"debounce"))!=null?u:void 0,300),l=Number((p=V(e,"min-length"))!=null?p:0),c=Ue(()=>{let f=o.value.trim();f.length<l||jr({el:e,scope:t,method:"GET",url:i,params:{[s]:f}})},a),d=()=>c();o.addEventListener("input",d),r(()=>{o.removeEventListener("input",d),c.cancel()})});y("resource",({el:e,scope:t,expression:n,cleanup:r})=>{var l,c,d,u;let o=n.indexOf(":"),i=V(e,"as")||"resource",s=n.trim();if(o>-1){let p=n.slice(0,o).trim();/^[A-Za-z_$][\w$]*$/.test(p)&&(i=p,s=n.slice(o+1).trim())}let a=ii(()=>qr(s,t),{method:(V(e,"method")||"GET").toUpperCase(),params:()=>V(e,"params")?q(V(e,"params"),t,"v-params"):void 0,cache:G((l=V(e,"cache"))!=null?l:void 0,0)||void 0,retry:Number((c=V(e,"retry"))!=null?c:0),timeout:G((d=V(e,"timeout"))!=null?d:void 0,ve.defaults.timeout),jsonPath:V(e,"json-path"),poll:G((u=V(e,"poll"))!=null?u:void 0,0),manual:xa(e,"manual"),onSuccess:p=>Yn(e,"voodoo:success",{data:p}),onError:(p,f)=>Yn(e,"voodoo:error",{error:p,message:f})});t.set(i,a),r(()=>a.stop())},{priority:j.DATA});for(let e of["target","swap","trigger","poll","param","params","body","data-body","headers","cache","retry","timeout","as","json-path","template","offline-queue","min-length","scroll-to","manual","debounce","throttle","indicator"])y(e,()=>{},{priority:j.TRANSITION});od(ud);dd(Ot);gd(eu);Nd();var Vr=new Map;function Zd(e,t){let n=Vr.get(e);return n||Vr.set(e,n=new Set),n.add(t),()=>n.delete(t)}function Vv(e,t){let n=Zd(e,r=>{n(),t(r)});return n}function Uv(e,t){let n=Vr.get(e);if(n)for(let r of[...n])try{r(t)}catch(o){K(o,`event "${e}"`)}}function Wv(e,t){var n;if(!t){Vr.delete(e);return}(n=Vr.get(e))==null||n.delete(t)}function eu(e,t){var r,o;let n=typeof t=="function"?{mounted:t,updated:t}:t;y(e,i=>{var d,u;let s,a=!1,l=p=>{var f,m;return{el:i.el,value:p,oldValue:s,arg:i.arg,modifiers:i.modifiers,expression:i.expression,scope:i.scope,instance:(m=(f=i.scope.owner)==null?void 0:f.component)!=null?m:null}},c=n.raw?i.expression:i.evaluate();(d=n.created)==null||d.call(n,i.el,l(c)),(u=n.beforeMount)==null||u.call(n,i.el,l(c)),i.effect(()=>{var m,h;let p=n.raw?i.expression:i.evaluate();if(!a){a=!0,s=p,(m=n.mounted)==null||m.call(n,i.el,l(p));return}if(p===s)return;let f=l(p);(h=n.updated)==null||h.call(n,i.el,f),s=p}),i.cleanup(()=>{var f,m;let p=l(s);(f=n.beforeUnmount)==null||f.call(n,i.el,p),(m=n.unmounted)==null||m.call(n,i.el,p)})},{priority:(r=n.priority)!=null?r:j.DEFAULT,terminal:(o=n.terminal)!=null?o:!1})}function _v(e){return Object.defineProperties(ct.data,Object.getOwnPropertyDescriptors(e)),ct.data}var Kv="0.4.6",li={...ca,version:Kv,config:w,reactive:Z,ref:Mr,shallowRef:Ns,computed:Sr,effect:_e,watch:Oe,watchEffect:Fs,nextTick:at,toRaw:Le,markRaw:Hs,unref:Os,stop:Cs,effectScope:Rs,EffectScope:et,flushSync:Ls,data:_v,store:wd,stores:Fn,removeStore:Ed,storeNames:Ko,scope:ct,component:Ft,components:$e,directive:eu,directives:wt,magic:P,magics:Ar,createApp:bd,start:sd,whenReady:Uo,whenElement:Wo,walk:se,refresh:ld,destroy:X,stopObserving:ad,getScope:Lt,findScope:Ve,addCleanup:dt,parseAttribute:$n,parse:lt,tokenize:Po,evaluate:F,evaluateIn:q,stringify:Ht,clearParseCache:Oc,globals:Pe,http:ve,request:zt,HttpError:Ee,resource:ii,toast:tt,storage:ue,session:ei,cookie:ti,cache:ni,url:jt,theme:ut,clipboard:oi,screen:Ke,network:qt,enter:zr,leave:Br,fadeIn:_n,fadeOut:Kn,slideUp:dn,slideDown:cn,viewTransition:si,injectStyle:ne,ensureTokens:he,on:Zd,once:Vv,off:Wv,emit:Uv,use(e,t){No(li,e,t)},onError(e){Ms(e)},instances:Mt,Scope:on,PRIORITY:j,VoodooSyntaxError:de,VoodooRuntimeError:Re};xd(li);be();var Yv=new Set(["animation-iteration-count","aspect-ratio","border-image-slice","column-count","flex","flex-grow","flex-shrink","font-weight","grid-area","grid-column","grid-row","line-height","opacity","order","orphans","scale","tab-size","widows","z-index","zoom"]);function cu(e){return e.startsWith("--")?e:e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}function nt(e){return e.length<2?e:Array.from(new Set(e))}function un(e){return String(e!=null?e:"").split(/\s+/).filter(Boolean)}function wa(e){if(typeof document=="undefined")return[];let t=document.createElement("template");t.innerHTML=e.trim();let n=[];for(let r of Array.from(t.content.children))n.push(r);return n}function du(e){return e.length>2&&e.charCodeAt(0)===60&&e.endsWith(">")}function Xv(e){if(e==null)return typeof document=="undefined"?[]:[document];if(e instanceof ft)return e.toArray();if(typeof e=="string")return fn(e);if(typeof e=="function")return typeof document=="undefined"?[]:[document];let t=fn(e);return t.length?t:typeof document=="undefined"?[]:[document]}function fn(e,t){if(e==null)return[];if(typeof e=="string"){let o=e.trim();if(!o)return[];if(du(o))return wa(o);let i=[];for(let s of Xv(t))try{for(let a of Array.from(s.querySelectorAll(o)))i.push(a)}catch(a){}return nt(i)}if(e instanceof ft)return e.toArray();if(typeof e=="function")return[];let n=e;if(typeof n.nodeType=="number"){if(n.nodeType===1)return[n];if(n.nodeType===9){let o=n;return o.documentElement?[o.documentElement]:[]}return n.nodeType===11?Array.from(n.children):[]}let r=e;if(typeof r.length=="number"){let o=[];for(let i=0;i<r.length;i++){let s=r[i];s&&s.nodeType===1&&o.push(s)}return nt(o)}return[]}function tu(e){if(e==null)return[];if(typeof e=="string"){let r=e;return du(r.trim())?wa(r):[document.createTextNode(r)]}if(e instanceof ft)return e.toArray();if(typeof e=="function")return[];let t=e;if(typeof t.nodeType=="number")return[t];let n=e;if(typeof n.length=="number"){let r=[];for(let o=0;o<n.length;o++)n[o]&&r.push(n[o]);return r}return[]}function ci(e,t,n){let r=cu(t);if(n===null||n===""){e.style.removeProperty(r);return}let o=typeof n=="number"&&!Yv.has(r)&&!r.startsWith("--")?`${n}px`:String(n);e.style.setProperty(r,o)}function Gv(e,t){for(let[n,r]of Object.entries(t))ci(e,n,r)}function nu(e){if(e===void 0)return;if(e==="")return"";if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(/^-?\d+(\.\d+)?$/.test(e))return Number(e);let t=e.charCodeAt(0);if(t===123||t===91||t===34)try{return JSON.parse(e)}catch(n){return e}return e}function ru(e){return e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase())}var uu=new WeakMap;function ou(e){return e.hasAttribute("hidden")||e.style.display==="none"?!0:e.isConnected?getComputedStyle(e).display==="none":!1}function iu(e){e.removeAttribute("hidden");let t=uu.get(e);t!==void 0&&t!=="none"?e.style.display=t:e.style.removeProperty("display"),e.isConnected&&getComputedStyle(e).display==="none"&&(e.style.display="block")}function su(e){let t=e.style.display;t&&t!=="none"&&uu.set(e,t),e.style.display="none"}var au="input,select,textarea";function lu(e){return e.matches(au)?[e]:Array.from(e.querySelectorAll(au))}function Qv(e){let t=e;if(!t.name||t.disabled)return!1;let n=(t.getAttribute("type")||"").toLowerCase();return!(n==="file"||n==="submit"||n==="reset"||n==="button"||(n==="checkbox"||n==="radio")&&!t.checked)}var di=new WeakMap;function Jv(e){let t=di.get(e);return t||di.set(e,t=[]),t}var ft=class e{constructor(t=[]){H(this,"length");H(this,"elements");this.elements=t,this.length=t.length;let n=this;for(let r=0;r<t.length;r++)n[r]=t[r]}[Symbol.iterator](){return this.elements[Symbol.iterator]()}find(t){let n=[];for(let r of this.elements)try{for(let o of Array.from(r.querySelectorAll(t)))n.push(o)}catch(o){}return new e(nt(n))}closest(t){let n=[];for(let r of this.elements){let o=r.closest(t);o&&n.push(o)}return new e(nt(n))}parent(t){let n=[];for(let r of this.elements){let o=r.parentElement;o&&(!t||o.matches(t))&&n.push(o)}return new e(nt(n))}parents(t){let n=[];for(let r of this.elements){let o=r.parentElement;for(;o;)(!t||o.matches(t))&&n.push(o),o=o.parentElement}return new e(nt(n))}children(t){let n=[];for(let r of this.elements)for(let o of Array.from(r.children))(!t||o.matches(t))&&n.push(o);return new e(nt(n))}siblings(t){let n=[];for(let r of this.elements){let o=r.parentElement;if(o)for(let i of Array.from(o.children))i!==r&&(!t||i.matches(t))&&n.push(i)}return new e(nt(n))}next(t){let n=[];for(let r of this.elements){let o=r.nextElementSibling;o&&(!t||o.matches(t))&&n.push(o)}return new e(nt(n))}prev(t){let n=[];for(let r of this.elements){let o=r.previousElementSibling;o&&(!t||o.matches(t))&&n.push(o)}return new e(nt(n))}first(){return this.eq(0)}last(){return this.eq(-1)}eq(t){let n=t<0?this.elements.length+t:t,r=this.elements[n];return new e(r?[r]:[])}filter(t){let n=this.elements.filter((r,o)=>typeof t=="function"?t(r,o):r.matches(t));return new e(n)}not(t){let n=this.elements.filter((r,o)=>typeof t=="function"?!t(r,o):!r.matches(t));return new e(n)}has(t){let n=this.elements.filter(r=>typeof t=="string"?r.querySelector(t)!==null:r.contains(t));return new e(n)}is(t){return this.elements.some((n,r)=>typeof t=="function"?t(n,r):n.matches(t))}map(t){return this.elements.map((n,r)=>t(n,r))}each(t){for(let n=0;n<this.elements.length;n++){let r=this.elements[n];if(t.call(r,r,n)===!1)break}return this}get(...t){if(!t.length)return this.toArray();let n=Number(t[0]);return this.elements[n<0?this.elements.length+n:n]}toArray(){return this.elements.slice()}add(t,n){return new e(nt([...this.elements,...fn(t,n)]))}slice(t,n){return new e(this.elements.slice(t,n))}text(...t){var o,i;if(!t.length)return(i=(o=this.elements[0])==null?void 0:o.textContent)!=null?i:"";let n=t[0],r=n==null?"":String(n);for(let s of this.elements){for(let a of Array.from(s.childNodes))X(a);s.textContent=r}return this}html(...t){var o,i;if(!t.length)return(i=(o=this.elements[0])==null?void 0:o.innerHTML)!=null?i:"";let n=t[0],r=n==null?"":String(n);for(let s of this.elements){for(let a of Array.from(s.childNodes))X(a);s.innerHTML=r}return this}val(...t){var r;if(!t.length){let o=this.elements[0];if(!o)return"";let i=o;return o.tagName==="SELECT"&&i.multiple?Array.from(i.selectedOptions).map(s=>s.value):o.type==="checkbox"?o.checked?o.value||"on":"":(r=o.value)!=null?r:""}let n=t[0];for(let o of this.elements){let i=o,s=o;if(i.tagName==="SELECT"&&s.multiple){let a=(Array.isArray(n)?n:[n]).map(String);for(let l of Array.from(s.options))l.selected=a.includes(l.value);continue}if(i.type==="checkbox"||i.type==="radio"){i.checked=Array.isArray(n)?n.map(String).includes(i.value):n===!0||String(n)===i.value;continue}i.value=n==null?"":String(n)}return this}attr(...t){var i,s;let n=t[0];if(n!==null&&typeof n=="object"){for(let a of this.elements)for(let[l,c]of Object.entries(n))c===null||c===!1?a.removeAttribute(l):a.setAttribute(l,c===!0?"":String(c));return this}let r=String(n);if(t.length<2)return(s=(i=this.elements[0])==null?void 0:i.getAttribute(r))!=null?s:void 0;let o=t[1];for(let a of this.elements)o===null||o===!1?a.removeAttribute(r):a.setAttribute(r,o===!0?"":String(o));return this}removeAttr(t){let n=un(t);for(let r of this.elements)for(let o of n)r.removeAttribute(o);return this}prop(...t){let n=String(t[0]);if(t.length<2){let r=this.elements[0];return r?r[n]:void 0}for(let r of this.elements)r[n]=t[1];return this}data(...t){let n=t[0];if(!t.length){let i=this.elements[0];if(!i)return{};let s={};for(let[a,l]of Object.entries(i.dataset))s[a]=nu(l);return s}if(n!==null&&typeof n=="object"){for(let i of this.elements)for(let[s,a]of Object.entries(n))i.dataset[ru(s)]=typeof a=="string"?a:JSON.stringify(a!=null?a:null);return this}let r=ru(String(n));if(t.length<2){let i=this.elements[0];return i?nu(i.dataset[r]):void 0}let o=t[1];for(let i of this.elements)i.dataset[r]=typeof o=="string"?o:JSON.stringify(o!=null?o:null);return this}css(...t){let n=t[0];if(n!==null&&typeof n=="object"){for(let o of this.elements)Gv(o,n);return this}let r=String(n);if(t.length<2){let o=this.elements[0];if(!o)return"";let i=cu(r);return((o.isConnected?getComputedStyle(o).getPropertyValue(i):"")||o.style.getPropertyValue(i)).trim()}for(let o of this.elements)ci(o,r,t[1]);return this}width(...t){if(!t.length){let n=this.elements[0];return n?n.getBoundingClientRect().width:0}for(let n of this.elements)ci(n,"width",t[0]);return this}height(...t){if(!t.length){let n=this.elements[0];return n?n.getBoundingClientRect().height:0}for(let n of this.elements)ci(n,"height",t[0]);return this}offset(){let t=this.elements[0];if(!t)return{top:0,left:0};let n=t.getBoundingClientRect();return{top:n.top+window.scrollY,left:n.left+window.scrollX}}position(){let t=this.elements[0];return t?{top:t.offsetTop,left:t.offsetLeft}:{top:0,left:0}}scrollTop(...t){var r,o;if(!t.length)return(o=(r=this.elements[0])==null?void 0:r.scrollTop)!=null?o:0;let n=Number(t[0])||0;for(let i of this.elements)i.scrollTop=n;return this}addClass(t){let n=un(t);if(n.length)for(let r of this.elements)r.classList.add(...n);return this}removeClass(t){let n=un(t);if(n.length)for(let r of this.elements)r.classList.remove(...n);return this}toggleClass(t,n){let r=un(t);for(let o of this.elements)for(let i of r)n===void 0?o.classList.toggle(i):o.classList.toggle(i,n);return this}hasClass(t){let n=un(t);return n.length?this.elements.some(r=>n.every(o=>r.classList.contains(o))):!1}insert(t,n){let r=this.elements.length;for(let o=0;o<r;o++){let i=this.elements[o];for(let s of tu(t))n(i,o===r-1?s:s.cloneNode(!0))}return this}append(t){return this.insert(t,(n,r)=>n.appendChild(r))}prepend(t){return this.insert(t,(n,r)=>n.insertBefore(r,n.firstChild))}before(t){return this.insert(t,(n,r)=>{var o;return(o=n.parentNode)==null?void 0:o.insertBefore(r,n)})}after(t){return this.insert(t,(n,r)=>{var o;return(o=n.parentNode)==null?void 0:o.insertBefore(r,n.nextSibling)})}appendTo(t){let n=fn(t);for(let r=0;r<n.length;r++)for(let o of this.elements)n[r].appendChild(r===n.length-1?o:o.cloneNode(!0));return this}prependTo(t){let n=fn(t);for(let r=0;r<n.length;r++){let o=n[r],i=this.elements.map(s=>r===n.length-1?s:s.cloneNode(!0));for(let s=i.length-1;s>=0;s--)o.insertBefore(i[s],o.firstChild)}return this}replaceWith(t){for(let n of this.elements){let r=n.parentNode;if(r){for(let o of tu(t))r.insertBefore(o,n);X(n),n.remove()}}return this}wrap(t){var n;for(let r of this.elements){let o=fn(t)[0];if(!o)continue;let i=o.cloneNode(!0);(n=r.parentNode)==null||n.insertBefore(i,r);let s=i;for(;s.firstElementChild;)s=s.firstElementChild;s.appendChild(r)}return this}unwrap(){let t=new Set;for(let n of this.elements){let r=n.parentElement;r&&r!==document.body&&t.add(r)}for(let n of t){let r=n.parentNode;if(r){for(;n.firstChild;)r.insertBefore(n.firstChild,n);X(n),n.remove()}}return this}remove(){for(let t of this.elements)X(t),t.remove();return this}empty(){for(let t of this.elements){for(let n of Array.from(t.childNodes))X(n);t.replaceChildren()}return this}clone(t=!0){return new e(this.elements.map(n=>n.cloneNode(t)))}on(t,...n){var a;let r=typeof n[0]=="string",o=r?n[0]:null,i=r?n[1]:n[0],s=(a=r?n[2]:n[1])!=null?a:{};if(typeof i!="function")return this;for(let l of this.elements)for(let c of un(t)){let d=u=>{if(!o){i.call(l,u);return}let p=u.target,f=p==null?void 0:p.closest(o);!f||!l.contains(f)||i.call(f,u)};l.addEventListener(c,d,s),Jv(l).push({type:c,selector:o,handler:i,wrapped:d,options:s})}return this}off(t,n,r){let o=typeof n=="string"?n:null,i=typeof n=="function"?n:r!=null?r:null,s=t?un(t):null;for(let a of this.elements){let l=di.get(a);if(!l)continue;let c=[];for(let d of l){let u=!s||s.includes(d.type),p=o===null||d.selector===o,f=i===null||d.handler===i;u&&p&&f?a.removeEventListener(d.type,d.wrapped,d.options):c.push(d)}di.set(a,c)}return this}once(t,...n){let r=typeof n[0]=="string",o=r?n[0]:null,i=r?n[1]:n[0];if(typeof i!="function")return this;let s=this,a=function(l){return o?s.off(t,o,a):s.off(t,a),i.call(this,l)};return o?this.on(t,o,a):this.on(t,a)}trigger(t,n){for(let r of this.elements){if(n===void 0&&typeof r[t]=="function"){r[t]();continue}let o=new CustomEvent(t,{detail:n,bubbles:!0,cancelable:!0});o.__voodoo=!0,r.dispatchEvent(o)}return this}emit(t,n){for(let r of this.elements){let o=new CustomEvent(t,{detail:n,bubbles:!0,cancelable:!0});o.__voodoo=!0,r.dispatchEvent(o)}return this}show(){for(let t of this.elements)iu(t);return this}hide(){for(let t of this.elements)su(t);return this}toggle(t){for(let n of this.elements)(t===void 0?ou(n):t)?iu(n):su(n);return this}fadeIn(t=220){for(let n of this.elements)n.removeAttribute("hidden"),_n(n,t);return this}fadeOut(t=220){for(let n of this.elements)Kn(n,t);return this}slideUp(t=240){for(let n of this.elements)dn(n,t);return this}slideDown(t=240){for(let n of this.elements)n.removeAttribute("hidden"),cn(n,t);return this}slideToggle(t=240){for(let n of this.elements)ou(n)?(n.removeAttribute("hidden"),cn(n,t)):dn(n,t);return this}animate(t,n=300){for(let r of this.elements)typeof r.animate=="function"&&r.animate(t,n);return this}scrollIntoView(t={behavior:"smooth",block:"start"}){var n;return(n=this.elements[0])==null||n.scrollIntoView(t),this}serialize(){let t=this.elements[0];if(!t)return"";let n=new URLSearchParams;for(let r of lu(t)){if(!Qv(r))continue;let o=r,i=r;if(o.tagName==="SELECT"&&i.multiple){for(let s of Array.from(i.selectedOptions))n.append(o.name,s.value);continue}n.append(o.name,o.value)}return n.toString()}serializeObject(){var r,o,i,s;let t=this.elements[0],n={};if(!t)return n;for(let a of lu(t)){let l=a;if(!l.name||l.disabled)continue;let c=(l.getAttribute("type")||"").toLowerCase();if(c==="submit"||c==="reset"||c==="button")continue;let d=l.name.endsWith("[]"),u=d?l.name.slice(0,-2):l.name,p=a,f;if(c==="checkbox"){if(!l.checked&&!d){n[u]=(r=n[u])!=null?r:!1;continue}if(!l.checked)continue;f=l.value==="on"?!0:l.value}else if(c==="radio"){if(!l.checked)continue;f=l.value}else c==="file"?f=l.multiple?Array.from((o=l.files)!=null?o:[]):(s=(i=l.files)==null?void 0:i[0])!=null?s:null:l.tagName==="SELECT"&&p.multiple?f=Array.from(p.selectedOptions).map(m=>m.value):c==="number"||c==="range"?f=l.value===""?null:Number(l.value):f=l.value;if(d){let m=n[u];Array.isArray(m)?m.push(f):n[u]=[f];continue}if(Object.prototype.hasOwnProperty.call(n,u)){let m=n[u];Array.isArray(m)?m.push(f):m===void 0||m===!1?n[u]=f:n[u]=[m,f];continue}n[u]=f}return n}focus(t){var n;return(n=this.elements[0])==null||n.focus(t),this}blur(){for(let t of this.elements)t.blur();return this}select(){for(let t of this.elements){let n=t;typeof n.select=="function"&&n.select()}return this}walk(t=!1){for(let n of this.elements)t&&X(n),se(n,Ve(n.parentNode));return this}destroy(){for(let t of this.elements)X(t);return this}};function Ea(e,t){if(typeof e=="function"){ka(e);let n=typeof document!="undefined"?document.documentElement:null;return new ft(n?[n]:[])}return new ft(fn(e,t))}function ka(e){return typeof document=="undefined"?Promise.resolve():new Promise(t=>{hd(()=>{try{e==null||e()}catch(n){K(n,"V.ready")}t()})})}function fu(e){return new ft(wa(e))}be();le();var pn=new Map,Fe={emit(e,t){let n=pn.get(e);if(!(!n||n.size===0))for(let r of[...n])try{r(t)}catch(o){console.error("[Voodoo] error in devtools listener:",o)}},on(e,t){let n=pn.get(e);return n||pn.set(e,n=new Set),n.add(t),()=>{n==null||n.delete(t)}},off(e,t){var n;(n=pn.get(e))==null||n.delete(t)},clear(e){e?pn.delete(e):pn.clear()},count(e){var t,n;return(n=(t=pn.get(e))==null?void 0:t.size)!=null?n:0}};var U={mode:"history",base:"/",beforeEach:null,afterEach:null,linkActiveClass:"v-link-active",linkExactActiveClass:"v-link-exact-active",transition:!0,titleTemplate:"%s",scrollBehavior:null},ui="__voodooRoute",vu=10,pt=[],hu=new Map,fi=new Map,Xn="inicial",pi=!1,gu=!1;function Zv(){return{path:"/",fullPath:"/",params:{},query:{},hash:"",name:"",meta:{},matched:null}}var ce=Z(Zv());function Ur(e){let t=e||"/";return t.startsWith("/")||(t=`/${t}`),t=t.replace(/\/{2,}/g,"/"),t.length>1&&t.endsWith("/")&&(t=t.slice(0,-1)),t}function bu(e){let t={};return e&&new URLSearchParams(e.startsWith("?")?e.slice(1):e).forEach((r,o)=>{t[o]=r}),t}function eh(e){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))r!=null&&t.append(n,String(r));return t.toString()}function Sa(e){let t=e||"/",n="",r=t.indexOf("#");r>-1&&(n=t.slice(r+1),t=t.slice(0,r));let o={},i=t.indexOf("?");return i>-1&&(o=bu(t.slice(i+1)),t=t.slice(0,i)),{path:Ur(t),query:o,hash:n}}function th(e){let t=U.base.replace(/\/$/,"");return!t||t===""?e:e===t?"/":e.startsWith(`${t}/`)?e.slice(t.length):e}function yu(){return typeof window=="undefined"?{path:"/",query:{},hash:""}:U.mode==="hash"?Sa(window.location.hash.slice(1)||"/"):{path:Ur(th(window.location.pathname)),query:bu(window.location.search),hash:window.location.hash.slice(1)}}function xu(e,t,n){let r=eh(t);return`${e}${r?`?${r}`:""}${n?`#${n}`:""}`}function Aa(e){let t=xu(e.path,e.query,e.hash);if(U.mode==="hash"){let{pathname:r,search:o}=window.location;return`${r}${o}#${t}`}return`${U.base==="/"?"":U.base.replace(/\/$/,"")}${t}`||"/"}var La=!1,mi=!1;function Ca(e,t,n){if(!La)try{n?window.history.replaceState(e,"",t):window.history.pushState(e,"",t);return}catch(o){if(!(o instanceof Error)||o.name!=="SecurityError")throw o;La=!0}if(U.mode!=="hash")return;let r=t.slice(t.indexOf("#"));if(window.location.hash!==r){mi=!0;try{n?window.location.replace(t):window.location.hash=r}finally{setTimeout(()=>{mi=!1},0)}}}function wu(e,t){let n=e==="*"?"*":Ur(e),r=n==="*"?["*"]:n.split("/").filter(Boolean),o=[],i=r.length*10;for(let s of r){if(s==="*"||s==="**"){o.push({type:"wildcard",value:"*",optional:!0}),i-=30;continue}if(s.startsWith(":")){let a=s.endsWith("?"),l=s.slice(1,a?-1:void 0);o.push({type:"param",value:l,optional:a}),i+=a?1:2;continue}o.push({type:"static",value:s,optional:!1}),i+=4}return{pattern:n,segments:o,score:i,record:t}}function nh(e,t){let n={},r=0;for(let o of e){if(o.type==="wildcard")return n["*"]=t.slice(r).map(Ta).join("/"),n;if(r>=t.length){if(o.optional)continue;return null}let i=t[r];if(o.type==="static"){if(Ta(i)!==o.value)return null;r++;continue}n[o.value]=Ta(i),r++}return r===t.length?n:null}function Ta(e){try{return decodeURIComponent(e)}catch(t){return e}}function rh(e){let t=e.split("/").filter(Boolean),n=null;for(let r of pt){let o=nh(r.segments,t);o&&(!n||r.score>n.route.score)&&(n={route:r,params:o})}return n}function Ra(e){var t,n;return e&&(n=(t=pt.find(r=>r.pattern===e))==null?void 0:t.record)!=null?n:null}function Gn(e){let{path:t,query:n,hash:r}=Sa(e);return $a(t,n,r)}function $a(e,t,n){var o,i;let r=rh(e);return{path:e,fullPath:xu(e,t,n),params:r?r.params:{},query:t,hash:n,name:(o=r==null?void 0:r.route.record.name)!=null?o:"",meta:(i=r==null?void 0:r.route.record.meta)!=null?i:{},matched:r?r.route.pattern:null}}function Qn(){return{path:ce.path,fullPath:ce.fullPath,params:{...ce.params},query:{...ce.query},hash:ce.hash,name:ce.name,meta:ce.meta,matched:ce.matched}}function Da(e){ce.path=e.path,ce.fullPath=e.fullPath,ce.params=e.params,ce.query=e.query,ce.hash=e.hash,ce.name=e.name,ce.meta=e.meta,ce.matched=e.matched;let t=Ra(e.matched);t!=null&&t.title&&typeof document!="undefined"&&(document.title=U.titleTemplate.includes("%s")?U.titleTemplate.replace("%s",t.title):t.title)}async function Ha(e,t){let n=Ra(e.matched);if(n!=null&&n.redirect)return n.redirect;if(n!=null&&n.beforeEnter){let r=await n.beforeEnter(e,t);if(r===!1)return!1;if(typeof r=="string")return r}if(U.beforeEach){let r=await U.beforeEach(e,t);if(r===!1)return!1;if(typeof r=="string")return r}return!0}function hi(){typeof window!="undefined"&&hu.set(Xn,window.scrollY)}function Pa(e,t,n){typeof window!="undefined"&&Me(()=>{requestAnimationFrame(()=>{var o;let r=i=>{Math.abs(window.scrollY-i)>1&&window.scrollTo(0,i)};if(U.scrollBehavior){let i=U.scrollBehavior(e,t,n);if(i===!1)return;if(typeof i=="number"){r(i);return}}if(e.hash){let i=(o=document.getElementById(e.hash))!=null?o:/^[\w-]+$/.test(e.hash)?document.querySelector(`[name="${e.hash}"]`):null;if(i){i.scrollIntoView({behavior:"smooth",block:"start"});return}}r(n!=null?n:0)})})}async function Vt(e,t={}){var a,l;if(typeof window=="undefined")return!1;Eu();let n=Qn(),r=Gn(e);if(!t.force&&r.fullPath===n.fullPath)return!0;for(let c=0;;c++){if(c>vu)return Y(`Router: too many redirects when navigating to "${e}".`),!1;let d=await Ha(r,n);if(d===!1)return Fe.emit("navigation",{from:n.fullPath,to:r.fullPath,cancelled:!0,matched:r.matched}),!1;if(typeof d=="string"){r=Gn(d);continue}break}hi();let o=ae("rota"),i={...(a=t.state)!=null?a:{},[ui]:o},s=Aa(r);return Ca(i,s,t.replace===!0),Xn=o,Da(r),t.scroll!==!1&&Pa(r,n,null),(l=U.afterEach)==null||l.call(U,Qn(),n),Fe.emit("navigation",{from:n.fullPath,to:r.fullPath,matched:r.matched}),!0}async function oh(e){var c,d;if(mi)return;let{path:t,query:n,hash:r}=yu(),o=$a(t,n,r),i=Qn();if(o.fullPath===i.fullPath)return;let s=await Ha(o,i);if(s===!1){Ca({[ui]:Xn},Aa(i),!0),Fe.emit("navigation",{from:i.fullPath,to:o.fullPath,cancelled:!0,matched:o.matched});return}if(typeof s=="string"){Vt(s,{replace:!0});return}hi();let a=e.state,l=a&&a[ui]||ae("rota");Xn=l,Da(o),Pa(o,i,(c=hu.get(l))!=null?c:0),(d=U.afterEach)==null||d.call(U,Qn(),i),Fe.emit("navigation",{from:i.fullPath,to:o.fullPath,matched:o.matched})}function vi(e){oh(e)}function Eu(){pi||typeof window=="undefined"||(pi=!0,"scrollRestoration"in window.history&&(window.history.scrollRestoration="manual"),window.addEventListener("popstate",vi),U.mode==="hash"&&window.addEventListener("hashchange",vi),window.addEventListener("beforeunload",hi))}function ih(){!pi||typeof window=="undefined"||(pi=!1,window.removeEventListener("popstate",vi),window.removeEventListener("hashchange",vi),window.removeEventListener("beforeunload",hi),La=!1,mi=!1)}async function sh(){var i;if(typeof window=="undefined")return;let{path:e,query:t,hash:n}=yu(),r=Qn(),o=$a(e,t,n);for(let s=0;;s++){if(s>vu){Y("Router: too many redirects in the initial route.");return}let a=await Ha(o,r);if(a===!1)return;if(typeof a=="string"){o=Gn(a);continue}break}Xn=ae("rota"),Ca({[ui]:Xn},Aa(o),!0),Da(o),o.hash&&Pa(o,r,null),(i=U.afterEach)==null||i.call(U,Qn(),r)}function ah(e,t){let n=wu(e,t),r=pt.findIndex(o=>o.pattern===n.pattern);r>-1?pt.splice(r,1,n):pt.push(n)}function lh(e){let t=e==="*"?"*":Ur(e),n=pt.findIndex(r=>r.pattern===t);n>-1&&pt.splice(n,1)}function ch(){return[...pt].sort((e,t)=>t.score-e.score).map(e=>e.pattern)}function dh(e){e?fi.delete(e):fi.clear()}function uh(e){var t,n,r,o,i,s,a,l,c,d;U.mode=(t=e.mode)!=null?t:"history",U.base=Ur((n=e.base)!=null?n:"/"),U.beforeEach=(r=e.beforeEach)!=null?r:null,U.afterEach=(o=e.afterEach)!=null?o:null,U.linkActiveClass=(i=e.linkActiveClass)!=null?i:"v-link-active",U.linkExactActiveClass=(s=e.linkExactActiveClass)!=null?s:"v-link-exact-active",U.transition=(a=e.transition)!=null?a:!0,U.titleTemplate=(l=e.titleTemplate)!=null?l:"%s",U.scrollBehavior=(c=e.scrollBehavior)!=null?c:null,pt.length=0;for(let[u,p]of Object.entries((d=e.routes)!=null?d:{}))pt.push(wu(u,p));return gu=!0,Eu(),sh(),Wr}var fh={get current(){return ce},push:(e,t={})=>Vt(e,t),replace:(e,t={})=>Vt(e,{...t,replace:!0}),navigate:Vt,back:()=>{typeof window!="undefined"&&window.history.back()},forward:()=>{typeof window!="undefined"&&window.history.forward()},go:e=>{typeof window!="undefined"&&window.history.go(e)},resolve:Gn,addRoute:ah,removeRoute:lh,patterns:ch,stop:ih,clearViewCache:dh,get ready(){return gu}},Wr=Object.defineProperties(uh,Object.getOwnPropertyDescriptors(fh));P("$route",()=>ce);P("$router",()=>Wr);async function ph(e){let t=fi.get(e);if(t!==void 0)return t;let n=await ve.get(e,{responseType:"text"}),r=typeof n=="string"?n:String(n!=null?n:"");return fi.set(e,r),r}function mh(e){return Object.keys(e).sort().map(n=>`${n}=${e[n]}`).join("&")}y("router-view",({el:e,scope:t,modifiers:n,effect:r,cleanup:o})=>{jo(e);let i=e.innerHTML,s=U.transition&&!n["no-transition"],a=0,l=()=>{for(let u of Array.from(e.childNodes))X(u);e.textContent=""},c=(u,p)=>{if(l(),u!=null&&u.component){let f=document.createElement("div");f.setAttribute(`${w.prefix}component`,u.component),f.className="v-router-page",e.appendChild(f),se(f,t);return}e.innerHTML=p!=null?p:i;for(let f of Array.from(e.childNodes))se(f,t)},d=async(u,p)=>{let f=null;if(u!=null&&u.view){e.classList.add("v-router-loading");try{f=await ph(u.view)}catch(m){K(m,`v-router-view loading "${u.view}"`),f=""}finally{e.classList.remove("v-router-loading")}if(p!==a)return}s?si(()=>c(u,f)):c(u,f)};r(()=>{let u=ce.matched;mh(ce.params);let p=Ra(u);d(p,++a)}),o(()=>{a++,l()})},{priority:j.DEFAULT});var vh=/^[a-z][a-z0-9+.-]*:/i;function pu(e){return!!(!e||e.startsWith("//")||vh.test(e))}function mu(e,t,n){var i;let r=t.trim();if(r){if(r.startsWith("/")||r.startsWith("#"))return r;let s=n(r);return typeof s=="string"&&s?s:r}let o=(i=e.getAttribute("href"))!=null?i:"";return U.mode==="hash"&&o.startsWith("#")?o.slice(1)||"/":o}function Ma(e,t){let{path:n}=Sa(e);return n==="/"||t?ce.path===n:ce.path===n||ce.path.startsWith(`${n}/`)}y("link",({el:e,expression:t,modifiers:n,effect:r,cleanup:o,evaluate:i})=>{let s=e,a=l=>{var u;if(l.defaultPrevented||l.metaKey||l.ctrlKey||l.shiftKey||l.altKey||typeof l.button=="number"&&l.button!==0)return;let c=s.getAttribute("target");if(c&&c!=="_self"||s.hasAttribute("download")||((u=s.getAttribute("rel"))!=null?u:"").split(/\s+/).includes("external"))return;let d=mu(e,t,i);d&&(pu(d)||U.mode!=="hash"&&d.startsWith("#")||(l.preventDefault(),Vt(d,{replace:!!n.replace,scroll:n["no-scroll"]?!1:void 0})))};e.addEventListener("click",a),o(()=>e.removeEventListener("click",a)),r(()=>{let l=mu(e,t,i);if(!l||pu(l))return;let c=Ma(l,!0),d=c||Ma(l,!1);e.classList.toggle(U.linkActiveClass,d),e.classList.toggle(U.linkExactActiveClass,c),c?e.setAttribute("aria-current","page"):e.removeAttribute("aria-current")})});y("route-active",({el:e,expression:t,arg:n,modifiers:r,effect:o,evaluate:i})=>{let s=n||"active";o(()=>{var d;let a=t.trim(),l=a.startsWith("/")||!a?a:(d=i(a))!=null?d:a,c=l?Ma(String(l),!!r.exact):!1;e.classList.toggle(s,c)})});be();le();var hh="voodoo:locale",z=Z({locale:w.locale||"pt-BR",fallback:"en",currency:w.currency||"BRL",messages:{}}),Jn=hh,Zn="",Na=new Map;function gi(e,t){let n=z.messages[e];if(!n)return null;let r=n[t];if(typeof r=="string")return r;let o=n;for(let i of t.split(".")){if(o==null||typeof o=="string")return null;o=o[i]}return typeof o=="string"?o:null}function bi(e){let t=[e],n=e.split("-")[0];n&&n!==e&&t.push(n);for(let r of Object.keys(z.messages))r!==e&&r.split("-")[0]===n&&t.push(r);return t}var ku=new Map;function gh(e,t){try{let n=ku.get(e);return n||ku.set(e,n=new Intl.PluralRules(e)),n.select(t)}catch(n){return t===1?"one":"other"}}var bh=["zero","one","two","few","many","other"];function yh(e,t,n){var i;if(e.length<=1)return(i=e[0])!=null?i:"";let r=gh(n,t);if(e.length===2)return r==="one"?e[0]:e[1];if(e.length===3)return t===0?e[0]:r==="one"?e[1]:e[2];let o=bh.indexOf(r);return e[Math.min(o<0?e.length-1:o,e.length-1)]}var xh=/\{\s*([\w.$-]+)\s*\}/g;function wh(e,t){return e.indexOf("{")===-1?e:e.replace(xh,(n,r)=>{let o=t[r];return o==null?n:String(o)})}function Eh(e){return e==null?{}:typeof e=="number"?{n:e}:e}function er(e,t){var i,s;if(!e)return"";let n=Eh(t),r=z.locale,o=null;for(let a of bi(r))if(o=gi(a,e),o!==null)break;if(o===null&&z.fallback&&z.fallback!==r){for(let a of bi(z.fallback))if(o=gi(a,e),o!==null)break}if(o===null)return e;if(o.includes("|")){let a=Number((s=(i=n.n)!=null?i:n.count)!=null?s:0),l=o.split("|").map(c=>c.trim());o=yh(l,Number.isNaN(a)?0:a,r)}return wh(o,n)}function kh(e,t){let n=t!=null?t:z.locale;for(let r of bi(n))if(gi(r,e)!==null)return!0;if(z.fallback&&z.fallback!==n){for(let r of bi(z.fallback))if(gi(r,e)!==null)return!0}return!1}function Tu(e,t={}){return sa(e,{...t,locale:z.locale})}function Lu(e,t){return ia(e,{locale:z.locale,currency:t!=null?t:z.currency})}function Mu(e,t="short"){return aa(e,t,z.locale)}function Su(e){return la(e,z.locale)}function xi(){return z.locale}function Th(e){var t;return(t=z.messages[e!=null?e:z.locale])!=null?t:{}}function yi(e,t){let n=z.messages[e];return n?Xo(n,t):z.messages[e]=t,e}async function Oa(e,t){if(typeof t!="string"){yi(e,t);return}let n=Na.get(e);if(n)return n;let r=ve.get(t,{responseType:"json"}).then(o=>{o&&typeof o=="object"&&yi(e,o)}).catch(o=>{K(o,`i18n ao carregar "${t}"`)}).finally(()=>{Na.delete(e)});return Na.set(e,r),r}function _r(e){let t=e==null?void 0:e.trim();if(!t||t===z.locale)return Promise.resolve();let n=z.locale;return z.locale=t,z.currency=z.currency||w.currency,w.locale=t,Qo(t,z.currency),Jn&&ue.set(Jn,t),typeof document!="undefined"&&(document.documentElement.lang=t),Fe.emit("locale",{from:n,to:t}),!z.messages[t]&&Zn?Oa(t,Zn.replace("{locale}",t)):Promise.resolve()}function Au(){var n;if(typeof navigator=="undefined")return null;let e=Object.keys(z.messages);if(!e.length)return null;let t=(n=navigator.languages)!=null&&n.length?[...navigator.languages]:[navigator.language];for(let r of t){if(!r)continue;let o=e.find(a=>a.toLowerCase()===r.toLowerCase());if(o)return o;let i=r.split("-")[0].toLowerCase(),s=e.find(a=>a.split("-")[0].toLowerCase()===i);if(s)return s}return null}function Lh(e={}){var o,i,s,a;if(e.messages)for(let[l,c]of Object.entries(e.messages))yi(l,c);z.fallback=(o=e.fallback)!=null?o:z.fallback,z.currency=(s=(i=e.currency)!=null?i:w.currency)!=null?s:z.currency,Zn=(a=e.loadPath)!=null?a:Zn,e.persist===!1?Jn=null:typeof e.persist=="string"&&(Jn=e.persist);let t=Jn?ue.get(Jn):void 0,n=e.detect===!1?null:Au(),r=t||n||e.locale||z.locale||z.fallback;return z.locale=r,w.locale=r,Qo(r,z.currency),typeof document!="undefined"&&(document.documentElement.lang=r),!z.messages[r]&&Zn&&Oa(r,Zn.replace("{locale}",r)),Kr}var Mh={get locale(){return z.locale},get fallback(){return z.fallback},get locales(){return Object.keys(z.messages)},t:er,te:kh,n:Tu,c:Lu,d:Mu,rt:Su,setLocale:_r,getLocale:xi,addMessages:yi,loadMessages:Oa,messagesOf:Th,detectLocale:Au},Kr=Object.defineProperties(Lh,Object.getOwnPropertyDescriptors(Mh));P("$t",()=>er);P("$locale",()=>z.locale);P("$i18n",()=>Kr);P("$n",()=>Tu);P("$c",()=>Lu);P("$d",()=>Mu);P("$rt",()=>Su);var Sh=/^[A-Za-z_$][\w$-]*(\.[A-Za-z_$][\w$-]*)*$/;function Ah(e,t){let n=e.trim();if(!n)return"";if(Sh.test(n))return n;let r=t(n);return typeof r=="string"?r:n}function Ch(e,t){var o;let n=(o=ke(e,`${w.prefix}t-params`))!=null?o:ke(e,"data-v-t-params");if(!n)return{};let r=t(n);return r&&typeof r=="object"?r:{}}y("t",({el:e,arg:t,expression:n,effect:r,evaluate:o})=>{r(()=>{let i=Ah(n,o);if(!i)return;let s=er(i,Ch(e,o));t?e.setAttribute(t,s):e.textContent!==s&&(e.textContent=s)})});y("t-params",()=>{});y("locale",({el:e,expression:t,effect:n,cleanup:r,evaluate:o})=>{let i=()=>{let a=t.trim();if(!a)return"";if(/^[A-Za-z]{2,3}([-_][A-Za-z0-9]{2,8})*$/.test(a))return a.replace("_","-");let l=o(a);return typeof l=="string"?l:a},s=()=>{let a=i();a&&_r(a)};e.addEventListener("click",s),r(()=>e.removeEventListener("click",s)),n(()=>{e.classList.toggle("v-locale-active",i()===z.locale)})});be();le();He();He();le();var Fa=new WeakMap;function Wt(e,t){var n;return(n=ke(e,`${w.prefix}${t}`))!=null?n:ke(e,`data-v-${t}`)}function wi(e,t){return Nt(e,`${w.prefix}${t}`)||Nt(e,`data-v-${t}`)}function J(e,t){let n=Fa.get(e);return n&&t in n?n[t]:Wt(e,t)}function Ei(e,t,n){var o;let r=(o=Fa.get(e))!=null?o:{};r[t]=n,Fa.set(e,r)}function _(e){y(e,({el:t,expression:n})=>{Ei(t,e,n)},{priority:j.BIND})}function fe(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0}))}function mt(e,t,n,r,o){if(!e.trim())return;let i=t.child({$el:n,$event:r!=null?r:null,$detail:o}),s=q(e,i,"directive de UI");return typeof s=="function"?s.call(t.data,o!=null?o:r):s}var Rh=`
138
+ `)}))}function Bv(e){let t=e.tagName;if(t==="FORM")return"submit";if(t==="INPUT"||t==="SELECT"||t==="TEXTAREA"){let n=e.type;return n==="button"||n==="submit"?"click":"change"}return"click"}function jv({el:e,cleanup:t,run:n}){var d,u;let r=V(e,"trigger")||Bv(e),[o,...i]=r.split(/[.\s]+/),s=G((d=V(e,"poll"))!=null?d:void 0,0);if(s>0){n();let p=setInterval(()=>{document.visibilityState==="visible"&&n()},s);t(()=>clearInterval(p));return}if(o==="load"||o==="ready"){n();return}if(o==="visible"||o==="revealed"){if(typeof IntersectionObserver=="undefined"){n();return}let p=new IntersectionObserver(f=>{for(let m of f)m.isIntersecting&&(n(),i.includes("repeat")||p.unobserve(e))},{rootMargin:"80px"});p.observe(e),t(()=>p.disconnect());return}let a=i.includes("once"),l=G((u=V(e,"debounce"))!=null?u:void 0,0),c=p=>{(e.tagName==="FORM"||e.href)&&p.preventDefault(),n(p)};l>0&&(c=Ue(c,l)),e.addEventListener(o,c,{once:a}),t(()=>e.removeEventListener(o,c))}var qv=[["get","GET"],["post","POST"],["put","PUT"],["patch","PATCH"],["delete","DELETE"]];for(let[e,t]of qv)y(e,({el:n,scope:r,expression:o,cleanup:i})=>{jv({el:n,scope:r,cleanup:i,run:a=>{let l=qr(o,r);if(!l)return;let c=V(n,"body")||V(n,"data-body"),d=c?q(c,r.child({$event:a}),"v-body"):void 0,u=V(n,"params"),p=u?q(u,r,"v-params"):void 0;jr({el:n,scope:r,method:t,url:l,body:d,params:p,event:a})}})});function qr(e,t){let n=e.trim();if(!n)return"";if((/^[./#?]/.test(n)||/^https?:\/\//i.test(n)||/^[\w-]+\/[\w\-/.]*$/.test(n))&&!/[+`'"]|\$\{/.test(n))return n;let o=q(n,t,"URL");return typeof o=="string"?o:n}y("load",({el:e,scope:t,expression:n})=>{let r=qr(n,t);r&&jr({el:e,scope:t,method:"GET",url:r})});y("load-visible",({el:e,scope:t,cleanup:n,expression:r})=>{let o=qr(r,t);if(!o)return;if(typeof IntersectionObserver=="undefined"){jr({el:e,scope:t,method:"GET",url:o});return}let i=new IntersectionObserver(s=>{for(let a of s)a.isIntersecting&&(i.unobserve(e),jr({el:e,scope:t,method:"GET",url:o}))},{rootMargin:"120px"});i.observe(e),n(()=>i.disconnect())});y("search",({el:e,scope:t,expression:n,cleanup:r})=>{var u,p;let o=e,i=qr(n,t),s=V(e,"param")||o.getAttribute("name")||"q",a=G((u=V(e,"debounce"))!=null?u:void 0,300),l=Number((p=V(e,"min-length"))!=null?p:0),c=Ue(()=>{let f=o.value.trim();f.length<l||jr({el:e,scope:t,method:"GET",url:i,params:{[s]:f}})},a),d=()=>c();o.addEventListener("input",d),r(()=>{o.removeEventListener("input",d),c.cancel()})});y("resource",({el:e,scope:t,expression:n,cleanup:r})=>{var l,c,d,u;let o=n.indexOf(":"),i=V(e,"as")||"resource",s=n.trim();if(o>-1){let p=n.slice(0,o).trim();/^[A-Za-z_$][\w$]*$/.test(p)&&(i=p,s=n.slice(o+1).trim())}let a=ii(()=>qr(s,t),{method:(V(e,"method")||"GET").toUpperCase(),params:()=>V(e,"params")?q(V(e,"params"),t,"v-params"):void 0,cache:G((l=V(e,"cache"))!=null?l:void 0,0)||void 0,retry:Number((c=V(e,"retry"))!=null?c:0),timeout:G((d=V(e,"timeout"))!=null?d:void 0,ve.defaults.timeout),jsonPath:V(e,"json-path"),poll:G((u=V(e,"poll"))!=null?u:void 0,0),manual:xa(e,"manual"),onSuccess:p=>Yn(e,"voodoo:success",{data:p}),onError:(p,f)=>Yn(e,"voodoo:error",{error:p,message:f})});t.set(i,a),r(()=>a.stop())},{priority:j.DATA});for(let e of["target","swap","trigger","poll","param","params","body","data-body","headers","cache","retry","timeout","as","json-path","template","offline-queue","min-length","scroll-to","manual","debounce","throttle","indicator"])y(e,()=>{},{priority:j.TRANSITION});od(ud);dd(Ot);gd(eu);Nd();var Vr=new Map;function Zd(e,t){let n=Vr.get(e);return n||Vr.set(e,n=new Set),n.add(t),()=>n.delete(t)}function Vv(e,t){let n=Zd(e,r=>{n(),t(r)});return n}function Uv(e,t){let n=Vr.get(e);if(n)for(let r of[...n])try{r(t)}catch(o){K(o,`event "${e}"`)}}function Wv(e,t){var n;if(!t){Vr.delete(e);return}(n=Vr.get(e))==null||n.delete(t)}function eu(e,t){var r,o;let n=typeof t=="function"?{mounted:t,updated:t}:t;y(e,i=>{var d,u;let s,a=!1,l=p=>{var f,m;return{el:i.el,value:p,oldValue:s,arg:i.arg,modifiers:i.modifiers,expression:i.expression,scope:i.scope,instance:(m=(f=i.scope.owner)==null?void 0:f.component)!=null?m:null}},c=n.raw?i.expression:i.evaluate();(d=n.created)==null||d.call(n,i.el,l(c)),(u=n.beforeMount)==null||u.call(n,i.el,l(c)),i.effect(()=>{var m,h;let p=n.raw?i.expression:i.evaluate();if(!a){a=!0,s=p,(m=n.mounted)==null||m.call(n,i.el,l(p));return}if(p===s)return;let f=l(p);(h=n.updated)==null||h.call(n,i.el,f),s=p}),i.cleanup(()=>{var f,m;let p=l(s);(f=n.beforeUnmount)==null||f.call(n,i.el,p),(m=n.unmounted)==null||m.call(n,i.el,p)})},{priority:(r=n.priority)!=null?r:j.DEFAULT,terminal:(o=n.terminal)!=null?o:!1})}function _v(e){return Object.defineProperties(ct.data,Object.getOwnPropertyDescriptors(e)),ct.data}var Kv="0.4.6",li={...ca,version:Kv,config:w,reactive:Z,ref:Mr,shallowRef:Ns,computed:Sr,effect:_e,watch:Oe,watchEffect:Fs,nextTick:at,toRaw:Le,markRaw:Hs,unref:Os,stop:Cs,effectScope:Rs,EffectScope:et,flushSync:Ls,data:_v,store:wd,stores:Fn,removeStore:Ed,storeNames:Ko,scope:ct,component:Ft,components:$e,directive:eu,directives:wt,magic:P,magics:Ar,createApp:bd,start:sd,whenReady:Uo,whenElement:Wo,walk:se,refresh:ld,destroy:X,stopObserving:ad,getScope:Lt,findScope:Ve,addCleanup:dt,parseAttribute:$n,parse:lt,tokenize:Po,evaluate:F,evaluateIn:q,stringify:Ht,clearParseCache:Oc,globals:Pe,http:ve,request:zt,HttpError:Ee,resource:ii,toast:tt,storage:ue,session:ei,cookie:ti,cache:ni,url:jt,theme:ut,clipboard:oi,screen:Ke,network:qt,enter:zr,leave:Br,fadeIn:_n,fadeOut:Kn,slideUp:dn,slideDown:cn,viewTransition:si,injectStyle:ne,ensureTokens:he,on:Zd,once:Vv,off:Wv,emit:Uv,use(e,t){No(li,e,t)},onError(e){Ms(e)},instances:Mt,Scope:on,PRIORITY:j,VoodooSyntaxError:de,VoodooRuntimeError:Re};xd(li);be();var Yv=new Set(["animation-iteration-count","aspect-ratio","border-image-slice","column-count","flex","flex-grow","flex-shrink","font-weight","grid-area","grid-column","grid-row","line-height","opacity","order","orphans","scale","tab-size","widows","z-index","zoom"]);function cu(e){return e.startsWith("--")?e:e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}function nt(e){return e.length<2?e:Array.from(new Set(e))}function un(e){return String(e!=null?e:"").split(/\s+/).filter(Boolean)}function wa(e){if(typeof document=="undefined")return[];let t=document.createElement("template");t.innerHTML=e.trim();let n=[];for(let r of Array.from(t.content.children))n.push(r);return n}function du(e){return e.length>2&&e.charCodeAt(0)===60&&e.endsWith(">")}function Xv(e){if(e==null)return typeof document=="undefined"?[]:[document];if(e instanceof ft)return e.toArray();if(typeof e=="string")return fn(e);if(typeof e=="function")return typeof document=="undefined"?[]:[document];let t=fn(e);return t.length?t:typeof document=="undefined"?[]:[document]}function fn(e,t){if(e==null)return[];if(typeof e=="string"){let o=e.trim();if(!o)return[];if(du(o))return wa(o);let i=[];for(let s of Xv(t))try{for(let a of Array.from(s.querySelectorAll(o)))i.push(a)}catch(a){}return nt(i)}if(e instanceof ft)return e.toArray();if(typeof e=="function")return[];let n=e;if(typeof n.nodeType=="number"){if(n.nodeType===1)return[n];if(n.nodeType===9){let o=n;return o.documentElement?[o.documentElement]:[]}return n.nodeType===11?Array.from(n.children):[]}let r=e;if(typeof r.length=="number"){let o=[];for(let i=0;i<r.length;i++){let s=r[i];s&&s.nodeType===1&&o.push(s)}return nt(o)}return[]}function tu(e){if(e==null)return[];if(typeof e=="string"){let r=e;return du(r.trim())?wa(r):[document.createTextNode(r)]}if(e instanceof ft)return e.toArray();if(typeof e=="function")return[];let t=e;if(typeof t.nodeType=="number")return[t];let n=e;if(typeof n.length=="number"){let r=[];for(let o=0;o<n.length;o++)n[o]&&r.push(n[o]);return r}return[]}function ci(e,t,n){let r=cu(t);if(n===null||n===""){e.style.removeProperty(r);return}let o=typeof n=="number"&&!Yv.has(r)&&!r.startsWith("--")?`${n}px`:String(n);e.style.setProperty(r,o)}function Gv(e,t){for(let[n,r]of Object.entries(t))ci(e,n,r)}function nu(e){if(e===void 0)return;if(e==="")return"";if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(/^-?\d+(\.\d+)?$/.test(e))return Number(e);let t=e.charCodeAt(0);if(t===123||t===91||t===34)try{return JSON.parse(e)}catch(n){return e}return e}function ru(e){return e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase())}var uu=new WeakMap;function ou(e){return e.hasAttribute("hidden")||e.style.display==="none"?!0:e.isConnected?getComputedStyle(e).display==="none":!1}function iu(e){e.removeAttribute("hidden");let t=uu.get(e);t!==void 0&&t!=="none"?e.style.display=t:e.style.removeProperty("display"),e.isConnected&&getComputedStyle(e).display==="none"&&(e.style.display="block")}function su(e){let t=e.style.display;t&&t!=="none"&&uu.set(e,t),e.style.display="none"}var au="input,select,textarea";function lu(e){return e.matches(au)?[e]:Array.from(e.querySelectorAll(au))}function Qv(e){let t=e;if(!t.name||t.disabled)return!1;let n=(t.getAttribute("type")||"").toLowerCase();return!(n==="file"||n==="submit"||n==="reset"||n==="button"||(n==="checkbox"||n==="radio")&&!t.checked)}var di=new WeakMap;function Jv(e){let t=di.get(e);return t||di.set(e,t=[]),t}var ft=class e{constructor(t=[]){H(this,"length");H(this,"elements");this.elements=t,this.length=t.length;let n=this;for(let r=0;r<t.length;r++)n[r]=t[r]}[Symbol.iterator](){return this.elements[Symbol.iterator]()}find(t){let n=[];for(let r of this.elements)try{for(let o of Array.from(r.querySelectorAll(t)))n.push(o)}catch(o){}return new e(nt(n))}closest(t){let n=[];for(let r of this.elements){let o=r.closest(t);o&&n.push(o)}return new e(nt(n))}parent(t){let n=[];for(let r of this.elements){let o=r.parentElement;o&&(!t||o.matches(t))&&n.push(o)}return new e(nt(n))}parents(t){let n=[];for(let r of this.elements){let o=r.parentElement;for(;o;)(!t||o.matches(t))&&n.push(o),o=o.parentElement}return new e(nt(n))}children(t){let n=[];for(let r of this.elements)for(let o of Array.from(r.children))(!t||o.matches(t))&&n.push(o);return new e(nt(n))}siblings(t){let n=[];for(let r of this.elements){let o=r.parentElement;if(o)for(let i of Array.from(o.children))i!==r&&(!t||i.matches(t))&&n.push(i)}return new e(nt(n))}next(t){let n=[];for(let r of this.elements){let o=r.nextElementSibling;o&&(!t||o.matches(t))&&n.push(o)}return new e(nt(n))}prev(t){let n=[];for(let r of this.elements){let o=r.previousElementSibling;o&&(!t||o.matches(t))&&n.push(o)}return new e(nt(n))}first(){return this.eq(0)}last(){return this.eq(-1)}eq(t){let n=t<0?this.elements.length+t:t,r=this.elements[n];return new e(r?[r]:[])}filter(t){let n=this.elements.filter((r,o)=>typeof t=="function"?t(r,o):r.matches(t));return new e(n)}not(t){let n=this.elements.filter((r,o)=>typeof t=="function"?!t(r,o):!r.matches(t));return new e(n)}has(t){let n=this.elements.filter(r=>typeof t=="string"?r.querySelector(t)!==null:r.contains(t));return new e(n)}is(t){return this.elements.some((n,r)=>typeof t=="function"?t(n,r):n.matches(t))}map(t){return this.elements.map((n,r)=>t(n,r))}each(t){for(let n=0;n<this.elements.length;n++){let r=this.elements[n];if(t.call(r,r,n)===!1)break}return this}get(...t){if(!t.length)return this.toArray();let n=Number(t[0]);return this.elements[n<0?this.elements.length+n:n]}toArray(){return this.elements.slice()}add(t,n){return new e(nt([...this.elements,...fn(t,n)]))}slice(t,n){return new e(this.elements.slice(t,n))}text(...t){var o,i;if(!t.length)return(i=(o=this.elements[0])==null?void 0:o.textContent)!=null?i:"";let n=t[0],r=n==null?"":String(n);for(let s of this.elements){for(let a of Array.from(s.childNodes))X(a);s.textContent=r}return this}html(...t){var o,i;if(!t.length)return(i=(o=this.elements[0])==null?void 0:o.innerHTML)!=null?i:"";let n=t[0],r=n==null?"":String(n);for(let s of this.elements){for(let a of Array.from(s.childNodes))X(a);s.innerHTML=r}return this}val(...t){var r;if(!t.length){let o=this.elements[0];if(!o)return"";let i=o;return o.tagName==="SELECT"&&i.multiple?Array.from(i.selectedOptions).map(s=>s.value):o.type==="checkbox"?o.checked?o.value||"on":"":(r=o.value)!=null?r:""}let n=t[0];for(let o of this.elements){let i=o,s=o;if(i.tagName==="SELECT"&&s.multiple){let a=(Array.isArray(n)?n:[n]).map(String);for(let l of Array.from(s.options))l.selected=a.includes(l.value);continue}if(i.type==="checkbox"||i.type==="radio"){i.checked=Array.isArray(n)?n.map(String).includes(i.value):n===!0||String(n)===i.value;continue}i.value=n==null?"":String(n)}return this}attr(...t){var i,s;let n=t[0];if(n!==null&&typeof n=="object"){for(let a of this.elements)for(let[l,c]of Object.entries(n))c===null||c===!1?a.removeAttribute(l):a.setAttribute(l,c===!0?"":String(c));return this}let r=String(n);if(t.length<2)return(s=(i=this.elements[0])==null?void 0:i.getAttribute(r))!=null?s:void 0;let o=t[1];for(let a of this.elements)o===null||o===!1?a.removeAttribute(r):a.setAttribute(r,o===!0?"":String(o));return this}removeAttr(t){let n=un(t);for(let r of this.elements)for(let o of n)r.removeAttribute(o);return this}prop(...t){let n=String(t[0]);if(t.length<2){let r=this.elements[0];return r?r[n]:void 0}for(let r of this.elements)r[n]=t[1];return this}data(...t){let n=t[0];if(!t.length){let i=this.elements[0];if(!i)return{};let s={};for(let[a,l]of Object.entries(i.dataset))s[a]=nu(l);return s}if(n!==null&&typeof n=="object"){for(let i of this.elements)for(let[s,a]of Object.entries(n))i.dataset[ru(s)]=typeof a=="string"?a:JSON.stringify(a!=null?a:null);return this}let r=ru(String(n));if(t.length<2){let i=this.elements[0];return i?nu(i.dataset[r]):void 0}let o=t[1];for(let i of this.elements)i.dataset[r]=typeof o=="string"?o:JSON.stringify(o!=null?o:null);return this}css(...t){let n=t[0];if(n!==null&&typeof n=="object"){for(let o of this.elements)Gv(o,n);return this}let r=String(n);if(t.length<2){let o=this.elements[0];if(!o)return"";let i=cu(r);return((o.isConnected?getComputedStyle(o).getPropertyValue(i):"")||o.style.getPropertyValue(i)).trim()}for(let o of this.elements)ci(o,r,t[1]);return this}width(...t){if(!t.length){let n=this.elements[0];return n?n.getBoundingClientRect().width:0}for(let n of this.elements)ci(n,"width",t[0]);return this}height(...t){if(!t.length){let n=this.elements[0];return n?n.getBoundingClientRect().height:0}for(let n of this.elements)ci(n,"height",t[0]);return this}offset(){let t=this.elements[0];if(!t)return{top:0,left:0};let n=t.getBoundingClientRect();return{top:n.top+window.scrollY,left:n.left+window.scrollX}}position(){let t=this.elements[0];return t?{top:t.offsetTop,left:t.offsetLeft}:{top:0,left:0}}scrollTop(...t){var r,o;if(!t.length)return(o=(r=this.elements[0])==null?void 0:r.scrollTop)!=null?o:0;let n=Number(t[0])||0;for(let i of this.elements)i.scrollTop=n;return this}addClass(t){let n=un(t);if(n.length)for(let r of this.elements)r.classList.add(...n);return this}removeClass(t){let n=un(t);if(n.length)for(let r of this.elements)r.classList.remove(...n);return this}toggleClass(t,n){let r=un(t);for(let o of this.elements)for(let i of r)n===void 0?o.classList.toggle(i):o.classList.toggle(i,n);return this}hasClass(t){let n=un(t);return n.length?this.elements.some(r=>n.every(o=>r.classList.contains(o))):!1}insert(t,n){let r=this.elements.length;for(let o=0;o<r;o++){let i=this.elements[o];for(let s of tu(t))n(i,o===r-1?s:s.cloneNode(!0))}return this}append(t){return this.insert(t,(n,r)=>n.appendChild(r))}prepend(t){return this.insert(t,(n,r)=>n.insertBefore(r,n.firstChild))}before(t){return this.insert(t,(n,r)=>{var o;return(o=n.parentNode)==null?void 0:o.insertBefore(r,n)})}after(t){return this.insert(t,(n,r)=>{var o;return(o=n.parentNode)==null?void 0:o.insertBefore(r,n.nextSibling)})}appendTo(t){let n=fn(t);for(let r=0;r<n.length;r++)for(let o of this.elements)n[r].appendChild(r===n.length-1?o:o.cloneNode(!0));return this}prependTo(t){let n=fn(t);for(let r=0;r<n.length;r++){let o=n[r],i=this.elements.map(s=>r===n.length-1?s:s.cloneNode(!0));for(let s=i.length-1;s>=0;s--)o.insertBefore(i[s],o.firstChild)}return this}replaceWith(t){for(let n of this.elements){let r=n.parentNode;if(r){for(let o of tu(t))r.insertBefore(o,n);X(n),n.remove()}}return this}wrap(t){var n;for(let r of this.elements){let o=fn(t)[0];if(!o)continue;let i=o.cloneNode(!0);(n=r.parentNode)==null||n.insertBefore(i,r);let s=i;for(;s.firstElementChild;)s=s.firstElementChild;s.appendChild(r)}return this}unwrap(){let t=new Set;for(let n of this.elements){let r=n.parentElement;r&&r!==document.body&&t.add(r)}for(let n of t){let r=n.parentNode;if(r){for(;n.firstChild;)r.insertBefore(n.firstChild,n);X(n),n.remove()}}return this}remove(){for(let t of this.elements)X(t),t.remove();return this}empty(){for(let t of this.elements){for(let n of Array.from(t.childNodes))X(n);t.replaceChildren()}return this}clone(t=!0){return new e(this.elements.map(n=>n.cloneNode(t)))}on(t,...n){var a;let r=typeof n[0]=="string",o=r?n[0]:null,i=r?n[1]:n[0],s=(a=r?n[2]:n[1])!=null?a:{};if(typeof i!="function")return this;for(let l of this.elements)for(let c of un(t)){let d=u=>{if(!o){i.call(l,u);return}let p=u.target,f=p==null?void 0:p.closest(o);!f||!l.contains(f)||i.call(f,u)};l.addEventListener(c,d,s),Jv(l).push({type:c,selector:o,handler:i,wrapped:d,options:s})}return this}off(t,n,r){let o=typeof n=="string"?n:null,i=typeof n=="function"?n:r!=null?r:null,s=t?un(t):null;for(let a of this.elements){let l=di.get(a);if(!l)continue;let c=[];for(let d of l){let u=!s||s.includes(d.type),p=o===null||d.selector===o,f=i===null||d.handler===i;u&&p&&f?a.removeEventListener(d.type,d.wrapped,d.options):c.push(d)}di.set(a,c)}return this}once(t,...n){let r=typeof n[0]=="string",o=r?n[0]:null,i=r?n[1]:n[0];if(typeof i!="function")return this;let s=this,a=function(l){return o?s.off(t,o,a):s.off(t,a),i.call(this,l)};return o?this.on(t,o,a):this.on(t,a)}trigger(t,n){for(let r of this.elements){if(n===void 0&&typeof r[t]=="function"){r[t]();continue}let o=new CustomEvent(t,{detail:n,bubbles:!0,cancelable:!0});o.__voodoo=!0,r.dispatchEvent(o)}return this}emit(t,n){for(let r of this.elements){let o=new CustomEvent(t,{detail:n,bubbles:!0,cancelable:!0});o.__voodoo=!0,r.dispatchEvent(o)}return this}show(){for(let t of this.elements)iu(t);return this}hide(){for(let t of this.elements)su(t);return this}toggle(t){for(let n of this.elements)(t===void 0?ou(n):t)?iu(n):su(n);return this}fadeIn(t=220){for(let n of this.elements)n.removeAttribute("hidden"),_n(n,t);return this}fadeOut(t=220){for(let n of this.elements)Kn(n,t);return this}slideUp(t=240){for(let n of this.elements)dn(n,t);return this}slideDown(t=240){for(let n of this.elements)n.removeAttribute("hidden"),cn(n,t);return this}slideToggle(t=240){for(let n of this.elements)ou(n)?(n.removeAttribute("hidden"),cn(n,t)):dn(n,t);return this}animate(t,n=300){for(let r of this.elements)typeof r.animate=="function"&&r.animate(t,n);return this}scrollIntoView(t={behavior:"smooth",block:"start"}){var n;return(n=this.elements[0])==null||n.scrollIntoView(t),this}serialize(){let t=this.elements[0];if(!t)return"";let n=new URLSearchParams;for(let r of lu(t)){if(!Qv(r))continue;let o=r,i=r;if(o.tagName==="SELECT"&&i.multiple){for(let s of Array.from(i.selectedOptions))n.append(o.name,s.value);continue}n.append(o.name,o.value)}return n.toString()}serializeObject(){var r,o,i,s;let t=this.elements[0],n={};if(!t)return n;for(let a of lu(t)){let l=a;if(!l.name||l.disabled)continue;let c=(l.getAttribute("type")||"").toLowerCase();if(c==="submit"||c==="reset"||c==="button")continue;let d=l.name.endsWith("[]"),u=d?l.name.slice(0,-2):l.name,p=a,f;if(c==="checkbox"){if(!l.checked&&!d){n[u]=(r=n[u])!=null?r:!1;continue}if(!l.checked)continue;f=l.value==="on"?!0:l.value}else if(c==="radio"){if(!l.checked)continue;f=l.value}else c==="file"?f=l.multiple?Array.from((o=l.files)!=null?o:[]):(s=(i=l.files)==null?void 0:i[0])!=null?s:null:l.tagName==="SELECT"&&p.multiple?f=Array.from(p.selectedOptions).map(m=>m.value):c==="number"||c==="range"?f=l.value===""?null:Number(l.value):f=l.value;if(d){let m=n[u];Array.isArray(m)?m.push(f):n[u]=[f];continue}if(Object.prototype.hasOwnProperty.call(n,u)){let m=n[u];Array.isArray(m)?m.push(f):m===void 0||m===!1?n[u]=f:n[u]=[m,f];continue}n[u]=f}return n}focus(t){var n;return(n=this.elements[0])==null||n.focus(t),this}blur(){for(let t of this.elements)t.blur();return this}select(){for(let t of this.elements){let n=t;typeof n.select=="function"&&n.select()}return this}walk(t=!1){for(let n of this.elements)t&&X(n),se(n,Ve(n.parentNode));return this}destroy(){for(let t of this.elements)X(t);return this}};function Ea(e,t){if(typeof e=="function"){ka(e);let n=typeof document!="undefined"?document.documentElement:null;return new ft(n?[n]:[])}return new ft(fn(e,t))}function ka(e){return typeof document=="undefined"?Promise.resolve():new Promise(t=>{hd(()=>{try{e==null||e()}catch(n){K(n,"V.ready")}t()})})}function fu(e){return new ft(wa(e))}be();le();var pn=new Map,Fe={emit(e,t){let n=pn.get(e);if(!(!n||n.size===0))for(let r of[...n])try{r(t)}catch(o){console.error("[Voodoo] error in devtools listener:",o)}},on(e,t){let n=pn.get(e);return n||pn.set(e,n=new Set),n.add(t),()=>{n==null||n.delete(t)}},off(e,t){var n;(n=pn.get(e))==null||n.delete(t)},clear(e){e?pn.delete(e):pn.clear()},count(e){var t,n;return(n=(t=pn.get(e))==null?void 0:t.size)!=null?n:0}};var U={mode:"history",base:"/",beforeEach:null,afterEach:null,linkActiveClass:"v-link-active",linkExactActiveClass:"v-link-exact-active",transition:!0,titleTemplate:"%s",scrollBehavior:null},ui="__voodooRoute",vu=10,pt=[],hu=new Map,fi=new Map,Xn="inicial",pi=!1,gu=!1;function Zv(){return{path:"/",fullPath:"/",params:{},query:{},hash:"",name:"",meta:{},matched:null}}var ce=Z(Zv());function Ur(e){let t=e||"/";return t.startsWith("/")||(t=`/${t}`),t=t.replace(/\/{2,}/g,"/"),t.length>1&&t.endsWith("/")&&(t=t.slice(0,-1)),t}function bu(e){let t={};return e&&new URLSearchParams(e.startsWith("?")?e.slice(1):e).forEach((r,o)=>{t[o]=r}),t}function eh(e){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))r!=null&&t.append(n,String(r));return t.toString()}function Sa(e){let t=e||"/",n="",r=t.indexOf("#");r>-1&&(n=t.slice(r+1),t=t.slice(0,r));let o={},i=t.indexOf("?");return i>-1&&(o=bu(t.slice(i+1)),t=t.slice(0,i)),{path:Ur(t),query:o,hash:n}}function th(e){let t=U.base.replace(/\/$/,"");return!t||t===""?e:e===t?"/":e.startsWith(`${t}/`)?e.slice(t.length):e}function yu(){return typeof window=="undefined"?{path:"/",query:{},hash:""}:U.mode==="hash"?Sa(window.location.hash.slice(1)||"/"):{path:Ur(th(window.location.pathname)),query:bu(window.location.search),hash:window.location.hash.slice(1)}}function xu(e,t,n){let r=eh(t);return`${e}${r?`?${r}`:""}${n?`#${n}`:""}`}function Aa(e){let t=xu(e.path,e.query,e.hash);if(U.mode==="hash"){let{pathname:r,search:o}=window.location;return`${r}${o}#${t}`}return`${U.base==="/"?"":U.base.replace(/\/$/,"")}${t}`||"/"}var La=!1,mi=!1;function Ca(e,t,n){if(!La)try{n?window.history.replaceState(e,"",t):window.history.pushState(e,"",t);return}catch(i){if(!(i instanceof Error)||i.name!=="SecurityError")throw i;La=!0}if(U.mode!=="hash")return;let r=t.indexOf("#");if(r<0)return;let o=t.slice(r);if(window.location.hash!==o){mi=!0;try{window.location.hash=o}finally{setTimeout(()=>{mi=!1},0)}}}function wu(e,t){let n=e==="*"?"*":Ur(e),r=n==="*"?["*"]:n.split("/").filter(Boolean),o=[],i=r.length*10;for(let s of r){if(s==="*"||s==="**"){o.push({type:"wildcard",value:"*",optional:!0}),i-=30;continue}if(s.startsWith(":")){let a=s.endsWith("?"),l=s.slice(1,a?-1:void 0);o.push({type:"param",value:l,optional:a}),i+=a?1:2;continue}o.push({type:"static",value:s,optional:!1}),i+=4}return{pattern:n,segments:o,score:i,record:t}}function nh(e,t){let n={},r=0;for(let o of e){if(o.type==="wildcard")return n["*"]=t.slice(r).map(Ta).join("/"),n;if(r>=t.length){if(o.optional)continue;return null}let i=t[r];if(o.type==="static"){if(Ta(i)!==o.value)return null;r++;continue}n[o.value]=Ta(i),r++}return r===t.length?n:null}function Ta(e){try{return decodeURIComponent(e)}catch(t){return e}}function rh(e){let t=e.split("/").filter(Boolean),n=null;for(let r of pt){let o=nh(r.segments,t);o&&(!n||r.score>n.route.score)&&(n={route:r,params:o})}return n}function Ra(e){var t,n;return e&&(n=(t=pt.find(r=>r.pattern===e))==null?void 0:t.record)!=null?n:null}function Gn(e){let{path:t,query:n,hash:r}=Sa(e);return $a(t,n,r)}function $a(e,t,n){var o,i;let r=rh(e);return{path:e,fullPath:xu(e,t,n),params:r?r.params:{},query:t,hash:n,name:(o=r==null?void 0:r.route.record.name)!=null?o:"",meta:(i=r==null?void 0:r.route.record.meta)!=null?i:{},matched:r?r.route.pattern:null}}function Qn(){return{path:ce.path,fullPath:ce.fullPath,params:{...ce.params},query:{...ce.query},hash:ce.hash,name:ce.name,meta:ce.meta,matched:ce.matched}}function Da(e){ce.path=e.path,ce.fullPath=e.fullPath,ce.params=e.params,ce.query=e.query,ce.hash=e.hash,ce.name=e.name,ce.meta=e.meta,ce.matched=e.matched;let t=Ra(e.matched);t!=null&&t.title&&typeof document!="undefined"&&(document.title=U.titleTemplate.includes("%s")?U.titleTemplate.replace("%s",t.title):t.title)}async function Ha(e,t){let n=Ra(e.matched);if(n!=null&&n.redirect)return n.redirect;if(n!=null&&n.beforeEnter){let r=await n.beforeEnter(e,t);if(r===!1)return!1;if(typeof r=="string")return r}if(U.beforeEach){let r=await U.beforeEach(e,t);if(r===!1)return!1;if(typeof r=="string")return r}return!0}function hi(){typeof window!="undefined"&&hu.set(Xn,window.scrollY)}function Pa(e,t,n){typeof window!="undefined"&&Me(()=>{requestAnimationFrame(()=>{var o;let r=i=>{Math.abs(window.scrollY-i)>1&&window.scrollTo(0,i)};if(U.scrollBehavior){let i=U.scrollBehavior(e,t,n);if(i===!1)return;if(typeof i=="number"){r(i);return}}if(e.hash){let i=(o=document.getElementById(e.hash))!=null?o:/^[\w-]+$/.test(e.hash)?document.querySelector(`[name="${e.hash}"]`):null;if(i){i.scrollIntoView({behavior:"smooth",block:"start"});return}}r(n!=null?n:0)})})}async function Vt(e,t={}){var a,l;if(typeof window=="undefined")return!1;Eu();let n=Qn(),r=Gn(e);if(!t.force&&r.fullPath===n.fullPath)return!0;for(let c=0;;c++){if(c>vu)return Y(`Router: too many redirects when navigating to "${e}".`),!1;let d=await Ha(r,n);if(d===!1)return Fe.emit("navigation",{from:n.fullPath,to:r.fullPath,cancelled:!0,matched:r.matched}),!1;if(typeof d=="string"){r=Gn(d);continue}break}hi();let o=ae("rota"),i={...(a=t.state)!=null?a:{},[ui]:o},s=Aa(r);return Ca(i,s,t.replace===!0),Xn=o,Da(r),t.scroll!==!1&&Pa(r,n,null),(l=U.afterEach)==null||l.call(U,Qn(),n),Fe.emit("navigation",{from:n.fullPath,to:r.fullPath,matched:r.matched}),!0}async function oh(e){var c,d;if(mi)return;let{path:t,query:n,hash:r}=yu(),o=$a(t,n,r),i=Qn();if(o.fullPath===i.fullPath)return;let s=await Ha(o,i);if(s===!1){Ca({[ui]:Xn},Aa(i),!0),Fe.emit("navigation",{from:i.fullPath,to:o.fullPath,cancelled:!0,matched:o.matched});return}if(typeof s=="string"){Vt(s,{replace:!0});return}hi();let a=e.state,l=a&&a[ui]||ae("rota");Xn=l,Da(o),Pa(o,i,(c=hu.get(l))!=null?c:0),(d=U.afterEach)==null||d.call(U,Qn(),i),Fe.emit("navigation",{from:i.fullPath,to:o.fullPath,matched:o.matched})}function vi(e){oh(e)}function Eu(){pi||typeof window=="undefined"||(pi=!0,"scrollRestoration"in window.history&&(window.history.scrollRestoration="manual"),window.addEventListener("popstate",vi),U.mode==="hash"&&window.addEventListener("hashchange",vi),window.addEventListener("beforeunload",hi))}function ih(){!pi||typeof window=="undefined"||(pi=!1,window.removeEventListener("popstate",vi),window.removeEventListener("hashchange",vi),window.removeEventListener("beforeunload",hi),La=!1,mi=!1)}async function sh(){var i;if(typeof window=="undefined")return;let{path:e,query:t,hash:n}=yu(),r=Qn(),o=$a(e,t,n);for(let s=0;;s++){if(s>vu){Y("Router: too many redirects in the initial route.");return}let a=await Ha(o,r);if(a===!1)return;if(typeof a=="string"){o=Gn(a);continue}break}Xn=ae("rota"),Ca({[ui]:Xn},Aa(o),!0),Da(o),o.hash&&Pa(o,r,null),(i=U.afterEach)==null||i.call(U,Qn(),r)}function ah(e,t){let n=wu(e,t),r=pt.findIndex(o=>o.pattern===n.pattern);r>-1?pt.splice(r,1,n):pt.push(n)}function lh(e){let t=e==="*"?"*":Ur(e),n=pt.findIndex(r=>r.pattern===t);n>-1&&pt.splice(n,1)}function ch(){return[...pt].sort((e,t)=>t.score-e.score).map(e=>e.pattern)}function dh(e){e?fi.delete(e):fi.clear()}function uh(e){var t,n,r,o,i,s,a,l,c,d;U.mode=(t=e.mode)!=null?t:"history",U.base=Ur((n=e.base)!=null?n:"/"),U.beforeEach=(r=e.beforeEach)!=null?r:null,U.afterEach=(o=e.afterEach)!=null?o:null,U.linkActiveClass=(i=e.linkActiveClass)!=null?i:"v-link-active",U.linkExactActiveClass=(s=e.linkExactActiveClass)!=null?s:"v-link-exact-active",U.transition=(a=e.transition)!=null?a:!0,U.titleTemplate=(l=e.titleTemplate)!=null?l:"%s",U.scrollBehavior=(c=e.scrollBehavior)!=null?c:null,pt.length=0;for(let[u,p]of Object.entries((d=e.routes)!=null?d:{}))pt.push(wu(u,p));return gu=!0,Eu(),sh(),Wr}var fh={get current(){return ce},push:(e,t={})=>Vt(e,t),replace:(e,t={})=>Vt(e,{...t,replace:!0}),navigate:Vt,back:()=>{typeof window!="undefined"&&window.history.back()},forward:()=>{typeof window!="undefined"&&window.history.forward()},go:e=>{typeof window!="undefined"&&window.history.go(e)},resolve:Gn,addRoute:ah,removeRoute:lh,patterns:ch,stop:ih,clearViewCache:dh,get ready(){return gu}},Wr=Object.defineProperties(uh,Object.getOwnPropertyDescriptors(fh));P("$route",()=>ce);P("$router",()=>Wr);async function ph(e){let t=fi.get(e);if(t!==void 0)return t;let n=await ve.get(e,{responseType:"text"}),r=typeof n=="string"?n:String(n!=null?n:"");return fi.set(e,r),r}function mh(e){return Object.keys(e).sort().map(n=>`${n}=${e[n]}`).join("&")}y("router-view",({el:e,scope:t,modifiers:n,effect:r,cleanup:o})=>{jo(e);let i=e.innerHTML,s=U.transition&&!n["no-transition"],a=0,l=()=>{for(let u of Array.from(e.childNodes))X(u);e.textContent=""},c=(u,p)=>{if(l(),u!=null&&u.component){let f=document.createElement("div");f.setAttribute(`${w.prefix}component`,u.component),f.className="v-router-page",e.appendChild(f),se(f,t);return}e.innerHTML=p!=null?p:i;for(let f of Array.from(e.childNodes))se(f,t)},d=async(u,p)=>{let f=null;if(u!=null&&u.view){e.classList.add("v-router-loading");try{f=await ph(u.view)}catch(m){K(m,`v-router-view loading "${u.view}"`),f=""}finally{e.classList.remove("v-router-loading")}if(p!==a)return}s?si(()=>c(u,f)):c(u,f)};r(()=>{let u=ce.matched;mh(ce.params);let p=Ra(u);d(p,++a)}),o(()=>{a++,l()})},{priority:j.DEFAULT});var vh=/^[a-z][a-z0-9+.-]*:/i;function pu(e){return!!(!e||e.startsWith("//")||vh.test(e))}function mu(e,t,n){var i;let r=t.trim();if(r){if(r.startsWith("/")||r.startsWith("#"))return r;let s=n(r);return typeof s=="string"&&s?s:r}let o=(i=e.getAttribute("href"))!=null?i:"";return U.mode==="hash"&&o.startsWith("#")?o.slice(1)||"/":o}function Ma(e,t){let{path:n}=Sa(e);return n==="/"||t?ce.path===n:ce.path===n||ce.path.startsWith(`${n}/`)}y("link",({el:e,expression:t,modifiers:n,effect:r,cleanup:o,evaluate:i})=>{let s=e,a=l=>{var u;if(l.defaultPrevented||l.metaKey||l.ctrlKey||l.shiftKey||l.altKey||typeof l.button=="number"&&l.button!==0)return;let c=s.getAttribute("target");if(c&&c!=="_self"||s.hasAttribute("download")||((u=s.getAttribute("rel"))!=null?u:"").split(/\s+/).includes("external"))return;let d=mu(e,t,i);d&&(pu(d)||U.mode!=="hash"&&d.startsWith("#")||(l.preventDefault(),Vt(d,{replace:!!n.replace,scroll:n["no-scroll"]?!1:void 0})))};e.addEventListener("click",a),o(()=>e.removeEventListener("click",a)),r(()=>{let l=mu(e,t,i);if(!l||pu(l))return;let c=Ma(l,!0),d=c||Ma(l,!1);e.classList.toggle(U.linkActiveClass,d),e.classList.toggle(U.linkExactActiveClass,c),c?e.setAttribute("aria-current","page"):e.removeAttribute("aria-current")})});y("route-active",({el:e,expression:t,arg:n,modifiers:r,effect:o,evaluate:i})=>{let s=n||"active";o(()=>{var d;let a=t.trim(),l=a.startsWith("/")||!a?a:(d=i(a))!=null?d:a,c=l?Ma(String(l),!!r.exact):!1;e.classList.toggle(s,c)})});be();le();var hh="voodoo:locale",z=Z({locale:w.locale||"pt-BR",fallback:"en",currency:w.currency||"BRL",messages:{}}),Jn=hh,Zn="",Na=new Map;function gi(e,t){let n=z.messages[e];if(!n)return null;let r=n[t];if(typeof r=="string")return r;let o=n;for(let i of t.split(".")){if(o==null||typeof o=="string")return null;o=o[i]}return typeof o=="string"?o:null}function bi(e){let t=[e],n=e.split("-")[0];n&&n!==e&&t.push(n);for(let r of Object.keys(z.messages))r!==e&&r.split("-")[0]===n&&t.push(r);return t}var ku=new Map;function gh(e,t){try{let n=ku.get(e);return n||ku.set(e,n=new Intl.PluralRules(e)),n.select(t)}catch(n){return t===1?"one":"other"}}var bh=["zero","one","two","few","many","other"];function yh(e,t,n){var i;if(e.length<=1)return(i=e[0])!=null?i:"";let r=gh(n,t);if(e.length===2)return r==="one"?e[0]:e[1];if(e.length===3)return t===0?e[0]:r==="one"?e[1]:e[2];let o=bh.indexOf(r);return e[Math.min(o<0?e.length-1:o,e.length-1)]}var xh=/\{\s*([\w.$-]+)\s*\}/g;function wh(e,t){return e.indexOf("{")===-1?e:e.replace(xh,(n,r)=>{let o=t[r];return o==null?n:String(o)})}function Eh(e){return e==null?{}:typeof e=="number"?{n:e}:e}function er(e,t){var i,s;if(!e)return"";let n=Eh(t),r=z.locale,o=null;for(let a of bi(r))if(o=gi(a,e),o!==null)break;if(o===null&&z.fallback&&z.fallback!==r){for(let a of bi(z.fallback))if(o=gi(a,e),o!==null)break}if(o===null)return e;if(o.includes("|")){let a=Number((s=(i=n.n)!=null?i:n.count)!=null?s:0),l=o.split("|").map(c=>c.trim());o=yh(l,Number.isNaN(a)?0:a,r)}return wh(o,n)}function kh(e,t){let n=t!=null?t:z.locale;for(let r of bi(n))if(gi(r,e)!==null)return!0;if(z.fallback&&z.fallback!==n){for(let r of bi(z.fallback))if(gi(r,e)!==null)return!0}return!1}function Tu(e,t={}){return sa(e,{...t,locale:z.locale})}function Lu(e,t){return ia(e,{locale:z.locale,currency:t!=null?t:z.currency})}function Mu(e,t="short"){return aa(e,t,z.locale)}function Su(e){return la(e,z.locale)}function xi(){return z.locale}function Th(e){var t;return(t=z.messages[e!=null?e:z.locale])!=null?t:{}}function yi(e,t){let n=z.messages[e];return n?Xo(n,t):z.messages[e]=t,e}async function Oa(e,t){if(typeof t!="string"){yi(e,t);return}let n=Na.get(e);if(n)return n;let r=ve.get(t,{responseType:"json"}).then(o=>{o&&typeof o=="object"&&yi(e,o)}).catch(o=>{K(o,`i18n ao carregar "${t}"`)}).finally(()=>{Na.delete(e)});return Na.set(e,r),r}function _r(e){let t=e==null?void 0:e.trim();if(!t||t===z.locale)return Promise.resolve();let n=z.locale;return z.locale=t,z.currency=z.currency||w.currency,w.locale=t,Qo(t,z.currency),Jn&&ue.set(Jn,t),typeof document!="undefined"&&(document.documentElement.lang=t),Fe.emit("locale",{from:n,to:t}),!z.messages[t]&&Zn?Oa(t,Zn.replace("{locale}",t)):Promise.resolve()}function Au(){var n;if(typeof navigator=="undefined")return null;let e=Object.keys(z.messages);if(!e.length)return null;let t=(n=navigator.languages)!=null&&n.length?[...navigator.languages]:[navigator.language];for(let r of t){if(!r)continue;let o=e.find(a=>a.toLowerCase()===r.toLowerCase());if(o)return o;let i=r.split("-")[0].toLowerCase(),s=e.find(a=>a.split("-")[0].toLowerCase()===i);if(s)return s}return null}function Lh(e={}){var o,i,s,a;if(e.messages)for(let[l,c]of Object.entries(e.messages))yi(l,c);z.fallback=(o=e.fallback)!=null?o:z.fallback,z.currency=(s=(i=e.currency)!=null?i:w.currency)!=null?s:z.currency,Zn=(a=e.loadPath)!=null?a:Zn,e.persist===!1?Jn=null:typeof e.persist=="string"&&(Jn=e.persist);let t=Jn?ue.get(Jn):void 0,n=e.detect===!1?null:Au(),r=t||n||e.locale||z.locale||z.fallback;return z.locale=r,w.locale=r,Qo(r,z.currency),typeof document!="undefined"&&(document.documentElement.lang=r),!z.messages[r]&&Zn&&Oa(r,Zn.replace("{locale}",r)),Kr}var Mh={get locale(){return z.locale},get fallback(){return z.fallback},get locales(){return Object.keys(z.messages)},t:er,te:kh,n:Tu,c:Lu,d:Mu,rt:Su,setLocale:_r,getLocale:xi,addMessages:yi,loadMessages:Oa,messagesOf:Th,detectLocale:Au},Kr=Object.defineProperties(Lh,Object.getOwnPropertyDescriptors(Mh));P("$t",()=>er);P("$locale",()=>z.locale);P("$i18n",()=>Kr);P("$n",()=>Tu);P("$c",()=>Lu);P("$d",()=>Mu);P("$rt",()=>Su);var Sh=/^[A-Za-z_$][\w$-]*(\.[A-Za-z_$][\w$-]*)*$/;function Ah(e,t){let n=e.trim();if(!n)return"";if(Sh.test(n))return n;let r=t(n);return typeof r=="string"?r:n}function Ch(e,t){var o;let n=(o=ke(e,`${w.prefix}t-params`))!=null?o:ke(e,"data-v-t-params");if(!n)return{};let r=t(n);return r&&typeof r=="object"?r:{}}y("t",({el:e,arg:t,expression:n,effect:r,evaluate:o})=>{r(()=>{let i=Ah(n,o);if(!i)return;let s=er(i,Ch(e,o));t?e.setAttribute(t,s):e.textContent!==s&&(e.textContent=s)})});y("t-params",()=>{});y("locale",({el:e,expression:t,effect:n,cleanup:r,evaluate:o})=>{let i=()=>{let a=t.trim();if(!a)return"";if(/^[A-Za-z]{2,3}([-_][A-Za-z0-9]{2,8})*$/.test(a))return a.replace("_","-");let l=o(a);return typeof l=="string"?l:a},s=()=>{let a=i();a&&_r(a)};e.addEventListener("click",s),r(()=>e.removeEventListener("click",s)),n(()=>{e.classList.toggle("v-locale-active",i()===z.locale)})});be();le();He();He();le();var Fa=new WeakMap;function Wt(e,t){var n;return(n=ke(e,`${w.prefix}${t}`))!=null?n:ke(e,`data-v-${t}`)}function wi(e,t){return Nt(e,`${w.prefix}${t}`)||Nt(e,`data-v-${t}`)}function J(e,t){let n=Fa.get(e);return n&&t in n?n[t]:Wt(e,t)}function Ei(e,t,n){var o;let r=(o=Fa.get(e))!=null?o:{};r[t]=n,Fa.set(e,r)}function _(e){y(e,({el:t,expression:n})=>{Ei(t,e,n)},{priority:j.BIND})}function fe(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0}))}function mt(e,t,n,r,o){if(!e.trim())return;let i=t.child({$el:n,$event:r!=null?r:null,$detail:o}),s=q(e,i,"directive de UI");return typeof s=="function"?s.call(t.data,o!=null?o:r):s}var Rh=`
139
139
  .v-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
140
140
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
141
141
  `,Ut=null;function Ye(e){if(typeof document=="undefined")return;ne("ui-live",Rh),(!Ut||!Ut.isConnected)&&(Ut=document.createElement("div"),Ut.className="v-visually-hidden",Ut.setAttribute("role","status"),Ut.setAttribute("aria-live","polite"),document.body.appendChild(Ut));let t=Ut;t.textContent="",setTimeout(()=>{t.textContent=e},40)}function ki(e,t,n){return Bo(e,t).filter(r=>Hn(r,n)===e)}He();le();var $h=`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "voodoojs",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "Voodoo.js: the HTML-first JavaScript framework. Build reactive applications directly in HTML: fine-grained reactivity, components, HTTP, forms, validation, router and UI. No mandatory build step, no runtime dependencies, no Virtual DOM, no eval.",
5
5
  "keywords": [
6
6
  "javascript",