voodoojs 0.6.1 → 0.7.0

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 (37) hide show
  1. package/README.md +65 -13
  2. package/dist/{chunk-NNU6WOOU.js → chunk-4T2UIPWX.js} +4 -4
  3. package/dist/{chunk-A2UOVQBP.js → chunk-CYN6VLMD.js} +4 -4
  4. package/dist/{chunk-JZIYRIY6.js → chunk-E5T65CEI.js} +5 -5
  5. package/dist/{chunk-U76IRJKH.js → chunk-GIWKGFGY.js} +4 -4
  6. package/dist/{chunk-CNHNFTPC.js → chunk-II3XBOAP.js} +13 -13
  7. package/dist/{chunk-PHMBDPWH.js → chunk-JB2YYNK6.js} +7 -7
  8. package/dist/{chunk-5777LJVW.js → chunk-MMLUK37L.js} +3 -3
  9. package/dist/{chunk-4LR3IFPX.js → chunk-QO3I7VLJ.js} +5 -5
  10. package/dist/{chunk-PQZEVFVZ.js → chunk-WSDB7K4X.js} +6 -6
  11. package/dist/{chunk-E27NRARW.js → chunk-YOZTHZS2.js} +3 -3
  12. package/dist/{chunk-234ZLC6W.js → chunk-ZIWLQZZL.js} +4 -4
  13. package/dist/essential.cjs +2 -2
  14. package/dist/essential.js +10 -10
  15. package/dist/gpu.cjs +1 -1
  16. package/dist/gpu.js +10 -10
  17. package/dist/http.cjs +1 -1
  18. package/dist/http.js +5 -5
  19. package/dist/index.cjs +10 -9
  20. package/dist/index.d.cts +1 -1
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.js +28 -27
  23. package/dist/reactivity.cjs +1 -1
  24. package/dist/reactivity.js +2 -2
  25. package/dist/socket.cjs +1 -1
  26. package/dist/socket.js +9 -9
  27. package/dist/style-SLQ6PHZK.js +5 -0
  28. package/dist/utils.cjs +1 -1
  29. package/dist/utils.js +2 -2
  30. package/dist/voodoo.core.js +2 -2
  31. package/dist/voodoo.core.min.js +2 -2
  32. package/dist/voodoo.full.js +10 -9
  33. package/dist/voodoo.full.min.js +4 -4
  34. package/dist/voodoo.js +2 -2
  35. package/dist/voodoo.min.js +2 -2
  36. package/package.json +1 -1
  37. package/dist/style-XEUAGGJK.js +0 -5
package/dist/index.js CHANGED
@@ -1,25 +1,25 @@
1
- import { core, sound, hotkey, palette, registerMask, unmask, applyMask, masks, mask, clearErrors, showFieldError, showFormErrors, messages, serializeForm, validate, validator, dialog, prompt, confirm, alert, modal, VoodooCollection, fromHtml, ready2, query, viewTransition, defineComponent, storage, ensurePalette, instances, storeNames, allStores } from './chunk-CNHNFTPC.js';
2
- export { VoodooCollection, alert, allStores, applyMask, cache, clearErrors, clipboard, confirm, cookie, createApp, createResource, defineComponent, dialog, ready as documentReady, enter, fadeIn, fadeOut, fromHtml, hotkey, instances, leave, mask, masks, modal, mountComponent, network, palette, prompt, query, ready2 as ready, registerMask, removeStore, createResource as resource, screen, serializeForm, session, showFormErrors, slideDown, slideUp, sound, efeitos as soundEffects, storage, store, storeNames, theme, toast, unmask, url, validate, validator, viewTransition, whenElement, whenReady } from './chunk-CNHNFTPC.js';
3
- export { gpu, reflectWgsl } from './chunk-JZIYRIY6.js';
4
- import { http } from './chunk-PQZEVFVZ.js';
5
- export { HttpError, http, request } from './chunk-PQZEVFVZ.js';
6
- import { devtoolsBus } from './chunk-4LR3IFPX.js';
7
- export { createSocket, devtoolsBus, socket, socketSupported } from './chunk-4LR3IFPX.js';
8
- import { magic, markSkipChildren, destroy, readAttr, walk, hadDirectives, getScope, collectDirectives, findScope, getEffectScopes, evaluateIn } from './chunk-PHMBDPWH.js';
9
- export { Scope, VoodooRuntimeError, VoodooSyntaxError, addCleanup, allowedGlobals, clearParseCache, destroy, evaluate, findScope, getScope, magic, magics, parse, refresh, rootScope, start, stringify, tokenize, walk } from './chunk-PHMBDPWH.js';
10
- import { reactive, warn, handleError, queuePostFlush, nextTick } from './chunk-NNU6WOOU.js';
11
- export { EffectScope, computed, effect, effectScope, flushSync, isReactive, markRaw, nextTick, reactive, ref, shallowRef, stop, toRaw, unref, watch, watchEffect } from './chunk-NNU6WOOU.js';
12
- import { warnAlias } from './chunk-A2UOVQBP.js';
13
- import { parseDuration, formatNumber, formatCurrency, formatDate, relativeTime, device, setFormatDefaults, uid, merge, escapeHtml, truncate, get, titleCase } from './chunk-234ZLC6W.js';
14
- export { capitalize, chunk, clone, debounce, device, escapeHtml, formatCurrency, formatDate, formatFileSize, formatNumber, formatPercent, get, groupBy, isBrowser, matchesMedia, memoize, merge, once, parseDuration, random, relativeTime, sample, set, setFormatDefaults, sleep, slugify, sortBy, stripTags, throttle, titleCase, truncate, uid, unique, uuid } from './chunk-234ZLC6W.js';
15
- import { ensureTokens, injectStyle } from './chunk-U76IRJKH.js';
16
- export { ensureTokens, injectStyle } from './chunk-U76IRJKH.js';
17
- import { defineDirective, PRIORITY, config } from './chunk-5777LJVW.js';
18
- export { PRIORITY, config, defineDirective } from './chunk-5777LJVW.js';
19
- import './chunk-E27NRARW.js';
1
+ import { core, sound, hotkey, palette, registerMask, unmask, applyMask, masks, mask, clearErrors, showFieldError, showFormErrors, messages, serializeForm, validate, validator, dialog, prompt, confirm, alert, modal, VoodooCollection, fromHtml, ready2, query, viewTransition, defineComponent, storage, ensurePalette, instances, storeNames, allStores } from './chunk-II3XBOAP.js';
2
+ export { VoodooCollection, alert, allStores, applyMask, cache, clearErrors, clipboard, confirm, cookie, createApp, createResource, defineComponent, dialog, ready as documentReady, enter, fadeIn, fadeOut, fromHtml, hotkey, instances, leave, mask, masks, modal, mountComponent, network, palette, prompt, query, ready2 as ready, registerMask, removeStore, createResource as resource, screen, serializeForm, session, showFormErrors, slideDown, slideUp, sound, efeitos as soundEffects, storage, store, storeNames, theme, toast, unmask, url, validate, validator, viewTransition, whenElement, whenReady } from './chunk-II3XBOAP.js';
3
+ export { gpu, reflectWgsl } from './chunk-E5T65CEI.js';
4
+ import { http } from './chunk-WSDB7K4X.js';
5
+ export { HttpError, http, request } from './chunk-WSDB7K4X.js';
6
+ import { devtoolsBus } from './chunk-QO3I7VLJ.js';
7
+ export { createSocket, devtoolsBus, socket, socketSupported } from './chunk-QO3I7VLJ.js';
8
+ import { magic, markSkipChildren, destroy, readAttr, walk, hadDirectives, getScope, collectDirectives, findScope, getEffectScopes, evaluateIn } from './chunk-JB2YYNK6.js';
9
+ export { Scope, VoodooRuntimeError, VoodooSyntaxError, addCleanup, allowedGlobals, clearParseCache, destroy, evaluate, findScope, getScope, magic, magics, parse, refresh, rootScope, start, stringify, tokenize, walk } from './chunk-JB2YYNK6.js';
10
+ import { reactive, warn, handleError, queuePostFlush, nextTick } from './chunk-4T2UIPWX.js';
11
+ export { EffectScope, computed, effect, effectScope, flushSync, isReactive, markRaw, nextTick, reactive, ref, shallowRef, stop, toRaw, unref, watch, watchEffect } from './chunk-4T2UIPWX.js';
12
+ import { warnAlias } from './chunk-CYN6VLMD.js';
13
+ import { parseDuration, formatNumber, formatCurrency, formatDate, relativeTime, device, setFormatDefaults, uid, merge, escapeHtml, truncate, get, titleCase } from './chunk-ZIWLQZZL.js';
14
+ export { capitalize, chunk, clone, debounce, device, escapeHtml, formatCurrency, formatDate, formatFileSize, formatNumber, formatPercent, get, groupBy, isBrowser, matchesMedia, memoize, merge, once, parseDuration, random, relativeTime, sample, set, setFormatDefaults, sleep, slugify, sortBy, stripTags, throttle, titleCase, truncate, uid, unique, uuid } from './chunk-ZIWLQZZL.js';
15
+ import { ensureTokens, injectStyle } from './chunk-GIWKGFGY.js';
16
+ export { ensureTokens, injectStyle } from './chunk-GIWKGFGY.js';
17
+ import { defineDirective, PRIORITY, config } from './chunk-MMLUK37L.js';
18
+ export { PRIORITY, config, defineDirective } from './chunk-MMLUK37L.js';
19
+ import './chunk-YOZTHZS2.js';
20
20
 
21
21
  /**
22
- * Voodoo.js v0.4.6
22
+ * Voodoo.js v0.7.0
23
23
  * JavaScript feels like magic.
24
24
  * (c) 2026 Voodoo.js contributors. MIT License.
25
25
  */
@@ -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;
@@ -6500,8 +6501,8 @@ function enableXrayShortcut() {
6500
6501
  if (shortcutInstalled || typeof document === "undefined") return;
6501
6502
  shortcutInstalled = true;
6502
6503
  document.addEventListener("keydown", (event) => {
6503
- if (!event.ctrlKey || !event.shiftKey) return;
6504
- if (event.key !== "X" && event.key !== "x") return;
6504
+ if (!event.altKey || !event.shiftKey || event.ctrlKey || event.metaKey) return;
6505
+ if (event.code !== "KeyV" && event.key !== "V" && event.key !== "v") return;
6505
6506
  event.preventDefault();
6506
6507
  xray();
6507
6508
  });
@@ -6693,9 +6694,9 @@ function build() {
6693
6694
  const button = document.createElement("button");
6694
6695
  button.type = "button";
6695
6696
  button.className = "v-devtools-btn";
6696
- button.setAttribute("aria-label", "Open Voodoo devtools (Ctrl+Shift+X)");
6697
+ button.setAttribute("aria-label", "Open Voodoo devtools (Alt+Shift+V)");
6697
6698
  button.setAttribute("aria-pressed", "false");
6698
- button.title = "Voodoo devtools \u2014 click to inspect, drag to move (Ctrl+Shift+X)";
6699
+ button.title = "Voodoo devtools \u2014 click to inspect, drag to move (Alt+Shift+V)";
6699
6700
  button.innerHTML = MARK;
6700
6701
  const label = document.createElement("span");
6701
6702
  label.className = "v-devtools-label";
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  /**
4
- * Voodoo.js v0.4.6
4
+ * Voodoo.js v0.7.0
5
5
  * JavaScript feels like magic.
6
6
  * (c) 2026 Voodoo.js contributors. MIT License.
7
7
  */
@@ -1,4 +1,4 @@
1
- export { EffectScope, ITERATE_KEY, ReactiveEffect, TriggerType, computed, effect, effectScope, enableTracking, flushSync, getActiveEffect, getActiveScope, handleError, hasChanged, isReactive, isRef, markRaw, nextTick, pauseTracking, queueJob, queuePostFlush, reactive, ref, resetTracking, setErrorHandler, shallowRef, stop, toRaw, track, trigger, unref, warn, watch, watchEffect } from './chunk-NNU6WOOU.js';
2
- import './chunk-E27NRARW.js';
1
+ export { EffectScope, ITERATE_KEY, ReactiveEffect, TriggerType, computed, effect, effectScope, enableTracking, flushSync, getActiveEffect, getActiveScope, handleError, hasChanged, isReactive, isRef, markRaw, nextTick, pauseTracking, queueJob, queuePostFlush, reactive, ref, resetTracking, setErrorHandler, shallowRef, stop, toRaw, track, trigger, unref, warn, watch, watchEffect } from './chunk-4T2UIPWX.js';
2
+ import './chunk-YOZTHZS2.js';
3
3
  //# sourceMappingURL=reactivity.js.map
4
4
  //# sourceMappingURL=reactivity.js.map
package/dist/socket.cjs CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  /**
6
- * Voodoo.js v0.4.6
6
+ * Voodoo.js v0.7.0
7
7
  * JavaScript feels like magic.
8
8
  * (c) 2026 Voodoo.js contributors. MIT License.
9
9
  */
package/dist/socket.js CHANGED
@@ -1,14 +1,14 @@
1
- import { socketSupported, createSocket, socket } from './chunk-4LR3IFPX.js';
2
- export { ENGINE, SIO, createSocket, decodeEngine, decodeSocketIo, encodeSocketIo, engineURL, resolveSocketURL, socket, socketSupported } from './chunk-4LR3IFPX.js';
3
- import { evaluateIn, readAttr } from './chunk-PHMBDPWH.js';
4
- import { reactive } from './chunk-NNU6WOOU.js';
5
- import { warnAlias } from './chunk-A2UOVQBP.js';
6
- import { parseDuration } from './chunk-234ZLC6W.js';
7
- import { defineDirective, PRIORITY, config } from './chunk-5777LJVW.js';
8
- import './chunk-E27NRARW.js';
1
+ import { socketSupported, createSocket, socket } from './chunk-QO3I7VLJ.js';
2
+ export { ENGINE, SIO, createSocket, decodeEngine, decodeSocketIo, encodeSocketIo, engineURL, resolveSocketURL, socket, socketSupported } from './chunk-QO3I7VLJ.js';
3
+ import { evaluateIn, readAttr } from './chunk-JB2YYNK6.js';
4
+ import { reactive } from './chunk-4T2UIPWX.js';
5
+ import { warnAlias } from './chunk-CYN6VLMD.js';
6
+ import { parseDuration } from './chunk-ZIWLQZZL.js';
7
+ import { defineDirective, PRIORITY, config } from './chunk-MMLUK37L.js';
8
+ import './chunk-YOZTHZS2.js';
9
9
 
10
10
  /**
11
- * Voodoo.js v0.4.6
11
+ * Voodoo.js v0.7.0
12
12
  * JavaScript feels like magic.
13
13
  * (c) 2026 Voodoo.js contributors. MIT License.
14
14
  */
@@ -0,0 +1,5 @@
1
+ export { BASE_TOKENS, ensureTokens, injectStyle } from './chunk-GIWKGFGY.js';
2
+ import './chunk-MMLUK37L.js';
3
+ import './chunk-YOZTHZS2.js';
4
+ //# sourceMappingURL=style-SLQ6PHZK.js.map
5
+ //# sourceMappingURL=style-SLQ6PHZK.js.map
package/dist/utils.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  /**
4
- * Voodoo.js v0.4.6
4
+ * Voodoo.js v0.7.0
5
5
  * JavaScript feels like magic.
6
6
  * (c) 2026 Voodoo.js contributors. MIT License.
7
7
  */
package/dist/utils.js CHANGED
@@ -1,4 +1,4 @@
1
- export { capitalize, chunk, clone, debounce, device, escapeHtml, formatCurrency, formatDate, formatFileSize, formatNumber, formatPercent, get, groupBy, isBrowser, matchesMedia, memoize, merge, once, parseDuration, random, relativeTime, sample, set, setFormatDefaults, sleep, slugify, sortBy, stripTags, throttle, titleCase, truncate, uid, unique, uuid } from './chunk-234ZLC6W.js';
2
- import './chunk-E27NRARW.js';
1
+ export { capitalize, chunk, clone, debounce, device, escapeHtml, formatCurrency, formatDate, formatFileSize, formatNumber, formatPercent, get, groupBy, isBrowser, matchesMedia, memoize, merge, once, parseDuration, random, relativeTime, sample, set, setFormatDefaults, sleep, slugify, sortBy, stripTags, throttle, titleCase, truncate, uid, unique, uuid } from './chunk-ZIWLQZZL.js';
2
+ import './chunk-YOZTHZS2.js';
3
3
  //# sourceMappingURL=utils.js.map
4
4
  //# sourceMappingURL=utils.js.map
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Voodoo.js v0.4.6
2
+ * Voodoo.js v0.7.0
3
3
  * JavaScript feels like magic.
4
4
  * (c) 2026 Voodoo.js contributors. MIT License.
5
5
  */
@@ -6566,7 +6566,7 @@ Suggestion: attribute expressions accept a single value. If the logic spans more
6566
6566
  Object.defineProperties(rootScope.data, Object.getOwnPropertyDescriptors(values));
6567
6567
  return rootScope.data;
6568
6568
  }
6569
- var version2 = "0.4.6";
6569
+ var version2 = "0.7.0";
6570
6570
  var core = {
6571
6571
  // Utilities first: Voodoo's own names can override.
6572
6572
  ...utils_exports,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Voodoo.js v0.4.6
2
+ * Voodoo.js v0.7.0
3
3
  * JavaScript feels like magic.
4
4
  * (c) 2026 Voodoo.js contributors. MIT License.
5
5
  */
@@ -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 oc(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 ic({el:e,cleanup:t,run:n}){var l,f;let r=E(e,"trigger")||oc(e),[o,...i]=r.split(/[.\s]+/),s=q((l=E(e,"poll"))!=null?l: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(d=>{for(let m of d)m.isIntersecting&&(n(),i.includes("repeat")||p.unobserve(e))},{rootMargin:"80px"});p.observe(e),t(()=>p.disconnect());return}let a=i.includes("once"),c=q((f=E(e,"debounce"))!=null?f:void 0,0),u=p=>{(e.tagName==="FORM"||e.href)&&p.preventDefault(),n(p)};c>0&&(u=Fe(u,c)),e.addEventListener(o,u,{once:a}),t(()=>e.removeEventListener(o,u))}var sc=[["get","GET"],["post","POST"],["put","PUT"],["patch","PATCH"],["delete","DELETE"]];for(let[e,t]of sc)A(e,({el:n,scope:r,expression:o,cleanup:i})=>{ic({el:n,scope:r,cleanup:i,run:a=>{let c=It(o,r);if(!c)return;let u=E(n,"body")||E(n,"data-body"),l=u?N(u,r.child({$event:a}),"v-body"):void 0,f=E(n,"params"),p=f?N(f,r,"v-params"):void 0;Dt({el:n,scope:r,method:t,url:c,body:l,params:p,event:a})}})});function It(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=N(n,t,"URL");return typeof o=="string"?o:n}A("load",({el:e,scope:t,expression:n})=>{let r=It(n,t);r&&Dt({el:e,scope:t,method:"GET",url:r})});A("load-visible",({el:e,scope:t,cleanup:n,expression:r})=>{let o=It(r,t);if(!o)return;if(typeof IntersectionObserver=="undefined"){Dt({el:e,scope:t,method:"GET",url:o});return}let i=new IntersectionObserver(s=>{for(let a of s)a.isIntersecting&&(i.unobserve(e),Dt({el:e,scope:t,method:"GET",url:o}))},{rootMargin:"120px"});i.observe(e),n(()=>i.disconnect())});A("search",({el:e,scope:t,expression:n,cleanup:r})=>{var f,p;let o=e,i=It(n,t),s=E(e,"param")||o.getAttribute("name")||"q",a=q((f=E(e,"debounce"))!=null?f:void 0,300),c=Number((p=E(e,"min-length"))!=null?p:0),u=Fe(()=>{let d=o.value.trim();d.length<c||Dt({el:e,scope:t,method:"GET",url:i,params:{[s]:d}})},a),l=()=>u();o.addEventListener("input",l),r(()=>{o.removeEventListener("input",l),u.cancel()})});A("resource",({el:e,scope:t,expression:n,cleanup:r})=>{var c,u,l,f;let o=n.indexOf(":"),i=E(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=vn(()=>It(s,t),{method:(E(e,"method")||"GET").toUpperCase(),params:()=>E(e,"params")?N(E(e,"params"),t,"v-params"):void 0,cache:q((c=E(e,"cache"))!=null?c:void 0,0)||void 0,retry:Number((u=E(e,"retry"))!=null?u:0),timeout:q((l=E(e,"timeout"))!=null?l:void 0,oe.defaults.timeout),jsonPath:E(e,"json-path"),poll:q((f=E(e,"poll"))!=null?f:void 0,0),manual:Lr(e,"manual"),onSuccess:p=>ht(e,"voodoo:success",{data:p}),onError:(p,d)=>ht(e,"voodoo:error",{error:p,message:d})});t.set(i,a),r(()=>a.stop())},{priority:B.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"])A(e,()=>{},{priority:B.TRANSITION});Oo(Bo);Fo(St);zo(Ni);fi();var jt=new Map;function Pi(e,t){let n=jt.get(e);return n||jt.set(e,n=new Set),n.add(t),()=>n.delete(t)}function ac(e,t){let n=Pi(e,r=>{n(),t(r)});return n}function cc(e,t){let n=jt.get(e);if(n)for(let r of[...n])try{r(t)}catch(o){O(o,`event "${e}"`)}}function uc(e,t){var n;if(!t){jt.delete(e);return}(n=jt.get(e))==null||n.delete(t)}function Ni(e,t){var r,o;let n=typeof t=="function"?{mounted:t,updated:t}:t;A(e,i=>{var l,f;let s,a=!1,c=p=>{var d,m;return{el:i.el,value:p,oldValue:s,arg:i.arg,modifiers:i.modifiers,expression:i.expression,scope:i.scope,instance:(m=(d=i.scope.owner)==null?void 0:d.component)!=null?m:null}},u=n.raw?i.expression:i.evaluate();(l=n.created)==null||l.call(n,i.el,c(u)),(f=n.beforeMount)==null||f.call(n,i.el,c(u)),i.effect(()=>{var m,g;let p=n.raw?i.expression:i.evaluate();if(!a){a=!0,s=p,(m=n.mounted)==null||m.call(n,i.el,c(p));return}if(p===s)return;let d=c(p);(g=n.updated)==null||g.call(n,i.el,d),s=p}),i.cleanup(()=>{var d,m;let p=c(s);(d=n.beforeUnmount)==null||d.call(n,i.el,p),(m=n.unmounted)==null||m.call(n,i.el,p)})},{priority:(r=n.priority)!=null?r:B.DEFAULT,terminal:(o=n.terminal)!=null?o:!1})}function lc(e){return Object.defineProperties(de.data,Object.getOwnPropertyDescriptors(e)),de.data}var dc="0.4.6",xn={...vr,version:dc,config:T,reactive:F,ref:Tt,shallowRef:Qn,computed:xt,effect:te,watch:ue,watchEffect:Gn,nextTick:Oe,toRaw:K,markRaw:Wn,unref:Kn,stop:Un,effectScope:qn,EffectScope:ne,flushSync:In,data:lc,store:Yo,stores:un,removeStore:Xo,storeNames:Jo,scope:de,component:rt,components:z,directive:Ni,directives:ge,magic:P,magics:Et,createApp:Qo,start:Ho,whenReady:sn,whenElement:an,walk:j,refresh:Io,destroy:$,stopObserving:Do,getScope:et,findScope:we,addCleanup:fe,parseAttribute:Je,parse:le,tokenize:Xt,evaluate:x,evaluateIn:N,stringify:Se,clearParseCache:ao,globals:G,http:oe,request:Lt,HttpError:X,resource:vn,toast:Ce,storage:ie,session:pn,cookie:mn,cache:gn,url:hn,theme:ft,clipboard:kr,screen:se,network:_e,enter:Nt,leave:Ot,fadeIn:bn,fadeOut:wn,slideUp:Ht,slideDown:$t,viewTransition:yi,injectStyle:Te,ensureTokens:Ue,on:Pi,once:ac,off:uc,emit:cc,use(e,t){Jt(xn,e,t)},onError(e){jn(e)},instances:rn,Scope:De,PRIORITY:B,VoodooSyntaxError:D,VoodooRuntimeError:W};Go(xn);Z();var fc=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 Ui(e){return e.startsWith("--")?e:e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}function ae(e){return e.length<2?e:Array.from(new Set(e))}function Ve(e){return String(e!=null?e:"").split(/\s+/).filter(Boolean)}function Pr(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 qi(e){return e.length>2&&e.charCodeAt(0)===60&&e.endsWith(">")}function pc(e){if(e==null)return typeof document=="undefined"?[]:[document];if(e instanceof pe)return e.toArray();if(typeof e=="string")return We(e);if(typeof e=="function")return typeof document=="undefined"?[]:[document];let t=We(e);return t.length?t:typeof document=="undefined"?[]:[document]}function We(e,t){if(e==null)return[];if(typeof e=="string"){let o=e.trim();if(!o)return[];if(qi(o))return Pr(o);let i=[];for(let s of pc(t))try{for(let a of Array.from(s.querySelectorAll(o)))i.push(a)}catch(a){}return ae(i)}if(e instanceof pe)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 ae(o)}return[]}function Oi(e){if(e==null)return[];if(typeof e=="string"){let r=e;return qi(r.trim())?Pr(r):[document.createTextNode(r)]}if(e instanceof pe)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 En(e,t,n){let r=Ui(t);if(n===null||n===""){e.style.removeProperty(r);return}let o=typeof n=="number"&&!fc.has(r)&&!r.startsWith("--")?`${n}px`:String(n);e.style.setProperty(r,o)}function mc(e,t){for(let[n,r]of Object.entries(t))En(e,n,r)}function $i(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 Hi(e){return e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase())}var _i=new WeakMap;function Di(e){return e.hasAttribute("hidden")||e.style.display==="none"?!0:e.isConnected?getComputedStyle(e).display==="none":!1}function Ii(e){e.removeAttribute("hidden");let t=_i.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 ji(e){let t=e.style.display;t&&t!=="none"&&_i.set(e,t),e.style.display="none"}var Fi="input,select,textarea";function Bi(e){return e.matches(Fi)?[e]:Array.from(e.querySelectorAll(Fi))}function hc(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 kn=new WeakMap;function gc(e){let t=kn.get(e);return t||kn.set(e,t=[]),t}var pe=class e{constructor(t=[]){L(this,"length");L(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(ae(n))}closest(t){let n=[];for(let r of this.elements){let o=r.closest(t);o&&n.push(o)}return new e(ae(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(ae(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(ae(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(ae(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(ae(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(ae(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(ae(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(ae([...this.elements,...We(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))$(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))$(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 c of Array.from(s.options))c.selected=a.includes(c.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[c,u]of Object.entries(n))u===null||u===!1?a.removeAttribute(c):a.setAttribute(c,u===!0?"":String(u));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=Ve(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,c]of Object.entries(i.dataset))s[a]=$i(c);return s}if(n!==null&&typeof n=="object"){for(let i of this.elements)for(let[s,a]of Object.entries(n))i.dataset[Hi(s)]=typeof a=="string"?a:JSON.stringify(a!=null?a:null);return this}let r=Hi(String(n));if(t.length<2){let i=this.elements[0];return i?$i(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)mc(o,n);return this}let r=String(n);if(t.length<2){let o=this.elements[0];if(!o)return"";let i=Ui(r);return((o.isConnected?getComputedStyle(o).getPropertyValue(i):"")||o.style.getPropertyValue(i)).trim()}for(let o of this.elements)En(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)En(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)En(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=Ve(t);if(n.length)for(let r of this.elements)r.classList.add(...n);return this}removeClass(t){let n=Ve(t);if(n.length)for(let r of this.elements)r.classList.remove(...n);return this}toggleClass(t,n){let r=Ve(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=Ve(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 Oi(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=We(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=We(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 Oi(t))r.insertBefore(o,n);$(n),n.remove()}}return this}wrap(t){var n;for(let r of this.elements){let o=We(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);$(n),n.remove()}}return this}remove(){for(let t of this.elements)$(t),t.remove();return this}empty(){for(let t of this.elements){for(let n of Array.from(t.childNodes))$(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 c of this.elements)for(let u of Ve(t)){let l=f=>{if(!o){i.call(c,f);return}let p=f.target,d=p==null?void 0:p.closest(o);!d||!c.contains(d)||i.call(d,f)};c.addEventListener(u,l,s),gc(c).push({type:u,selector:o,handler:i,wrapped:l,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?Ve(t):null;for(let a of this.elements){let c=kn.get(a);if(!c)continue;let u=[];for(let l of c){let f=!s||s.includes(l.type),p=o===null||l.selector===o,d=i===null||l.handler===i;f&&p&&d?a.removeEventListener(l.type,l.wrapped,l.options):u.push(l)}kn.set(a,u)}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(c){return o?s.off(t,o,a):s.off(t,a),i.call(this,c)};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)Ii(t);return this}hide(){for(let t of this.elements)ji(t);return this}toggle(t){for(let n of this.elements)(t===void 0?Di(n):t)?Ii(n):ji(n);return this}fadeIn(t=220){for(let n of this.elements)n.removeAttribute("hidden"),bn(n,t);return this}fadeOut(t=220){for(let n of this.elements)wn(n,t);return this}slideUp(t=240){for(let n of this.elements)Ht(n,t);return this}slideDown(t=240){for(let n of this.elements)n.removeAttribute("hidden"),$t(n,t);return this}slideToggle(t=240){for(let n of this.elements)Di(n)?(n.removeAttribute("hidden"),$t(n,t)):Ht(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 Bi(t)){if(!hc(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 Bi(t)){let c=a;if(!c.name||c.disabled)continue;let u=(c.getAttribute("type")||"").toLowerCase();if(u==="submit"||u==="reset"||u==="button")continue;let l=c.name.endsWith("[]"),f=l?c.name.slice(0,-2):c.name,p=a,d;if(u==="checkbox"){if(!c.checked&&!l){n[f]=(r=n[f])!=null?r:!1;continue}if(!c.checked)continue;d=c.value==="on"?!0:c.value}else if(u==="radio"){if(!c.checked)continue;d=c.value}else u==="file"?d=c.multiple?Array.from((o=c.files)!=null?o:[]):(s=(i=c.files)==null?void 0:i[0])!=null?s:null:c.tagName==="SELECT"&&p.multiple?d=Array.from(p.selectedOptions).map(m=>m.value):u==="number"||u==="range"?d=c.value===""?null:Number(c.value):d=c.value;if(l){let m=n[f];Array.isArray(m)?m.push(d):n[f]=[d];continue}if(Object.prototype.hasOwnProperty.call(n,f)){let m=n[f];Array.isArray(m)?m.push(d):m===void 0||m===!1?n[f]=d:n[f]=[m,d];continue}n[f]=d}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&&$(n),j(n,we(n.parentNode));return this}destroy(){for(let t of this.elements)$(t);return this}};function Nr(e,t){if(typeof e=="function"){Or(e);let n=typeof document!="undefined"?document.documentElement:null;return new pe(n?[n]:[])}return new pe(We(e,t))}function Or(e){return typeof document=="undefined"?Promise.resolve():new Promise(t=>{Wo(()=>{try{e==null||e()}catch(n){O(n,"V.ready")}t()})})}function Vi(e){return new pe(Pr(e))}var Wi=((e,t)=>Nr(e,t));Object.assign(Wi,xn,{query:Nr,ready:Or,fromHtml:Vi,Collection:pe,magic:P});var $r=Wi;re();ut();re();var yc=/^#([0-9a-f])([0-9a-f])([0-9a-f])[0-9a-f]?$/i,vc=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})(?:[0-9a-f]{2})?$/i,bc=/^rgba?\(([^)]+)\)$/i,wc=/^hsla?\(([^)]+)\)$/i;function zi(e){return e.split(/[\s,/]+/).map(t=>parseFloat(t)).filter(t=>!Number.isNaN(t))}function Tc(e,t,n){let r=(e%360+360)%360,o=J(t/100,0,1),i=J(n/100,0,1),s=(1-Math.abs(2*i-1))*o,a=s*(1-Math.abs(r/60%2-1)),c=i-s/2,u=Math.floor(r/60)%6,l=[[s,a,0],[a,s,0],[0,s,a],[0,a,s],[a,0,s],[s,0,a]],[f,p,d]=l[u];return{r:Math.round((f+c)*255),g:Math.round((p+c)*255),b:Math.round((d+c)*255)}}function me(e){let t=String(e!=null?e:"").trim();if(!t)return null;let n=yc.exec(t);if(n)return{r:parseInt(n[1]+n[1],16),g:parseInt(n[2]+n[2],16),b:parseInt(n[3]+n[3],16)};let r=vc.exec(t);if(r)return{r:parseInt(r[1],16),g:parseInt(r[2],16),b:parseInt(r[3],16)};let o=bc.exec(t);if(o){let[s,a,c]=zi(o[1]);return s===void 0||a===void 0||c===void 0?null:{r:J(s,0,255),g:J(a,0,255),b:J(c,0,255)}}let i=wc.exec(t);if(i){let[s,a,c]=zi(i[1]);return s===void 0||a===void 0||c===void 0?null:Tc(s,a,c)}return null}function J(e,t,n){return e<t?t:e>n?n:e}function vt(e){let t=e/255;return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Hr(e){return e<=.0031308?e*12.92:1.055*Math.pow(e,.4166666666666667)-.055}function xc(e){let t=vt(e.r),n=vt(e.g),r=vt(e.b),o=.4122214708*t+.5363325363*n+.0514459929*r,i=.2119034982*t+.6806995451*n+.1073969566*r,s=.0883024619*t+.2817188376*n+.6299787005*r,a=Math.cbrt(o),c=Math.cbrt(i),u=Math.cbrt(s);return{l:.2104542553*a+.793617785*c-.0040720468*u,a:1.9779984951*a-2.428592205*c+.4505937099*u,b:.0259040371*a+.7827717662*c-.808675766*u}}function Ec(e){let t=e.l+.3963377774*e.a+.2158037573*e.b,n=e.l-.1055613458*e.a-.0638541728*e.b,r=e.l-.0894841775*e.a-1.291485548*e.b,o=t*t*t,i=n*n*n,s=r*r*r;return{r:Hr(4.0767416621*o-3.3077115913*i+.2309699292*s),g:Hr(-1.2684380046*o+2.6097574011*i-.3413193965*s),b:Hr(-.0041960863*o-.7034186147*i+1.707614701*s)}}function An(e){let t=xc(e),n=Math.sqrt(t.a*t.a+t.b*t.b),r=Math.atan2(t.b,t.a)*180/Math.PI;return r<0&&(r+=360),{l:t.l,c:n,h:n<1e-5?0:r}}function Qi(e){let t=e.h*Math.PI/180;return Ec({l:e.l,a:Math.cos(t)*e.c,b:Math.sin(t)*e.c})}function yt(e){let t=Math.max(0,e.c);for(let r=0;r<32;r++){let o=Qi({l:J(e.l,0,1),c:t,h:e.h});if(o.r>=-.001&&o.r<=1.001&&o.g>=-.001&&o.g<=1.001&&o.b>=-.001&&o.b<=1.001)return{r:Math.round(J(o.r,0,1)*255),g:Math.round(J(o.g,0,1)*255),b:Math.round(J(o.b,0,1)*255)};t*=.92}let n=Qi({l:J(e.l,0,1),c:0,h:e.h});return{r:Math.round(J(n.r,0,1)*255),g:Math.round(J(n.g,0,1)*255),b:Math.round(J(n.b,0,1)*255)}}function Dr(e){return J(Math.round(e),0,255).toString(16).padStart(2,"0")}function ze(e){return`#${Dr(e.r)}${Dr(e.g)}${Dr(e.b)}`}function gt(e,t){return`rgba(${Math.round(e.r)}, ${Math.round(e.g)}, ${Math.round(e.b)}, ${Number(t.toFixed(3))})`}function Ji(e){return ze(yt(e))}function jr(e){return .2126*vt(e.r)+.7152*vt(e.g)+.0722*vt(e.b)}function Fr(e,t){let n=typeof e=="string"?me(e):e,r=typeof t=="string"?me(t):t;if(!n||!r)return 1;let o=jr(n),i=jr(r),s=Math.max(o,i),a=Math.min(o,i);return(s+.05)/(a+.05)}var Zi={r:255,g:255,b:255},Rn={r:0,g:0,b:0};function Ft(e){let t=typeof e=="string"?me(e):e;return t?Fr(t,Zi)>=Fr(t,Rn)?"#ffffff":"#000000":"#ffffff"}var Br=[50,100,200,300,400,500,600,700,800,900],es=[.973,.941,.889,.819,.732,.638,.558,.478,.399,.327],kc=[.14,.26,.46,.68,.88,1,.97,.89,.78,.65],ts=[.244,.286,.343,.408,.484,.588,.668,.748,.836,.928],Sc=[.3,.42,.6,.78,.92,1,.92,.78,.57,.33];function ns(e,t=!1){var a;let n=typeof e=="string"?(a=me(e))!=null?a:Rn:e,r=An(n),o=t?ts:es,i=t?Sc:kc,s={};return Br.forEach((c,u)=>{s[String(c)]=Ji({l:o[u],c:r.c*i[u],h:r.h})}),s}var Cn={violeta:{primary:"#6D3BF5",accent:"#FF3D8B",success:"#16A34A",warning:"#D97706",danger:"#E11D48",info:"#7C6BFF"},oceano:{primary:"#0E7BC4",accent:"#0FB5C9",success:"#0F9D6E",warning:"#D08700",danger:"#DC2F3E",info:"#3B82F6"},floresta:{primary:"#1F8A4C",accent:"#7FA80E",success:"#18A05A",warning:"#C97A0A",danger:"#C93A2E",info:"#2C8FA8"},poente:{primary:"#E4632A",accent:"#D62F63",success:"#3E9B52",warning:"#D99000",danger:"#D32F2F",info:"#B45FC0"},grafite:{primary:"#4C5A70",accent:"#2E7FD1",success:"#2F8F60",warning:"#B57A12",danger:"#C2453F",info:"#5B7A99"}},rs=["primary","accent","success","warning","danger","info"],Ur="voodoo:palette",Ki="voodoo-palette",Ac="system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",Rc="ui-monospace, SFMono-Regular, Menlo, Consolas, 'Liberation Mono', monospace";function Gi(e,t){let n=(e!=null?e:"").trim();return n?n.includes(",")?n:`${/^['"]/.test(n)?n:`'${n}'`}, ${t}`:t}var Cc=/^([\d.]+)(px|rem|em)$/;function Mc(e){let t=(e||"12px").trim(),n=Cc.exec(t);if(!n)return{"--v-radius":t,"--v-radius-sm":`calc(${t} * 0.6)`,"--v-radius-lg":`calc(${t} * 1.5)`,"--v-radius-xl":`calc(${t} * 2)`,"--v-radius-full":"999px"};let r=parseFloat(n[1]),o=n[2],i=s=>`${Math.round(s*1e3)/1e3}${o}`;return{"--v-radius":i(r),"--v-radius-sm":i(Math.max(r*.55,0)),"--v-radius-lg":i(r*1.5),"--v-radius-xl":i(r*2),"--v-radius-full":"999px"}}function Yi(e,t){var u,l,f,p;let n={},r={},o={};for(let d of rs){let m=(u=me(e[d]))!=null?u:Rn,g=An(m),h=ns(m,t);r[d]=h;for(let M of Br)n[`--v-${d}-${M}`]=h[String(M)];let y=t?{l:Math.max(g.l,.62),c:g.c*.95,h:g.h}:g,S=t?{l:Math.min(y.l+.07,.94),c:y.c*.95,h:y.h}:{l:Math.max(y.l-.055,.12),c:y.c,h:y.h},_=t?{l:Math.min(y.l+.13,.97),c:y.c*.88,h:y.h}:{l:Math.max(y.l-.105,.1),c:y.c,h:y.h},k=yt(y),v=yt(S),I=yt(_);n[`--v-${d}`]=ze(t?k:m),n[`--v-${d}-hover`]=ze(v),n[`--v-${d}-active`]=ze(I),n[`--v-${d}-contrast`]=Ft(t?k:m),n[`--v-${d}-contrast-hover`]=Ft(v),n[`--v-${d}-contrast-active`]=Ft(I);let H=h[50],C=h[100],V=t?h[800]:h[700];n[`--v-${d}-soft`]=H,n[`--v-${d}-soft-hover`]=C,n[`--v-${d}-soft-text`]=V,n[`--v-${d}-ring`]=gt(k,t?.45:.32),n[`--v-${d}-border`]=t?h[300]:h[200],o[d]=n[`--v-${d}-contrast`]}let i=(f=me((l=e.neutral)!=null?l:e.primary))!=null?f:Rn,s=An(i).h,a=(d,m)=>Ji({l:d,c:m,h:s}),c={};if(Br.forEach((d,m)=>{let g=t?ts:es;c[String(d)]=a(g[m],.012),n[`--v-neutral-${d}`]=c[String(d)]}),r.neutral=c,t)n["--v-surface"]=a(.248,.021),n["--v-surface-2"]=a(.196,.021),n["--v-surface-3"]=a(.305,.024),n["--v-surface-inset"]=a(.17,.02),n["--v-text"]=a(.965,.008),n["--v-text-muted"]=a(.748,.017),n["--v-text-soft"]=a(.63,.017),n["--v-border"]=a(.355,.023),n["--v-border-strong"]=a(.46,.026),n["--v-overlay"]="rgba(0, 0, 0, 0.62)",n["--v-shadow-sm"]="0 1px 2px rgba(0, 0, 0, 0.5)",n["--v-shadow"]="0 10px 30px rgba(0, 0, 0, 0.5)",n["--v-shadow-lg"]="0 24px 60px rgba(0, 0, 0, 0.62)";else{let d=yt({l:.24,c:.028,h:s});n["--v-surface"]=a(1,0),n["--v-surface-2"]=a(.981,.006),n["--v-surface-3"]=a(.955,.009),n["--v-surface-inset"]=a(.968,.008),n["--v-text"]=ze(d),n["--v-text-muted"]=a(.53,.023),n["--v-text-soft"]=a(.655,.018),n["--v-border"]=a(.906,.012),n["--v-border-strong"]=a(.828,.016),n["--v-overlay"]=gt(d,.45),n["--v-shadow-sm"]=`0 1px 2px ${gt(d,.08)}`,n["--v-shadow"]=`0 10px 30px ${gt(d,.14)}`,n["--v-shadow-lg"]=`0 24px 60px ${gt(d,.2)}`}return n["--v-focus-ring"]=n["--v-primary-ring"],o.surface=Ft((p=me(n["--v-surface"]))!=null?p:Zi),{vars:n,scales:r,contrast:o}}function Ir(e,t){let n=Object.entries(t).map(([r,o])=>` ${r}: ${o};`).join(`
138
+ `)}))}function oc(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 ic({el:e,cleanup:t,run:n}){var l,f;let r=E(e,"trigger")||oc(e),[o,...i]=r.split(/[.\s]+/),s=q((l=E(e,"poll"))!=null?l: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(d=>{for(let m of d)m.isIntersecting&&(n(),i.includes("repeat")||p.unobserve(e))},{rootMargin:"80px"});p.observe(e),t(()=>p.disconnect());return}let a=i.includes("once"),c=q((f=E(e,"debounce"))!=null?f:void 0,0),u=p=>{(e.tagName==="FORM"||e.href)&&p.preventDefault(),n(p)};c>0&&(u=Fe(u,c)),e.addEventListener(o,u,{once:a}),t(()=>e.removeEventListener(o,u))}var sc=[["get","GET"],["post","POST"],["put","PUT"],["patch","PATCH"],["delete","DELETE"]];for(let[e,t]of sc)A(e,({el:n,scope:r,expression:o,cleanup:i})=>{ic({el:n,scope:r,cleanup:i,run:a=>{let c=It(o,r);if(!c)return;let u=E(n,"body")||E(n,"data-body"),l=u?N(u,r.child({$event:a}),"v-body"):void 0,f=E(n,"params"),p=f?N(f,r,"v-params"):void 0;Dt({el:n,scope:r,method:t,url:c,body:l,params:p,event:a})}})});function It(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=N(n,t,"URL");return typeof o=="string"?o:n}A("load",({el:e,scope:t,expression:n})=>{let r=It(n,t);r&&Dt({el:e,scope:t,method:"GET",url:r})});A("load-visible",({el:e,scope:t,cleanup:n,expression:r})=>{let o=It(r,t);if(!o)return;if(typeof IntersectionObserver=="undefined"){Dt({el:e,scope:t,method:"GET",url:o});return}let i=new IntersectionObserver(s=>{for(let a of s)a.isIntersecting&&(i.unobserve(e),Dt({el:e,scope:t,method:"GET",url:o}))},{rootMargin:"120px"});i.observe(e),n(()=>i.disconnect())});A("search",({el:e,scope:t,expression:n,cleanup:r})=>{var f,p;let o=e,i=It(n,t),s=E(e,"param")||o.getAttribute("name")||"q",a=q((f=E(e,"debounce"))!=null?f:void 0,300),c=Number((p=E(e,"min-length"))!=null?p:0),u=Fe(()=>{let d=o.value.trim();d.length<c||Dt({el:e,scope:t,method:"GET",url:i,params:{[s]:d}})},a),l=()=>u();o.addEventListener("input",l),r(()=>{o.removeEventListener("input",l),u.cancel()})});A("resource",({el:e,scope:t,expression:n,cleanup:r})=>{var c,u,l,f;let o=n.indexOf(":"),i=E(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=vn(()=>It(s,t),{method:(E(e,"method")||"GET").toUpperCase(),params:()=>E(e,"params")?N(E(e,"params"),t,"v-params"):void 0,cache:q((c=E(e,"cache"))!=null?c:void 0,0)||void 0,retry:Number((u=E(e,"retry"))!=null?u:0),timeout:q((l=E(e,"timeout"))!=null?l:void 0,oe.defaults.timeout),jsonPath:E(e,"json-path"),poll:q((f=E(e,"poll"))!=null?f:void 0,0),manual:Lr(e,"manual"),onSuccess:p=>ht(e,"voodoo:success",{data:p}),onError:(p,d)=>ht(e,"voodoo:error",{error:p,message:d})});t.set(i,a),r(()=>a.stop())},{priority:B.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"])A(e,()=>{},{priority:B.TRANSITION});Oo(Bo);Fo(St);zo(Ni);fi();var jt=new Map;function Pi(e,t){let n=jt.get(e);return n||jt.set(e,n=new Set),n.add(t),()=>n.delete(t)}function ac(e,t){let n=Pi(e,r=>{n(),t(r)});return n}function cc(e,t){let n=jt.get(e);if(n)for(let r of[...n])try{r(t)}catch(o){O(o,`event "${e}"`)}}function uc(e,t){var n;if(!t){jt.delete(e);return}(n=jt.get(e))==null||n.delete(t)}function Ni(e,t){var r,o;let n=typeof t=="function"?{mounted:t,updated:t}:t;A(e,i=>{var l,f;let s,a=!1,c=p=>{var d,m;return{el:i.el,value:p,oldValue:s,arg:i.arg,modifiers:i.modifiers,expression:i.expression,scope:i.scope,instance:(m=(d=i.scope.owner)==null?void 0:d.component)!=null?m:null}},u=n.raw?i.expression:i.evaluate();(l=n.created)==null||l.call(n,i.el,c(u)),(f=n.beforeMount)==null||f.call(n,i.el,c(u)),i.effect(()=>{var m,g;let p=n.raw?i.expression:i.evaluate();if(!a){a=!0,s=p,(m=n.mounted)==null||m.call(n,i.el,c(p));return}if(p===s)return;let d=c(p);(g=n.updated)==null||g.call(n,i.el,d),s=p}),i.cleanup(()=>{var d,m;let p=c(s);(d=n.beforeUnmount)==null||d.call(n,i.el,p),(m=n.unmounted)==null||m.call(n,i.el,p)})},{priority:(r=n.priority)!=null?r:B.DEFAULT,terminal:(o=n.terminal)!=null?o:!1})}function lc(e){return Object.defineProperties(de.data,Object.getOwnPropertyDescriptors(e)),de.data}var dc="0.7.0",xn={...vr,version:dc,config:T,reactive:F,ref:Tt,shallowRef:Qn,computed:xt,effect:te,watch:ue,watchEffect:Gn,nextTick:Oe,toRaw:K,markRaw:Wn,unref:Kn,stop:Un,effectScope:qn,EffectScope:ne,flushSync:In,data:lc,store:Yo,stores:un,removeStore:Xo,storeNames:Jo,scope:de,component:rt,components:z,directive:Ni,directives:ge,magic:P,magics:Et,createApp:Qo,start:Ho,whenReady:sn,whenElement:an,walk:j,refresh:Io,destroy:$,stopObserving:Do,getScope:et,findScope:we,addCleanup:fe,parseAttribute:Je,parse:le,tokenize:Xt,evaluate:x,evaluateIn:N,stringify:Se,clearParseCache:ao,globals:G,http:oe,request:Lt,HttpError:X,resource:vn,toast:Ce,storage:ie,session:pn,cookie:mn,cache:gn,url:hn,theme:ft,clipboard:kr,screen:se,network:_e,enter:Nt,leave:Ot,fadeIn:bn,fadeOut:wn,slideUp:Ht,slideDown:$t,viewTransition:yi,injectStyle:Te,ensureTokens:Ue,on:Pi,once:ac,off:uc,emit:cc,use(e,t){Jt(xn,e,t)},onError(e){jn(e)},instances:rn,Scope:De,PRIORITY:B,VoodooSyntaxError:D,VoodooRuntimeError:W};Go(xn);Z();var fc=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 Ui(e){return e.startsWith("--")?e:e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}function ae(e){return e.length<2?e:Array.from(new Set(e))}function Ve(e){return String(e!=null?e:"").split(/\s+/).filter(Boolean)}function Pr(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 qi(e){return e.length>2&&e.charCodeAt(0)===60&&e.endsWith(">")}function pc(e){if(e==null)return typeof document=="undefined"?[]:[document];if(e instanceof pe)return e.toArray();if(typeof e=="string")return We(e);if(typeof e=="function")return typeof document=="undefined"?[]:[document];let t=We(e);return t.length?t:typeof document=="undefined"?[]:[document]}function We(e,t){if(e==null)return[];if(typeof e=="string"){let o=e.trim();if(!o)return[];if(qi(o))return Pr(o);let i=[];for(let s of pc(t))try{for(let a of Array.from(s.querySelectorAll(o)))i.push(a)}catch(a){}return ae(i)}if(e instanceof pe)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 ae(o)}return[]}function Oi(e){if(e==null)return[];if(typeof e=="string"){let r=e;return qi(r.trim())?Pr(r):[document.createTextNode(r)]}if(e instanceof pe)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 En(e,t,n){let r=Ui(t);if(n===null||n===""){e.style.removeProperty(r);return}let o=typeof n=="number"&&!fc.has(r)&&!r.startsWith("--")?`${n}px`:String(n);e.style.setProperty(r,o)}function mc(e,t){for(let[n,r]of Object.entries(t))En(e,n,r)}function $i(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 Hi(e){return e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase())}var _i=new WeakMap;function Di(e){return e.hasAttribute("hidden")||e.style.display==="none"?!0:e.isConnected?getComputedStyle(e).display==="none":!1}function Ii(e){e.removeAttribute("hidden");let t=_i.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 ji(e){let t=e.style.display;t&&t!=="none"&&_i.set(e,t),e.style.display="none"}var Fi="input,select,textarea";function Bi(e){return e.matches(Fi)?[e]:Array.from(e.querySelectorAll(Fi))}function hc(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 kn=new WeakMap;function gc(e){let t=kn.get(e);return t||kn.set(e,t=[]),t}var pe=class e{constructor(t=[]){L(this,"length");L(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(ae(n))}closest(t){let n=[];for(let r of this.elements){let o=r.closest(t);o&&n.push(o)}return new e(ae(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(ae(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(ae(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(ae(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(ae(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(ae(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(ae(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(ae([...this.elements,...We(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))$(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))$(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 c of Array.from(s.options))c.selected=a.includes(c.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[c,u]of Object.entries(n))u===null||u===!1?a.removeAttribute(c):a.setAttribute(c,u===!0?"":String(u));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=Ve(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,c]of Object.entries(i.dataset))s[a]=$i(c);return s}if(n!==null&&typeof n=="object"){for(let i of this.elements)for(let[s,a]of Object.entries(n))i.dataset[Hi(s)]=typeof a=="string"?a:JSON.stringify(a!=null?a:null);return this}let r=Hi(String(n));if(t.length<2){let i=this.elements[0];return i?$i(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)mc(o,n);return this}let r=String(n);if(t.length<2){let o=this.elements[0];if(!o)return"";let i=Ui(r);return((o.isConnected?getComputedStyle(o).getPropertyValue(i):"")||o.style.getPropertyValue(i)).trim()}for(let o of this.elements)En(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)En(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)En(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=Ve(t);if(n.length)for(let r of this.elements)r.classList.add(...n);return this}removeClass(t){let n=Ve(t);if(n.length)for(let r of this.elements)r.classList.remove(...n);return this}toggleClass(t,n){let r=Ve(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=Ve(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 Oi(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=We(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=We(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 Oi(t))r.insertBefore(o,n);$(n),n.remove()}}return this}wrap(t){var n;for(let r of this.elements){let o=We(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);$(n),n.remove()}}return this}remove(){for(let t of this.elements)$(t),t.remove();return this}empty(){for(let t of this.elements){for(let n of Array.from(t.childNodes))$(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 c of this.elements)for(let u of Ve(t)){let l=f=>{if(!o){i.call(c,f);return}let p=f.target,d=p==null?void 0:p.closest(o);!d||!c.contains(d)||i.call(d,f)};c.addEventListener(u,l,s),gc(c).push({type:u,selector:o,handler:i,wrapped:l,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?Ve(t):null;for(let a of this.elements){let c=kn.get(a);if(!c)continue;let u=[];for(let l of c){let f=!s||s.includes(l.type),p=o===null||l.selector===o,d=i===null||l.handler===i;f&&p&&d?a.removeEventListener(l.type,l.wrapped,l.options):u.push(l)}kn.set(a,u)}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(c){return o?s.off(t,o,a):s.off(t,a),i.call(this,c)};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)Ii(t);return this}hide(){for(let t of this.elements)ji(t);return this}toggle(t){for(let n of this.elements)(t===void 0?Di(n):t)?Ii(n):ji(n);return this}fadeIn(t=220){for(let n of this.elements)n.removeAttribute("hidden"),bn(n,t);return this}fadeOut(t=220){for(let n of this.elements)wn(n,t);return this}slideUp(t=240){for(let n of this.elements)Ht(n,t);return this}slideDown(t=240){for(let n of this.elements)n.removeAttribute("hidden"),$t(n,t);return this}slideToggle(t=240){for(let n of this.elements)Di(n)?(n.removeAttribute("hidden"),$t(n,t)):Ht(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 Bi(t)){if(!hc(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 Bi(t)){let c=a;if(!c.name||c.disabled)continue;let u=(c.getAttribute("type")||"").toLowerCase();if(u==="submit"||u==="reset"||u==="button")continue;let l=c.name.endsWith("[]"),f=l?c.name.slice(0,-2):c.name,p=a,d;if(u==="checkbox"){if(!c.checked&&!l){n[f]=(r=n[f])!=null?r:!1;continue}if(!c.checked)continue;d=c.value==="on"?!0:c.value}else if(u==="radio"){if(!c.checked)continue;d=c.value}else u==="file"?d=c.multiple?Array.from((o=c.files)!=null?o:[]):(s=(i=c.files)==null?void 0:i[0])!=null?s:null:c.tagName==="SELECT"&&p.multiple?d=Array.from(p.selectedOptions).map(m=>m.value):u==="number"||u==="range"?d=c.value===""?null:Number(c.value):d=c.value;if(l){let m=n[f];Array.isArray(m)?m.push(d):n[f]=[d];continue}if(Object.prototype.hasOwnProperty.call(n,f)){let m=n[f];Array.isArray(m)?m.push(d):m===void 0||m===!1?n[f]=d:n[f]=[m,d];continue}n[f]=d}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&&$(n),j(n,we(n.parentNode));return this}destroy(){for(let t of this.elements)$(t);return this}};function Nr(e,t){if(typeof e=="function"){Or(e);let n=typeof document!="undefined"?document.documentElement:null;return new pe(n?[n]:[])}return new pe(We(e,t))}function Or(e){return typeof document=="undefined"?Promise.resolve():new Promise(t=>{Wo(()=>{try{e==null||e()}catch(n){O(n,"V.ready")}t()})})}function Vi(e){return new pe(Pr(e))}var Wi=((e,t)=>Nr(e,t));Object.assign(Wi,xn,{query:Nr,ready:Or,fromHtml:Vi,Collection:pe,magic:P});var $r=Wi;re();ut();re();var yc=/^#([0-9a-f])([0-9a-f])([0-9a-f])[0-9a-f]?$/i,vc=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})(?:[0-9a-f]{2})?$/i,bc=/^rgba?\(([^)]+)\)$/i,wc=/^hsla?\(([^)]+)\)$/i;function zi(e){return e.split(/[\s,/]+/).map(t=>parseFloat(t)).filter(t=>!Number.isNaN(t))}function Tc(e,t,n){let r=(e%360+360)%360,o=J(t/100,0,1),i=J(n/100,0,1),s=(1-Math.abs(2*i-1))*o,a=s*(1-Math.abs(r/60%2-1)),c=i-s/2,u=Math.floor(r/60)%6,l=[[s,a,0],[a,s,0],[0,s,a],[0,a,s],[a,0,s],[s,0,a]],[f,p,d]=l[u];return{r:Math.round((f+c)*255),g:Math.round((p+c)*255),b:Math.round((d+c)*255)}}function me(e){let t=String(e!=null?e:"").trim();if(!t)return null;let n=yc.exec(t);if(n)return{r:parseInt(n[1]+n[1],16),g:parseInt(n[2]+n[2],16),b:parseInt(n[3]+n[3],16)};let r=vc.exec(t);if(r)return{r:parseInt(r[1],16),g:parseInt(r[2],16),b:parseInt(r[3],16)};let o=bc.exec(t);if(o){let[s,a,c]=zi(o[1]);return s===void 0||a===void 0||c===void 0?null:{r:J(s,0,255),g:J(a,0,255),b:J(c,0,255)}}let i=wc.exec(t);if(i){let[s,a,c]=zi(i[1]);return s===void 0||a===void 0||c===void 0?null:Tc(s,a,c)}return null}function J(e,t,n){return e<t?t:e>n?n:e}function vt(e){let t=e/255;return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Hr(e){return e<=.0031308?e*12.92:1.055*Math.pow(e,.4166666666666667)-.055}function xc(e){let t=vt(e.r),n=vt(e.g),r=vt(e.b),o=.4122214708*t+.5363325363*n+.0514459929*r,i=.2119034982*t+.6806995451*n+.1073969566*r,s=.0883024619*t+.2817188376*n+.6299787005*r,a=Math.cbrt(o),c=Math.cbrt(i),u=Math.cbrt(s);return{l:.2104542553*a+.793617785*c-.0040720468*u,a:1.9779984951*a-2.428592205*c+.4505937099*u,b:.0259040371*a+.7827717662*c-.808675766*u}}function Ec(e){let t=e.l+.3963377774*e.a+.2158037573*e.b,n=e.l-.1055613458*e.a-.0638541728*e.b,r=e.l-.0894841775*e.a-1.291485548*e.b,o=t*t*t,i=n*n*n,s=r*r*r;return{r:Hr(4.0767416621*o-3.3077115913*i+.2309699292*s),g:Hr(-1.2684380046*o+2.6097574011*i-.3413193965*s),b:Hr(-.0041960863*o-.7034186147*i+1.707614701*s)}}function An(e){let t=xc(e),n=Math.sqrt(t.a*t.a+t.b*t.b),r=Math.atan2(t.b,t.a)*180/Math.PI;return r<0&&(r+=360),{l:t.l,c:n,h:n<1e-5?0:r}}function Qi(e){let t=e.h*Math.PI/180;return Ec({l:e.l,a:Math.cos(t)*e.c,b:Math.sin(t)*e.c})}function yt(e){let t=Math.max(0,e.c);for(let r=0;r<32;r++){let o=Qi({l:J(e.l,0,1),c:t,h:e.h});if(o.r>=-.001&&o.r<=1.001&&o.g>=-.001&&o.g<=1.001&&o.b>=-.001&&o.b<=1.001)return{r:Math.round(J(o.r,0,1)*255),g:Math.round(J(o.g,0,1)*255),b:Math.round(J(o.b,0,1)*255)};t*=.92}let n=Qi({l:J(e.l,0,1),c:0,h:e.h});return{r:Math.round(J(n.r,0,1)*255),g:Math.round(J(n.g,0,1)*255),b:Math.round(J(n.b,0,1)*255)}}function Dr(e){return J(Math.round(e),0,255).toString(16).padStart(2,"0")}function ze(e){return`#${Dr(e.r)}${Dr(e.g)}${Dr(e.b)}`}function gt(e,t){return`rgba(${Math.round(e.r)}, ${Math.round(e.g)}, ${Math.round(e.b)}, ${Number(t.toFixed(3))})`}function Ji(e){return ze(yt(e))}function jr(e){return .2126*vt(e.r)+.7152*vt(e.g)+.0722*vt(e.b)}function Fr(e,t){let n=typeof e=="string"?me(e):e,r=typeof t=="string"?me(t):t;if(!n||!r)return 1;let o=jr(n),i=jr(r),s=Math.max(o,i),a=Math.min(o,i);return(s+.05)/(a+.05)}var Zi={r:255,g:255,b:255},Rn={r:0,g:0,b:0};function Ft(e){let t=typeof e=="string"?me(e):e;return t?Fr(t,Zi)>=Fr(t,Rn)?"#ffffff":"#000000":"#ffffff"}var Br=[50,100,200,300,400,500,600,700,800,900],es=[.973,.941,.889,.819,.732,.638,.558,.478,.399,.327],kc=[.14,.26,.46,.68,.88,1,.97,.89,.78,.65],ts=[.244,.286,.343,.408,.484,.588,.668,.748,.836,.928],Sc=[.3,.42,.6,.78,.92,1,.92,.78,.57,.33];function ns(e,t=!1){var a;let n=typeof e=="string"?(a=me(e))!=null?a:Rn:e,r=An(n),o=t?ts:es,i=t?Sc:kc,s={};return Br.forEach((c,u)=>{s[String(c)]=Ji({l:o[u],c:r.c*i[u],h:r.h})}),s}var Cn={violeta:{primary:"#6D3BF5",accent:"#FF3D8B",success:"#16A34A",warning:"#D97706",danger:"#E11D48",info:"#7C6BFF"},oceano:{primary:"#0E7BC4",accent:"#0FB5C9",success:"#0F9D6E",warning:"#D08700",danger:"#DC2F3E",info:"#3B82F6"},floresta:{primary:"#1F8A4C",accent:"#7FA80E",success:"#18A05A",warning:"#C97A0A",danger:"#C93A2E",info:"#2C8FA8"},poente:{primary:"#E4632A",accent:"#D62F63",success:"#3E9B52",warning:"#D99000",danger:"#D32F2F",info:"#B45FC0"},grafite:{primary:"#4C5A70",accent:"#2E7FD1",success:"#2F8F60",warning:"#B57A12",danger:"#C2453F",info:"#5B7A99"}},rs=["primary","accent","success","warning","danger","info"],Ur="voodoo:palette",Ki="voodoo-palette",Ac="system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",Rc="ui-monospace, SFMono-Regular, Menlo, Consolas, 'Liberation Mono', monospace";function Gi(e,t){let n=(e!=null?e:"").trim();return n?n.includes(",")?n:`${/^['"]/.test(n)?n:`'${n}'`}, ${t}`:t}var Cc=/^([\d.]+)(px|rem|em)$/;function Mc(e){let t=(e||"12px").trim(),n=Cc.exec(t);if(!n)return{"--v-radius":t,"--v-radius-sm":`calc(${t} * 0.6)`,"--v-radius-lg":`calc(${t} * 1.5)`,"--v-radius-xl":`calc(${t} * 2)`,"--v-radius-full":"999px"};let r=parseFloat(n[1]),o=n[2],i=s=>`${Math.round(s*1e3)/1e3}${o}`;return{"--v-radius":i(r),"--v-radius-sm":i(Math.max(r*.55,0)),"--v-radius-lg":i(r*1.5),"--v-radius-xl":i(r*2),"--v-radius-full":"999px"}}function Yi(e,t){var u,l,f,p;let n={},r={},o={};for(let d of rs){let m=(u=me(e[d]))!=null?u:Rn,g=An(m),h=ns(m,t);r[d]=h;for(let M of Br)n[`--v-${d}-${M}`]=h[String(M)];let y=t?{l:Math.max(g.l,.62),c:g.c*.95,h:g.h}:g,S=t?{l:Math.min(y.l+.07,.94),c:y.c*.95,h:y.h}:{l:Math.max(y.l-.055,.12),c:y.c,h:y.h},_=t?{l:Math.min(y.l+.13,.97),c:y.c*.88,h:y.h}:{l:Math.max(y.l-.105,.1),c:y.c,h:y.h},k=yt(y),v=yt(S),I=yt(_);n[`--v-${d}`]=ze(t?k:m),n[`--v-${d}-hover`]=ze(v),n[`--v-${d}-active`]=ze(I),n[`--v-${d}-contrast`]=Ft(t?k:m),n[`--v-${d}-contrast-hover`]=Ft(v),n[`--v-${d}-contrast-active`]=Ft(I);let H=h[50],C=h[100],V=t?h[800]:h[700];n[`--v-${d}-soft`]=H,n[`--v-${d}-soft-hover`]=C,n[`--v-${d}-soft-text`]=V,n[`--v-${d}-ring`]=gt(k,t?.45:.32),n[`--v-${d}-border`]=t?h[300]:h[200],o[d]=n[`--v-${d}-contrast`]}let i=(f=me((l=e.neutral)!=null?l:e.primary))!=null?f:Rn,s=An(i).h,a=(d,m)=>Ji({l:d,c:m,h:s}),c={};if(Br.forEach((d,m)=>{let g=t?ts:es;c[String(d)]=a(g[m],.012),n[`--v-neutral-${d}`]=c[String(d)]}),r.neutral=c,t)n["--v-surface"]=a(.248,.021),n["--v-surface-2"]=a(.196,.021),n["--v-surface-3"]=a(.305,.024),n["--v-surface-inset"]=a(.17,.02),n["--v-text"]=a(.965,.008),n["--v-text-muted"]=a(.748,.017),n["--v-text-soft"]=a(.63,.017),n["--v-border"]=a(.355,.023),n["--v-border-strong"]=a(.46,.026),n["--v-overlay"]="rgba(0, 0, 0, 0.62)",n["--v-shadow-sm"]="0 1px 2px rgba(0, 0, 0, 0.5)",n["--v-shadow"]="0 10px 30px rgba(0, 0, 0, 0.5)",n["--v-shadow-lg"]="0 24px 60px rgba(0, 0, 0, 0.62)";else{let d=yt({l:.24,c:.028,h:s});n["--v-surface"]=a(1,0),n["--v-surface-2"]=a(.981,.006),n["--v-surface-3"]=a(.955,.009),n["--v-surface-inset"]=a(.968,.008),n["--v-text"]=ze(d),n["--v-text-muted"]=a(.53,.023),n["--v-text-soft"]=a(.655,.018),n["--v-border"]=a(.906,.012),n["--v-border-strong"]=a(.828,.016),n["--v-overlay"]=gt(d,.45),n["--v-shadow-sm"]=`0 1px 2px ${gt(d,.08)}`,n["--v-shadow"]=`0 10px 30px ${gt(d,.14)}`,n["--v-shadow-lg"]=`0 24px 60px ${gt(d,.2)}`}return n["--v-focus-ring"]=n["--v-primary-ring"],o.surface=Ft((p=me(n["--v-surface"]))!=null?p:Zi),{vars:n,scales:r,contrast:o}}function Ir(e,t){let n=Object.entries(t).map(([r,o])=>` ${r}: ${o};`).join(`
139
139
  `);return`${e} {
140
140
  ${n}
141
141
  }`}var Ut=null,Bt=null;function Lc(e){var r,o,i,s,a,c,u,l,f;let t=(r=Cn[e.preset])!=null?r:Cn.violeta,n={primary:(o=e.primary)!=null?o:t.primary,accent:(i=e.accent)!=null?i:t.accent,success:(s=e.success)!=null?s:t.success,warning:(a=e.warning)!=null?a:t.warning,danger:(c=e.danger)!=null?c:t.danger,info:(u=e.info)!=null?u:t.info,neutral:(l=e.neutral)!=null?l:t.neutral};for(let p of rs)me(n[p])||(console.warn(`[Voodoo] invalid color in palette.${p}: "${n[p]}". Using preset.`),n[p]=t[p]);return{colors:n,radius:(f=e.radius)!=null?f:"12px",font:Gi(e.font,Ac),mono:Gi(e.monoFont,Rc)}}function Pc(e){if(typeof document=="undefined"||!T.injectStyles)return;Ue();let t=document.getElementById(Ki);t||(t=document.createElement("style"),t.id=Ki,t.setAttribute("data-voodoo","palette"),document.head.appendChild(t)),t.textContent=e}function Sn(e={}){let{colors:t,radius:n,font:r,mono:o}=Lc(e),i=Yi(t,!1),s=Yi(t,!0),a={...Mc(n),"--v-font-sans":r,"--v-font-mono":o},c=["/* Palette generated by V.palette(). Do not edit manually. */",Ir(":root",{...a,...i.vars}),`@media (prefers-color-scheme: dark) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Voodoo.js v0.4.6
2
+ * Voodoo.js v0.7.0
3
3
  * JavaScript feels like magic.
4
4
  * (c) 2026 Voodoo.js contributors. MIT License.
5
5
  */
@@ -6621,7 +6621,7 @@ Suggestion: attribute expressions accept a single value. If the logic spans more
6621
6621
  Object.defineProperties(rootScope.data, Object.getOwnPropertyDescriptors(values));
6622
6622
  return rootScope.data;
6623
6623
  }
6624
- var version2 = "0.4.6";
6624
+ var version2 = "0.7.0";
6625
6625
  var core = {
6626
6626
  // Utilities first: Voodoo's own names can override.
6627
6627
  ...utils_exports,
@@ -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;
@@ -20711,8 +20712,8 @@ textarea.v-dialog-input{min-height:96px;resize:vertical}
20711
20712
  if (shortcutInstalled || typeof document === "undefined") return;
20712
20713
  shortcutInstalled = true;
20713
20714
  document.addEventListener("keydown", (event) => {
20714
- if (!event.ctrlKey || !event.shiftKey) return;
20715
- if (event.key !== "X" && event.key !== "x") return;
20715
+ if (!event.altKey || !event.shiftKey || event.ctrlKey || event.metaKey) return;
20716
+ if (event.code !== "KeyV" && event.key !== "V" && event.key !== "v") return;
20716
20717
  event.preventDefault();
20717
20718
  xray();
20718
20719
  });
@@ -20905,9 +20906,9 @@ textarea.v-dialog-input{min-height:96px;resize:vertical}
20905
20906
  const button = document.createElement("button");
20906
20907
  button.type = "button";
20907
20908
  button.className = "v-devtools-btn";
20908
- button.setAttribute("aria-label", "Open Voodoo devtools (Ctrl+Shift+X)");
20909
+ button.setAttribute("aria-label", "Open Voodoo devtools (Alt+Shift+V)");
20909
20910
  button.setAttribute("aria-pressed", "false");
20910
- button.title = "Voodoo devtools \u2014 click to inspect, drag to move (Ctrl+Shift+X)";
20911
+ button.title = "Voodoo devtools \u2014 click to inspect, drag to move (Alt+Shift+V)";
20911
20912
  button.innerHTML = MARK;
20912
20913
  const label = document.createElement("span");
20913
20914
  label.className = "v-devtools-label";