directix 1.8.0 → 1.10.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.
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * directix v1.8.0
2
+ * directix v1.10.0
3
3
  * A comprehensive, easy-to-use, and high-performance Vue custom directives library supporting both Vue 2 and Vue 3
4
4
  * (c) 2021-present saqqdy <https://github.com/saqqdy>
5
5
  * Released under the MIT License.
6
6
  */
7
- var __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__pow=Math.pow,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__objRest=(e,t)=>{var n={};for(var o in e)__hasOwnProp.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&__getOwnPropSymbols)for(var o of __getOwnPropSymbols(e))t.indexOf(o)<0&&__propIsEnum.call(e,o)&&(n[o]=e[o]);return n},__async=(e,t,n)=>new Promise((o,i)=>{var l=e=>{try{s(n.next(e))}catch(e){i(e)}},r=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,r);s((n=n.apply(e,t)).next())});!function(e,t){"use strict";function n(e){return{bind(e,t,n){const o={value:t.value,vnode:n,cleanup:[]};e.__directix_state__=o},inserted(t,n,i){e.mounted&&e.mounted(t,o(n),i)},update(t,n,i,l){const r=t.__directix_state__;e.updated&&e.updated(t,o(n),i,o(__spreadProps(__spreadValues({},n),{value:n.oldValue})),l),r&&(r.value=n.value,r.vnode=i)},componentUpdated(e,t,n,o){},unbind(t,n,i){e.unmounted&&e.unmounted(t,o(n),i);const l=t.__directix_state__;(null==l?void 0:l.cleanup)&&l.cleanup.forEach(e=>e()),delete t.__directix_state__}}}function o(e){var t;return{value:e.value,oldValue:null!=(t=e.oldValue)?t:null,arg:e.arg,modifiers:e.modifiers||{},instance:e.instance||null}}function i(e){return{created(e,t,n){const o={value:t.value,vnode:n,cleanup:[]};e.__directix_state__=o},beforeMount(e,t,n){},mounted(t,n,o){e.mounted&&e.mounted(t,l(n),o)},beforeUpdate(e,t,n,o){},updated(t,n,o,i){const r=t.__directix_state__;e.updated&&e.updated(t,l(n),o,l(__spreadProps(__spreadValues({},n),{value:n.oldValue})),i),r&&(r.value=n.value,r.vnode=o)},beforeUnmount(e,t,n){},unmounted(t,n,o){e.unmounted&&e.unmounted(t,l(n),o);const i=t.__directix_state__;(null==i?void 0:i.cleanup)&&i.cleanup.forEach(e=>e()),delete t.__directix_state__}}}function l(e){var t;return{value:e.value,oldValue:null!=(t=e.oldValue)?t:null,arg:e.arg,modifiers:e.modifiers||{},instance:e.instance}}let r=null,s=null,a=null,u=null;function c(e){return e.startsWith("2.7")?2.7:e.startsWith("2")?2:e.startsWith("3")?3:null}function d(){var e,t;if(null!==r)return r;if("undefined"!=typeof process){const e=process.env.DIRECTIX_VUE_VERSION;if("2.7"===e)return r=2.7,r;if("2"===e)return r=2,r;if("3"===e)return r=3,r}try{const e=require("vue"),t=c(null==e?void 0:e.version);if(null!==t)return r=t,r}catch(e){}if("undefined"!=typeof window){const n=window,o=n.Vue;if(null==o?void 0:o.version){const e=c(o.version);if(null!==e)return r=e,r}if("function"==typeof(null==o?void 0:o.observable))return r=2,r;if("function"==typeof(null==o?void 0:o.createApp)&&"function"!=typeof(null==o?void 0:o.observable))return r=3,r;const i=n.__VUE_DEVTOOLS_GLOBAL_HOOK__;if(null==(e=null==i?void 0:i.Vue)?void 0:e.version){const e=c(i.Vue.version);if(null!==e)return r=e,r}if(null==(t=null==i?void 0:i.apps)?void 0:t.length)return r=3,r}return null===r&&("undefined"!=typeof window&&console.warn("[Directix] Unable to detect Vue version, defaulting to Vue 3. Set DIRECTIX_VUE_VERSION=2 or call setVueVersion(2) if using Vue 2."),r=3),r}function p(e){r=e,s=2===e||2.7===e,a=2.7===e,u=3===e}const f=()=>"undefined"!=typeof window&&"undefined"!=typeof document,v=()=>!f(),m=()=>{if(!f())return!1;let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(t){e=!1}return e},h=()=>f()&&"IntersectionObserver"in window,g=()=>f()&&"ResizeObserver"in window,y=()=>f()&&"clipboard"in navigator,b=()=>f()&&"MutationObserver"in window;function w(e){var t;const o=e,{name:l,version:r,ssr:s,defaults:a}=o,u=__objRest(o,["name","version","ssr","defaults"]);if(v()&&!s)return"undefined"!=typeof process&&"test"!==(null==(t=process.env)?void 0:t.NODE_ENV)&&console.warn(`[Directix] Directive "${l}" is not compatible with SSR. It will be a no-op on the server side.`),{mounted:()=>{},updated:()=>{},unmounted:()=>{}};return function(e){let t=null;function o(){return t||(t=2===d()?n(e):i(e)),t}function l(e){return function(t,n,i,l){var r,s;null==(s=(r=o())[e])||s.call(r,t,n,i,l)}}return{bind:l("bind"),inserted:l("inserted"),update:l("update"),componentUpdated:l("componentUpdated"),unbind:l("unbind"),created:l("created"),beforeMount:l("beforeMount"),mounted:l("mounted"),beforeUpdate:l("beforeUpdate"),updated:l("updated"),beforeUnmount:l("beforeUnmount"),unmounted:l("unmounted")}}({mounted:u.mounted?(e,t,n)=>{u.mounted(e,x(t,a),n)}:void 0,updated:u.updated?(e,t,n,o,i)=>{u.updated(e,x(t,a),n,o,i)}:void 0,unmounted:u.unmounted})}function x(e,t){if(!t)return e;const n="object"==typeof e.value&&null!==e.value?__spreadValues(__spreadValues({},t),e.value):e.value;return __spreadProps(__spreadValues({},e),{value:n})}function _(e){return"boolean"==typeof e?{visible:e,radius:5,duration:300,overlayColor:"transparent",zIndex:999,lockScroll:!1}:"number"==typeof e?{visible:!0,radius:e,duration:300,overlayColor:"transparent",zIndex:999,lockScroll:!1}:__spreadValues({radius:5,visible:!0,duration:300,overlayColor:"transparent",zIndex:999,lockScroll:!1},e)}const E=w({name:"blur",ssr:!1,mounted(e,t){if(!f())return;const n=_(t.value),o={options:n,blurContainer:null,originalOverflow:""};e.__blur=o,n.visible&&L(e,o),e.classList.add("v-blur")},updated(e,t){const n=e.__blur;if(!n)return;const o=_(t.value),i=n.options.visible;n.options=o,o.visible&&!i?L(e,n):!o.visible&&i?k(e,n):o.visible&&i&&n.blurContainer&&(n.blurContainer.style.backdropFilter=`blur(${o.radius}px)`,n.blurContainer.style.webkitBackdropFilter=`blur(${o.radius}px)`,n.blurContainer.style.background=o.overlayColor||"rgba(0, 0, 0, 0.5)")},unmounted(e){const t=e.__blur;t&&(k(e,t),e.classList.remove("v-blur"),delete e.__blur)}});function L(e,t){var n;const o=t.options;"static"===window.getComputedStyle(e).position&&(e.style.position="relative"),t.blurContainer=function(e){const t=document.createElement("div");return t.className=`v-blur-overlay ${e.class||""}`,t.style.cssText=`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n backdrop-filter: blur(${e.radius}px);\n -webkit-backdrop-filter: blur(${e.radius}px);\n background: ${e.overlayColor||"transparent"};\n z-index: ${e.zIndex};\n opacity: 0;\n transition: opacity ${e.duration}ms ease;\n pointer-events: auto;\n border-radius: inherit;\n `,t}(o),e.appendChild(t.blurContainer),String(t.blurContainer.offsetHeight),t.blurContainer.style.opacity="1",o.lockScroll&&(t.originalOverflow=document.body.style.overflow,document.body.style.overflow="hidden"),null==(n=o.onShow)||n.call(o)}function k(e,t){var n;if(!t.blurContainer)return;const o=t.options;t.blurContainer.style.opacity="0",o.lockScroll&&(document.body.style.overflow=t.originalOverflow),setTimeout(()=>{t.blurContainer&&t.blurContainer.parentNode&&t.blurContainer.parentNode.removeChild(t.blurContainer),t.blurContainer=null},o.duration),null==(n=o.onHide)||n.call(o)}const T="__directix_";function C(e,t,n){e[T+t]=n}function S(e,t){return e[T+t]}function D(e,t){delete e[T+t]}function $(e){return e?"string"==typeof e?f()?document.querySelector(e):null:e instanceof Element?e:null:null}function M(e){if(!f())return window;let t=e.parentElement;for(;t;){const{overflow:e,overflowX:n,overflowY:o}=getComputedStyle(t);if(/(auto|scroll)/.test(e+n+o))return t;t=t.parentElement}return window}function H(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}function I(e,t="relative"){f()&&"static"===getComputedStyle(e).position&&(e.style.position=t)}function P(e,t,n,o=!1){if(!f())return;const i=z(o);e.addEventListener(t,n,i)}function O(e,t,n,o=!1){if(!f())return;const i=z(o);e.removeEventListener(t,n,i)}function z(e){if("boolean"==typeof e)return e;const{capture:t=!1,passive:n=!1,once:o=!1}=e;return m()?{capture:t,passive:n,once:o}:t}function A(e){let t=0,n=0;return"touches"in e&&e.touches.length>0?(t=e.touches[0].clientX,n=e.touches[0].clientY):"clientX"in e&&(t=e.clientX,n=e.clientY),{x:t,y:n,clientX:t,clientY:n}}function F(e){const{capture:t=!1,passive:n=!1,once:o=!1}=e;return m()?{capture:t,passive:n,once:o}:t}const Y=["click","input","change","submit","scroll","resize","mouseenter","mouseleave","mousemove","mousedown","mouseup","keydown","keyup","focus","blur","touchstart","touchmove","touchend"];function R(e){for(const t of Y)if(e[t])return t;return null}function N(e){const t=e.tagName.toLowerCase();return"input"===t||"textarea"===t?"input":"click"}function X(e){return"string"==typeof e}function V(e){return"function"==typeof e}function B(e){return"object"==typeof e&&null!==e}function U(e){return Array.isArray(e)}function j(e,t=300,n={}){let o=null,i=null,l=null;const{leading:r=!1,trailing:s=!0}=n,a=()=>{i&&(e.apply(l,i),i=null,l=null)},u=function(...e){i=e,l=this,o&&clearTimeout(o),r&&!o&&a(),o=setTimeout(()=>{s&&a(),o=null},t)};return u.cancel=()=>{o&&(clearTimeout(o),o=null),i=null,l=null},u.flush=()=>{o&&(clearTimeout(o),a(),o=null)},u}function W(e,t=300,n={}){let o=null,i=null,l=null,r=0;const{leading:s=!0,trailing:a=!0}=n,u=()=>{i&&(e.apply(l,i),i=null,l=null)},c=function(...e){const n=Date.now();r||s||(r=n);const c=t-(n-r);i=e,l=this,c<=0||c>t?(o&&(clearTimeout(o),o=null),r=n,u()):!o&&a&&(o=setTimeout(()=>{r=s?Date.now():0,o=null,u()},c))};return c.cancel=()=>{o&&(clearTimeout(o),o=null),r=0,i=null,l=null},c}function q(e){if(!e)return null;if(e.endsWith("ms"))return parseInt(e,10);if(e.endsWith("s"))return 1e3*parseFloat(e);const t=parseInt(e,10);return isNaN(t)?null:t}function G(e,t,n){if(!t.onInput)return()=>{};const o=()=>{const t=e.selectionStart,o=e.selectionEnd,i=e.value,l=n(i);i!==l&&(e.value=l,null!==t&&null!==o&&e.setSelectionRange(t,o),e.dispatchEvent(new Event("input",{bubbles:!0})))};return e.addEventListener("input",o),e.value=n(e.value),()=>{e.removeEventListener("input",o)}}function K(e,t){const n=e.textContent||"";e.textContent=t(n)}const Z=["a","an","the","and","but","or","for","nor","on","at","to","from","by","in","of","with","as"];function J(e,t){if(!e)return e;const{every:n=!0,keepLower:o=Z}=t;if(n){return e.toLowerCase().split(/\s+/).map((e,t)=>0===t?Q(e):o.includes(e.toLowerCase())?e.toLowerCase():Q(e)).join(" ")}return Q(e)}function Q(e){return e?e.charAt(0).toUpperCase()+e.slice(1).toLowerCase():e}function ee(e){var t,n,o;return void 0===e||!0===e?{every:!0,onInput:!0}:!1===e?{every:!1,onInput:!1}:{every:null==(t=e.every)||t,keepLower:null!=(n=e.keepLower)?n:Z,onInput:null==(o=e.onInput)||o}}const te=w({name:"capitalcase",ssr:!0,mounted(e,t){const n=ee(t.value);if(H(e)){const t=G(e,n,e=>J(e,n));e.__capitalcaseCleanup=t}else K(e,e=>J(e,n))},updated(e,t){const n=ee(t.value);H(e)?n.onInput&&(e.value=J(e.value,n)):K(e,e=>J(e,n))},unmounted(e){const t=e.__capitalcaseCleanup;null==t||t(),delete e.__capitalcaseCleanup}}),ne="clickDelay";function oe(e,t){t.feedback&&t.pendingClass&&e.classList.remove(t.pendingClass)}function ie(e,t){return n=>{const o=S(e,ne);if(!o||o.isPending)return n.preventDefault(),void n.stopPropagation();o.isPending=!0,t.feedback&&t.pendingClass&&e.classList.add(t.pendingClass),t.handler(n),o.timeoutId=setTimeout(()=>{o.isPending=!1,o.timeoutId=null,oe(e,t)},t.delay)}}function le(e,t){var n,o,i,l;const r=q(t.arg)||300;if("function"==typeof e)return{handler:e,delay:r,disabled:!1,pendingClass:"v-click-delay--pending",feedback:!0};if(!e)throw new Error("[Directix] v-click-delay: handler is required");return{handler:e.handler,delay:null!=(n=e.delay)?n:r,disabled:null!=(o=e.disabled)&&o,pendingClass:null!=(i=e.pendingClass)?i:"v-click-delay--pending",feedback:null==(l=e.feedback)||l}}const re=w({name:"click-delay",ssr:!0,defaults:{delay:300,disabled:!1,pendingClass:"v-click-delay--pending",feedback:!0},mounted(e,t){const n=le(t.value,t);if(n.disabled)return;const o={options:n,handler:ie(e,n),isPending:!1,timeoutId:null};C(e,ne,o),e.addEventListener("click",o.handler),e.addEventListener("touchend",o.handler)},updated(e,t){const n=S(e,ne);if(!n){const n=le(t.value,t);if(!n.disabled){const t={options:n,handler:ie(e,n),isPending:!1,timeoutId:null};C(e,ne,t),e.addEventListener("click",t.handler),e.addEventListener("touchend",t.handler)}return}const o=le(t.value,t);o.disabled&&!n.options.disabled?(e.removeEventListener("click",n.handler),e.removeEventListener("touchend",n.handler),n.timeoutId&&clearTimeout(n.timeoutId),oe(e,n.options),D(e,ne)):!o.disabled&&n.options.disabled&&(n.handler=ie(e,o),n.isPending=!1,n.timeoutId=null,e.addEventListener("click",n.handler),e.addEventListener("touchend",n.handler)),n.options=o},unmounted(e){const t=S(e,ne);t&&(e.removeEventListener("click",t.handler),e.removeEventListener("touchend",t.handler),t.timeoutId&&clearTimeout(t.timeoutId),oe(e,t.options),D(e,ne))}}),se=w({name:"click-outside",ssr:!1,defaults:{capture:!0,events:["click"],disabled:!1,stop:!1,prevent:!1},mounted(e,t){const n=ae(t.value);if(n.disabled)return;const o={options:n,handlers:new Map};e.__clickOutside=o;n.events.forEach(t=>{const i=t=>{ue(e,t,n)&&(n.stop&&t.stopPropagation(),n.prevent&&t.preventDefault(),n.handler(t))};o.handlers.set(t,i);const l={capture:n.capture,passive:!n.prevent};P(document,t,i,l)})},updated(e,t){const n=e.__clickOutside;if(!n)return;const o=n.options,i=ae(t.value);if(o.disabled!==i.disabled)if(i.disabled)n.handlers.forEach((e,t)=>{O(document,t,e,{capture:o.capture})}),n.handlers.clear();else{const t=t=>t=>{ue(e,t,i)&&(i.stop&&t.stopPropagation(),i.prevent&&t.preventDefault(),i.handler(t))};i.events.forEach(e=>{const o=t();n.handlers.set(e,o),P(document,e,o,{capture:i.capture,passive:!i.prevent})})}n.options=i},unmounted(e){const t=e.__clickOutside;t&&(t.handlers.forEach((e,n)=>{O(document,n,e,{capture:t.options.capture})}),delete e.__clickOutside)}});function ae(e){var t,n,o,i,l;if("function"==typeof e)return{handler:e,capture:!0,events:["click"],disabled:!1,stop:!1,prevent:!1};if(!e)throw new Error("[Directix] v-click-outside: handler is required");return __spreadValues({capture:null==(t=e.capture)||t,events:null!=(n=e.events)?n:["click"],disabled:null!=(o=e.disabled)&&o,stop:null!=(i=e.stop)&&i,prevent:null!=(l=e.prevent)&&l},e)}function ue(e,t,n){var o;const i=t.target;if(e.contains(i))return!1;if(null==(o=n.exclude)?void 0:o.length)for(const e of n.exclude){const t="function"==typeof e?e():$(e);if(t&&(t===i||t.contains(i)))return!1}return!0}function ce(e){if(!1===e)return{disabled:!0,color:"currentColor",duration:500,sizeRatio:1.5};if("string"==typeof e)return{color:e,duration:500,sizeRatio:1.5};const t={color:"currentColor",duration:500,disabled:!1,sizeRatio:1.5};return e&&"object"==typeof e?__spreadValues(__spreadValues({},t),e):t}const de=w({name:"click-wave",ssr:!1,defaults:{color:"currentColor",duration:500,disabled:!1,sizeRatio:1.5},mounted(e,t){const n=ce(t.value);if(n.disabled||!f())return;const o=getComputedStyle(e);"static"===o.position&&(e.style.position="relative"),"visible"===o.overflow&&(e.style.overflow="hidden"),e.classList.add("v-click-wave");const i={options:n,clickHandler:t=>{if(i.options.disabled)return;const n=function(e,t,n){const o=t.getBoundingClientRect(),i=e.clientX-o.left,l=e.clientY-o.top,r=Math.min(o.width,o.height)*(n.sizeRatio||1.5),s=document.createElement("span");return s.className="v-click-wave__effect",s.style.cssText=`\n position: absolute;\n border-radius: 50%;\n pointer-events: none;\n background-color: ${n.color};\n width: ${r}px;\n height: ${r}px;\n left: ${i-r/2}px;\n top: ${l-r/2}px;\n transform: scale(0);\n opacity: 0.5;\n z-index: 0;\n `,s}(t,e,i.options);n&&(e.appendChild(n),function(e,t){const n=t.duration||500;"function"==typeof e.animate?e.animate([{transform:"scale(0)",opacity:.5},{transform:"scale(1)",opacity:0}],{duration:n,easing:"ease-out",fill:"forwards"}).onfinish=()=>{e.remove()}:(e.style.transition=`transform ${n}ms ease-out, opacity ${n}ms ease-out`,String(e.offsetHeight),e.style.transform="scale(1)",e.style.opacity="0",setTimeout(()=>{e.remove()},n))}(n,i.options))}};e.__clickWave=i,e.addEventListener("click",i.clickHandler)},updated(e,t){const n=e.__clickWave;n&&(n.options=ce(t.value))},unmounted(e){const t=e.__clickWave;t&&(e.removeEventListener("click",t.clickHandler),e.classList.remove("v-click-wave"),delete e.__clickWave)}});function pe(e){return Array.isArray(e)?{items:e}:e}function fe(e){e&&e.parentNode&&e.parentNode.removeChild(e)}const ve=w({name:"context-menu",ssr:!1,mounted(e,t){const n=pe(t.value);if(n.disabled||!f())return;const o={options:n,contextMenuHandler:e=>{var t,i;e.preventDefault(),o.menuElement&&fe(o.menuElement),!1!==(null==(t=n.onBeforeShow)?void 0:t.call(n,e))&&(o.menuElement=function(e,t,n){const o=document.createElement("div");o.className=`v-context-menu ${e.class||""}`;const i=e.width?"number"==typeof e.width?`${e.width}px`:e.width:"150px";return o.style.cssText=`\n position: fixed;\n left: ${t}px;\n top: ${n}px;\n min-width: ${i};\n background: #fff;\n border-radius: 4px;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);\n padding: 4px 0;\n z-index: 9999;\n font-size: 14px;\n `,e.items.forEach((t,n)=>{if(t.divider){const e=document.createElement("div");e.className="v-context-menu__divider",e.style.cssText="\n height: 1px;\n background: #e8e8e8;\n margin: 4px 0;\n ",o.appendChild(e)}if(e.renderItem){const i=e.renderItem(t,n);o.appendChild(i)}else{const e=document.createElement("div");if(e.className=`v-context-menu__item ${t.class||""}`,t.disabled&&e.classList.add("v-context-menu__item--disabled"),e.style.cssText=`\n padding: 8px 16px;\n cursor: ${t.disabled?"not-allowed":"pointer"};\n color: ${t.disabled?"#b0b0b0":"#333"};\n display: flex;\n align-items: center;\n gap: 8px;\n `,t.icon){const n=document.createElement("span");n.className="v-context-menu__icon",n.innerHTML=t.icon,e.appendChild(n)}const n=document.createElement("span");n.textContent=t.label,e.appendChild(n),!t.disabled&&t.handler&&(e.addEventListener("click",()=>{t.handler(),fe(o)}),e.addEventListener("mouseenter",()=>{e.style.background="#f5f5f5"}),e.addEventListener("mouseleave",()=>{e.style.background="transparent"})),o.appendChild(e)}}),o}(o.options,e.clientX,e.clientY),document.body.appendChild(o.menuElement),function(e,t,n){const o=e.getBoundingClientRect(),i=window.innerWidth,l=window.innerHeight;t+o.width>i&&(e.style.left=i-o.width-8+"px"),n+o.height>l&&(e.style.top=l-o.height-8+"px")}(o.menuElement,e.clientX,e.clientY),setTimeout(()=>{document.addEventListener("click",o.clickOutsideHandler)},0),null==(i=n.onAfterShow)||i.call(n))},menuElement:null,clickOutsideHandler:e=>{var t;const i=e.target;o.menuElement&&o.menuElement.contains(i)||(fe(o.menuElement),o.menuElement=null,document.removeEventListener("click",o.clickOutsideHandler),null==(t=n.onHide)||t.call(n))}};e.__contextMenu=o,P(e,"contextmenu",o.contextMenuHandler)},updated(e,t){const n=e.__contextMenu;n&&(n.options=pe(t.value))},unmounted(e){const t=e.__contextMenu;t&&(O(e,"contextmenu",t.contextMenuHandler),t.menuElement&&(fe(t.menuElement),document.removeEventListener("click",t.clickOutsideHandler)),delete e.__contextMenu)}});function me(e){return __async(this,null,function*(){if(y())try{return yield navigator.clipboard.writeText(e),!0}catch(e){console.warn("[Directix] Clipboard API failed, falling back to execCommand")}return function(e){const t=document.createElement("textarea");t.value=e,t.style.cssText="\n position: fixed;\n top: -9999px;\n left: -9999px;\n opacity: 0;\n pointer-events: none;\n ",document.body.appendChild(t);try{return t.select(),t.setSelectionRange(0,t.value.length),document.execCommand("copy")}catch(e){return!1}finally{document.body.removeChild(t)}}(e)})}const he=w({name:"copy",ssr:!1,mounted(e,t){const n=ge(t.value);if(n.disabled)return;n.title&&e.setAttribute("title",n.title);const o={handler:null,options:n};o.handler=()=>__async(null,null,function*(){var t,n,i,l;const r=o.options.value;if(r)try{if(!(yield me(r)))throw new Error("Copy failed");null==(n=(t=o.options).onSuccess)||n.call(t,r),e.dispatchEvent(new CustomEvent("copy:success",{detail:{text:r}}))}catch(t){const n=t;null==(l=(i=o.options).onError)||l.call(i,n),e.dispatchEvent(new CustomEvent("copy:error",{detail:{error:n}}))}else console.warn("[Directix] v-copy: No text to copy")}),e.addEventListener("click",o.handler),e.__copy=o},updated(e,t){const n=e.__copy;n&&(n.options=ge(t.value),n.options.title&&e.setAttribute("title",n.options.title))},unmounted(e){const t=e.__copy;t&&(e.removeEventListener("click",t.handler),delete e.__copy)}});function ge(e){return"string"==typeof e?{value:e}:e}function ye(e){return e instanceof Date?e.getTime():"number"==typeof e?e:new Date(e).getTime()}function be(e){const t=Math.max(0,e);return{days:Math.floor(t/864e5),hours:Math.floor(t%864e5/36e5),minutes:Math.floor(t%36e5/6e4),seconds:Math.floor(t%6e4/1e3),milliseconds:t%1e3,total:t}}function we(e){var t,n,o,i;return"object"==typeof e&&null!==e&&"target"in e?{target:e.target,format:null!=(t=e.format)?t:"hh:mm:ss",onComplete:e.onComplete,onTick:e.onTick,interval:null!=(n=e.interval)?n:1e3,showMilliseconds:null!=(o=e.showMilliseconds)&&o,autoStart:null==(i=e.autoStart)||i,labels:e.labels}:{target:e,format:"hh:mm:ss",interval:1e3,showMilliseconds:!1,autoStart:!0}}const xe=w({name:"countdown",ssr:!0,mounted(e,t){const n=we(t.value),o={options:n,targetTime:ye(n.target),intervalId:null,paused:!1,remaining:0};e.__countdown=o,!1!==n.autoStart?_e(e,o):Ee(e,o)},updated(e,t){const n=e.__countdown,o=we(t.value),i=ye(o.target);i!==n.targetTime?(n.targetTime=i,n.options=o,n.intervalId&&(clearInterval(n.intervalId),n.intervalId=null),n.paused||_e(e,n)):n.options=o},unmounted(e){const t=e.__countdown;(null==t?void 0:t.intervalId)&&clearInterval(t.intervalId),delete e.__countdown}});function _e(e,t){const n=()=>{const n=Date.now();if(t.remaining=t.targetTime-n,t.remaining<=0)return t.remaining=0,Ee(e,t),function(e){e.intervalId&&(clearInterval(e.intervalId),e.intervalId=null)}(t),t.options.onComplete&&t.options.onComplete(),void e.dispatchEvent(new CustomEvent("countdown:complete"));if(Ee(e,t),t.options.onTick){const e=be(t.remaining);t.options.onTick(e)}};n(),t.intervalId=setInterval(n,t.options.interval||1e3)}function Ee(e,t){const n=function(e,t){if("function"==typeof t)return t(e);const n=(e,t=2)=>String(e).padStart(t,"0");return t.replace(/dd/gi,n(e.days)).replace(/hh/gi,n(e.hours)).replace(/mm/gi,n(e.minutes)).replace(/ss/gi,n(e.seconds)).replace(/S{3}/gi,n(e.milliseconds,3)).replace(/SS/gi,n(Math.floor(e.milliseconds/10))).replace(/S/gi,String(Math.floor(e.milliseconds/100)))}(be(t.remaining),t.options.format||"hh:mm:ss");e.textContent=n}function Le(e){return"number"==typeof e?{value:e}:__spreadValues({value:0,startValue:0,duration:2e3,decimals:0,useGrouping:!1,locale:"en-US",easing:"easeOutQuart",delay:0},e||{})}const ke={linear:e=>e,easeOut:e=>1-__pow(1-e,3),easeInOut:e=>e<.5?4*e*e*e:1-__pow(-2*e+2,3)/2,easeOutQuart:e=>1-__pow(1-e,4),easeOutExpo:e=>1===e?1:1-__pow(2,-10*e)};function Te(e,t){return t.formatter?t.formatter(e):new Intl.NumberFormat(t.locale,{minimumFractionDigits:t.decimals,maximumFractionDigits:t.decimals,useGrouping:t.useGrouping}).format(e)}const Ce=w({name:"counter",ssr:!0,mounted(e,t){const n=Le(t.value),o={options:n,animationFrame:null,startTime:null,startValue:n.startValue||0,currentValue:n.startValue||0};e.__counter=o,e.textContent=Te(o.startValue,n),e.classList.add("v-counter"),f()&&n.value!==o.startValue&&setTimeout(()=>{Se(e,o)},n.delay||0)},updated(e,t){const n=e.__counter;if(!n)return;const o=Le(t.value),i=n.options.value,l=o.value;n.animationFrame&&(cancelAnimationFrame(n.animationFrame),n.animationFrame=null),n.startValue=n.currentValue,n.startTime=null,n.options=o,l!==i&&Se(e,n)},unmounted(e){const t=e.__counter;t&&(t.animationFrame&&cancelAnimationFrame(t.animationFrame),e.classList.remove("v-counter"),delete e.__counter)}});function Se(e,t){var n;const{options:o,startValue:i}=t,l=o.value,r=o.duration||2e3;t.startTime=null,null==(n=o.onStart)||n.call(o),t.animationFrame=requestAnimationFrame(function n(s){var a,u;t.startTime||(t.startTime=s);const c=s-t.startTime,d=Math.min(c/r,1),p=(o.customEasing||ke[o.easing||"easeOutQuart"])(d);t.currentValue=i+(l-i)*p;const f=Te(t.currentValue,o);e.textContent=f,null==(a=o.onUpdate)||a.call(o,t.currentValue,f),d<1?t.animationFrame=requestAnimationFrame(n):(t.currentValue=l,e.textContent=Te(l,o),t.animationFrame=null,null==(u=o.onComplete)||u.call(o,l))})}function De(e,t){const n=q(t.arg)||300;return"function"==typeof e?{handler:e,wait:n}:__spreadProps(__spreadValues({},e),{wait:e.wait||n})}const $e=w({name:"debounce",ssr:!0,defaults:{wait:300,leading:!1,trailing:!0},mounted(e,t){const n=De(t.value,t),o=R(t.modifiers)||N(e),i=j(n.handler,n.wait,{leading:n.leading,trailing:n.trailing});e.addEventListener(o,i),e.__debounce={debouncedFn:i,eventType:o,options:n}},updated(e,t){const n=e.__debounce;if(!n)return;const o=De(t.value,t);if(o.wait!==n.options.wait||o.leading!==n.options.leading||o.trailing!==n.options.trailing){n.debouncedFn.cancel();const t=j(o.handler,o.wait,{leading:o.leading,trailing:o.trailing});e.removeEventListener(n.eventType,n.debouncedFn),e.addEventListener(n.eventType,t),e.__debounce={debouncedFn:t,eventType:n.eventType,options:o}}else o.handler!==n.options.handler&&(n.options.handler=o.handler)},unmounted(e){const t=e.__debounce;t&&(t.debouncedFn.cancel(),e.removeEventListener(t.eventType,t.debouncedFn),delete e.__debounce)}});function Me(e){if(e.type.startsWith("touch")){const t=e.touches[0];return{clientX:t.clientX,clientY:t.clientY}}const t=e;return{clientX:t.clientX,clientY:t.clientY}}function He(e){const t=e.match(/translate\(([-\d.]+)px,\s*([-\d.]+)px\)/);return t?{x:parseFloat(t[1]),y:parseFloat(t[2])}:{x:0,y:0}}function Ie(e){var t,n,o;return void 0===e||!0===e?{axis:"both",constrain:!1,disabled:!1}:!1===e?{axis:"both",constrain:!1,disabled:!0}:{axis:null!=(t=e.axis)?t:"both",constrain:null!=(n=e.constrain)&&n,boundary:e.boundary,handle:e.handle,disabled:null!=(o=e.disabled)&&o,grid:e.grid,onStart:e.onStart,onDrag:e.onDrag,onEnd:e.onEnd}}const Pe=w({name:"draggable",ssr:!1,mounted(e,t){const n=Ie(t.value);if(n.disabled)return;"static"===getComputedStyle(e).position&&(e.style.position="absolute");const o={options:n,isDragging:!1,startX:0,startY:0,offsetX:0,offsetY:0,initialLeft:0,initialTop:0,boundaryWidth:0,boundaryHeight:0,elWidth:0,elHeight:0,handleEl:n.handle?e.querySelector(n.handle):null,moveHandler:null,endHandler:null};e.__draggable=o;const i=o.handleEl||e;function l(t){var n,i,l;if(o.options.disabled)return;"touchstart"===t.type&&t.preventDefault();const{clientX:r,clientY:s}=Me(t);o.isDragging=!0,o.startX=r,o.startY=s;const{x:a,y:u}=He(e.style.transform);if(o.offsetX=a,o.offsetY=u,o.options.constrain||o.options.boundary){const t=o.options.boundary?function(e,t){var n,o;if(!t)return null;if("function"==typeof t){const e=t();return null!=(n=null==e?void 0:e.getBoundingClientRect())?n:null}if("string"==typeof t){const e=document.querySelector(t);return null!=(o=null==e?void 0:e.getBoundingClientRect())?o:null}return t.getBoundingClientRect()}(0,o.options.boundary):null==(n=e.parentElement)?void 0:n.getBoundingClientRect();if(t){const n=e.getBoundingClientRect();o.initialLeft=n.left-t.left,o.initialTop=n.top-t.top,o.boundaryWidth=t.width,o.boundaryHeight=t.height,o.elWidth=n.width,o.elHeight=n.height}}e.classList.add("v-draggable--dragging"),o.moveHandler=t=>{var n,i;if(!o.isDragging)return;const{clientX:l,clientY:r}=Me(t);let s=l-o.startX,a=r-o.startY;"x"===o.options.axis?a=0:"y"===o.options.axis&&(s=0),o.options.grid&&(s=Math.round(s/o.options.grid[0])*o.options.grid[0],a=Math.round(a/o.options.grid[1])*o.options.grid[1]);let u=o.offsetX+s,c=o.offsetY+a;if(o.options.constrain||o.options.boundary){const e=o.initialLeft+s,t=o.initialTop+a,n=o.boundaryWidth-o.elWidth,i=o.boundaryHeight-o.elHeight,l=Math.max(0,Math.min(e,n)),r=Math.max(0,Math.min(t,i));u=o.offsetX+(l-o.initialLeft),c=o.offsetY+(r-o.initialTop)}e.style.transform=`translate(${u}px, ${c}px)`,null==(i=(n=o.options).onDrag)||i.call(n,{x:u,y:c},t)},o.endHandler=()=>{var t,n;if(!o.isDragging)return;o.isDragging=!1,e.classList.remove("v-draggable--dragging"),o.moveHandler&&(document.removeEventListener("mousemove",o.moveHandler),document.removeEventListener("touchmove",o.moveHandler)),o.endHandler&&(document.removeEventListener("mouseup",o.endHandler),document.removeEventListener("touchend",o.endHandler));const{x:i,y:l}=He(e.style.transform);null==(n=(t=o.options).onEnd)||n.call(t,{x:i,y:l},new MouseEvent("mouseup"))},document.addEventListener("mousemove",o.moveHandler),document.addEventListener("touchmove",o.moveHandler,{passive:!1}),document.addEventListener("mouseup",o.endHandler),document.addEventListener("touchend",o.endHandler),null==(l=(i=o.options).onStart)||l.call(i,{x:o.offsetX,y:o.offsetY},t)}i.addEventListener("mousedown",l),i.addEventListener("touchstart",l,{passive:!1})},updated(e,t){const n=e.__draggable;n&&(n.options=Ie(t.value),n.options.handle&&(n.handleEl=e.querySelector(n.options.handle)))},unmounted(e){const t=e.__draggable;t&&(t.moveHandler&&(document.removeEventListener("mousemove",t.moveHandler),document.removeEventListener("touchmove",t.moveHandler)),t.endHandler&&(document.removeEventListener("mouseup",t.endHandler),document.removeEventListener("touchend",t.endHandler)),delete e.__draggable)}}),Oe=w({name:"ellipsis",ssr:!0,defaults:{lines:1,ellipsis:"...",expandable:!1,titleBehavior:"auto"},mounted(e,t){const n=Fe(t.value);ze(e,n);const o={options:n,originalText:e.textContent||"",clickHandler:null,expanded:!1};if(n.expandable){const t=()=>{o.expanded?(ze(e,n),o.expanded=!1):(e.textContent=o.originalText,e.style.webkitLineClamp="",e.style.display="",e.style.overflow="",e.style.cursor="",o.expanded=!0)};e.addEventListener("click",t),e.style.cursor="pointer",o.clickHandler=t}("always"===n.titleBehavior||"auto"===n.titleBehavior&&Ae(e))&&(e.title=o.originalText),e.__ellipsis=o},updated(e,t){const n=e.__ellipsis;if(!n){const n=Fe(t.value);return void ze(e,n)}const o=Fe(t.value);if(e.textContent!==n.originalText&&(n.originalText=e.textContent||"",n.expanded=!1),n.options.expandable!==o.expandable)if(n.clickHandler&&(e.removeEventListener("click",n.clickHandler),n.clickHandler=null),o.expandable){const t=()=>{n.expanded?(ze(e,o),n.expanded=!1):(e.textContent=n.originalText,e.style.webkitLineClamp="",e.style.display="",e.style.overflow="",n.expanded=!0)};e.addEventListener("click",t),e.style.cursor="pointer",n.clickHandler=t}else e.style.cursor="";n.options=o,n.expanded||ze(e,o),"always"===o.titleBehavior?e.title=n.originalText:"auto"===o.titleBehavior?e.title=Ae(e)?n.originalText:"":e.removeAttribute("title")},unmounted(e){const t=e.__ellipsis;t&&(t.clickHandler&&e.removeEventListener("click",t.clickHandler),e.style.removeProperty("-webkit-line-clamp"),e.style.removeProperty("-webkit-box-orient"),e.style.removeProperty("display"),e.style.removeProperty("overflow"),e.style.removeProperty("text-overflow"),e.style.removeProperty("white-space"),e.style.removeProperty("cursor"),delete e.__ellipsis)}});function ze(e,t){const n=t.lines||1;1===n?(e.style.overflow="hidden",e.style.textOverflow="ellipsis",e.style.whiteSpace="nowrap"):(e.style.display="-webkit-box",e.style.overflow="hidden",e.style.webkitBoxOrient="vertical",e.style.webkitLineClamp=String(n))}function Ae(e){return e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight}function Fe(e){var t,n,o,i;return"number"==typeof e?{lines:e,ellipsis:"...",expandable:!1,titleBehavior:"auto"}:{lines:null!=(t=null==e?void 0:e.lines)?t:1,ellipsis:null!=(n=null==e?void 0:e.ellipsis)?n:"...",expandable:null!=(o=null==e?void 0:e.expandable)&&o,titleBehavior:null!=(i=null==e?void 0:e.titleBehavior)?i:"auto"}}const Ye=/[\p{Emoji_Presentation}\p{Extended_Pictographic}]/gu;function Re(e){return!1===e?{strip:!1}:!0===e||void 0===e?{strip:!0}:__spreadValues({strip:!0,replacement:""},e)}function Ne(e,t){var n;const o=function(e){if(e.pattern)return new RegExp(e.pattern,"gu");if(e.blockList&&e.blockList.length>0){const t=e.blockList.map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|");return new RegExp(t,"gu")}return e.allowList&&e.allowList.length,Ye}(t),i=t.replacement||"";let l=e;if(t.allowList&&t.allowList.length>0)l=e.replace(o,n=>{var o,l,r;return l=n,(r=t.allowList)&&0!==r.length&&r.includes(l)?n:(null==(o=t.onEmoji)||o.call(t,n,e.indexOf(n)),i)});else{const n=e.match(o);n&&n.forEach(n=>{var o;null==(o=t.onEmoji)||o.call(t,n,e.indexOf(n))}),l=e.replace(o,i)}return l!==e&&(null==(n=t.onStrip)||n.call(t,e,l)),l}const Xe=w({name:"emoji",ssr:!1,mounted(e,t){var n;if(!f())return;const o=Re(t.value);if(!o.strip&&!(null==(n=o.blockList)?void 0:n.length))return;const i={options:o,inputHandler:e=>{const t=e.target,n=t.value,o=Ne(n,i.options);if(o!==n){const e=t.selectionStart||0,i=t.selectionEnd||0;t.value=o;const l=n.length-o.length;t.setSelectionRange(Math.max(0,e-l),Math.max(0,i-l)),t.dispatchEvent(new Event("input",{bubbles:!0}))}},pasteHandler:e=>{var t;if(!i.options.strip)return;const n=null==(t=e.clipboardData)?void 0:t.getData("text");if(n&&Ye.test(n)){e.preventDefault();const t=Ne(n,i.options),o=e.target,l=o.selectionStart||0,r=o.selectionEnd||0,s=o.value;o.value=s.substring(0,l)+t+s.substring(r),o.setSelectionRange(l+t.length,l+t.length),o.dispatchEvent(new Event("input",{bubbles:!0}))}}};if(e.__emoji=i,P(e,"input",i.inputHandler),P(e,"paste",i.pasteHandler),e.value){const t=Ne(e.value,i.options);t!==e.value&&(e.value=t)}e.classList.add("v-emoji")},updated(e,t){const n=e.__emoji;n&&(n.options=Re(t.value))},unmounted(e){const t=e.__emoji;t&&(O(e,"input",t.inputHandler),O(e,"paste",t.pasteHandler),e.classList.remove("v-emoji"),delete e.__emoji)}});function Ve(e){var t;if(!e||"string"==typeof e||Array.isArray(e))return{data:e,format:"csv",filename:"export"};const n=e;return __spreadProps(__spreadValues({format:"csv",filename:"export",includeHeaders:!0,delimiter:","},n),{data:null!=(t=n.data)?t:[]})}function Be(e){const{data:t,format:n="csv",filename:o="export"}=e;let i;switch(n){case"json":i=function(e){return JSON.stringify(e,null,2)}(t);break;case"html":i=function(e,t){var n;if(!Array.isArray(e)||0===e.length)return"";const o=t.columns||Object.keys(e[0]),i=t.headers||{};let l='<table border="1">\n';if(t.includeHeaders){l+=" <thead>\n <tr>\n";for(const e of o)l+=` <th>${i[e]||e}</th>\n`;l+=" </tr>\n </thead>\n"}l+=" <tbody>\n";for(const t of e){l+=" <tr>\n";for(const e of o)l+=` <td>${null!=(n=t[e])?n:""}</td>\n`;l+=" </tr>\n"}return l+=" </tbody>\n</table>",l}(Array.isArray(t)?t:[t],e);break;case"txt":i="string"==typeof t?t:JSON.stringify(t,null,2);break;default:i=function(e,t){if(!Array.isArray(e)||0===e.length)return"";const n=t.delimiter||",",o=t.columns||Object.keys(e[0]),i=t.headers||{};return(t.includeHeaders?`${o.map(e=>i[e]||e).join(n)}\n`:"")+e.map(e=>o.map(t=>{const o=e[t];return"string"==typeof o&&(o.includes(n)||o.includes("\n")||o.includes('"'))?`"${o.replace(/"/g,'""')}"`:null!=o?o:""}).join(n)).join("\n")}(Array.isArray(t)?t:[t],e)}!function(e,t,n){const o=new Blob([e],{type:{csv:"text/csv;charset=utf-8;",json:"application/json;charset=utf-8;",txt:"text/plain;charset=utf-8;",html:"text/html;charset=utf-8;"}[n]}),i=URL.createObjectURL(o),l=document.createElement("a");l.href=i,l.download=`${t}.${n}`,document.body.appendChild(l),l.click(),document.body.removeChild(l),URL.revokeObjectURL(i)}(i,o,n)}const Ue=w({name:"export",ssr:!1,mounted(e,t){const n=Ve(t.value);if(!f())return;const o={options:n,clickHandler:()=>{var e,t,n,i,l,r;if(!1!==(null==(t=(e=o.options).onBeforeExport)?void 0:t.call(e)))try{Be(o.options),null==(i=(n=o.options).onAfterExport)||i.call(n)}catch(e){null==(r=(l=o.options).onError)||r.call(l,e)}}};e.__export=o,P(e,"click",o.clickHandler),e.classList.add("v-export")},updated(e,t){const n=e.__export;n&&(n.options=Ve(t.value))},unmounted(e){const t=e.__export;t&&(O(e,"click",t.clickHandler),e.classList.remove("v-export"),delete e.__export)}}),je={direction:"toggle",visible:!0,duration:300,delay:0,easing:"ease",minOpacity:0,maxOpacity:1};function We(e){return"boolean"==typeof e?__spreadProps(__spreadValues({},je),{visible:e}):"string"==typeof e?__spreadProps(__spreadValues({},je),{direction:e}):__spreadValues(__spreadValues({},je),e)}function qe(e){return{ease:"ease","ease-in":"ease-in","ease-out":"ease-out","ease-in-out":"ease-in-out",linear:"linear"}[e]||e}const Ge=w({name:"fade",ssr:!0,mounted(e,t){const n=We(t.value),o={options:n,currentOpacity:n.visible?n.maxOpacity||1:n.minOpacity||0,animationFrame:null,isAnimating:!1};e.__fade=o,e.style.transition=`opacity ${n.duration}ms ${qe(n.easing||"ease")} ${n.delay}ms`,"in"===n.direction?(e.style.opacity=String(n.minOpacity||0),e.style.display="",String(e.offsetHeight),o.animationFrame=requestAnimationFrame(()=>{o.animationFrame=null,e.style.opacity=String(n.maxOpacity||1),o.currentOpacity=n.maxOpacity||1})):"out"===n.direction?(e.style.opacity=String(n.maxOpacity||1),e.style.display="",o.animationFrame=requestAnimationFrame(()=>{o.animationFrame=null,e.style.opacity=String(n.minOpacity||0),setTimeout(()=>{e.style.display="none"},(n.duration||300)+(n.delay||0))})):(e.style.opacity=String(o.currentOpacity),n.visible||(e.style.display="none")),e.classList.add("v-fade")},updated(e,t){const n=e.__fade;if(!n)return;const o=We(t.value),i=!1!==o.visible,l=n.options.visible;n.options=o,e.style.transition=`opacity ${o.duration}ms ${qe(o.easing||"ease")} ${o.delay}ms`,l!==o.visible&&function(e,t,n){var o;if(t.isAnimating)return;const i=t.options;t.isAnimating=!0,null==(o=i.onStart)||o.call(i,n),"in"===n?(e.style.display="",e.style.opacity=String(i.minOpacity||0),String(e.offsetHeight),requestAnimationFrame(()=>{e.style.opacity=String(i.maxOpacity||1),setTimeout(()=>{var e;t.isAnimating=!1,t.currentOpacity=i.maxOpacity||1,null==(e=i.onComplete)||e.call(i,n)},(i.duration||300)+(i.delay||0))})):(e.style.opacity=String(i.minOpacity||0),setTimeout(()=>{var o;t.isAnimating=!1,t.currentOpacity=i.minOpacity||0,e.style.display="none",null==(o=i.onComplete)||o.call(i,n)},(i.duration||300)+(i.delay||0)))}(e,n,i?"in":"out")},unmounted(e){const t=e.__fade;t&&(t.animationFrame&&cancelAnimationFrame(t.animationFrame),e.classList.remove("v-fade"),delete e.__fade)}});const Ke=new Set(["input","textarea","select","button"]);const Ze=w({name:"focus",ssr:!0,defaults:{focus:!0,refocus:!1},mounted(e,t){if(!f())return;const n=Je(t.value);if(!n.focus||!function(e){if(!f())return!1;const t=e.tagName.toLowerCase();if(Ke.has(t))return!e.disabled;if(e.isContentEditable)return!0;const n=e.getAttribute("tabindex");if(null!=n)return"-1"!==n;if("a"===t||"area"===t)return e.hasAttribute("href");return!1}(e))return void(n.focus&&console.warn("[Directix] v-focus: Element is not focusable"));const o=()=>{var t;return null==(t=n.onFocus)?void 0:t.call(n,e)},i=()=>{var t;return null==(t=n.onBlur)?void 0:t.call(n,e)};e.addEventListener("focus",o),e.addEventListener("blur",i),e.__focus={options:n,handleFocus:o,handleBlur:i,lastValue:t.value},e.focus()},updated(e,t){const n=e.__focus;if(!n)return;const o=Je(t.value);o.onFocus!==n.options.onFocus&&(e.removeEventListener("focus",n.handleFocus),n.handleFocus=()=>{var t;return null==(t=o.onFocus)?void 0:t.call(o,e)},e.addEventListener("focus",n.handleFocus)),o.onBlur!==n.options.onBlur&&(e.removeEventListener("blur",n.handleBlur),n.handleBlur=()=>{var t;return null==(t=o.onBlur)?void 0:t.call(o,e)},e.addEventListener("blur",n.handleBlur));const i=!function(e,t){if(e===t)return!0;if("object"!=typeof e||"object"!=typeof t||null===e||null===t)return!1;const n=e,o=t,i=Object.keys(n),l=Object.keys(o);return i.length===l.length&&i.every(e=>n[e]===o[e])}(t.value,n.lastValue);o.refocus&&o.focus&&i&&e.focus(),n.options=o,n.lastValue=t.value},unmounted(e){const t=e.__focus;t&&(e.removeEventListener("focus",t.handleFocus),e.removeEventListener("blur",t.handleBlur),delete e.__focus)}});function Je(e){return"boolean"==typeof e?{focus:e,refocus:!1}:__spreadValues({focus:!0,refocus:!1},e)}function Qe(e){return __async(this,null,function*(){e.requestFullscreen?yield e.requestFullscreen():e.webkitRequestFullscreen?yield e.webkitRequestFullscreen():e.mozRequestFullScreen?yield e.mozRequestFullScreen():e.msRequestFullscreen&&(yield e.msRequestFullscreen())})}function et(){return __async(this,null,function*(){document.exitFullscreen?yield document.exitFullscreen():document.webkitExitFullscreen?yield document.webkitExitFullscreen():document.mozCancelFullScreen?yield document.mozCancelFullScreen():document.msExitFullscreen&&(yield document.msExitFullscreen())})}function tt(e){return"boolean"==typeof e?{initialState:e}:__spreadValues({initialState:!1,toggleKey:"Escape"},e)}const nt=w({name:"fullscreen",ssr:!1,mounted(e,t){const n=tt(t.value);if(!f()||!(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled))return;const o={options:n,clickHandler:()=>function(e,t){return __async(this,null,function*(){t.isFullscreen?yield et():yield Qe(e)})}(e,o),keydownHandler:e=>{!1!==o.options.toggleKey&&e.key===o.options.toggleKey&&o.isFullscreen&&et()},changeHandler:()=>{var t,n,i,l,r,s;const a=o.isFullscreen;o.isFullscreen=(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||null)===e,a!==o.isFullscreen&&(o.isFullscreen?(e.classList.add(o.options.fullscreenClass||"v-fullscreen--active"),null==(n=(t=o.options).onEnter)||n.call(t)):(e.classList.remove(o.options.fullscreenClass||"v-fullscreen--active"),null==(l=(i=o.options).onExit)||l.call(i)),null==(s=(r=o.options).onChange)||s.call(r,o.isFullscreen))},isFullscreen:!1};e.__fullscreen=o,document.addEventListener("fullscreenchange",o.changeHandler),document.addEventListener("webkitfullscreenchange",o.changeHandler),document.addEventListener("mozfullscreenchange",o.changeHandler),document.addEventListener("MSFullscreenChange",o.changeHandler),!1!==n.toggleKey&&document.addEventListener("keydown",o.keydownHandler),e.toggleFullscreen=o.clickHandler,n.initialState&&Qe(e),e.classList.add("v-fullscreen")},updated(e,t){const n=e.__fullscreen;n&&(n.options=tt(t.value))},unmounted(e){const t=e.__fullscreen;t&&(t.isFullscreen&&et(),document.removeEventListener("fullscreenchange",t.changeHandler),document.removeEventListener("webkitfullscreenchange",t.changeHandler),document.removeEventListener("mozfullscreenchange",t.changeHandler),document.removeEventListener("MSFullscreenChange",t.changeHandler),!1!==t.options.toggleKey&&document.removeEventListener("keydown",t.keydownHandler),e.classList.remove("v-fullscreen"),e.classList.remove(t.options.fullscreenClass||"v-fullscreen--active"),delete e.__fullscreen,delete e.toggleFullscreen)}});function ot(e){return"string"==typeof e||Array.isArray(e)?{keywords:e}:__spreadValues({className:"v-highlight",caseSensitive:!1,wholeWord:!1,tag:"mark"},e)}function it(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function lt(e,t){const n=Array.isArray(t.keywords)?t.keywords:[t.keywords];if(0===n.length||!e)return e;const o=t.caseSensitive||!1,i=t.wholeWord||!1,l=t.tag||"mark",r=t.className||"v-highlight",s=t.style?` style="${t.style}"`:"";n.sort((e,t)=>t.length-e.length);let a=e;for(const e of n){if(!e)continue;const t=it(e),n=i?"\\b":"",u=new RegExp(`${n}${t}${n}`,o?"g":"gi");a=a.replace(u,`<${l} class="${r}"${s}>$&</${l}>`)}return a}const rt=w({name:"highlight",ssr:!0,mounted(e,t){if(!f())return;const n=ot(t.value);if(!n.keywords||Array.isArray(n.keywords)&&0===n.keywords.length)return;const o={options:n,originalContent:e.innerHTML};e.__highlight=o,st(e,o)},updated(e,t){const n=e.__highlight;if(!n){const n=ot(t.value);if(n.keywords){const t={options:n,originalContent:e.innerHTML};e.__highlight=t,st(e,t)}return}const o=ot(t.value);(Array.isArray(n.options.keywords)?n.options.keywords.join(","):n.options.keywords)===(Array.isArray(o.keywords)?o.keywords.join(","):o.keywords)&&JSON.stringify(n.options)===JSON.stringify(o)||(e.innerHTML=n.originalContent,n.options=o,n.originalContent=e.innerHTML,st(e,n))},unmounted(e){const t=e.__highlight;t&&(e.innerHTML=t.originalContent,delete e.__highlight)}});function st(e,t){var n,o;if(function(e){for(const t of e.childNodes)if(t.nodeType===Node.ELEMENT_NODE)return!1;return!0}(e)){const i=lt(t.originalContent,t.options);e.innerHTML=i;const l=e.querySelectorAll(t.options.tag||"mark").length;null==(o=(n=t.options).onHighlight)||o.call(n,l)}else!function(e,t){var n,o,i,l;const r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null),s=[];let a=r.nextNode(),u=0;for(;a;)(null==(o=null==(n=a.parentNode)?void 0:n.tagName)?void 0:o.toLowerCase())!==(t.options.tag||"mark").toLowerCase()?(s.push(a),a=r.nextNode()):a=r.nextNode();for(const n of s){const o=n.textContent||"",i=lt(o,t.options);if(i!==o){const o=document.createElement("span");o.innerHTML=i;const l=n.parentNode;if(l){for(l.insertBefore(o,n),l.removeChild(n);o.firstChild;)l.insertBefore(o.firstChild,o);l.removeChild(o)}u+=e.querySelectorAll(t.options.tag||"mark").length}}null==(l=(i=t.options).onHighlight)||l.call(i,u)}(e,t)}const at={esc:"escape",space:" ",up:"arrowup",down:"arrowdown",left:"arrowleft",right:"arrowright",enter:"enter",tab:"tab",delete:"delete",backspace:"backspace",insert:"insert",home:"home",end:"end",pagedown:"pagedown",pageup:"pageup",f1:"f1",f2:"f2",f3:"f3",f4:"f4",f5:"f5",f6:"f6",f7:"f7",f8:"f8",f9:"f9",f10:"f10",f11:"f11",f12:"f12"},ut=new Set(["ctrl","alt","shift","meta"]);function ct(e){const t=e.toLowerCase();return at[t]||t}function dt(e){const t=e.toLowerCase().split(/[+.]/),n=[];let o="";for(const e of t)ut.has(e)?n.push(e):o=ct(e);return{key:o,modifiers:n}}function pt(e,t){if(ct(e.key)!==t.key)return!1;const n=new Set;if(e.ctrlKey&&n.add("ctrl"),e.altKey&&n.add("alt"),e.shiftKey&&n.add("shift"),e.metaKey&&n.add("meta"),n.size!==t.modifiers.size)return!1;for(const e of t.modifiers)if(!n.has(e))return!1;return!0}function ft(e,t,n,o={}){var i,l,r;return{key:ct(e),modifiers:new Set(t),handler:n,prevent:null==(i=o.prevent)||i,stop:null==(l=o.stop)||l,disabled:null!=(r=o.disabled)&&r}}function vt(e,t,n){if(t){const o=t.toLowerCase();let i;const l=[];if(ut.has(o)){l.push(o);for(const e of Object.keys(n)){const t=e.toLowerCase();ut.has(t)?l.push(t):i=ct(e)}}else{const e=dt(t);i=e.key,l.push(...e.modifiers);for(const e of Object.keys(n)){const t=e.toLowerCase();ut.has(t)&&l.push(t)}}return[ft(i,l,"function"==typeof e?e:e.handler)]}if("function"==typeof e)return console.warn('[Directix] v-hotkey: hotkey definition required (use v-hotkey:ctrl.s="handler")'),[];if(Array.isArray(e))return e.map(e=>ft(e.key,e.modifiers||[],e.handler,{prevent:e.prevent,stop:e.stop,disabled:e.disabled}));if("object"==typeof e&&null!==e){if("handler"in e&&"function"==typeof e.handler){const t=e;return[ft(t.key,t.modifiers||[],t.handler,t)]}const t=[];for(const[n,o]of Object.entries(e)){const{key:e,modifiers:i}=dt(n),l="function"==typeof o?o:o.handler,r="object"==typeof o?o:{};t.push(ft(e,i,l,r))}return t}return[]}function mt(e,t){if(0===t.length)return null;const n={entries:t,handler:null};return n.handler=function(e){return t=>{for(const n of e.entries)if(!n.disabled&&pt(t,n))return n.prevent&&t.preventDefault(),n.stop&&t.stopPropagation(),void n.handler(t)}}(n),e.tabIndex=e.tabIndex||-1,e.addEventListener("keydown",n.handler),e.__hotkey=n,n}const ht=w({name:"hotkey",ssr:!0,mounted(e,t){mt(e,vt(t.value,t.arg,t.modifiers))},updated(e,t){const n=e.__hotkey,o=vt(t.value,t.arg,t.modifiers);n?n.entries=o:mt(e,o)},unmounted(e){const t=e.__hotkey;t&&(e.removeEventListener("keydown",t.handler),delete e.__hotkey)}});const gt="hover";function yt(e){return"function"==typeof e?{handler:e,class:"v-hover"}:__spreadValues({class:"v-hover",disabled:!1,enterDelay:0,leaveDelay:0},e)}function bt(e,t,n){var o,i;const{options:l}=t;l.class&&e.classList.add(l.class),e.dispatchEvent(new CustomEvent("hover:enter",{detail:{event:n}})),null==(o=l.onEnter)||o.call(l,n),null==(i=l.handler)||i.call(l,!0,n)}function wt(e,t,n){var o,i;const{options:l}=t;l.class&&e.classList.remove(l.class),e.dispatchEvent(new CustomEvent("hover:leave",{detail:{event:n}})),null==(o=l.onLeave)||o.call(l,n),null==(i=l.handler)||i.call(l,!1,n)}const xt=w({name:"hover",ssr:!1,defaults:{class:"v-hover",disabled:!1,enterDelay:0,leaveDelay:0},mounted(e,t){const n=yt(t.value);if(n.disabled||!f())return;const o=function(){const e=new Set,t=new Set;return{setTimeout(t,n){const o=setTimeout(()=>{e.delete(o),t()},n);return e.add(o),o},clearTimeout(t){clearTimeout(t),e.delete(t)},setInterval(e,n){const o=setInterval(e,n);return t.add(o),o},clearInterval(e){clearInterval(e),t.delete(e)},clearAll(){e.forEach(e=>clearTimeout(e)),t.forEach(e=>clearInterval(e)),e.clear(),t.clear()},hasActive:()=>e.size>0||t.size>0}}();let i=!1;const l={options:n,isHovering:!1,timer:o,cleanup:null};l.cleanup=function(e,t,n=!1){return Object.entries(t).forEach(([t,o])=>{e.addEventListener(t,o,"boolean"==typeof n?n:F(n))}),()=>{Object.entries(t).forEach(([t,o])=>{e.removeEventListener(t,o,"boolean"==typeof n?n:F(n))})}}(e,{mouseenter:t=>{const r=t;o.clearAll(),i||(n.enterDelay&&n.enterDelay>0?o.setTimeout(()=>{i=!0,l.isHovering=!0,bt(e,l,r)},n.enterDelay):(i=!0,l.isHovering=!0,bt(e,l,r)))},mouseleave:t=>{const r=t;o.clearAll(),i&&(n.leaveDelay&&n.leaveDelay>0?o.setTimeout(()=>{i=!1,l.isHovering=!1,wt(e,l,r)},n.leaveDelay):(i=!1,l.isHovering=!1,wt(e,l,r)))}}),C(e,gt,l)},updated(e,t){const n=S(e,gt);if(!n)return;const o=yt(t.value);o.disabled&&!n.options.disabled?e.classList.remove(n.options.class||"v-hover"):!o.disabled&&n.options.disabled,n.options=o},unmounted(e){var t;const n=S(e,gt);n&&(n.timer.clearAll(),null==(t=n.cleanup)||t.call(n),e.classList.remove(n.options.class||"v-hover"),D(e,gt))}}),_t={minScale:.5,maxScale:5,doubleTapZoom:2.5,tapTimeout:300,animationDuration:300,hintDuration:3e3,zoomIndicatorDuration:1500};let Et=9999;function Lt(e,t,n,o){return Math.sqrt(__pow(n-e,2)+__pow(o-t,2))}function kt(e,t,n){return Math.max(t,Math.min(n,e))}function Tt(e,t){var n,o,i,l,r,s,a,u,c,d;const p="IMG"===t.tagName?t.src:void 0,f=t.getAttribute("data-preview")||void 0,v="IMG"===t.tagName?t.alt:t.getAttribute("alt")||void 0;return"string"==typeof e?{src:e,previewSrc:f,alt:v,enablePinchZoom:!0,enableDoubleTap:!0,enableSwipeClose:!0,showZoomIndicator:!0,showCloseButton:!0,closeOnClickOutside:!0,closeOnEsc:!0,minScale:_t.minScale,maxScale:_t.maxScale}:{src:(null==e?void 0:e.src)||p,previewSrc:(null==e?void 0:e.previewSrc)||f,alt:(null==e?void 0:e.alt)||v,disabled:null!=(n=null==e?void 0:e.disabled)&&n,closeOnClickOutside:null==(o=null==e?void 0:e.closeOnClickOutside)||o,closeOnEsc:null==(i=null==e?void 0:e.closeOnEsc)||i,showCloseButton:null==(l=null==e?void 0:e.showCloseButton)||l,zIndex:null==e?void 0:e.zIndex,class:null==e?void 0:e.class,enablePinchZoom:null==(r=null==e?void 0:e.enablePinchZoom)||r,enableDoubleTap:null==(s=null==e?void 0:e.enableDoubleTap)||s,enableSwipeClose:null==(a=null==e?void 0:e.enableSwipeClose)||a,showZoomIndicator:null==(u=null==e?void 0:e.showZoomIndicator)||u,minScale:null!=(c=null==e?void 0:e.minScale)?c:_t.minScale,maxScale:null!=(d=null==e?void 0:e.maxScale)?d:_t.maxScale,onOpen:null==e?void 0:e.onOpen,onClose:null==e?void 0:e.onClose}}const Ct=w({name:"image-preview",ssr:!1,mounted(e,t){const n=Tt(t.value,e),o={options:n,overlay:null,imageContainer:null,image:null,isOpen:!1,transform:{scale:1,translateX:0,translateY:0},gesture:{isDragging:!1,startX:0,startY:0,startDistance:0,startScale:1,lastTapTime:0,swipeStartY:0},handlers:{click:()=>{},esc:null,touchStart:null,touchMove:null,touchEnd:null,mouseDown:null,mouseMove:null,mouseUp:null,wheel:null}};if(e.__imagePreview=o,n.disabled)return;e.style.cursor="zoom-in";const i=function(e){const t=(t=!1)=>{var n;if(!e.imageContainer)return;const{scale:o,translateX:i,translateY:l}=e.transform;e.imageContainer.style.transition=t?"transform 0.2s ease-out":"none",e.imageContainer.style.transform=`translate(${i}px, ${l}px) scale(${o})`;const r=null==(n=e.overlay)?void 0:n.querySelector(".v-image-preview-zoom");r&&(r.textContent=`${Math.round(100*o)}%`,r.style.opacity="1",clearTimeout(r._hideTimer),r._hideTimer=setTimeout(()=>{r.style.opacity="0"},_t.zoomIndicatorDuration))};return{updateTransform:t,resetTransform:()=>{e.transform={scale:1,translateX:0,translateY:0},t(!0)},constrainScale:t=>{const{minScale:n=_t.minScale,maxScale:o=_t.maxScale}=e.options;return kt(t,n,o)},constrainTranslate:(t,n)=>{const{scale:o}=e.transform;if(!e.image||o<=1)return{x:0,y:0};const i=e.image.getBoundingClientRect(),l=i.width*(o-1)/2,r=i.height*(o-1)/2;return{x:kt(t,-l,l),y:kt(n,-r,r)}}}}(o),l=()=>{o.isOpen&&o.overlay&&(o.overlay.style.opacity="0",setTimeout(()=>{var e,t;if(!o.overlay)return;o.overlay.remove(),o.overlay=null,o.imageContainer=null,o.image=null,o.isOpen=!1,o.transform={scale:1,translateX:0,translateY:0},document.body.style.overflow="";const{handlers:n}=o;n.esc&&document.removeEventListener("keydown",n.esc),n.touchStart&&document.removeEventListener("touchstart",n.touchStart),n.touchMove&&document.removeEventListener("touchmove",n.touchMove),n.touchEnd&&document.removeEventListener("touchend",n.touchEnd),n.mouseDown&&document.removeEventListener("mousedown",n.mouseDown),n.mouseMove&&document.removeEventListener("mousemove",n.mouseMove),n.mouseUp&&document.removeEventListener("mouseup",n.mouseUp),n.wheel&&document.removeEventListener("wheel",n.wheel),null==(t=(e=o.options).onClose)||t.call(e)},_t.animationDuration))},r=function(e,t,n){const{updateTransform:o,resetTransform:i,constrainScale:l,constrainTranslate:r}=t;return{handleTouchStart:t=>{if(!e.imageContainer)return;const n=Date.now(),{gesture:i,transform:r,options:s}=e;if(1===t.touches.length){if(!1!==s.enableDoubleTap&&n-i.lastTapTime<_t.tapTimeout)return t.preventDefault(),r.scale=r.scale>1?1:l(_t.doubleTapZoom),i.lastTapTime=0,void o(!0);i.lastTapTime=n,i.isDragging=!0,i.startX=t.touches[0].clientX-r.translateX,i.startY=t.touches[0].clientY-r.translateY,i.swipeStartY=t.touches[0].clientY}else 2===t.touches.length&&!1!==s.enablePinchZoom&&(i.isDragging=!1,i.startDistance=Lt(t.touches[0].clientX,t.touches[0].clientY,t.touches[1].clientX,t.touches[1].clientY),i.startScale=r.scale)},handleTouchMove:t=>{if(!e.imageContainer)return;t.preventDefault();const{gesture:n,transform:i,options:s}=e;if(1===t.touches.length&&n.isDragging){const e=t.touches[0].clientX-n.startX,l=t.touches[0].clientY-n.startY,s=r(e,l);i.translateX=s.x,i.translateY=s.y,o(!1)}else if(2===t.touches.length&&!1!==s.enablePinchZoom){const e=Lt(t.touches[0].clientX,t.touches[0].clientY,t.touches[1].clientX,t.touches[1].clientY);i.scale=l(n.startScale*(e/n.startDistance)),o(!1)}},handleTouchEnd:t=>{const{gesture:o,transform:l,options:r}=e;o.isDragging=!1,!1!==r.enableSwipeClose&&1===t.changedTouches.length&&l.scale<=1&&t.changedTouches[0].clientY-o.swipeStartY<-100?n():l.scale<1&&i()},handleMouseDown:t=>{e.imageContainer&&(e.gesture.isDragging=!0,e.gesture.startX=t.clientX-e.transform.translateX,e.gesture.startY=t.clientY-e.transform.translateY,e.imageContainer.style.cursor="grabbing")},handleMouseMove:t=>{if(!e.gesture.isDragging||!e.imageContainer)return;const n=t.clientX-e.gesture.startX,i=t.clientY-e.gesture.startY,l=r(n,i);e.transform.translateX=l.x,e.transform.translateY=l.y,o(!1)},handleMouseUp:()=>{e.gesture.isDragging=!1,e.imageContainer&&(e.imageContainer.style.cursor="grab")},handleWheel:t=>{if(!e.imageContainer||!1===e.options.enablePinchZoom)return;t.preventDefault();const n=t.deltaY>0?.9:1.1;e.transform.scale=l(e.transform.scale*n),o(!1),e.transform.scale<.8&&setTimeout(i,100)}}}(o,i,l),s=()=>{var e,t,n;if(o.isOpen||o.options.disabled)return;const{overlay:s,imageContainer:a,image:u}=function(e){var t;const n=null!=(t=e.zIndex)?t:++Et,o=document.createElement("div");o.className="v-image-preview-overlay",e.class&&o.classList.add(e.class),Object.assign(o.style,{position:"fixed",inset:"0",background:"rgba(0, 0, 0, 0.95)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:String(n),cursor:"zoom-out",opacity:"0",transition:"opacity 0.3s",touchAction:"none",overflow:"hidden"});const i=document.createElement("div");Object.assign(i.style,{position:"relative",transformOrigin:"center center",transition:"transform 0.1s ease-out",willChange:"transform"});const l=document.createElement("img");if(l.src=e.previewSrc||e.src||"",l.alt=e.alt||"",Object.assign(l.style,{maxWidth:"95vw",maxHeight:"90vh",objectFit:"contain",cursor:"grab",userSelect:"none",WebkitUserDrag:"none"}),l.addEventListener("dragstart",e=>e.preventDefault()),i.appendChild(l),!1!==e.showCloseButton){const e=document.createElement("button");e.className="v-image-preview-close",e.innerHTML="×",e.setAttribute("aria-label","Close preview"),Object.assign(e.style,{position:"fixed",top:"16px",right:"16px",width:"44px",height:"44px",border:"none",background:"rgba(255, 255, 255, 0.15)",color:"white",fontSize:"28px",cursor:"pointer",borderRadius:"50%",transition:"background 0.2s, transform 0.2s",zIndex:String(n+1),display:"flex",alignItems:"center",justifyContent:"center",backdropFilter:"blur(10px)",WebkitBackdropFilter:"blur(10px)"});const t=(t,n)=>{e.style.background=t,e.style.transform=n};e.addEventListener("mouseenter",()=>t("rgba(255, 255, 255, 0.25)","scale(1.1)")),e.addEventListener("mouseleave",()=>t("rgba(255, 255, 255, 0.15)","scale(1)")),e.addEventListener("touchstart",()=>t("rgba(255, 255, 255, 0.35)","scale(1.15)"),{passive:!0}),e.addEventListener("touchend",()=>t("rgba(255, 255, 255, 0.15)","scale(1)"),{passive:!0}),o.appendChild(e)}if(!1!==e.showZoomIndicator){const e=document.createElement("div");e.className="v-image-preview-zoom",e.textContent="100%",Object.assign(e.style,{position:"fixed",bottom:"24px",left:"50%",transform:"translateX(-50%)",background:"rgba(0, 0, 0, 0.6)",color:"white",padding:"8px 16px",borderRadius:"20px",fontSize:"14px",fontWeight:"500",opacity:"0",transition:"opacity 0.3s",zIndex:String(n+1),backdropFilter:"blur(10px)",WebkitBackdropFilter:"blur(10px)"}),o.appendChild(e)}const r=document.createElement("div");return r.className="v-image-preview-hint",r.textContent="Pinch to zoom • Double tap • Swipe up to close",Object.assign(r.style,{position:"fixed",bottom:"60px",left:"50%",transform:"translateX(-50%)",color:"rgba(255, 255, 255, 0.6)",fontSize:"12px",opacity:"1",transition:"opacity 0.5s",zIndex:String(n+1),pointerEvents:"none"}),o.appendChild(r),setTimeout(()=>r.style.opacity="0",_t.hintDuration),o.appendChild(i),{overlay:o,imageContainer:i,image:l}}(o.options);o.overlay=s,o.imageContainer=a,o.image=u,o.isOpen=!0,document.body.appendChild(s),document.body.style.overflow="hidden",requestAnimationFrame(()=>s.style.opacity="1"),o.handlers.touchStart=r.handleTouchStart,o.handlers.touchMove=r.handleTouchMove,o.handlers.touchEnd=r.handleTouchEnd,o.handlers.mouseDown=r.handleMouseDown,o.handlers.mouseMove=r.handleMouseMove,o.handlers.mouseUp=r.handleMouseUp,o.handlers.wheel=r.handleWheel,s.addEventListener("touchstart",r.handleTouchStart,{passive:!1}),s.addEventListener("touchmove",r.handleTouchMove,{passive:!1}),s.addEventListener("touchend",r.handleTouchEnd,{passive:!0}),u.addEventListener("mousedown",r.handleMouseDown),document.addEventListener("mousemove",r.handleMouseMove),document.addEventListener("mouseup",r.handleMouseUp),s.addEventListener("wheel",r.handleWheel,{passive:!1}),null==(e=s.querySelector(".v-image-preview-close"))||e.addEventListener("click",e=>{e.stopPropagation(),l()}),!1!==o.options.closeOnClickOutside&&s.addEventListener("click",()=>{o.transform.scale<=1?l():i.resetTransform()}),!1!==o.options.closeOnEsc&&(o.handlers.esc=e=>{"Escape"===e.key&&(o.transform.scale>1?i.resetTransform():l())},document.addEventListener("keydown",o.handlers.esc)),null==(n=(t=o.options).onOpen)||n.call(t)};o.handlers.click=s,e.addEventListener("click",s)},updated(e,t){const n=e.__imagePreview;n&&(n.options=Tt(t.value,e),e.style.cursor=n.options.disabled?"":"zoom-in")},unmounted(e){const t=e.__imagePreview;t&&(e.removeEventListener("click",t.handlers.click),t.isOpen&&t.overlay&&(t.overlay.remove(),document.body.style.overflow=""),t.handlers.esc&&document.removeEventListener("keydown",t.handlers.esc),t.handlers.touchStart&&document.removeEventListener("touchstart",t.handlers.touchStart),t.handlers.touchMove&&document.removeEventListener("touchmove",t.handlers.touchMove),t.handlers.touchEnd&&document.removeEventListener("touchend",t.handlers.touchEnd),t.handlers.mouseDown&&document.removeEventListener("mousedown",t.handlers.mouseDown),t.handlers.mouseMove&&document.removeEventListener("mousemove",t.handlers.mouseMove),t.handlers.mouseUp&&document.removeEventListener("mouseup",t.handlers.mouseUp),t.handlers.wheel&&document.removeEventListener("wheel",t.handlers.wheel),delete e.__imagePreview)}});function St(e){if("function"==typeof e)return{handler:e,distance:0,throttle:200,useIntersection:!0};if(!e)throw new Error("[Directix] v-infinite-scroll: handler is required");return __spreadValues({distance:0,disabled:!1,loading:!1,useIntersection:!0,throttle:200},e)}const Dt=w({name:"infinite-scroll",ssr:!1,defaults:{distance:0,disabled:!1,loading:!1,useIntersection:!0,throttle:200},mounted(e,t){const n=St(t.value);if(n.disabled||!f())return;let o;if(n.container)if("string"==typeof n.container){const t=document.querySelector(n.container);o=t||M(e)}else o=n.container;else o=M(e);const i={options:n,container:o,sentinel:null,observer:null,throttleTimer:null,isLoading:!1,scrollHandler:t=>__async(null,null,function*(){if(i.isLoading||i.options.disabled||i.options.loading)return;if(i.throttleTimer)return;i.throttleTimer=setTimeout(()=>{i.throttleTimer=null},n.throttle);const t=function(e,t,n){if(e===window){const e=window.scrollY||document.documentElement.scrollTop,t=document.documentElement.scrollHeight;return e+window.innerHeight>=t-n}const o=e,i=o.scrollTop,l=o.scrollHeight,r=o.clientHeight;return i+r>=l-n}(o,0,n.distance||0);t&&(yield $t(i,e))})};e.__infiniteScroll=i,n.useIntersection&&h()?function(e,t){const n=document.createElement("div");n.className="v-infinite-scroll__sentinel",n.style.cssText="\n height: 1px;\n width: 100%;\n clear: both;\n ",e.appendChild(n),t.sentinel=n,t.observer=new IntersectionObserver(n=>__async(null,null,function*(){for(const o of n)o.isIntersecting&&(t.isLoading||t.options.disabled||t.options.loading||(yield $t(t,e)))}),{root:t.container===window?null:t.container,rootMargin:`${t.options.distance||0}px`,threshold:0}),t.observer.observe(n)}(e,i):P(o,"scroll",i.scrollHandler,{passive:!0})},updated(e,t){const n=e.__infiniteScroll;n&&(n.options=St(t.value))},unmounted(e){const t=e.__infiniteScroll;t&&(t.throttleTimer&&clearTimeout(t.throttleTimer),t.observer&&t.observer.disconnect(),t.sentinel&&t.sentinel.parentNode&&t.sentinel.parentNode.removeChild(t.sentinel),O(t.container,"scroll",t.scrollHandler),delete e.__infiniteScroll)}});function $t(e,t){return __async(this,null,function*(){var n,o,i,l,r,s;e.isLoading=!0,null==(o=(n=e.options).onLoadStart)||o.call(n),t.classList.add("v-infinite-scroll--loading");try{yield e.options.handler()}catch(t){null==(l=(i=e.options).onError)||l.call(i,t)}finally{e.isLoading=!1,null==(s=(r=e.options).onLoadEnd)||s.call(r),t.classList.remove("v-infinite-scroll--loading")}})}const Mt="__intersect";function Ht(e){const t="function"==typeof e?{handler:e}:__spreadValues({},e);return null!==t.root&&"object"==typeof t.root&&"value"in t.root&&(t.root=t.root.value),t}function It(e,t,n){return new IntersectionObserver(function(e,t,n){return o=>{var i,l,r,s;for(const a of o){if(n.once&&t.hasTriggeredOnce)continue;const{isIntersecting:o}=a;null==(i=n.handler)||i.call(n,a,t.observer),null==(l=n.onChange)||l.call(n,o,a),o?(null==(r=n.onEnter)||r.call(n,a,t.observer),n.once&&(t.hasTriggeredOnce=!0)):null==(s=n.onLeave)||s.call(n,a,t.observer),e.dispatchEvent(new CustomEvent("intersect",{detail:{isIntersecting:o,entry:a}}))}}}(e,t,n),{root:n.root,rootMargin:n.rootMargin,threshold:n.threshold})}const Pt=w({name:"intersect",ssr:!1,defaults:{disabled:!1,once:!1,rootMargin:"0px",threshold:0},mounted(e,t){const n=Ht(t.value);if(n.disabled||!f()||!h())return void(h()||console.warn("[Directix] v-intersect: IntersectionObserver not supported"));const o={options:n,observer:null,hasTriggeredOnce:!1};o.observer=It(e,o,n),e[Mt]=o,o.observer.observe(e)},updated(e,t){var n,o,i;const l=e[Mt];if(!l)return;const r=Ht(t.value),s=r.root!==l.options.root||r.rootMargin!==l.options.rootMargin||r.threshold!==l.options.threshold;r.disabled!==l.options.disabled&&(r.disabled?null==(n=l.observer)||n.disconnect():null==(o=l.observer)||o.observe(e)),s&&(null==(i=l.observer)||i.disconnect(),l.observer=It(e,l,r),l.observer.observe(e)),l.options=r},unmounted(e){var t;const n=e[Mt];n&&(null==(t=n.observer)||t.disconnect(),delete e[Mt])}});let Ot=null;function zt(e,t){"IMG"===e.tagName?e.src=t:e.style.backgroundImage=`url("${t}")`}function At(e,t){e.dataset.lazyState=t}function Ft(e){const t=e.__lazy;if(!t||!t.options.src)return;if(t.options.filter&&!t.options.filter(t.options.src))return;At(e,"loading"),t.attempt++,e.classList.add("v-lazy--loading");const n=new Image;n.onload=()=>{var n,o;zt(e,t.options.src),At(e,"loaded"),e.classList.remove("v-lazy--loading"),e.classList.add("v-lazy--loaded"),null==(o=(n=t.options).onLoad)||o.call(n,e)},n.onerror=()=>{var n,o;e.classList.remove("v-lazy--loading"),t.attempt<(t.options.attempt||1)?setTimeout(()=>Ft(e),1e3*t.attempt):(t.options.error&&zt(e,t.options.error),At(e,"error"),e.classList.add("v-lazy--error"),null==(o=(n=t.options).onError)||o.call(n,e,new Error("Failed to load image")))},n.src=t.options.src}function Yt(e){const t=e.__lazy;var n;if(t)if(h())if(t.options.observer)t.observer=t.options.observer,t.observer.observe(e);else{const o=(n=t.options.preload||0,Ot||(Ot=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(Ft(e.target),null==Ot||Ot.unobserve(e.target))})},{rootMargin:`${n}px`}),Ot));t.observer=o,o.observe(e)}else Ft(e)}function Rt(e){const t=e.__lazy;t&&(t.observer?t.observer.unobserve(e):Ot&&Ot.unobserve(e))}function Nt(e){return"string"==typeof e?{src:e}:e||{}}const Xt=w({name:"lazy",ssr:!1,defaults:{preload:0,attempt:1,disabled:!1},mounted(e,t){const n=Nt(t.value);if(n.disabled)return;if(!n.src)return void console.warn("[Directix] v-lazy: No source provided");At(e,"pending"),n.placeholder&&zt(e,n.placeholder),e.classList.add("v-lazy");const o={options:n,attempt:0};e.__lazy=o,Yt(e)},updated(e,t){const n=e.__lazy;if(!n)return;const o=Nt(t.value);o.disabled?Rt(e):o.src!==n.options.src&&(n.options=o,n.attempt=0,"pending"!==function(e){return e.dataset.lazyState||"pending"}(e)&&(At(e,"pending"),e.classList.remove("v-lazy--loaded","v-lazy--error"),o.placeholder&&zt(e,o.placeholder),Yt(e)))},unmounted(e){Rt(e),delete e.__lazy}});function Vt(e){return"boolean"==typeof e?{value:e}:__spreadValues({value:!0,loadingClass:"v-loading",spinnerClass:"v-loading__spinner",textClass:"v-loading__text",background:"rgba(255, 255, 255, 0.9)",lock:!1,disabled:!1},e)}const Bt=w({name:"loading",ssr:!0,defaults:{value:!0,loadingClass:"v-loading",spinnerClass:"v-loading__spinner",textClass:"v-loading__text",background:"rgba(255, 255, 255, 0.9)",lock:!1,disabled:!1},mounted(e,t){if(!f())return;const n=Vt(t.value);if(n.disabled)return;const o={options:n,loadingOverlay:null,originalPosition:e.style.position,originalOverflow:e.style.overflow};e.__loading=o,I(e),n.value&&Ut(e,o)},updated(e,t){const n=e.__loading;if(!n)return;const o=Vt(t.value);if(o.disabled)jt(e,n);else{if(o.value&&!n.options.value?Ut(e,n):!o.value&&n.options.value&&jt(e,n),n.loadingOverlay&&o.text!==n.options.text){const e=n.loadingOverlay.querySelector(`.${n.options.textClass}`);e&&(e.textContent=o.text||"")}n.options=o}},unmounted(e){const t=e.__loading;t&&(jt(e,t),e.style.position=t.originalPosition,e.style.overflow=t.originalOverflow,delete e.__loading)}});function Ut(e,t){t.loadingOverlay||(t.loadingOverlay=function(e){const t=document.createElement("div");t.className=e.loadingClass||"v-loading",t.style.cssText=`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1000;\n background: ${e.background||"rgba(255, 255, 255, 0.9)"};\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n `;const n=e.spinner||'\n<svg class="v-loading__circular" viewBox="25 25 50 50">\n <circle class="v-loading__path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"/>\n</svg>\n',o=document.createElement("div");if(o.className=e.spinnerClass||"v-loading__spinner",o.innerHTML=n,t.appendChild(o),e.text){const n=document.createElement("div");n.className=e.textClass||"v-loading__text",n.textContent=e.text,t.appendChild(n)}return t}(t.options),e.appendChild(t.loadingOverlay),t.options.lock&&(e.style.overflow="hidden"),e.classList.add("v-loading--active"))}function jt(e,t){t.loadingOverlay&&(t.loadingOverlay.remove(),t.loadingOverlay=null,t.options.lock&&(e.style.overflow=t.originalOverflow),e.classList.remove("v-loading--active"))}function Wt(e){if("function"==typeof e)return{handler:e,duration:500,distance:10};if(!e)throw new Error("[Directix] v-long-press: handler is required");return __spreadValues({duration:500,distance:10,disabled:!1,prevent:!0,stop:!1,tickInterval:100},e)}const qt=w({name:"long-press",ssr:!1,defaults:{duration:500,distance:10,disabled:!1,prevent:!0,stop:!1,tickInterval:100},mounted(e,t){const n=Wt(t.value);if(n.disabled||!f())return;const o={options:n,timerId:null,tickTimerId:null,startTime:0,startPos:{x:0,y:0},startHandler:()=>{},endHandler:()=>{},moveHandler:()=>{}};o.startHandler=e=>{var t;const i=e;n.prevent&&i.preventDefault(),n.stop&&i.stopPropagation(),o.timerId&&(clearTimeout(o.timerId),o.timerId=null),o.tickTimerId&&(clearInterval(o.tickTimerId),o.tickTimerId=null);const l=A(i);if(o.startPos={x:l.x,y:l.y},o.startTime=Date.now(),null==(t=n.onStart)||t.call(n,i),n.onTick){let e=n.duration;o.tickTimerId=setInterval(()=>{var t;e-=n.tickInterval,null==(t=n.onTick)||t.call(n,Math.max(0,e))},n.tickInterval)}o.timerId=setTimeout(()=>{o.tickTimerId&&(clearInterval(o.tickTimerId),o.tickTimerId=null),n.handler(i)},n.duration)},o.endHandler=e=>{var t;const i=e;o.timerId&&(clearTimeout(o.timerId),o.timerId=null),o.tickTimerId&&(clearInterval(o.tickTimerId),o.tickTimerId=null),o.startTime>0&&(null==(t=n.onCancel)||t.call(n,i)),o.startTime=0},o.moveHandler=e=>{var t;if(!o.timerId)return;const i=e,l=A(i);var r,s;(r=o.startPos,s={x:l.x,y:l.y},Math.sqrt(__pow(s.x-r.x,2)+__pow(s.y-r.y,2)))>(n.distance||10)&&(o.timerId&&(clearTimeout(o.timerId),o.timerId=null),o.tickTimerId&&(clearInterval(o.tickTimerId),o.tickTimerId=null),null==(t=n.onCancel)||t.call(n,i),o.startTime=0)},e.__longPress=o,P(e,"mousedown",o.startHandler),P(e,"mouseup",o.endHandler),P(e,"mouseleave",o.endHandler),P(e,"mousemove",o.moveHandler),P(e,"touchstart",o.startHandler,{passive:!n.prevent}),P(e,"touchend",o.endHandler),P(e,"touchcancel",o.endHandler),P(e,"touchmove",o.moveHandler,{passive:!0})},updated(e,t){const n=e.__longPress;if(!n){return void(Wt(t.value).disabled||(e.__longPress=null))}n.options=Wt(t.value)},unmounted(e){const t=e.__longPress;t&&(t.timerId&&clearTimeout(t.timerId),t.tickTimerId&&clearInterval(t.tickTimerId),O(e,"mousedown",t.startHandler),O(e,"mouseup",t.endHandler),O(e,"mouseleave",t.endHandler),O(e,"mousemove",t.moveHandler),O(e,"touchstart",t.startHandler),O(e,"touchend",t.endHandler),O(e,"touchcancel",t.endHandler),O(e,"touchmove",t.moveHandler),delete e.__longPress)}});function Gt(e){return"string"==typeof e||e&&"object"==typeof e&&!("animationData"in e)?{animationData:e}:__spreadValues({autoplay:!0,loop:!0,speed:1,direction:1,renderer:"svg",preserveAspectRatio:!0},e)}const Kt=w({name:"lottie",ssr:!1,mounted(e,t){if(!f())return;const n=Gt(t.value),o=document.createElement("div");o.className=`v-lottie ${n.class||""}`,o.style.cssText=`\n width: 100%;\n height: 100%;\n ${!1!==n.preserveAspectRatio?"display: flex; align-items: center; justify-content: center;":""}\n `,e.appendChild(o);const i={options:n,animation:null,container:o};e.__lottie=i,Zt(i),e.classList.add("v-lottie-container")},updated(e,t){const n=e.__lottie;if(!n)return;const o=Gt(t.value),i=n.options.animationData,l=o.animationData;JSON.stringify(i)!==JSON.stringify(l)?(n.animation&&n.animation.destroy(),n.options=o,Zt(n)):(n.options=o,n.animation&&(void 0!==o.speed&&n.animation.setSpeed(o.speed),void 0!==o.direction&&n.animation.setDirection(o.direction),void 0!==o.loop&&(n.animation.loop=o.loop)))},unmounted(e){const t=e.__lottie;t&&(t.animation&&t.animation.destroy(),e.removeChild(t.container),e.classList.remove("v-lottie-container"),delete e.__lottie)}});function Zt(e){return __async(this,null,function*(){const t=yield function(){return __async(this,null,function*(){if(window.lottie)return window.lottie;try{const e=yield import("lottie-web");return window.lottie=e.default||e,e.default||e}catch(e){return console.warn("[Directix] v-lottie: lottie-web not found. Please install it: npm install lottie-web"),null}})}();if(!t)return;const n=e.options,o={container:e.container,renderer:n.renderer||"svg",loop:!1!==n.loop,autoplay:!1!==n.autoplay};"string"==typeof n.animationData&&n.animationData.startsWith("http")?o.path=n.animationData:o.animationData=n.animationData,e.animation=t.loadAnimation(o),void 0!==n.speed&&e.animation.setSpeed(n.speed),void 0!==n.direction&&e.animation.setDirection(n.direction),n.segments&&e.animation.playSegments(n.segments,!0),n.onReady&&e.animation.addEventListener("DOMLoaded",()=>{n.onReady(e.animation)}),n.onComplete&&e.animation.addEventListener("complete",n.onComplete),n.onLoopComplete&&e.animation.addEventListener("loopComplete",n.onLoopComplete),n.onEnterFrame&&e.animation.addEventListener("enterFrame",e=>{n.onEnterFrame(e.currentTime)});const i=e.container.parentElement;i&&(i.lottiePlay=()=>{var t;return null==(t=e.animation)?void 0:t.play()},i.lottiePause=()=>{var t;return null==(t=e.animation)?void 0:t.pause()},i.lottieStop=()=>{var t;return null==(t=e.animation)?void 0:t.stop()},i.lottieSetSpeed=t=>{var n;return null==(n=e.animation)?void 0:n.setSpeed(t)},i.lottieSetDirection=t=>{var n;return null==(n=e.animation)?void 0:n.setDirection(t)},i.lottieGoToAndPlay=(t,n=!0)=>{var o;return null==(o=e.animation)?void 0:o.goToAndPlay(t,n)},i.lottieGoToAndStop=(t,n=!0)=>{var o;return null==(o=e.animation)?void 0:o.goToAndStop(t,n)})})}function Jt(e,t){return e?t.first?e.charAt(0).toLowerCase()+e.slice(1):e.toLowerCase():e}function Qt(e){var t,n;return void 0===e||!0===e?{first:!1,onInput:!0}:!1===e?{first:!1,onInput:!1}:{first:null!=(t=e.first)&&t,onInput:null==(n=e.onInput)||n}}const en=w({name:"lowercase",ssr:!0,mounted(e,t){const n=Qt(t.value);if(H(e)){const t=G(e,n,e=>Jt(e,n));e.__lowercaseCleanup=t}else K(e,e=>Jt(e,n))},updated(e,t){const n=Qt(t.value);H(e)?n.onInput&&(e.value=Jt(e.value,n)):K(e,e=>Jt(e,n))},unmounted(e){const t=e.__lowercaseCleanup;null==t||t(),delete e.__lowercaseCleanup}}),tn="__mask",nn={"#":/\d/,A:/[A-Za-z]/,N:/[A-Za-z0-9]/,X:/./};function on(e,t){return[...e].map(e=>{const n=nn[e];return n?{pattern:n,placeholder:t,isLiteral:!1}:{pattern:new RegExp(`\\${e}`),placeholder:e,isLiteral:!0}})}function ln(e){if("string"==typeof e)return{mask:e,placeholder:"_",showPlaceholder:!0};if(!(null==e?void 0:e.mask))throw new Error("[Directix] v-mask: mask is required");return __spreadValues({placeholder:"_",showPlaceholder:!0,showMaskOnBlur:!1,clearIncomplete:!1,disabled:!1},e)}function rn(e,t,n,o){let i="",l=0;for(const r of t){if(l>=e.length){i+=r.isLiteral?r.placeholder:o?n:"";continue}const t=e[l];r.isLiteral?(t===r.placeholder&&l++,i+=r.placeholder):r.pattern.test(t)?(i+=t,l++):t===n?(i+=o?n:"",l++):l++}return i}function sn(e,t,n){for(let o=0;o<t.length;o++)if(!t[o].isLiteral&&(o>=e.length||e[o]===n))return!1;return!0}function an(e,t){let n=t;for(;n<e.length&&e[n].isLiteral;)n++;return Math.min(n,e.length)}const un=w({name:"mask",ssr:!1,defaults:{placeholder:"_",showPlaceholder:!0,showMaskOnBlur:!1,clearIncomplete:!1,disabled:!1},mounted(e,t){var n;if(!H(e))return void console.warn("[Directix] v-mask: directive must be used on input or textarea elements");const o=ln(t.value);if(o.disabled||!f())return;const i=o.placeholder||"_",l=on(o.mask,i),r=e=>{var t,n,r;const s=e.target,a=s.value,u=s.selectionStart||0,c=rn(a,l,i,null==(t=o.showPlaceholder)||t);if(c!==a)return s.value=c,s.setSelectionRange(an(l,u),an(l,u)),void s.dispatchEvent(new Event("input",{bubbles:!0}));null==(n=o.onChange)||n.call(o,c,function(e,t,n){let o="";for(let i=0;i<e.length&&i<t.length;i++)t[i].isLiteral||e[i]===n||(o+=e[i]);return o}(c,l,i)),sn(c,l,i)&&(null==(r=o.onComplete)||r.call(o,c))},s=()=>{!e.value&&o.showPlaceholder&&(e.value=rn("",l,i,!0))},a=()=>{o.showMaskOnBlur||sn(e.value,l,i)||!o.clearIncomplete||(e.value="")};P(e,"input",r),P(e,"focus",s),P(e,"blur",a),e[tn]={options:o,tokens:l,placeholder:i,inputHandler:r,focusHandler:s,blurHandler:a},e.value&&(e.value=rn(e.value,l,i,null==(n=o.showPlaceholder)||n))},updated(e,t){const n=e[tn];n&&(n.options=ln(t.value),n.tokens=on(n.options.mask,n.placeholder))},unmounted(e){const t=e[tn];t&&(O(e,"input",t.inputHandler),O(e,"focus",t.focusHandler),O(e,"blur",t.blurHandler),delete e[tn])}});function cn(e,t){const{precision:n=0,separator:o=",",decimal:i=".",prefix:l="",suffix:r=""}=t,s=e.toFixed(n),[a,u]=s.split(".");let c=a.replace(/\B(?=(\d{3})+(?!\d))/g,o);return n>0&&u&&(c+=i+u),l+c+r}function dn(e,t){const n=e.replace(/[^\d.-]/g,"").replace(t,"."),o=Number.parseFloat(n);return isNaN(o)?null:o}function pn(e,t){var n;let o=e;return!(null==(n=t.allowNegative)||n)&&o<0&&(o=Math.abs(o)),function(e,t,n){let o=e;return void 0!==t&&(o=Math.max(t,o)),void 0!==n&&(o=Math.min(n,o)),o}(o,t.min,t.max)}function fn(e,t,n){const{decimal:o=".",prefix:i=""}=t;let l=!1;const r=()=>{if(l)return;const r=e.value,s=e.selectionStart||0;if(!r||"-"===r)return;const a=dn(r,o);if(null===a)return l=!0,e.value="",e.dispatchEvent(new Event("input",{bubbles:!0})),void(l=!1);const u=pn(a,t),c=n(u,t);if(c!==r){l=!0;const t=function(e,t,n,o=0){let i=0,l=0;for(let t=0;t<n&&t<e.length;t++)/\d/.test(e[t])&&i++;for(let e=o;e<t.length;e++)if(/\d/.test(t[e])&&l++,l>=i)return e+1;return t.length}(r,c,s,i.length);e.value=c,e.setSelectionRange(t,t),e.dispatchEvent(new Event("input",{bubbles:!0})),l=!1}},s=()=>{if(!e.value||"-"===e.value)return;const i=dn(e.value,o);if(null!==i){const o=pn(i,t),r=n(o,t);l=!0,e.value=r,e.dispatchEvent(new Event("input",{bubbles:!0})),l=!1}};if(e.addEventListener("input",r),e.addEventListener("blur",s),e.value){const i=dn(e.value,o);if(null!==i){const o=n(pn(i,t),t);l=!0,e.value=o,e.dispatchEvent(new Event("input",{bubbles:!0})),l=!1}}return()=>{e.removeEventListener("input",r),e.removeEventListener("blur",s)}}function vn(e,t){const{precision:n=2,separator:o=",",decimal:i=".",symbol:l="$",symbolPosition:r="before"}=t,s=e.toFixed(n),[a,u]=s.split(".");let c=a.replace(/\B(?=(\d{3})+(?!\d))/g,o);return n>0&&u&&(c+=i+u),"before"===r?l+c:c+l}const mn=w({name:"money",ssr:!0,mounted(e,t){var n,o,i;const l="string"==typeof t.value?{symbol:t.value}:null!=(n=t.value)?n:{};if(l.precision=null!=(o=l.precision)?o:2,H(e)){const{symbol:t="$",symbolPosition:n="before"}=l,o="before"===n?t:"",i=fn(e,__spreadProps(__spreadValues({},l),{prefix:o}),vn);e.__money={options:l,cleanup:i},requestAnimationFrame(()=>{const t=e;if(t.value){const e=dn(t.value,l.decimal||".");if(null!==e){const n=vn(pn(e,l),l);n!==t.value&&(t.value=n,t.dispatchEvent(new Event("input",{bubbles:!0})))}}})}else{let n=null;if(t.value&&"object"==typeof t.value&&"value"in t.value)n=t.value.value;else{const t=null==(i=e.textContent)?void 0:i.trim();t&&(n=dn(t,l.decimal||"."))}null!==n&&(e.textContent=vn(pn(n,l),l))}},updated(e,t){var n,o;const i="string"==typeof t.value?{symbol:t.value}:null!=(n=t.value)?n:{};i.precision=null!=(o=i.precision)?o:2;const l=e.__money;if(l)l.options=i;else if(!H(e)){let n=null;t.value&&"object"==typeof t.value&&"value"in t.value&&(n=t.value.value),null!==n&&(e.textContent=vn(pn(n,i),i))}},unmounted(e){const t=e.__money;null==t||t.cleanup(),delete e.__money}});function hn(e){if("function"==typeof e)return{handler:e,childList:!0};if(!e||!e.handler)throw new Error("[Directix] v-mutation: handler is required");return __spreadValues({attributes:!1,childList:!0,subtree:!1,characterData:!1,attributeOldValue:!1,characterDataOldValue:!1,disabled:!1},e)}const gn=w({name:"mutation",ssr:!1,defaults:{attributes:!1,childList:!0,subtree:!1,characterData:!1,attributeOldValue:!1,characterDataOldValue:!1,disabled:!1},mounted(e,t){const n=hn(t.value);if(n.disabled||!f())return;if(!b())return void console.warn("[Directix] v-mutation: MutationObserver not supported");const o={options:n,observer:null};o.observer=new MutationObserver((e,t)=>{n.handler(e,t)}),o.observer.observe(e,{attributes:n.attributes,attributeFilter:n.attributeFilter,childList:n.childList,subtree:n.subtree,characterData:n.characterData,attributeOldValue:n.attributeOldValue,characterDataOldValue:n.characterDataOldValue}),e.__mutation=o},updated(e,t){const n=e.__mutation;if(!n)return;const o=hn(t.value);o.disabled&&!n.options.disabled?n.observer&&n.observer.disconnect():!o.disabled&&n.options.disabled?n.observer&&n.observer.observe(e,{attributes:o.attributes,attributeFilter:o.attributeFilter,childList:o.childList,subtree:o.subtree,characterData:o.characterData,attributeOldValue:o.attributeOldValue,characterDataOldValue:o.characterDataOldValue}):o.disabled||o.attributes===n.options.attributes&&o.childList===n.options.childList&&o.subtree===n.options.subtree&&o.characterData===n.options.characterData||n.observer&&(n.observer.disconnect(),n.observer.observe(e,{attributes:o.attributes,attributeFilter:o.attributeFilter,childList:o.childList,subtree:o.subtree,characterData:o.characterData,attributeOldValue:o.attributeOldValue,characterDataOldValue:o.characterDataOldValue})),n.options=o},unmounted(e){const t=e.__mutation;t&&(t.observer&&t.observer.disconnect(),delete e.__mutation)}}),yn=w({name:"number",ssr:!0,mounted(e,t){var n,o;const i="number"==typeof t.value?{precision:t.value}:null!=(n=t.value)?n:{};if(H(e)){const t=fn(e,i,cn);e.__number={options:i,cleanup:t},requestAnimationFrame(()=>{const t=e;if(t.value){const e=dn(t.value,i.decimal||".");if(null!==e){const n=cn(pn(e,i),i);n!==t.value&&(t.value=n,t.dispatchEvent(new Event("input",{bubbles:!0})))}}})}else{let n=null;if("number"==typeof t.value)n=t.value;else if(t.value&&"object"==typeof t.value&&"value"in t.value)n=t.value.value;else{const t=null==(o=e.textContent)?void 0:o.trim();t&&(n=dn(t,i.decimal||"."))}null!==n&&(e.textContent=cn(pn(n,i),i))}},updated(e,t){var n;const o="number"==typeof t.value?{precision:t.value}:null!=(n=t.value)?n:{},i=e.__number;if(i)i.options=o;else if(!H(e)){let n=null;"number"==typeof t.value?n=t.value:t.value&&"object"==typeof t.value&&"value"in t.value&&(n=t.value.value),null!==n&&(e.textContent=cn(pn(n,o),o))}},unmounted(e){const t=e.__number;null==t||t.cleanup(),delete e.__number}});function bn(e){return"function"==typeof e?{onPan:e}:__spreadValues({threshold:10,direction:"all",preventDefault:!0,stopPropagation:!1,pointers:["touch","mouse"]},e)}function wn(e,t){return Math.abs(e)>Math.abs(t)?e>0?"right":"left":t>0?"down":"up"}function xn(e,t,n=!1,o=!1){const i=t.currentX-t.startX,l=t.currentY-t.startY,r=Math.sqrt(i*i+l*l),s=Date.now()-t.startTime;return{originalEvent:e,direction:wn(i,l),deltaX:i,deltaY:l,distance:r,x:t.currentX,y:t.currentY,startX:t.startX,startY:t.startY,isPanning:t.isPanning,isFirst:n,isFinal:o,velocity:r/(s||1)}}function _n(e){return"touches"in e&&e.touches.length>0?{x:e.touches[0].clientX,y:e.touches[0].clientY}:{x:e.clientX,y:e.clientY}}const En=w({name:"pan",ssr:!1,mounted(e,t){var n,o;if(!f())return;const i=bn(t.value),l={options:i,startX:0,startY:0,currentX:0,currentY:0,isPanning:!1,startTime:0,touchstartHandler:e=>Ln(e,l),touchmoveHandler:e=>kn(e,l),touchendHandler:e=>Tn(e,l),mousedownHandler:e=>Ln(e,l),mousemoveHandler:e=>kn(e,l),mouseupHandler:e=>Tn(e,l)};e.__pan=l,(null==(n=i.pointers)?void 0:n.includes("touch"))&&(P(e,"touchstart",l.touchstartHandler,{passive:!1}),P(e,"touchmove",l.touchmoveHandler,{passive:!1}),P(e,"touchend",l.touchendHandler),P(e,"touchcancel",l.touchendHandler)),(null==(o=i.pointers)?void 0:o.includes("mouse"))&&P(e,"mousedown",l.mousedownHandler),e.classList.add("v-pan")},updated(e,t){const n=e.__pan;n&&(n.options=bn(t.value))},unmounted(e){const t=e.__pan;t&&(O(e,"touchstart",t.touchstartHandler),O(e,"touchmove",t.touchmoveHandler),O(e,"touchend",t.touchendHandler),O(e,"touchcancel",t.touchendHandler),O(e,"mousedown",t.mousedownHandler),e.classList.remove("v-pan"),delete e.__pan)}});function Ln(e,t,n){const o=_n(e);t.startX=o.x,t.startY=o.y,t.currentX=o.x,t.currentY=o.y,t.isPanning=!1,t.startTime=Date.now(),t.options.preventDefault&&e.preventDefault(),t.options.stopPropagation&&e.stopPropagation(),"mousedown"===e.type&&(document.addEventListener("mousemove",t.mousemoveHandler),document.addEventListener("mouseup",t.mouseupHandler))}function kn(e,t,n){var o,i,l,r;const s=_n(e);t.currentX=s.x,t.currentY=s.y;const a=t.currentX-t.startX,u=t.currentY-t.startY,c=Math.sqrt(a*a+u*u),d=t.options.threshold||10;if(!t.isPanning&&c<d)return;if(!function(e,t){return!t||"all"===t||("horizontal"===t?"left"===e||"right"===e:"up"===e||"down"===e)}(wn(a,u),t.options.direction))return;t.options.preventDefault&&e.preventDefault();const p=t.isPanning;t.isPanning=!0;const f=xn(e,t,!p);p||null==(i=(o=t.options).onStart)||i.call(o,f),null==(r=(l=t.options).onPan)||r.call(l,f)}function Tn(e,t){var n,o;if(document.removeEventListener("mousemove",t.mousemoveHandler),document.removeEventListener("mouseup",t.mouseupHandler),!t.isPanning)return;const i=xn(e,t,!1,!0);null==(o=(n=t.options).onEnd)||o.call(n,i),t.isPanning=!1}function Cn(e){return"boolean"==typeof e?{enabled:e,speed:.5}:"number"==typeof e?{speed:e,enabled:!0}:__spreadValues({speed:.5,enabled:!0,reverse:!1,horizontal:!1,useTransform:!0},e)}const Sn=w({name:"parallax",ssr:!1,mounted(e,t){if(!f())return;const n={options:Cn(t.value),scrollHandler:()=>Dn(e,n),resizeHandler:()=>function(e,t){Dn(e,t)}(e,n),isVisible:!0,lastOffset:0,ticking:!1};e.__parallax=n,e.style.willChange="transform";P($n(e),"scroll",n.scrollHandler,{passive:!0}),P(window,"resize",n.resizeHandler,{passive:!0}),Dn(e,n),e.classList.add("v-parallax")},updated(e,t){const n=e.__parallax;n&&(n.options=Cn(t.value))},unmounted(e){const t=e.__parallax;if(!t)return;O($n(e),"scroll",t.scrollHandler),O(window,"resize",t.resizeHandler),e.style.willChange="",e.style.transform="",e.classList.remove("v-parallax"),delete e.__parallax}});function Dn(e,t){var n;!t.options.enabled||(n=t.options.mobileBreakpoint)&&window.innerWidth<n||(t.ticking||(t.ticking=!0,requestAnimationFrame(()=>{const n=e.getBoundingClientRect(),o=window.innerHeight;if(t.isVisible=n.top<o&&n.bottom>0,t.isVisible){const o=window.scrollY;let i=(o-(n.top+o))*(t.options.speed||.5);void 0!==t.options.minScroll&&(i=Math.max(i,t.options.minScroll)),void 0!==t.options.maxScroll&&(i=Math.min(i,t.options.maxScroll)),t.options.reverse&&(i=-i),t.options.transform?e.style.transform=t.options.transform(i,e):!1!==t.options.useTransform&&(t.options.horizontal?e.style.transform=`translateX(${i}px)`:e.style.transform=`translateY(${i}px)`),t.lastOffset=i}t.ticking=!1})))}function $n(e){let t=e.parentElement;for(;t;){const{overflow:e,overflowX:n,overflowY:o}=getComputedStyle(t);if(/(auto|scroll)/.test(e+n+o))return t;t=t.parentElement}return window}const Mn="__permission";let Hn=null;function In(e,t){return t.includes("*")||t.includes(e)}function Pn(e,t){var n,o;const i=function(e){return e[Mn]||(e[Mn]={options:{value:""},originalDisplay:"",originalDisabled:!1,parentNode:null,placeholder:null}),e[Mn]}(e);i.options=function(e){if(!e)throw new Error("[Directix] v-permission: permission value is required");return"string"==typeof e||Array.isArray(e)?{value:e}:e}(t.value);const l=function(e){var t;if(e.check)return e.check(e.value,e.mode||"some");if(!Hn)return console.warn("[Directix] v-permission: No permission config provided"),!0;const n=Hn.getPermissions(),o=(null==(t=Hn.getRoles)?void 0:t.call(Hn))||[],i=Hn.roleMap||{},l=Array.isArray(e.value)?e.value:[e.value];function r(e){if(e in i)return o.includes(e);if(In(e,n))return!0;for(const t of o)if(In(e,i[t]||[]))return!0;return!1}return"every"===(e.mode||"some")?l.every(r):l.some(r)}(i.options);null==(o=(n=i.options).onChange)||o.call(n,l);const r=i.options.action||"remove";l?function(e,t,n){switch(t){case"remove":n.placeholder&&n.parentNode&&(n.parentNode.insertBefore(e,n.placeholder),n.parentNode.removeChild(n.placeholder),n.placeholder=null);break;case"disable":!1===n.originalDisabled?e.removeAttribute("disabled"):n.originalDisabled&&e.setAttribute("disabled",n.originalDisabled),e.classList.remove("v-permission--disabled");break;case"hide":e.style.display=n.originalDisplay||"",e.classList.remove("v-permission--hidden")}}(e,r,i):function(e,t,n){var o,i;switch(t){case"remove":n.parentNode=e.parentNode,n.placeholder=document.createComment("v-permission"),null==(o=e.parentNode)||o.insertBefore(n.placeholder,e),null==(i=e.parentNode)||i.removeChild(e);break;case"disable":n.originalDisabled=e.getAttribute("disabled")||!1,e.setAttribute("disabled","true"),e.classList.add("v-permission--disabled");break;case"hide":n.originalDisplay=e.style.display,e.style.display="none",e.classList.add("v-permission--hidden")}}(e,r,i)}const On=w({name:"permission",ssr:!0,mounted(e,t){Pn(e,t)},updated(e,t){Pn(e,t)},unmounted(e){!function(e){const t=e[Mn];(null==t?void 0:t.placeholder)&&t.parentNode&&t.parentNode.removeChild(t.placeholder),delete e[Mn]}(e)}});function zn(e){return"function"==typeof e?{onPinch:e}:__spreadValues({preventDefault:!0,stopPropagation:!1,enableTransform:!1,transformOrigin:"center center"},e)}function An(e){if(e.length<2)return 0;const t=e[0].clientX-e[1].clientX,n=e[0].clientY-e[1].clientY;return Math.sqrt(t*t+n*n)}function Fn(e,t,n=!1,o=!1){const i=(l=e.touches).length<2?{x:l[0].clientX,y:l[0].clientY}:{x:(l[0].clientX+l[1].clientX)/2,y:(l[0].clientY+l[1].clientY)/2};var l;return{originalEvent:e,scale:t.initialDistance>0?t.currentDistance/t.initialDistance:1,distance:t.currentDistance,initialDistance:t.initialDistance,centerX:i.x,centerY:i.y,isPinching:t.isPinching,isFirst:n,isFinal:o}}const Yn=w({name:"pinch",ssr:!1,mounted(e,t){if(!f())return;const n={options:zn(t.value),initialDistance:0,currentDistance:0,isPinching:!1,initialScale:1,savedTransition:"",touchstartHandler:t=>function(e,t,n){if(2!==e.touches.length)return;if(t.initialDistance=An(e.touches),t.currentDistance=t.initialDistance,t.isPinching=!1,t.options.enableTransform){const e=getComputedStyle(n).transform,o=new DOMMatrix(e);t.initialScale=o.a,t.savedTransition=n.style.transition,n.style.transition="none"}t.options.preventDefault&&e.preventDefault();t.options.stopPropagation&&e.stopPropagation()}(t,n,e),touchmoveHandler:t=>function(e,t,n){var o,i,l,r;if(2!==e.touches.length)return;if(t.currentDistance=An(e.touches),t.initialDistance<=0)return;const s=t.currentDistance/t.initialDistance;if(void 0!==t.options.minScale&&s<t.options.minScale)return;if(void 0!==t.options.maxScale&&s>t.options.maxScale)return;t.options.preventDefault&&e.preventDefault();const a=t.isPinching;t.isPinching=!0;const u=Fn(e,t,!a);a||null==(i=(o=t.options).onStart)||i.call(o,u);if(t.options.enableTransform){const e=t.options.transformOrigin||"center center";n.style.transformOrigin=e,n.style.transform=`scale(${t.initialScale*s})`}null==(r=(l=t.options).onPinch)||r.call(l,u)}(t,n,e),touchendHandler:t=>function(e,t,n){var o,i;if(!t.isPinching)return;t.options.enableTransform&&(n.style.transition=t.savedTransition);const l=__spreadProps(__spreadValues({},e),{touches:e.touches.length>=2?e.touches:[]}),r=Fn(l,t,!1,!0);null==(i=(o=t.options).onEnd)||i.call(o,r),t.isPinching=!1,t.initialDistance=0,t.currentDistance=0}(t,n,e)};e.__pinch=n,P(e,"touchstart",n.touchstartHandler,{passive:!1}),P(e,"touchmove",n.touchmoveHandler,{passive:!1}),P(e,"touchend",n.touchendHandler),P(e,"touchcancel",n.touchendHandler),e.classList.add("v-pinch")},updated(e,t){const n=e.__pinch;n&&(n.options=zn(t.value))},unmounted(e){const t=e.__pinch;t&&(O(e,"touchstart",t.touchstartHandler),O(e,"touchmove",t.touchmoveHandler),O(e,"touchend",t.touchendHandler),O(e,"touchcancel",t.touchendHandler),e.classList.remove("v-pinch"),delete e.__pinch)}});const Rn=w({name:"print",ssr:!0,mounted(e,t){const n=Nn(t.value),o={options:n,clickHandler:null};if(e.__print=o,n.immediate)return void setTimeout(()=>Xn(e,n),100);const i=()=>{Xn(e,o.options)};e.addEventListener("click",i),o.clickHandler=i,e.style.cursor="pointer"},updated(e,t){const n=e.__print;if(!n)return;const o=Nn(t.value);n.options=o},unmounted(e){const t=e.__print;t&&(t.clickHandler&&e.removeEventListener("click",t.clickHandler),e.style.cursor="",delete e.__print)}});function Nn(e){return!0===e?{immediate:!0}:!1===e?{}:e||{}}function Xn(e,t){return __async(this,null,function*(){if(t.onBeforePrint){if(!1===t.onBeforePrint())return}const n=t.target?document.querySelector(t.target):e;n?(t.newWindow?yield function(e,t){return __async(this,null,function*(){const n=window.open("","_blank");if(!n)return void console.warn("[Directix] v-print: Could not open print window");const o=Vn(e,t);n.document.open(),n.document.write(o),n.document.close(),yield Bn(n.document),n.focus(),n.print(),setTimeout(()=>{n.close()},1e3)})}(n,t):yield function(e,t){return __async(this,null,function*(){var n,o,i;const l=document.createElement("iframe");l.style.cssText="position: absolute; top: -10000px; left: -10000px; width: 0; height: 0; border: none;",document.body.appendChild(l);const r=l.contentDocument||(null==(n=l.contentWindow)?void 0:n.document);if(!r)return console.warn("[Directix] v-print: Could not access iframe document"),void document.body.removeChild(l);const s=Vn(e,t);r.open(),r.write(s),r.close(),yield Bn(r);try{null==(o=l.contentWindow)||o.focus(),null==(i=l.contentWindow)||i.print()}catch(e){console.error("[Directix] v-print: Print failed",e)}setTimeout(()=>{document.body.removeChild(l)},1e3)})}(n,t),t.onAfterPrint&&t.onAfterPrint()):console.warn("[Directix] v-print: Target element not found")})}function Vn(e,t){let n="";if(document.querySelectorAll('style, link[rel="stylesheet"]').forEach(e=>{if("STYLE"===e.tagName)n+=`<style>${e.textContent}</style>`;else if("LINK"===e.tagName){const t=e.href;n+=`<link rel="stylesheet" href="${t}">`}}),t.cssUrls&&t.cssUrls.forEach(e=>{n+=`<link rel="stylesheet" href="${e}">`}),t.styles){const e=Array.isArray(t.styles)?t.styles.join("\n"):t.styles;n+=`<style>${e}</style>`}n+=`\n\t\t<style>\n\t\t\t@media print {\n\t\t\t\tbody { margin: 0; padding: 20px; }\n\t\t\t\t${t.printClass?`.${t.printClass} { page-break-inside: avoid; }`:""}\n\t\t\t}\n\t\t</style>\n\t`;const o=t.title||document.title||"Print",i=e.outerHTML;return`<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset="utf-8">\n\t<title>${o}</title>\n\t${n}\n</head>\n<body>\n\t${i}\n</body>\n</html>`}function Bn(e){const t=e.querySelectorAll("img"),n=[];return t.forEach(e=>{e.complete||n.push(new Promise(t=>{e.onload=()=>t(),e.onerror=()=>t()}))}),Promise.all(n)}function Un(e){return"number"==typeof e?{value:e}:__spreadValues({value:0,max:100,min:0,height:4,color:"#42b883",backgroundColor:"rgba(0, 0, 0, 0.1)",duration:300,showText:!1,animate:!0,indeterminate:!1,striped:!1,animated:!1,position:"top"},e||{})}const jn=w({name:"progress",ssr:!1,mounted(e,t){if(!f())return;const n=Un(t.value);!function(){if(!f())return;const e="v-progress-styles";if(document.getElementById(e))return;const t=document.createElement("style");t.id=e,t.textContent="\n @keyframes v-progress-stripes {\n from { background-position: 1rem 0; }\n to { background-position: 0 0; }\n }\n @keyframes v-progress-indeterminate {\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(400%); }\n }\n .v-progress--indeterminate {\n position: absolute;\n width: 30% !important;\n }\n ",document.head.appendChild(t)}();"static"===getComputedStyle(e).position&&(e.style.position="relative");const{container:o,progressBar:i}=function(e){const t=document.createElement("div");t.className=`v-progress ${e.class||""}`,t.style.cssText=`\n position: absolute;\n ${"bottom"===e.position?"bottom":"top"}: 0;\n left: 0;\n right: 0;\n height: ${e.height}px;\n background: ${e.backgroundColor};\n overflow: hidden;\n z-index: 1000;\n `;const n=document.createElement("div");n.className="v-progress__bar";let o=`\n height: 100%;\n background-color: ${e.color};\n transition: ${!1!==e.animate?`width ${e.duration}ms ease`:"none"};\n width: 0%;\n `;if(e.striped&&(o+="\n background-image: linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n background-size: 1rem 1rem;\n "),n.style.cssText=o,e.indeterminate?(n.classList.add("v-progress--indeterminate"),n.style.width="30%",n.style.animation="v-progress-indeterminate 1.5s infinite linear"):e.animated&&(n.style.animation="v-progress-stripes 1s linear infinite"),t.appendChild(n),e.showText){const n=document.createElement("span");n.className="v-progress__text",n.style.cssText=`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: ${Math.max((e.height||4)-2,10)}px;\n color: #fff;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);\n `,t.appendChild(n)}return{container:t,progressBar:n}}(n),l={options:n,progressBar:i,container:o,currentValue:0};e.__progress=l,e.appendChild(o),n.indeterminate||Wn(l,n.value),e.classList.add("v-progress-container")},updated(e,t){const n=e.__progress;if(!n)return;const o=n.options,i=Un(t.value);n.options=i,n.container&&(n.container.style.height=`${i.height}px`,n.container.style.background=i.backgroundColor||"rgba(0, 0, 0, 0.1)"),n.progressBar&&(n.progressBar.style.backgroundColor=i.color||"#42b883"),o.indeterminate!==i.indeterminate&&n.progressBar?i.indeterminate?(n.progressBar.classList.add("v-progress--indeterminate"),n.progressBar.style.width="30%",n.progressBar.style.animation="v-progress-indeterminate 1.5s infinite linear"):(n.progressBar.classList.remove("v-progress--indeterminate"),n.progressBar.style.animation="",Wn(n,i.value)):i.indeterminate||i.value===o.value||Wn(n,i.value)},unmounted(e){const t=e.__progress;t&&(t.container&&t.container.parentNode&&t.container.parentNode.removeChild(t.container),e.classList.remove("v-progress-container"),delete e.__progress)}});function Wn(e,t){var n,o;const{options:i,progressBar:l,container:r}=e;if(!l||!r)return;const s=i.min||0,a=i.max||100,u=Math.max(s,Math.min(a,t)),c=(u-s)/(a-s)*100;if(l.style.width=`${c}%`,i.showText){const e=r.querySelector(".v-progress__text");e&&(e.textContent=`${Math.round(c)}%`)}e.currentValue=u,null==(n=i.onChange)||n.call(i,u,c),c>=100&&(null==(o=i.onComplete)||o.call(i))}const qn={idle:"↓",pulling:"↓ Pull",ready:"↓ Release",loading:"⟳ Loading...",success:"✓ Done",error:"✗ Failed"};function Gn(e){var t,n,o,i,l;return"function"==typeof e?{handler:e}:{handler:e.handler,distance:null!=(t=e.distance)?t:60,maxDistance:null!=(n=e.maxDistance)?n:100,disabled:null!=(o=e.disabled)&&o,indicator:e.indicator,successDuration:null!=(i=e.successDuration)?i:500,errorDuration:null!=(l=e.errorDuration)?l:1e3,onStateChange:e.onStateChange}}function Kn(e,t,n){var o;const i=null==(o=n.indicator)?void 0:o[t];e.textContent=i||qn[t]}function Zn(e,t){var n,o;e.state!==t&&(e.state=t,Kn(e.indicatorEl,t,e.options),null==(o=(n=e.options).onStateChange)||o.call(n,t))}function Jn(e,t,n){e.contentEl.style.transform=`translateY(${t}px)`,e.indicatorEl.style.opacity="1",e.indicatorEl.style.transform=`translateY(${t}px)`}function Qn(e){e.contentEl.style.transform="",e.indicatorEl.style.opacity="0",Zn(e,"idle")}function eo(e){return new Promise(t=>setTimeout(t,e))}function to(e){const{contentEl:t,options:n}=e;return{touchStart:o=>{n.disabled||"loading"===e.state||t.scrollTop>0||(e.pulling=!0,e.startY=o.touches[0].clientY,e.currentY=e.startY,Zn(e,"idle"))},touchMove:o=>{if(!e.pulling||n.disabled||"loading"===e.state)return;e.currentY=o.touches[0].clientY;const i=e.currentY-e.startY;if(i<=0)return void(t.style.transform&&(t.style.transition="",Qn(e)));o.preventDefault();const l=Math.min(.5*i,n.maxDistance),r=l/n.distance;t.style.transition="none",Jn(e,l),Zn(e,r>=1?"ready":"pulling")},touchEnd:()=>{if(!e.pulling||n.disabled)return;e.pulling=!1;const o=e.currentY-e.startY,i=Math.min(.5*o,n.maxDistance);t.style.transition="","ready"===e.state&&i>=n.distance?function(e){__async(this,null,function*(){Zn(e,"loading");const t=e.options.distance;Jn(e,t);try{yield e.options.handler(),Zn(e,"success"),yield eo(e.options.successDuration)}catch(t){Zn(e,"error"),yield eo(e.options.errorDuration)}finally{Qn(e)}})}(e):Qn(e)}}}function no(e,t){e.addEventListener("touchstart",t.touchStart,{passive:!1}),e.addEventListener("touchmove",t.touchMove,{passive:!1}),e.addEventListener("touchend",t.touchEnd,{passive:!0})}function oo(e,t){e.removeEventListener("touchstart",t.touchStart),e.removeEventListener("touchmove",t.touchMove),e.removeEventListener("touchend",t.touchEnd)}const io=w({name:"pull-refresh",ssr:!1,mounted(e,t){const n=Gn(t.value);e.style.position="relative",e.style.overflow="hidden",e.classList.add("v-pull-refresh");const o=document.createElement("div");for(o.className="v-pull-refresh__content",o.style.cssText="position: relative; height: 100%; overflow-y: auto;";e.firstChild;)o.appendChild(e.firstChild);e.appendChild(o);const i=function(){const e=document.createElement("div");return e.className="v-pull-refresh__indicator",e.style.cssText="\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\theight: 60px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tbackground: #f5f5f5;\n\t\tfont-size: 14px;\n\t\tcolor: #666;\n\t\tz-index: 10;\n\t\tpointer-events: none;\n\t\topacity: 0;\n\t\ttransition: opacity 0.2s ease;\n\t",e}();e.insertBefore(i,o);const l={options:n,state:"idle",startY:0,currentY:0,pulling:!1,indicatorEl:i,contentEl:o,handlers:null};l.handlers=to(l),e.__pullRefresh=l,n.disabled||no(e,l.handlers),Kn(i,"idle",n)},updated(e,t){const n=e.__pullRefresh;if(!n)return;const o=n.options.disabled;n.options=Gn(t.value),Kn(n.indicatorEl,n.state,n.options),n.options.disabled&&!o?oo(e,n.handlers):!n.options.disabled&&o&&no(e,n.handlers)},unmounted(e){const t=e.__pullRefresh;t&&(oo(e,t.handlers),delete e.__pullRefresh)}});function lo(e){if("function"==typeof e)return{handler:e};if(!e)throw new Error("[Directix] v-resize: handler is required");return __spreadValues({disabled:!1,box:"content-box",debounce:0},e)}const ro=w({name:"resize",ssr:!1,defaults:{disabled:!1,box:"content-box",debounce:0},mounted(e,t){const n=lo(t.value);if(n.disabled||!f())return;I(e);const o={options:n,observer:null,debounceTimer:null,pendingEntry:null,fallbackIframe:null,handler:e=>{n.debounce&&n.debounce>0?(o.pendingEntry=e,o.debounceTimer||(o.debounceTimer=setTimeout(()=>{o.pendingEntry&&n.handler(o.pendingEntry),o.debounceTimer=null,o.pendingEntry=null},n.debounce))):n.handler(e)}};if(e.__resize=o,g())o.observer=new ResizeObserver(e=>{for(const t of e)o.handler(t)}),o.observer.observe(e,{box:n.box});else{console.warn("[Directix] v-resize: ResizeObserver not supported, using fallback");const{iframe:t,cleanup:i}=function(e,t){const n=document.createElement("iframe");n.style.cssText="\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: none;\n pointer-events: none;\n opacity: 0;\n ",e.appendChild(n);const o=n.contentWindow;return o&&o.addEventListener("resize",t),{iframe:n,cleanup:()=>{o&&o.removeEventListener("resize",t),n.remove()}}}(e,()=>{const t=e.getBoundingClientRect(),i={target:e,contentRect:t,borderBoxSize:[],contentBoxSize:[],devicePixelContentBoxSize:[]};o.handler(i),n.onFallback&&n.onFallback(function(e){return{width:e.contentRect.width,height:e.contentRect.height,contentRect:e.contentRect,borderBoxSize:e.borderBoxSize,contentBoxSize:e.contentBoxSize,devicePixelContentBoxSize:e.devicePixelContentBoxSize}}(i))});o.fallbackIframe=t,e.__resizeCleanup=i}},updated(e,t){const n=e.__resize;n&&(n.options=lo(t.value))},unmounted(e){const t=e.__resize;if(!t)return;t.debounceTimer&&clearTimeout(t.debounceTimer),t.observer&&t.observer.disconnect();const n=e.__resizeCleanup;n&&n(),delete e.__resize,delete e.__resizeCleanup}});function so(e){if(!1===e)return{disabled:!0,color:"currentColor",duration:600};if("string"==typeof e)return{color:e,duration:600};const t={color:"currentColor",duration:600,disabled:!1,initialScale:0,finalScale:2};return e&&"object"==typeof e?__spreadValues(__spreadValues({},t),e):t}const ao=w({name:"ripple",ssr:!1,defaults:{color:"currentColor",duration:600,disabled:!1,initialScale:0,finalScale:2},mounted(e,t){const n=so(t.value);if(n.disabled||!f())return;I(e),function(e){f()&&"visible"===getComputedStyle(e).overflow&&(e.style.overflow="hidden")}(e),e.classList.add("v-ripple");const o={options:n,clickHandler:t=>{if(o.options.disabled)return;const n=function(e,t,n){const o=t.getBoundingClientRect(),i=e.clientX-o.left,l=e.clientY-o.top,r=2*Math.max(o.width,o.height),s=document.createElement("span");return s.className="v-ripple__wave",s.style.cssText=`\n position: absolute;\n border-radius: 50%;\n pointer-events: none;\n background-color: ${n.color};\n width: ${r}px;\n height: ${r}px;\n left: ${i-r/2}px;\n top: ${l-r/2}px;\n transform: scale(${n.initialScale});\n opacity: 0.3;\n z-index: 0;\n `,s}(t,e,o.options);n&&(e.appendChild(n),function(e,t){const n=t.duration||600,o=t.initialScale||0,i=t.finalScale||2;"function"==typeof e.animate?e.animate([{transform:`scale(${o})`,opacity:.3},{transform:`scale(${i})`,opacity:0}],{duration:n,easing:"ease-out",fill:"forwards"}).onfinish=()=>{e.remove()}:(e.style.transition=`transform ${n}ms ease-out, opacity ${n}ms ease-out`,String(e.offsetHeight),e.style.transform=`scale(${i})`,e.style.opacity="0",setTimeout(()=>{e.remove()},n))}(n,o.options))}};e.__ripple=o,P(e,"click",o.clickHandler)},updated(e,t){const n=e.__ripple;n&&(n.options=so(t.value))},unmounted(e){const t=e.__ripple;t&&(O(e,"click",t.clickHandler),e.classList.remove("v-ripple"),delete e.__ripple)}});function uo(e){return"function"==typeof e?{onRotate:e}:__spreadValues({preventDefault:!0,stopPropagation:!1,enableTransform:!1,transformOrigin:"center center"},e)}function co(e){if(e.length<2)return 0;const t=e[1].clientX-e[0].clientX,n=e[1].clientY-e[0].clientY;return Math.atan2(n,t)*(180/Math.PI)}function po(e,t,n=!1,o=!1){const i=(l=e.touches).length<2?{x:l[0].clientX,y:l[0].clientY}:{x:(l[0].clientX+l[1].clientX)/2,y:(l[0].clientY+l[1].clientY)/2};var l;const r=t.currentAngle*(Math.PI/180);return{originalEvent:e,angle:t.currentAngle,radians:r,rotation:t.currentAngle-t.initialAngle,centerX:i.x,centerY:i.y,isRotating:t.isRotating,isFirst:n,isFinal:o}}const fo=w({name:"rotate-gesture",ssr:!1,mounted(e,t){if(!f())return;const n={options:uo(t.value),initialAngle:0,currentAngle:0,isRotating:!1,baseRotation:0,savedTransition:"",touchstartHandler:t=>function(e,t,n){if(2!==e.touches.length)return;if(t.initialAngle=co(e.touches),t.currentAngle=t.initialAngle,t.isRotating=!1,t.options.enableTransform){const e=getComputedStyle(n).transform,o=new DOMMatrix(e);t.baseRotation=Math.atan2(o.b,o.a)*(180/Math.PI),t.savedTransition=n.style.transition,n.style.transition="none"}t.options.preventDefault&&e.preventDefault();t.options.stopPropagation&&e.stopPropagation()}(t,n,e),touchmoveHandler:t=>function(e,t,n){var o,i,l,r;if(2!==e.touches.length)return;t.currentAngle=co(e.touches),t.options.preventDefault&&e.preventDefault();const s=t.isRotating;t.isRotating=!0;const a=po(e,t,!s);s||null==(i=(o=t.options).onStart)||i.call(o,a);if(t.options.enableTransform){const e=t.currentAngle-t.initialAngle,o=t.options.transformOrigin||"center center";n.style.transformOrigin=o,n.style.transform=`rotate(${t.baseRotation+e}deg)`}null==(r=(l=t.options).onRotate)||r.call(l,a)}(t,n,e),touchendHandler:t=>function(e,t,n){var o,i;if(!t.isRotating)return;t.options.enableTransform&&(n.style.transition=t.savedTransition);const l=__spreadProps(__spreadValues({},e),{touches:e.touches.length>=2?e.touches:[]}),r=po(l,t,!1,!0);null==(i=(o=t.options).onEnd)||i.call(o,r),t.isRotating=!1,t.initialAngle=0,t.currentAngle=0}(t,n,e)};e.__rotateGesture=n,P(e,"touchstart",n.touchstartHandler,{passive:!1}),P(e,"touchmove",n.touchmoveHandler,{passive:!1}),P(e,"touchend",n.touchendHandler),P(e,"touchcancel",n.touchendHandler),e.classList.add("v-rotate-gesture")},updated(e,t){const n=e.__rotateGesture;n&&(n.options=uo(t.value))},unmounted(e){const t=e.__rotateGesture;t&&(O(e,"touchstart",t.touchstartHandler),O(e,"touchmove",t.touchmoveHandler),O(e,"touchend",t.touchendHandler),O(e,"touchcancel",t.touchendHandler),e.classList.remove("v-rotate-gesture"),delete e.__rotateGesture)}});const vo=["b","i","u","strong","em","br","p","span","div"],mo=["title","alt","href","src"],ho=["script","iframe","object","embed","form","input","style","link","meta","base"],go=["onclick","onerror","onload","onmouseover","onfocus","onblur","onchange","onsubmit"];function yo(e){return!1===e?{disabled:!0}:!0===e?{allowedTags:vo,allowedAttributes:mo}:__spreadValues({allowedTags:vo,allowedAttributes:mo,allowDataUrls:!1,allowStyles:!1,allowClass:!1,allowId:!1,disabled:!1,sanitizeOnUpdate:!0},e)}function bo(e,t){var n;if(t.handler)return t.handler(e);const o=document.createElement("div");o.innerHTML=e;for(const e of ho){const t=o.getElementsByTagName(e);for(;t.length>0;)null==(n=t[0].parentNode)||n.removeChild(t[0])}const i=e=>{var n;const o=e.tagName.toLowerCase();if(t.allowedTags&&!t.allowedTags.includes(o)){const t=document.createTextNode(e.textContent||"");return void(null==(n=e.parentNode)||n.replaceChild(t,e))}for(const t of go)e.removeAttribute(t);const l=e.getAttribute("href");if(l&&l.toLowerCase().startsWith("javascript:")&&e.removeAttribute("href"),!t.allowDataUrls){const t=e.getAttribute("src");t&&t.toLowerCase().startsWith("data:")&&e.removeAttribute("src")}if(t.allowedAttributes){const n=Array.from(e.attributes);for(const o of n){const n=t.allowedAttributes.includes(o.name.toLowerCase()),i="class"===o.name&&t.allowClass,l="id"===o.name&&t.allowId,r="style"===o.name&&t.allowStyles;n||i||l||r||e.removeAttribute(o.name)}}for(const t of Array.from(e.children))i(t)};for(const e of Array.from(o.children))i(e);return o.innerHTML}const wo=w({name:"sanitize",ssr:!0,defaults:{allowedTags:vo,allowedAttributes:mo,allowDataUrls:!1,allowStyles:!1,allowClass:!1,allowId:!1,disabled:!1,sanitizeOnUpdate:!0},mounted(e,t){if(!f())return;const n=yo(t.value);if(e.__sanitize={options:n},n.disabled)return;const o=e.innerHTML;o&&(e.innerHTML=bo(o,n))},updated(e,t){const n=e.__sanitize;if(!n)return;const o=n.options.disabled;if(n.options=yo(t.value),n.options.disabled||!n.options.sanitizeOnUpdate){if(o&&!n.options.disabled){const t=e.innerHTML;t&&(e.innerHTML=bo(t,n.options))}return}const i=e.innerHTML;i&&(e.innerHTML=bo(i,n.options))},unmounted(e){delete e.__sanitize}});function xo(e,t,n){let o=0,i=0,l=0,r=0;if(e===window)o=window.scrollX||document.documentElement.scrollLeft,i=window.scrollY||document.documentElement.scrollTop,l=document.documentElement.scrollWidth-window.innerWidth,r=document.documentElement.scrollHeight-window.innerHeight;else{const t=e;o=t.scrollLeft,i=t.scrollTop,l=t.scrollWidth-t.clientWidth,r=t.scrollHeight-t.clientHeight}return{scrollLeft:o,scrollTop:i,scrollLeftMax:l,scrollTopMax:r,progressX:l>0?o/l:0,progressY:r>0?i/r:0,directionX:o!==t?o>t?1:-1:0,directionY:i!==n?i>n?1:-1:0,container:e}}function _o(e){if("function"==typeof e)return{handler:e,passive:!0};if(!e)throw new Error("[Directix] v-scroll: handler is required");return __spreadValues({passive:!0,throttle:0,disabled:!1},e)}const Eo=w({name:"scroll",ssr:!1,defaults:{passive:!0,throttle:0,disabled:!1},mounted(e,t){const n=_o(t.value);if(n.disabled||!f())return;let o;if(n.container)if(n.container===window)o=window;else if("string"==typeof n.container){const t=document.querySelector(n.container);o=t||M(e)}else o=n.container;else{const{overflow:t,overflowX:n,overflowY:i}=getComputedStyle(e),l=/(auto|scroll)/.test(t+n+i);o=l?e:M(e)}const i={options:n,container:o,lastScrollLeft:0,lastScrollTop:0,throttleTimer:null,pendingEvent:null,scrollHandler:e=>{if(n.throttle&&n.throttle>0)i.pendingEvent=e,i.throttleTimer||(i.throttleTimer=setTimeout(()=>{if(i.pendingEvent){const e=xo(o,i.lastScrollLeft,i.lastScrollTop);i.lastScrollLeft=e.scrollLeft,i.lastScrollTop=e.scrollTop,n.handler(i.pendingEvent,e)}i.throttleTimer=null,i.pendingEvent=null},n.throttle));else{const t=xo(o,i.lastScrollLeft,i.lastScrollTop);i.lastScrollLeft=t.scrollLeft,i.lastScrollTop=t.scrollTop,n.handler(e,t)}}},l=xo(o,0,0);i.lastScrollLeft=l.scrollLeft,i.lastScrollTop=l.scrollTop,e.__scroll=i,P(o,"scroll",i.scrollHandler,{passive:n.passive})},updated(e,t){const n=e.__scroll;n&&(n.options=_o(t.value))},unmounted(e){const t=e.__scroll;t&&(t.throttleTimer&&clearTimeout(t.throttleTimer),O(t.container,"scroll",t.scrollHandler),delete e.__scroll)}}),Lo={loading:!0,animation:"wave",width:"100%",height:"1em",radius:"4px",color:"#e8e8e8",animationColor:"#f0f0f0",preserveDimensions:!0};function ko(e){return"boolean"==typeof e?__spreadProps(__spreadValues({},Lo),{loading:e}):__spreadValues(__spreadValues({},Lo),e)}const To=w({name:"skeleton",ssr:!0,mounted(e,t){if(!f())return;const n=ko(t.value);!function(){if(!f())return;const e="v-skeleton-styles";if(document.getElementById(e))return;const t=document.createElement("style");t.id=e,t.textContent="\n @keyframes skeleton-wave {\n 0% { background-position: 200% 0; }\n 100% { background-position: -200% 0; }\n }\n @keyframes skeleton-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.5; }\n }\n ",document.head.appendChild(t)}();const o={options:n,originalDisplay:getComputedStyle(e).display,originalWidth:e.style.width,originalHeight:e.style.height,skeletonEl:null};e.__skeleton=o,n.loading&&Co(e,o),e.classList.add("v-skeleton-container")},updated(e,t){const n=e.__skeleton;if(!n)return;const o=ko(t.value),i=n.options.loading;n.options=o,o.loading&&!i?Co(e,n):!o.loading&&i&&function(e,t){t.skeletonEl&&t.skeletonEl.parentNode&&(t.skeletonEl.parentNode.removeChild(t.skeletonEl),t.skeletonEl=null);e.style.display=t.originalDisplay,e.style.width=t.originalWidth,e.style.height=t.originalHeight}(e,n)},unmounted(e){const t=e.__skeleton;t&&(t.skeletonEl&&t.skeletonEl.parentNode&&t.skeletonEl.parentNode.removeChild(t.skeletonEl),e.classList.remove("v-skeleton-container"),e.style.display=t.originalDisplay,e.style.width=t.originalWidth,e.style.height=t.originalHeight,delete e.__skeleton)}});function Co(e,t){var n;const o=t.options;if(t.originalDisplay=e.style.display||getComputedStyle(e).display,o.preserveDimensions){const n=getComputedStyle(e);t.originalWidth||(t.originalWidth=e.style.width),t.originalHeight||(t.originalHeight=e.style.height),o.width=n.width,o.height=n.height}e.style.display="none",t.skeletonEl=function(e){const t=document.createElement("div");t.className=`v-skeleton ${e.class||""}`;const n="number"==typeof e.width?`${e.width}px`:e.width,o="number"==typeof e.height?`${e.height}px`:e.height,i="number"==typeof e.radius?`${e.radius}px`:e.radius;let l="";return l="wave"===e.animation?`\n background: linear-gradient(90deg, ${e.color} 25%, ${e.animationColor} 50%, ${e.color} 75%);\n background-size: 200% 100%;\n animation: skeleton-wave 1.5s ease-in-out infinite;\n `:"pulse"===e.animation?`\n background: ${e.color};\n animation: skeleton-pulse 1.5s ease-in-out infinite;\n `:`background: ${e.color};`,t.style.cssText=`\n width: ${n};\n height: ${o};\n border-radius: ${i};\n ${l}\n `,t}(o),null==(n=e.parentNode)||n.insertBefore(t.skeletonEl,e.nextSibling)}const So="__sticky";function Do(e){return!1===e?{disabled:!0,top:0,zIndex:100}:"number"==typeof e?{top:e,zIndex:100}:__spreadValues({top:0,zIndex:100,stickyClass:"v-sticky--fixed",disabled:!1},e&&"object"==typeof e?e:{})}function $o(e){return void 0===e?"0":"number"==typeof e?`${e}px`:e}function Mo(e,t){if(t.options.disabled)return void Ho(e,t);const n=parseFloat($o(t.options.top)),o=t.container===window?{top:0}:t.container.getBoundingClientRect(),i=(t.placeholder||e).getBoundingClientRect().top-o.top<=n;i&&!t.isSticky?function(e,t,n,o){var i,l,r;t.isSticky=!0;const s=document.createElement("div");s.style.cssText=`width:${e.offsetWidth}px;height:${e.offsetHeight}px`,null==(i=e.parentNode)||i.insertBefore(s,e),t.placeholder=s;const a=t.container===window?n:o+n;e.style.position="fixed",e.style.top=`${a}px`,e.style.zIndex=String(t.options.zIndex||100),e.style.width=`${e.offsetWidth}px`,void 0!==t.options.bottom&&(e.style.bottom=$o(t.options.bottom));t.options.stickyClass&&e.classList.add(t.options.stickyClass),e.dispatchEvent(new CustomEvent("sticky:change",{detail:{isSticky:!0}})),null==(r=(l=t.options).onChange)||r.call(l,!0)}(e,t,n,o.top):!i&&t.isSticky&&Ho(e,t)}function Ho(e,t){var n,o,i,l;t.isSticky&&(t.isSticky=!1,null==(o=null==(n=t.placeholder)?void 0:n.parentNode)||o.removeChild(t.placeholder),t.placeholder=null,Object.assign(e.style,t.originalStyles),t.options.stickyClass&&e.classList.remove(t.options.stickyClass),e.dispatchEvent(new CustomEvent("sticky:change",{detail:{isSticky:!1}})),null==(l=(i=t.options).onChange)||l.call(i,!1))}const Io=w({name:"sticky",ssr:!1,defaults:{top:0,zIndex:100,stickyClass:"v-sticky--fixed",disabled:!1},mounted(e,t){const n=Do(t.value);if(n.disabled||!f())return;const o=function(e,t){if(t)return"string"==typeof t?document.querySelector(t)||M(e):t;const n=e.parentElement;if(n){const{overflow:e,overflowX:t,overflowY:o}=getComputedStyle(n);if(/(auto|scroll)/.test(e+t+o))return n}return M(e)}(e,n.container),i={options:n,placeholder:null,originalStyles:{position:e.style.position,top:e.style.top,bottom:e.style.bottom,zIndex:e.style.zIndex,width:e.style.width},isSticky:!1,container:o,scrollHandler:()=>Mo(e,i),resizeHandler:()=>Mo(e,i)};e.classList.add("v-sticky"),e[So]=i,P(o,"scroll",i.scrollHandler,{passive:!0}),P(window,"resize",i.resizeHandler,{passive:!0}),Mo(e,i)},updated(e,t){const n=e[So];n&&(n.options=Do(t.value),Mo(e,n))},unmounted(e){var t,n;const o=e[So];o&&(null==(n=null==(t=o.placeholder)?void 0:t.parentNode)||n.removeChild(o.placeholder),Object.assign(e.style,o.originalStyles),e.classList.remove("v-sticky",o.options.stickyClass||"v-sticky--fixed"),O(o.container,"scroll",o.scrollHandler),O(window,"resize",o.resizeHandler),delete e[So])}}),Po=["left","right","up","down"];function Oo(e){var t,n,o,i,l,r;return"function"==typeof e?{handler:e}:{handler:e.handler,threshold:null!=(t=e.threshold)?t:30,maxTime:null!=(n=e.maxTime)?n:500,directions:null!=(o=e.directions)?o:[...Po],preventScrollOnSwipe:null==(i=e.preventScrollOnSwipe)||i,disabled:null!=(l=e.disabled)&&l,mouse:null==(r=e.mouse)||r,onLeft:e.onLeft,onRight:e.onRight,onUp:e.onUp,onDown:e.onDown}}function zo(e,t,n,o,i,l){var r,s,a,u,c;const{options:d}=e;if(o>(null!=(r=d.maxTime)?r:500))return;if(Math.max(Math.abs(t),Math.abs(n))<(null!=(s=d.threshold)?s:30))return;const p=function(e,t,n){if(Math.abs(e)>Math.abs(t)){const t=e>0?"right":"left";return n.includes(t)?t:null}{const e=t>0?"down":"up";return n.includes(e)?e:null}}(t,n,null!=(a=d.directions)?a:Po);if(!p)return;d.preventScrollOnSwipe&&i.cancelable&&i.preventDefault(),null==(u=d.handler)||u.call(d,p,i);const f={left:d.onLeft,right:d.onRight,up:d.onUp,down:d.onDown};null==(c=f[p])||c.call(f),l.dispatchEvent(new CustomEvent("swipe",{detail:{direction:p,deltaX:t,deltaY:n,deltaTime:o}}))}function Ao(e,t){if(t.disabled)return null;e.style.touchAction="none",e.style.userSelect="none";const n={options:t,startX:0,startY:0,startTime:0,isActive:!1,handlers:null},o=function(e,t){return(n,o,i)=>{const l=n-t.startX,r=o-t.startY,s=Date.now()-t.startTime;zo(t,l,r,s,i,e)}}(e,n);return n.handlers={touchStart:e=>{n.options.disabled||(n.startX=e.touches[0].clientX,n.startY=e.touches[0].clientY,n.startTime=Date.now(),n.isActive=!0)},touchMove:e=>{n.isActive&&!n.options.disabled&&n.options.preventScrollOnSwipe&&e.preventDefault()},touchEnd:e=>{if(!n.isActive||n.options.disabled)return;n.isActive=!1;const t=e.changedTouches[0];o(t.clientX,t.clientY,e)},mouseDown:e=>{n.options.disabled||(n.startX=e.clientX,n.startY=e.clientY,n.startTime=Date.now(),n.isActive=!0)},mouseUp:e=>{n.isActive&&!n.options.disabled&&(n.isActive=!1,o(e.clientX,e.clientY,e))}},n}function Fo(e,t){var n;const{handlers:o}=t,i=null==(n=t.options.mouse)||n;e.addEventListener("touchstart",o.touchStart,{passive:!0}),e.addEventListener("touchmove",o.touchMove,{passive:!1}),e.addEventListener("touchend",o.touchEnd),e.addEventListener("touchcancel",o.touchEnd),i&&(e.addEventListener("mousedown",o.mouseDown),e.addEventListener("mouseup",o.mouseUp),e.addEventListener("mouseleave",o.mouseUp))}function Yo(e,t){var n;const{handlers:o}=t,i=null==(n=t.options.mouse)||n;e.removeEventListener("touchstart",o.touchStart),e.removeEventListener("touchmove",o.touchMove),e.removeEventListener("touchend",o.touchEnd),e.removeEventListener("touchcancel",o.touchEnd),i&&(e.removeEventListener("mousedown",o.mouseDown),e.removeEventListener("mouseup",o.mouseUp),e.removeEventListener("mouseleave",o.mouseUp))}const Ro=w({name:"swipe",ssr:!1,mounted(e,t){const n=Ao(e,Oo(t.value));n&&(e.__swipe=n,Fo(e,n))},updated(e,t){var n,o;const i=e.__swipe,l=Oo(t.value);if(!i){const t=Ao(e,l);return void(t&&(e.__swipe=t,Fo(e,t)))}const r=i.options.disabled,s=null==(n=i.options.mouse)||n,a=null==(o=l.mouse)||o;i.options=l,l.disabled&&!r?Yo(e,i):!l.disabled&&r?Fo(e,i):s!==a&&(s&&(e.removeEventListener("mousedown",i.handlers.mouseDown),e.removeEventListener("mouseup",i.handlers.mouseUp),e.removeEventListener("mouseleave",i.handlers.mouseUp)),a&&(e.addEventListener("mousedown",i.handlers.mouseDown),e.addEventListener("mouseup",i.handlers.mouseUp),e.addEventListener("mouseleave",i.handlers.mouseUp)))},unmounted(e){const t=e.__swipe;t&&(Yo(e,t),delete e.__swipe)}});function No(e,t){const n=q(t.arg)||300;return"function"==typeof e?{handler:e,wait:n}:__spreadProps(__spreadValues({},e),{wait:e.wait||n})}const Xo=w({name:"throttle",ssr:!0,defaults:{wait:300,leading:!0,trailing:!0},mounted(e,t){const n=No(t.value,t),o=R(t.modifiers)||N(e),i=W(n.handler,n.wait,{leading:n.leading,trailing:n.trailing});e.addEventListener(o,i),e.__throttle={throttledFn:i,eventType:o,options:n}},updated(e,t){const n=e.__throttle;if(!n)return;const o=No(t.value,t);if(o.wait!==n.options.wait||o.leading!==n.options.leading||o.trailing!==n.options.trailing){n.throttledFn.cancel();const t=W(o.handler,o.wait,{leading:o.leading,trailing:o.trailing});e.removeEventListener(n.eventType,n.throttledFn),e.addEventListener(n.eventType,t),e.__throttle={throttledFn:t,eventType:n.eventType,options:o}}else o.handler!==n.options.handler&&(n.options.handler=o.handler)},unmounted(e){const t=e.__throttle;t&&(t.throttledFn.cancel(),e.removeEventListener(t.eventType,t.throttledFn),delete e.__throttle)}}),Vo="8px 12px",Bo="#333",Uo="#fff",jo="6px",Wo="14px",qo="1.5",Go="96px",Ko="320px",Zo="0 4px 12px rgba(0, 0, 0, 0.15)";let Jo=null;function Qo(e,t){if(t.isVisible||t.options.disabled)return;t.hideTimeout&&(clearTimeout(t.hideTimeout),t.hideTimeout=null);const n=()=>{var n,o;const i=function(e){const t=document.createElement("div");t.className=`v-tooltip v-tooltip--${e.placement||"top"}`,e.class&&t.classList.add(e.class);const n=e.maxWidth?"number"==typeof e.maxWidth?`${e.maxWidth}px`:e.maxWidth:Ko;if(t.style.cssText=["position: absolute",`padding: ${Vo}`,`background: ${Bo}`,`color: ${Uo}`,`border-radius: ${jo}`,`font-size: ${Wo}`,`line-height: ${qo}`,`min-width: ${Go}`,`max-width: ${n}`,"word-wrap: break-word",`box-shadow: ${Zo}`,"pointer-events: none","opacity: 0","transition: opacity 0.2s ease",`z-index: ${e.zIndex||9999}`].join(";"),!1!==e.arrow){const e=document.createElement("div");e.className="v-tooltip__arrow",e.style.cssText="position: absolute; width: 8px; height: 8px; background: #333; transform: rotate(45deg);",t.appendChild(e)}const o=document.createElement("div");return o.className="v-tooltip__content",o.textContent=e.content,t.appendChild(o),t}(t.options);t.tooltip=i,(Jo&&document.body.contains(Jo)||(Jo=document.createElement("div"),Jo.id="directix-tooltip-container",Jo.style.cssText="position: fixed; top: 0; left: 0; pointer-events: none; z-index: 9999;",document.body.appendChild(Jo)),Jo).appendChild(i),requestAnimationFrame(()=>{!function(e,t,n,o){const i=t.getBoundingClientRect(),l=e.getBoundingClientRect();let r=0,s=0;switch(n){case"top":r=i.top-l.height-o,s=i.left+(i.width-l.width)/2;break;case"bottom":r=i.bottom+o,s=i.left+(i.width-l.width)/2;break;case"left":r=i.top+(i.height-l.height)/2,s=i.left-l.width-o;break;case"right":r=i.top+(i.height-l.height)/2,s=i.right+o}const a=window.innerWidth,u=window.innerHeight;s<0&&(s=8),s+l.width>a&&(s=a-l.width-8),r<0&&(r=8),r+l.height>u&&(r=u-l.height-8),e.style.top=`${r}px`,e.style.left=`${s}px`;const c=e.querySelector(".v-tooltip__arrow");if(c){const e=4;switch(n){case"top":Object.assign(c.style,{bottom:`-${e}px`,left:"50%",transform:"translateX(-50%) rotate(45deg)"});break;case"bottom":Object.assign(c.style,{top:`-${e}px`,left:"50%",transform:"translateX(-50%) rotate(45deg)"});break;case"left":Object.assign(c.style,{right:`-${e}px`,top:"50%",transform:"translateY(-50%) rotate(45deg)"});break;case"right":Object.assign(c.style,{left:`-${e}px`,top:"50%",transform:"translateY(-50%) rotate(45deg)"})}}}(i,e,t.options.placement||"top",t.options.offset||8),requestAnimationFrame(()=>{i.style.opacity="1"})}),t.isVisible=!0,null==(o=(n=t.options).onShow)||o.call(n)};t.options.delay&&t.options.delay>0?t.showTimeout=setTimeout(n,t.options.delay):n()}function ei(e){if(!e.isVisible)return;e.showTimeout&&(clearTimeout(e.showTimeout),e.showTimeout=null);const t=()=>{var t,n;e.tooltip&&(e.tooltip.style.opacity="0",setTimeout(()=>{var t;null==(t=e.tooltip)||t.remove(),e.tooltip=null},200)),e.isVisible=!1,null==(n=(t=e.options).onHide)||n.call(t)};e.options.hideDelay&&e.options.hideDelay>0?e.hideTimeout=setTimeout(t,e.options.hideDelay):t()}function ti(e,t){const{trigger:n="hover"}=t.options,o=()=>Qo(e,t),i=()=>ei(t),l=()=>t.isVisible?i():o();switch(t.handlers={show:o,hide:i,toggle:l},n){case"hover":e.addEventListener("mouseenter",o),e.addEventListener("mouseleave",i);break;case"click":e.addEventListener("click",l),document.addEventListener("click",t.handlers.docHide=n=>{t.isVisible&&!e.contains(n.target)&&i()});break;case"focus":e.addEventListener("focus",o),e.addEventListener("blur",i)}}function ni(e){var t,n,o,i,l,r,s,a;return"string"==typeof e?{content:e,placement:"top",trigger:"hover"}:e?{content:e.content,placement:null!=(t=e.placement)?t:"top",trigger:null!=(n=e.trigger)?n:"hover",delay:null!=(o=e.delay)?o:0,hideDelay:null!=(i=e.hideDelay)?i:0,offset:null!=(l=e.offset)?l:8,class:e.class,arrow:null==(r=e.arrow)||r,disabled:null!=(s=e.disabled)&&s,maxWidth:e.maxWidth,zIndex:null!=(a=e.zIndex)?a:9999,onShow:e.onShow,onHide:e.onHide}:{content:"",placement:"top",trigger:"hover"}}function oi(e){return{options:e,tooltip:null,showTimeout:null,hideTimeout:null,isVisible:!1,handlers:{}}}const ii=w({name:"tooltip",ssr:!1,mounted(e,t){const n=ni(t.value);if(n.disabled||!n.content)return;const o=oi(n);e.__tooltip=o,ti(e,o),e.setAttribute("aria-describedby","v-tooltip")},updated(e,t){const n=e.__tooltip,o=ni(t.value);if(n){if("manual"===o.trigger){const t=n.options.disabled;return n.options=o,void(o.disabled&&!t?ei(n):!o.disabled&&t&&Qo(e,n))}if(n.tooltip&&n.isVisible){const e=n.tooltip.querySelector(".v-tooltip__content");e&&(e.textContent=o.content)}n.options=o}else if(!o.disabled&&o.content){const t=oi(o);e.__tooltip=t,ti(e,t),e.setAttribute("aria-describedby","v-tooltip"),"manual"===o.trigger&&Qo(e,t)}},unmounted(e){var t;const n=e.__tooltip;n&&(n.showTimeout&&clearTimeout(n.showTimeout),n.hideTimeout&&clearTimeout(n.hideTimeout),null==(t=n.tooltip)||t.remove(),function(e,t){const{show:n,hide:o,toggle:i,docHide:l}=t.handlers;n&&(e.removeEventListener("mouseenter",n),e.removeEventListener("focus",n)),o&&(e.removeEventListener("mouseleave",o),e.removeEventListener("blur",o)),i&&e.removeEventListener("click",i),l&&document.removeEventListener("click",l)}(e,n),delete e.__tooltip)}}),li=(e,t,n,o)=>Math.sqrt(__pow(n-e,2)+__pow(o-t,2)),ri=(e,t,n,o)=>180*Math.atan2(o-t,n-e)/Math.PI,si=w({name:"touch",ssr:!1,mounted(e,t){const n=ai(t.value),o={options:n,startX:0,startY:0,startTime:0,startDistance:0,startAngle:0,lastScale:1,lastAngle:0,longPressTimer:null,isLongPress:!1,isMouseDown:!1,lastTouchEndTime:0,handlers:{touchStart:()=>{},touchMove:()=>{},touchEnd:()=>{}}};e.__touch=o;const i=()=>{o.longPressTimer&&(clearTimeout(o.longPressTimer),o.longPressTimer=null)},l=e=>{i(),o.options.enableLongPress&&o.options.onLongPress&&(o.longPressTimer=setTimeout(()=>{o.isLongPress=!0,o.options.onLongPress(e)},o.options.longPressTimeout||500))},r=(e,t)=>{const n=o.options.tapThreshold||10;return Math.abs(e-o.startX)>n||Math.abs(t-o.startY)>n},s=(e,t,n)=>{var i,l,r,s,a,u,c,d,p,f,v,m;if(o.isLongPress)return;const h=Date.now()-o.startTime,g=e-o.startX,y=t-o.startY,b=Math.sqrt(__pow(g,2)+__pow(y,2));if(o.options.enableSwipe&&b>=(o.options.swipeThreshold||30)&&h<=(o.options.swipeTimeout||500)){const e=Math.abs(g)>Math.abs(y)?g>0?"right":"left":y>0?"down":"up";null==(l=(i=o.options).onSwipe)||l.call(i,e,n),"left"===e?null==(s=(r=o.options).onSwipeLeft)||s.call(r,n):"right"===e?null==(u=(a=o.options).onSwipeRight)||u.call(a,n):"up"===e?null==(d=(c=o.options).onSwipeUp)||d.call(c,n):null==(f=(p=o.options).onSwipeDown)||f.call(p,n)}else o.options.enableTap&&b<(o.options.tapThreshold||10)&&h<(o.options.tapTimeout||250)&&(null==(m=(v=o.options).onTap)||m.call(v,n))},a=e=>{var t,n;if(e.touches.length>1&&e.preventDefault(),o.startTime=Date.now(),o.isLongPress=!1,1===e.touches.length)o.startX=e.touches[0].clientX,o.startY=e.touches[0].clientY,l(e);else if(2===e.touches.length){i();const[t,n]=e.touches;o.startDistance=li(t.clientX,t.clientY,n.clientX,n.clientY),o.startAngle=ri(t.clientX,t.clientY,n.clientX,n.clientY),o.lastScale=1,o.lastAngle=0}null==(n=(t=o.options).onTouchStart)||n.call(t,e)},u=e=>{var t,n;if(e.touches.length>=1&&e.preventDefault(),o.longPressTimer&&1===e.touches.length&&r(e.touches[0].clientX,e.touches[0].clientY)&&i(),2===e.touches.length){const[t,n]=e.touches,i=li(t.clientX,t.clientY,n.clientX,n.clientY),l=ri(t.clientX,t.clientY,n.clientX,n.clientY);if(o.options.enablePinch&&o.options.onPinch){const t=i/o.startDistance;Math.abs(t-o.lastScale)>=(o.options.pinchThreshold||.1)&&(o.options.onPinch(t,e),o.lastScale=t)}if(o.options.enableRotate&&o.options.onRotate){const t=l-o.startAngle;Math.abs(t-o.lastAngle)>5&&(o.options.onRotate(t,e),o.lastAngle=t)}}null==(n=(t=o.options).onTouchMove)||n.call(t,e)},c=e=>{var t,n;if(i(),0===e.touches.length){o.lastTouchEndTime=Date.now();const t=e.changedTouches[0];s(t.clientX,t.clientY,e)}null==(n=(t=o.options).onTouchEnd)||n.call(t,e)},d=e=>{var t,n;o.options.enableMouse&&(Date.now()-o.lastTouchEndTime<400||(e.preventDefault(),o.isMouseDown=!0,o.startTime=Date.now(),o.startX=e.clientX,o.startY=e.clientY,o.isLongPress=!1,l(e),null==(n=(t=o.options).onTouchStart)||n.call(t,e)))},p=e=>{var t,n;o.isMouseDown&&o.options.enableMouse&&(o.longPressTimer&&r(e.clientX,e.clientY)&&i(),null==(n=(t=o.options).onTouchMove)||n.call(t,e))},f=e=>{var t,n;o.isMouseDown&&o.options.enableMouse&&(o.isMouseDown=!1,i(),o.isLongPress||s(e.clientX,e.clientY,e),null==(n=(t=o.options).onTouchEnd)||n.call(t,e))};o.handlers={touchStart:a,touchMove:u,touchEnd:c,mouseDown:d,mouseMove:p,mouseUp:f},e.addEventListener("touchstart",a,{passive:!1}),e.addEventListener("touchmove",u,{passive:!1}),e.addEventListener("touchend",c),e.addEventListener("touchcancel",c),n.enableMouse&&(e.addEventListener("mousedown",d),document.addEventListener("mousemove",p),document.addEventListener("mouseup",f))},updated(e,t){const n=e.__touch;n&&(n.options=ai(t.value))},unmounted(e){const t=e.__touch;(null==t?void 0:t.longPressTimer)&&clearTimeout(t.longPressTimer),(null==t?void 0:t.handlers)&&(e.removeEventListener("touchstart",t.handlers.touchStart),e.removeEventListener("touchmove",t.handlers.touchMove),e.removeEventListener("touchend",t.handlers.touchEnd),e.removeEventListener("touchcancel",t.handlers.touchEnd),t.handlers.mouseDown&&e.removeEventListener("mousedown",t.handlers.mouseDown),t.handlers.mouseMove&&document.removeEventListener("mousemove",t.handlers.mouseMove),t.handlers.mouseUp&&document.removeEventListener("mouseup",t.handlers.mouseUp)),delete e.__touch}});function ai(e){var t,n,o,i,l,r,s,a,u,c,d,p;return{swipeThreshold:null!=(t=null==e?void 0:e.swipeThreshold)?t:30,swipeTimeout:null!=(n=null==e?void 0:e.swipeTimeout)?n:500,pinchThreshold:null!=(o=null==e?void 0:e.pinchThreshold)?o:.1,enableSwipe:null==(i=null==e?void 0:e.enableSwipe)||i,enablePinch:null==(l=null==e?void 0:e.enablePinch)||l,enableRotate:null==(r=null==e?void 0:e.enableRotate)||r,enableTap:null==(s=null==e?void 0:e.enableTap)||s,tapTimeout:null!=(a=null==e?void 0:e.tapTimeout)?a:250,tapThreshold:null!=(u=null==e?void 0:e.tapThreshold)?u:10,enableLongPress:null==(c=null==e?void 0:e.enableLongPress)||c,longPressTimeout:null!=(d=null==e?void 0:e.longPressTimeout)?d:500,enableMouse:null==(p=null==e?void 0:e.enableMouse)||p,onSwipe:null==e?void 0:e.onSwipe,onSwipeLeft:null==e?void 0:e.onSwipeLeft,onSwipeRight:null==e?void 0:e.onSwipeRight,onSwipeUp:null==e?void 0:e.onSwipeUp,onSwipeDown:null==e?void 0:e.onSwipeDown,onPinch:null==e?void 0:e.onPinch,onRotate:null==e?void 0:e.onRotate,onTap:null==e?void 0:e.onTap,onLongPress:null==e?void 0:e.onLongPress,onTouchStart:null==e?void 0:e.onTouchStart,onTouchMove:null==e?void 0:e.onTouchMove,onTouchEnd:null==e?void 0:e.onTouchEnd}}function ui(e,t){const{position:n="both",chars:o}=t,i=o?`[\\s${l=o,l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}]`:"\\s";var l;switch(n){case"start":return e.replace(new RegExp(`^${i}+`,"g"),"");case"end":return e.replace(new RegExp(`${i}+$`,"g"),"");default:return e.replace(new RegExp(`^${i}+|${i}+$`,"g"),"")}}const ci=w({name:"trim",ssr:!0,mounted(e,t){const n=di(t.value);if(H(e))!function(e,t){const n={options:t};e.__trim=n;const o=()=>{const n=e.value,o=ui(n,t);n!==o&&(e.value=o,e.dispatchEvent(new Event("input",{bubbles:!0})))};if(t.onInput){const t=()=>{const t=e.value,n=e.selectionStart,o=t.replace(/\s+$/g,"");if(t!==o&&(e.value=o,null!==n)){const t=Math.min(n,o.length);e.setSelectionRange(t,t)}};e.addEventListener("input",t),n.inputHandler=t}if(t.onBlur){const t=()=>o();e.addEventListener("blur",t),n.blurHandler=t}e.value&&o()}(e,n);else{const t=e.textContent||"";e.textContent=ui(t,n)}},updated(e,t){const n=di(t.value),o=e.__trim;if(H(e))o&&(o.options=n);else{const t=e.textContent||"";e.textContent=ui(t,n)}},unmounted(e){const t=e.__trim;(null==t?void 0:t.inputHandler)&&e.removeEventListener("input",t.inputHandler),(null==t?void 0:t.blurHandler)&&e.removeEventListener("blur",t.blurHandler),delete e.__trim}});function di(e){var t,n,o;return void 0===e||!0===e?{position:"both",onInput:!0,onBlur:!0}:!1===e?{position:"both",onInput:!1,onBlur:!1}:"string"==typeof e?{position:e,onInput:!0,onBlur:!0}:{position:null!=(t=e.position)?t:"both",onInput:null==(n=e.onInput)||n,onBlur:null==(o=e.onBlur)||o,chars:e.chars}}const pi=w({name:"truncate",ssr:!0,mounted(e,t){const n=vi(t.value),o=e.textContent||"",i={originalText:o,options:n};e.__truncate=i,fi(e,o,n)},updated(e,t){const n=e.__truncate,o=vi(t.value);if(n){const t=n.originalText;JSON.stringify(o)!==JSON.stringify(n.options)&&(n.options=o,fi(e,t,o))}else{const t=e.textContent||"";e.__truncate={originalText:t,options:o},fi(e,t,o)}},unmounted(e){delete e.__truncate}});function fi(e,t,n){const{useCss:o,showTitle:i=!0}=n;if(o)e.style.overflow="hidden",e.style.textOverflow="ellipsis",e.style.whiteSpace="nowrap",i&&t&&e.setAttribute("title",t);else{const o=function(e,t){const{length:n=100,position:o="end",ellipsis:i="..."}=t;if(e.length<=n)return e;switch(o){case"start":return i+e.slice(-(n-i.length));case"middle":{const t=Math.ceil((n-i.length)/2),o=Math.floor((n-i.length)/2);return e.slice(0,t)+i+e.slice(-o)}default:return e.slice(0,n-i.length)+i}}(t,n);e.textContent=o,i&&t&&t!==o&&e.setAttribute("title",t)}}function vi(e){var t,n,o,i,l;return"number"==typeof e?{length:e,position:"end",ellipsis:"...",useCss:!1,showTitle:!0}:{length:null!=(t=null==e?void 0:e.length)?t:100,position:null!=(n=null==e?void 0:e.position)?n:"end",ellipsis:null!=(o=null==e?void 0:e.ellipsis)?o:"...",useCss:null!=(i=null==e?void 0:e.useCss)&&i,showTitle:null==(l=null==e?void 0:e.showTitle)||l}}function mi(e){return"string"==typeof e?{text:e}:__spreadProps(__spreadValues({speed:50,delay:0,loop:!1,deleteDelay:1500,deleteSpeed:30,cursor:"|",cursorBlink:!0},e),{text:"string"==typeof e?e:e.text||""})}function hi(e){if(!1===e.cursor)return null;const t=document.createElement("span");return t.className="v-typewriter__cursor",t.textContent=e.cursor||"|",!1!==e.cursorBlink&&(t.style.animation="v-typewriter-blink 0.7s infinite"),t}const gi=w({name:"typewriter",ssr:!0,mounted(e,t){const n=mi(t.value);if(!n.text)return;f()&&function(){if(!f())return;const e="v-typewriter-styles";if(document.getElementById(e))return;const t=document.createElement("style");t.id=e,t.textContent="\n @keyframes v-typewriter-blink {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0; }\n }\n .v-typewriter__cursor {\n display: inline-block;\n margin-left: 1px;\n }\n ",document.head.appendChild(t)}();const o={options:n,originalContent:e.textContent||"",currentText:"",timeoutId:null,animationFrameId:null,isTyping:!1,isDeleting:!1,cursorElement:null};e.__typewriter=o,e.textContent="",o.cursorElement=hi(n),o.cursorElement&&e.appendChild(o.cursorElement),e.classList.add("v-typewriter"),f()&&(o.timeoutId=setTimeout(()=>{yi(e,o)},n.delay||0))},updated(e,t){const n=e.__typewriter;if(!n)return;const o=mi(t.value);o.text!==n.options.text?(bi(n),n.options=o,n.currentText="",n.isTyping=!1,n.isDeleting=!1,e.textContent="",n.cursorElement=hi(o),n.cursorElement&&e.appendChild(n.cursorElement),f()&&(n.timeoutId=setTimeout(()=>{yi(e,n)},o.delay||0))):n.options=o},unmounted(e){const t=e.__typewriter;t&&(bi(t),e.classList.remove("v-typewriter"),delete e.__typewriter)}});function yi(e,t){var n;const{options:o,cursorElement:i}=t;t.isTyping=!0,null==(n=o.onStart)||n.call(o);const l=o.text;!function n(r){var s,a;if(r>=l.length)return t.isTyping=!1,null==(s=o.onComplete)||s.call(o),void(o.loop&&(t.timeoutId=setTimeout(()=>{!function(e,t){var n;const{options:o,cursorElement:i}=t;function l(){var n;if(0===t.currentText.length)return t.isDeleting=!1,null==(n=o.onDeleteComplete)||n.call(o),void(o.loop&&(t.timeoutId=setTimeout(()=>{yi(e,t)},o.delay||0)));t.currentText=t.currentText.slice(0,-1),e.textContent=t.currentText,i&&e.appendChild(i),t.timeoutId=setTimeout(()=>{l()},o.deleteSpeed||30)}t.isDeleting=!0,null==(n=o.onDeleteStart)||n.call(o),l()}(e,t)},o.deleteDelay)));const u=l[r];t.currentText+=u,e.textContent=t.currentText,i&&e.appendChild(i),null==(a=o.onType)||a.call(o,u,r),t.timeoutId=setTimeout(()=>{n(r+1)},o.speed||50)}(0)}function bi(e){e.timeoutId&&(clearTimeout(e.timeoutId),e.timeoutId=null),e.animationFrameId&&(cancelAnimationFrame(e.animationFrameId),e.animationFrameId=null),e.isTyping=!1,e.isDeleting=!1}function wi(e,t){return e?t.first?e.charAt(0).toUpperCase()+e.slice(1):e.toUpperCase():e}function xi(e){var t,n;return void 0===e||!0===e?{first:!1,onInput:!0}:!1===e?{first:!1,onInput:!1}:{first:null!=(t=e.first)&&t,onInput:null==(n=e.onInput)||n}}const _i=w({name:"uppercase",ssr:!0,mounted(e,t){const n=xi(t.value);if(H(e)){const t=G(e,n,e=>wi(e,n));e.__uppercaseCleanup=t}else K(e,e=>wi(e,n))},updated(e,t){const n=xi(t.value);H(e)?n.onInput&&(e.value=wi(e.value,n)):K(e,e=>wi(e,n))},unmounted(e){const t=e.__uppercaseCleanup;null==t||t(),delete e.__uppercaseCleanup}});function Ei(e){if("function"==typeof e.itemSize){let t=0;for(let n=0;n<e.items.length;n++)t+=e.itemSize(n);return t}return(e.itemSize||50)*e.items.length}function Li(e,t,n){const o=n.items,i=n.itemSize||50,l=n.overscan||3;let r=0,s=0,a=0;if("function"==typeof i){let n=0;for(let t=0;t<o.length;t++){const o=i(t);if(n+o>e){r=t,a=n;break}n+=o}for(s=r,n=a;s<o.length&&n<e+t;)n+=i(s),s++;r=Math.max(0,r-l),s=Math.min(o.length,s+l),n=0;for(let e=0;e<r;e++)n+=i(e);return a=n,{startIndex:r,endIndex:s,offsetY:a}}return r=Math.max(0,Math.floor(e/i)-l),s=Math.min(o.length,Math.ceil((e+t)/i)+l),a=r*i,{startIndex:r,endIndex:s,offsetY:a}}function ki(e){var t,n,o,i;return Array.isArray(e)?{items:e,itemSize:50,height:400,overscan:3,keyField:"id"}:{items:e.items,itemSize:null!=(t=e.itemSize)?t:50,height:null!=(n=e.height)?n:400,overscan:null!=(o=e.overscan)?o:3,render:e.render,keyField:null!=(i=e.keyField)?i:"id",onScroll:e.onScroll,onVisibleChange:e.onVisibleChange}}function Ti(e,t,n){const o=document.createElement("div");o.className="v-virtual-list__item",o.dataset.index=String(t);const i=n.keyField||"id";"object"==typeof e&&null!==e&&i in e&&(o.dataset.key=String(e[i]));const l=function(e,t){return"function"==typeof e.itemSize?e.itemSize(t):e.itemSize||50}(n,t);return o.style.height=`${l}px`,o.style.boxSizing="border-box",n.render?o.innerHTML=n.render(e,t):o.textContent="object"==typeof e?JSON.stringify(e):String(e),o}const Ci=w({name:"virtual-list",ssr:!1,mounted(e,t){const n=ki(t.value);e.classList.add("v-virtual-list"),e.style.height="number"==typeof n.height?`${n.height}px`:n.height,e.style.overflow="auto",e.style.position="relative";const o=document.createElement("div");o.className="v-virtual-list__content",o.style.position="relative",o.style.height=`${Ei(n)}px`,e.appendChild(o);const i=document.createElement("div");i.className="v-virtual-list__visible",i.style.position="absolute",i.style.top="0",i.style.left="0",i.style.right="0",o.appendChild(i);const l={options:n,containerEl:e,contentEl:o,scrollHandler:null,resizeObserver:null,startIndex:0,endIndex:0,visibleItems:[]};e.__virtualList=l;const r=t=>{const n=e.scrollTop,o=e.clientHeight,{startIndex:r,endIndex:s,offsetY:a}=Li(n,o,l.options);r===l.startIndex&&s===l.endIndex||(l.startIndex=r,l.endIndex=s,Si(i,l,a),l.options.onVisibleChange&&l.options.onVisibleChange(r,s)),l.options.onScroll&&l.options.onScroll(n)};l.scrollHandler=r,e.addEventListener("scroll",r,{passive:!0});const{startIndex:s,endIndex:a,offsetY:u}=Li(0,e.clientHeight,n);if(l.startIndex=s,l.endIndex=a,Si(i,l,u),"undefined"!=typeof ResizeObserver){const t=new ResizeObserver(()=>{r(new Event("scroll"))});t.observe(e),l.resizeObserver=t}},updated(e,t){var n;const o=e.__virtualList;if(!o)return;const i=ki(t.value);o.options=i,o.contentEl&&(o.contentEl.style.height=`${Ei(i)}px`);const l=e.scrollTop,r=e.clientHeight,{startIndex:s,endIndex:a,offsetY:u}=Li(l,r,i);o.startIndex=s,o.endIndex=a;const c=null==(n=o.contentEl)?void 0:n.querySelector(".v-virtual-list__visible");c&&Si(c,o,u)},unmounted(e){const t=e.__virtualList;t&&(t.scrollHandler&&e.removeEventListener("scroll",t.scrollHandler),t.resizeObserver&&t.resizeObserver.disconnect(),delete e.__virtualList)}});function Si(e,t,n){const{options:o,startIndex:i,endIndex:l}=t;e.style.transform=`translateY(${n}px)`,e.innerHTML="";for(let t=i;t<l;t++){const n=o.items[t];if(void 0!==n){const i=Ti(n,t,o);e.appendChild(i)}}}function Di(e){return"boolean"==typeof e?{initial:e}:__spreadValues({initial:!0,disabled:!1,useHidden:!1},e)}const $i=w({name:"visible",ssr:!0,defaults:{initial:!0,disabled:!1,useHidden:!1},mounted(e,t){var n,o;if(!f())return;const i=Di(t.value),l=e.style.display,r=e.style.visibility,s={options:i,isVisible:null==(n=i.initial)||n,originalDisplay:l,originalVisibility:r,transitionEndHandler:t=>{"opacity"!==t.propertyName&&"visibility"!==t.propertyName||e.dispatchEvent(new CustomEvent("visible:transition-end",{detail:{isVisible:s.isVisible}}))}};e.__visible=s,P(e,"transitionend",s.transitionEndHandler),Mi(e,s,null==(o=i.initial)||o)},updated(e,t){var n;const o=e.__visible;if(!o)return;const i=Di(t.value);let l;l="boolean"==typeof t.value?t.value:null==(n=i.initial)||n,o.isVisible!==l&&Mi(e,o,l),o.options=i},unmounted(e){const t=e.__visible;t&&(O(e,"transitionend",t.transitionEndHandler),e.style.display=t.originalDisplay,e.style.visibility=t.originalVisibility,delete e.__visible)}});function Mi(e,t,n){const o=t.isVisible;if(t.isVisible=n,n?(e.classList.remove("v-hidden"),e.classList.add("v-visible")):(e.classList.remove("v-visible"),e.classList.add("v-hidden")),t.options.useHidden)if(n)e.style.visibility=t.originalVisibility||"visible";else{if("0s"!==getComputedStyle(e).transitionDuration){const n=o=>{o.target!==e||"opacity"!==o.propertyName&&"transform"!==o.propertyName||(t.isVisible||(e.style.visibility="hidden"),e.removeEventListener("transitionend",n))};e.addEventListener("transitionend",n)}else e.style.visibility="hidden"}else e.style.display=n?t.originalDisplay:"none";e.dispatchEvent(new CustomEvent("visible:change",{detail:{isVisible:n,previousVisibility:o}})),t.options.handler&&o!==n&&t.options.handler(n)}function Hi(e){var t;const n=document.createElement("canvas"),o=n.getContext("2d");if(!o)throw new Error("[Directix] v-watermark: Could not get canvas context");const i=e.width||300,l=e.height||200,r=e.fontSize||16,s=e.fontFamily||"sans-serif",a=e.fontWeight||"normal",u=e.color||"rgba(128, 128, 128, 0.15)",c=null!=(t=e.rotate)?t:-22;n.width=i,n.height=l,o.font=`${a} ${r}px ${s}`,o.fillStyle=u,o.textAlign="center",o.textBaseline="middle",o.translate(i/2,l/2),o.rotate(c*Math.PI/180);const d=Array.isArray(e.content)?e.content:[e.content],p=1.5*r,f=-(d.length-1)*p/2;return d.forEach((e,t)=>{o.fillText(e,0,f+t*p)}),n}function Ii(e,t){var n;const o=Array.isArray(t.gap)?t.gap:[t.gap||100,t.gap||100],i=null!=(n=t.zIndex)?n:9999,l=document.createElement("div");return l.className="v-watermark",l.style.cssText=`\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tpointer-events: none;\n\t\tz-index: ${i};\n\t\tbackground-image: url("${e.toDataURL()}");\n\t\tbackground-repeat: repeat;\n\t\tbackground-position: ${o[0]/2}px ${o[1]/2}px;\n\t\tbackground-size: ${e.width+o[0]}px ${e.height+o[1]}px;\n\t`,l}function Pi(e){var t,n,o,i,l,r,s,a,u,c,d;return"string"==typeof e?{content:e}:{content:e.content,width:null!=(t=e.width)?t:300,height:null!=(n=e.height)?n:200,rotate:null!=(o=e.rotate)?o:-22,fontSize:null!=(i=e.fontSize)?i:16,fontFamily:null!=(l=e.fontFamily)?l:"sans-serif",fontWeight:null!=(r=e.fontWeight)?r:"normal",color:null!=(s=e.color)?s:"rgba(128, 128, 128, 0.15)",gap:null!=(a=e.gap)?a:[100,100],zIndex:null!=(u=e.zIndex)?u:9999,disabled:null!=(c=e.disabled)&&c,protect:null==(d=e.protect)||d}}const Oi=w({name:"watermark",ssr:!0,mounted(e,t){const n=Pi(t.value);"static"===getComputedStyle(e).position&&(e.style.position="relative");const o={options:n,watermarkEl:null,observer:null,canvas:null};e.__watermark=o,n.disabled||zi(e,o)},updated(e,t){const n=e.__watermark;if(!n)return;const o=Pi(t.value);o.disabled&&!n.options.disabled?Ai(n):!o.disabled&&n.options.disabled?(n.options=o,zi(e,n)):o.disabled||(n.options=o,Ai(n),zi(e,n)),n.options=o},unmounted(e){const t=e.__watermark;t&&(Ai(t),delete e.__watermark)}});function zi(e,t){const n=t.options;t.canvas=Hi(n),t.watermarkEl=Ii(t.canvas,n),e.appendChild(t.watermarkEl),n.protect&&function(e,t){if("undefined"==typeof MutationObserver)return;t.observer=new MutationObserver(n=>{t.watermarkEl&&e.contains(t.watermarkEl)||t.options.disabled||(t.canvas=Hi(t.options),t.watermarkEl=Ii(t.canvas,t.options),e.appendChild(t.watermarkEl));for(const e of n)if("attributes"===e.type&&e.target===t.watermarkEl){const e=Array.isArray(t.options.gap)?t.options.gap:[t.options.gap||100,t.options.gap||100];t.watermarkEl.style.display="block",t.watermarkEl.style.visibility="visible",t.watermarkEl.style.opacity="1",t.canvas&&(t.watermarkEl.style.backgroundImage=`url("${t.canvas.toDataURL()}")`),t.watermarkEl.style.backgroundSize=`${t.canvas.width+e[0]}px ${t.canvas.height+e[1]}px`}}),t.observer.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style","class","hidden"]})}(e,t)}function Ai(e){e.observer&&(e.observer.disconnect(),e.observer=null),e.watermarkEl&&e.watermarkEl.parentNode&&e.watermarkEl.parentNode.removeChild(e.watermarkEl),e.watermarkEl=null,e.canvas=null}const Fi=["a","an","the","and","but","or","for","nor","on","at","to","from","by","in","of","with","as"];function Yi(e){return e?e.charAt(0).toUpperCase()+e.slice(1).toLowerCase():e}function Ri(e,t={}){if(!e)return e;const{every:n=!0,keepLower:o=Fi}=t;if(n){return e.toLowerCase().split(/\s+/).map((e,t)=>0===t?Yi(e):o.includes(e.toLowerCase())?e.toLowerCase():Yi(e)).join(" ")}return Yi(e)}function Ni(e,t,n,o,i,l){const r=n.getBoundingClientRect(),s=Math.min(r.width,r.height)*l,a=document.createElement("span");return a.className="v-click-wave__effect",a.style.cssText=`\n position: absolute;\n border-radius: 50%;\n pointer-events: none;\n background-color: ${o};\n width: ${s}px;\n height: ${s}px;\n left: ${e-s/2}px;\n top: ${t-s/2}px;\n transform: scale(0);\n opacity: 0.5;\n z-index: 0;\n `,"function"==typeof a.animate?a.animate([{transform:"scale(0)",opacity:.5},{transform:"scale(1)",opacity:0}],{duration:i,easing:"ease-out",fill:"forwards"}).onfinish=()=>{a.remove()}:(a.style.transition=`transform ${i}ms ease-out, opacity ${i}ms ease-out`,String(a.offsetHeight),a.style.transform="scale(1)",a.style.opacity="0",setTimeout(()=>a.remove(),i)),a}function Xi(e){return __async(this,null,function*(){if(y())try{return yield navigator.clipboard.writeText(e),!0}catch(e){console.warn("[Directix] Clipboard API failed, falling back to execCommand")}return function(e){if(!f())return!1;const t=document.createElement("textarea");t.value=e,t.style.cssText="\n position: fixed;\n top: -9999px;\n left: -9999px;\n opacity: 0;\n pointer-events: none;\n ",document.body.appendChild(t);try{return t.select(),t.setSelectionRange(0,t.value.length),document.execCommand("copy")}catch(e){return!1}finally{document.body.removeChild(t)}}(e)})}function Vi(e){return e instanceof Date?e.getTime():"number"==typeof e?e:new Date(e).getTime()}function Bi(e){const t=Math.max(0,e);return{days:Math.floor(t/864e5),hours:Math.floor(t%864e5/36e5),minutes:Math.floor(t%36e5/6e4),seconds:Math.floor(t%6e4/1e3),milliseconds:t%1e3,total:t}}function Ui(e,t){if("function"==typeof t)return t(e);const n=(e,t=2)=>String(e).padStart(t,"0");return t.replace(/dd/gi,n(e.days)).replace(/hh/gi,n(e.hours)).replace(/mm/gi,n(e.minutes)).replace(/ss/gi,n(e.seconds)).replace(/S{3}/gi,n(e.milliseconds,3)).replace(/SS/gi,n(Math.floor(e.milliseconds/10))).replace(/S/gi,String(Math.floor(e.milliseconds/100)))}const ji={linear:e=>e,easeOut:e=>1-__pow(1-e,3),easeInOut:e=>e<.5?4*e*e*e:1-__pow(-2*e+2,3)/2,easeOutQuart:e=>1-__pow(1-e,4),easeOutExpo:e=>1===e?1:1-__pow(2,-10*e)};function Wi(e,t){return t.formatter?t.formatter(e):new Intl.NumberFormat(t.locale||"en-US",{minimumFractionDigits:t.decimals||0,maximumFractionDigits:t.decimals||0,useGrouping:t.useGrouping||!1}).format(e)}function qi(e){if(e.type.startsWith("touch")){const t=e.touches[0]||e.changedTouches[0];return{clientX:t.clientX,clientY:t.clientY}}const t=e;return{clientX:t.clientX,clientY:t.clientY}}function Gi(e,t=14,n="sans-serif"){if("undefined"==typeof document)return 8*e.length;const o=document.createElement("canvas").getContext("2d");return o?(o.font=`${t}px ${n}`,o.measureText(e).width):8*e.length}function Ki(e,t,n="...",o=14,i="sans-serif"){if(t<=0)return e;if(Gi(e,o,i)<=t)return e;const l=t-Gi(n,o,i);if(l<=0)return n;let r=0,s=e.length;for(;r<s;){const t=Math.floor((r+s+1)/2);Gi(e.slice(0,t),o,i)<=l?r=t:s=t-1}return e.slice(0,r)+n}const Zi=/[\p{Emoji_Presentation}\p{Extended_Pictographic}]/gu;const Ji=new Set(["input","textarea","select","button"]);function Qi(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const el={esc:"Escape",space:" ",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",enter:"Enter",tab:"Tab",backspace:"Backspace",delete:"Delete",insert:"Insert",home:"Home",end:"End",pageup:"PageUp",pagedown:"PageDown",plus:"+",minus:"-"},tl=new Set(["ctrl","alt","shift","meta"]);function nl(e){const t=e.toLowerCase().split("+").map(e=>e.trim()),n=new Set;let o="";for(const e of t)tl.has(e)?n.add(e):o=el[e]||e;return{key:o,modifiers:n}}function ol(e,t){if(t.modifiers.has("ctrl")!==(e.ctrlKey||e.metaKey))return!1;if(t.modifiers.has("alt")!==e.altKey)return!1;if(t.modifiers.has("shift")!==e.shiftKey)return!1;if(t.modifiers.has("meta")!==e.metaKey)return!1;const n=e.key,o=t.key;return n.toLowerCase()===o.toLowerCase()}let il=null;function ll(e,t){"IMG"===e.tagName?e.src=t:e.style.backgroundImage=`url("${t}")`}function rl(e,t=!1){return e?t?e.charAt(0).toLowerCase()+e.slice(1):e.toLowerCase():e}const sl={"#":/\d/,A:/[A-Za-z]/,N:/[A-Za-z0-9]/,X:/./};function al(e,t={}){const{precision:n=2,separator:o=",",decimal:i=".",symbol:l="$",symbolPosition:r="before"}=t,s=e.toFixed(n),[a,u]=s.split(".");let c=a.replace(/\B(?=(\d{3})+(?!\d))/g,o);return n>0&&u&&(c+=i+u),"before"===r?l+c:c+l}function ul(e,t={}){const{decimal:n=".",symbol:o="$"}=t;let i=e.replace(new RegExp(`[${o}\\s]`,"g"),"");return"."!==n?(i=i.replace(/,/g,""),i=i.replace(new RegExp(`\\${n}`,"g"),".")):i=i.replace(/,/g,""),parseFloat(i)||0}function cl(e,t={}){const{precision:n=0,separator:o=",",decimal:i=".",prefix:l="",suffix:r=""}=t,s=e.toFixed(n),[a,u]=s.split(".");let c=a.replace(/\B(?=(\d{3})+(?!\d))/g,o);return n>0&&u&&(c+=i+u),l+c+r}function dl(e,t={}){const{decimal:n=".",prefix:o="",suffix:i=""}=t;let l=e.replace(new RegExp(`^${pl(o)}`),"").replace(new RegExp(`${pl(i)}$`),"").replace(/\s/g,"");return"."!==n?(l=l.replace(/,/g,""),l=l.replace(new RegExp(`\\${n}`,"g"),".")):l=l.replace(/,/g,""),parseFloat(l)||0}function pl(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function fl(e,t){return Math.abs(e)>Math.abs(t)?e>0?"right":"left":t>0?"down":"up"}function vl(e){return"touches"in e&&e.touches.length>0?{x:e.touches[0].clientX,y:e.touches[0].clientY}:{x:e.clientX,y:e.clientY}}function ml(e,t){return t.includes("*")||t.includes(e)}function hl(e){if(e.length<2)return 0;const t=e[0].clientX-e[1].clientX,n=e[0].clientY-e[1].clientY;return Math.sqrt(t*t+n*n)}function gl(e){const t=e.querySelectorAll("img"),n=[];return t.forEach(e=>{e.complete||n.push(new Promise(t=>{e.onload=()=>t(),e.onerror=()=>t()}))}),Promise.all(n)}function yl(e,t){let n="";"undefined"!=typeof document&&document.querySelectorAll('style, link[rel="stylesheet"]').forEach(e=>{if("STYLE"===e.tagName)n+=`<style>${e.textContent}</style>`;else if("LINK"===e.tagName){const t=e.href;n+=`<link rel="stylesheet" href="${t}">`}}),t.cssUrls.forEach(e=>{n+=`<link rel="stylesheet" href="${e}">`}),t.styles&&(n+=`<style>${t.styles}</style>`),n+=`\n\t\t<style>\n\t\t\t@media print {\n\t\t\t\tbody { margin: 0; padding: 20px; }\n\t\t\t\t${t.printClass?`.${t.printClass} { page-break-inside: avoid; }`:""}\n\t\t\t}\n\t\t</style>\n\t`;const o=t.title||("undefined"!=typeof document?document.title:"Print"),i=e.outerHTML;return`<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset="utf-8">\n\t<title>${o}</title>\n\t${n}\n</head>\n<body>\n\t${i}\n</body>\n</html>`}function bl(e={}){const{title:n,styles:o,cssUrls:i=[],onBeforePrint:l,onAfterPrint:r,newWindow:s=!1,printClass:a}=e,u=t.ref(!1);function c(e){return __async(this,null,function*(){if(l){if(!1===l())return}u.value=!0;try{let l=null;if(l="string"==typeof e?document.querySelector(e):e instanceof HTMLElement?e:document.body,!l)return void console.warn("[Directix] usePrint: Target element not found");const u={title:t.unref(n)||"",styles:Array.isArray(t.unref(o))?t.unref(o).join("\n"):t.unref(o)||"",cssUrls:t.unref(i)||[],printClass:t.unref(a)};t.unref(s)?yield function(e,t){return __async(this,null,function*(){const n=window.open("","_blank");if(!n)return void console.warn("[Directix] usePrint: Could not open print window");const o=yl(e,t);n.document.open(),n.document.write(o),n.document.close(),yield gl(n.document),n.focus(),n.print(),setTimeout(()=>{n.close()},1e3)})}(l,u):yield function(e,t){return __async(this,null,function*(){var n,o,i;const l=document.createElement("iframe");l.style.cssText="position: absolute; top: -10000px; left: -10000px; width: 0; height: 0; border: none;",document.body.appendChild(l);const r=l.contentDocument||(null==(n=l.contentWindow)?void 0:n.document);if(!r)return console.warn("[Directix] usePrint: Could not access iframe document"),void document.body.removeChild(l);const s=yl(e,t);r.open(),r.write(s),r.close(),yield gl(r);try{null==(o=l.contentWindow)||o.focus(),null==(i=l.contentWindow)||i.print()}catch(e){console.error("[Directix] usePrint: Print failed",e)}setTimeout(()=>{document.body.removeChild(l)},1e3)})}(l,u),r&&r()}finally{u.value=!1}})}return t.onUnmounted(()=>{}),{isPrinting:u,print:c,printPage:function(){return __async(this,null,function*(){yield c()})}}}function wl(e){return new Promise(t=>setTimeout(t,e))}function xl(e,t,n,o,i,l,r){const s=n.getBoundingClientRect(),a=2*Math.max(s.width,s.height),u=document.createElement("span");return u.className="v-ripple__wave",u.style.cssText=`\n position: absolute;\n border-radius: 50%;\n pointer-events: none;\n background-color: ${o};\n width: ${a}px;\n height: ${a}px;\n left: ${e-a/2}px;\n top: ${t-a/2}px;\n transform: scale(${l});\n opacity: 0.3;\n z-index: 0;\n `,"function"==typeof u.animate?u.animate([{transform:`scale(${l})`,opacity:.3},{transform:`scale(${r})`,opacity:0}],{duration:i,easing:"ease-out",fill:"forwards"}).onfinish=()=>{u.remove()}:(u.style.transition=`transform ${i}ms ease-out, opacity ${i}ms ease-out`,String(u.offsetHeight),u.style.transform=`scale(${r})`,u.style.opacity="0",setTimeout(()=>u.remove(),i)),u}function _l(e){if(e.length<2)return 0;const t=e[1].clientX-e[0].clientX,n=e[1].clientY-e[0].clientY;return Math.atan2(n,t)*(180/Math.PI)}const El=["b","i","u","strong","em","br","p","span","div"],Ll=["title","alt","href","src"],kl=["script","iframe","object","embed","form","input","style","link","meta","base"],Tl=["onclick","onerror","onload","onmouseover","onfocus","onblur","onchange","onsubmit"];function Cl(e,t,n){let o=0,i=0,l=0,r=0;if(e===window)o=window.scrollX||document.documentElement.scrollLeft,i=window.scrollY||document.documentElement.scrollTop,l=document.documentElement.scrollWidth-window.innerWidth,r=document.documentElement.scrollHeight-window.innerHeight;else{const t=e;o=t.scrollLeft,i=t.scrollTop,l=t.scrollWidth-t.clientWidth,r=t.scrollHeight-t.clientHeight}return{scrollLeft:o,scrollTop:i,scrollLeftMax:l,scrollTopMax:r,progressX:l>0?o/l:0,progressY:r>0?i/r:0,directionX:o!==t?o>t?1:-1:0,directionY:i!==n?i>n?1:-1:0}}const Sl=["left","right","up","down"];function Dl(e,t="both",n){if(!e)return"";const o=n?`[\\s${i=n,i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}]`:"\\s";var i;switch(t){case"start":return e.replace(new RegExp(`^${o}+`,"g"),"");case"end":return e.replace(new RegExp(`${o}+$`,"g"),"");default:return e.replace(new RegExp(`^${o}+|${o}+$`,"g"),"")}}function $l(e,t=!1){return e?t?e.charAt(0).toUpperCase()+e.slice(1):e.toUpperCase():e}function Ml(e){const t=document.createElement("canvas"),n=t.getContext("2d");if(!n)throw new Error("[Directix] useWatermark: Could not get canvas context");const{content:o,width:i,height:l,fontSize:r,fontFamily:s,fontWeight:a,color:u,rotate:c}=e;t.width=i,t.height=l,n.font=`${a} ${r}px ${s}`,n.fillStyle=u,n.textAlign="center",n.textBaseline="middle",n.translate(i/2,l/2),n.rotate(c*Math.PI/180);const d=Array.isArray(o)?o:[o],p=1.5*r,f=-(d.length-1)*p/2;return d.forEach((e,t)=>{n.fillText(e,0,f+t*p)}),t}const Hl={blur:E,"click-outside":se,"click-delay":re,"click-wave":de,"context-menu":ve,copy:he,debounce:$e,throttle:Xo,focus:Ze,hotkey:ht,lazy:Xt,intersect:Pt,visible:$i,loading:Bt,scroll:Eo,"infinite-scroll":Dt,sticky:Io,"long-press":qt,hover:xt,ripple:ao,mask:un,permission:On,sanitize:wo,resize:ro,mutation:gn,truncate:pi,ellipsis:Oe,uppercase:_i,lowercase:en,capitalcase:te,number:yn,money:mn,trim:ci,tooltip:ii,draggable:Pe,touch:si,swipe:Ro,"image-preview":Ct,countdown:xe,watermark:Oi,print:Rn,"virtual-list":Ci,"pull-refresh":io,counter:Ce,emoji:Xe,export:Ue,fade:Ge,fullscreen:nt,highlight:rt,lottie:Kt,pan:En,parallax:Sn,pinch:Yn,progress:jn,"rotate-gesture":fo,skeleton:To,typewriter:gi},Il={install:(e,t={})=>{var n,o,i,l,r,s,a;let u=null;if("function"==typeof e&&(null==(n=e.version)?void 0:n.startsWith("2")))u=2;else if((null==e?void 0:e.config)&&(null==(o=null==e?void 0:e.version)?void 0:o.startsWith("3")))u=3;else if("function"==typeof(null==e?void 0:e.directive)&&"function"==typeof(null==e?void 0:e.mixin)&&(null==(i=e.version)?void 0:i.startsWith("2")))u=2;else if("undefined"!=typeof window){const e=window;(null==(r=null==(l=e.Vue)?void 0:l.version)?void 0:r.startsWith("2"))?u=2:(null==(a=null==(s=e.Vue)?void 0:s.version)?void 0:a.startsWith("3"))&&(u=3)}u&&p(u);const{directives:c,all:d=!1}=t;d||!c?Object.entries(Hl).forEach(([t,n])=>{e.directive(t,n)}):c.forEach(t=>{const n=Hl[t];n?e.directive(t,n):console.warn(`[Directix] Unknown directive: ${t}`)})}};e.Directix=Il,e.addCleanupVue2=function(e,t){const n=e.__directix_state__;n&&n.cleanup.push(t)},e.addCleanupVue3=function(e,t){const n=e.__directix_state__;n&&n.cleanup.push(t)},e.calculateTime=Bi,e.capitalizeText=Ri,e.capitalizeWord=Yi,e.configurePermission=function(e){Hn=e},e.createCapitalizer=function(e={}){return t=>Ri(t,e)},e.createDelayedClick=function(e,t=300){let n=!1;return o=>{if(n)return o.preventDefault(),void o.stopPropagation();n=!0,e(o),setTimeout(()=>{n=!1},t)}},e.createLowercaser=function(e=!1){return t=>rl(t,e)},e.createMoneyFormatter=function(e={}){return t=>al(t,e)},e.createNumberFormatter=function(e={}){return t=>cl(t,e)},e.createPermissionChecker=function(e){const{getPermissions:t,getRoles:n,roleMap:o={}}=e;return(e,i="some")=>{const l=t(),r=(null==n?void 0:n())||[],s=Array.isArray(e)?e:[e];function a(e){if(e in o)return r.includes(e);if(ml(e,l))return!0;for(const t of r){if(ml(e,o[t]||[]))return!0}return!1}return"every"===i?s.every(a):s.some(a)}},e.createTrimmer=function(e="both",t){return n=>Dl(n,e,t)},e.createUppercaser=function(e=!1){return t=>$l(t,e)},e.createVue2Directive=n,e.createVue3Directive=i,e.createWatermarkUrl=function(e,t={}){var n,o,i,l,r;return Ml({content:e,width:null!=(n=t.width)?n:300,height:null!=(o=t.height)?o:200,fontSize:null!=(i=t.fontSize)?i:16,fontFamily:"sans-serif",fontWeight:"normal",color:null!=(l=t.color)?l:"rgba(128, 128, 128, 0.15)",rotate:null!=(r=t.rotate)?r:-22}).toDataURL()},e.debounceFn=function(e,t=300,n){return j(e,t,n)},e.deepClone=function e(t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(t))return t.map(t=>e(t));const n={};for(const o in t)Object.prototype.hasOwnProperty.call(t,o)&&(n[o]=e(t[o]));return n},e.deepMerge=function e(t,...n){if(!n.length)return t;const o=n.shift();if(B(t)&&B(o))for(const n in o)B(o[n])?(t[n]||Object.assign(t,{[n]:{}}),e(t[n],o[n])):Object.assign(t,{[n]:o[n]});return e(t,...n)},e.defineDirective=w,e.defineDirectiveGroup=function(e,t){return{name:e,directives:t,install(n,o){Object.entries(t).forEach(([t,o])=>{const i=`${e}-${t}`;n.directive(i,o)})}}},e.formatMoney=al,e.formatNumber=cl,e.formatTime=Ui,e.generateId=function(e=""){return`${e}${Date.now().toString(36)}${Math.random().toString(36).slice(2,9)}`},e.get=function(e,t,n){const o=t.split(".");let i=e;for(const e of o){if(null==i)return n;i=i[e]}return void 0===i?n:i},e.getPermissionConfig=function(){return Hn},e.getVueVersion=d,e.isArray=U,e.isBoolean=function(e){return"boolean"==typeof e},e.isBrowser=f,e.isEmpty=function(e){return null==e||(X(e)||U(e)?0===e.length:!!B(e)&&0===Object.keys(e).length)},e.isFunction=V,e.isNumber=function(e){return"number"==typeof e&&!isNaN(e)},e.isObject=B,e.isPromise=function(e){return B(e)&&V(e.then)},e.isSSR=v,e.isString=X,e.isVue2=function(){if(null===s){const e=d();s=2===e||2.7===e}return s},e.isVue27=function(){return null===a&&(a=2.7===d()),a},e.isVue3=function(){return null===u&&(u=3===d()),u},e.lowercaseText=rl,e.parseMoney=ul,e.parseNumber=dl,e.parseTargetTime=Vi,e.parseTime=q,e.quickPrint=function(e){return __async(this,arguments,function*(e,t={}){const{print:n}=bl(t);yield n(e)})},e.resetVueVersion=function(){r=null,s=null,a=null,u=null},e.set=function(e,t,n){const o=t.split("."),i=o.pop();let l=e;for(const e of o)void 0===l[e]&&(l[e]={}),l=l[e];l[i]=n},e.setVueVersion=p,e.supportsClipboard=y,e.supportsIntersectionObserver=h,e.supportsMutationObserver=b,e.supportsPassive=m,e.supportsResizeObserver=g,e.throttleFn=function(e,t=300,n){return W(e,t,n)},e.trimText=Dl,e.truncateText=function(e,t,n="..."){return!e||e.length<=t?e:e.slice(0,t-n.length)+n},e.uppercaseText=$l,e.useBlur=function(e={}){var n;const o=t.ref(null!=(n=t.unref(e.visible))&&n);let i=null,l="";function r(){var n,r;!i&&f()&&(o.value=!0,i=function(e){const t=document.createElement("div");return t.className=`v-blur-overlay ${e.class||""}`,t.style.cssText=`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n backdrop-filter: blur(${e.radius||5}px);\n -webkit-backdrop-filter: blur(${e.radius||5}px);\n background: ${e.overlayColor||"transparent"};\n z-index: ${e.zIndex||999};\n opacity: 0;\n transition: opacity ${e.duration||300}ms ease;\n pointer-events: auto;\n `,t}(__spreadProps(__spreadValues({},e),{radius:null!=(n=t.unref(e.radius))?n:5})),document.body.appendChild(i),String(i.offsetHeight),i.style.opacity="1",e.lockScroll&&(l=document.body.style.overflow,document.body.style.overflow="hidden"),null==(r=e.onShow)||r.call(e))}function s(){var t;i&&(o.value=!1,i.style.opacity="0",e.lockScroll&&(document.body.style.overflow=l),setTimeout(()=>{i&&(i.remove(),i=null)},e.duration||300),null==(t=e.onHide)||t.call(e))}function a(){o.value?s():r()}return t.onUnmounted(()=>{i&&s()}),{isVisible:o,show:r,hide:s,toggle:a,bind:function(n){return f()?(n.classList.add("v-blur"),"boolean"!=typeof e.visible&&e.visible&&t.watch(e.visible,e=>{e!==o.value&&a()}),o.value&&r(),()=>{i&&s(),n.classList.remove("v-blur")}):()=>{}}}},e.useCapitalcase=function(e){const{text:n,every:o=!0,keepLower:i=Fi}=e,l=t.ref(t.unref(n)),r=t.ref("");return t.watch(()=>[t.unref(n),t.unref(o),t.unref(i)],()=>function(){const e=t.unref(n),s=t.unref(o),a=t.unref(i);l.value=e,r.value=Ri(e,{every:s,keepLower:a})}(),{immediate:!0}),{capitalized:r,original:l}},e.useClickDelay=function(e){const{handler:n,delay:o=300,disabled:i=!1}=e,l=t.ref(!1);let r=null;function s(){r&&(clearTimeout(r),r=null)}return t.onUnmounted(()=>{s()}),{isPending:l,click:function(e){if(t.unref(i)||l.value)return e.preventDefault(),void e.stopPropagation();l.value=!0,n(e),r=setTimeout(()=>{l.value=!1,r=null},t.unref(o))},reset:function(){r&&(clearTimeout(r),r=null),l.value=!1},cancel:s}},e.useClickOutside=function(e){const{handler:n,exclude:o=[],capture:i=!0,events:l=["click"],stop:r=!1,prevent:s=!1}=e;let a=null;const u=new Map;function c(e){return e=>{a&&function(e,n,o){const i=n.target;if(e.contains(i))return!1;if(null==o?void 0:o.length)for(const e of o){const n="function"==typeof e?e():t.unref(e),o="string"==typeof n?$(n):n;if(o&&(o===i||o.contains(i)))return!1}return!0}(a,e,o)&&(r&&e.stopPropagation(),s&&e.preventDefault(),n(e))}}function d(){u.forEach((e,t)=>{document.removeEventListener(t,e,{capture:i})}),u.clear(),a=null}return t.onUnmounted(()=>{d()}),{bind:function(e){return f()?(d(),a=e,l.forEach(e=>{const t=c();u.set(e,t),document.addEventListener(e,t,{capture:i,passive:!s})}),d):()=>{}}}},e.useClickWave=function(e={}){const{color:n="currentColor",duration:o=500,disabled:i=!1,sizeRatio:l=1.5}=e;let r=null,s=null;function a(e){if(t.unref(i))return;const s=r.getBoundingClientRect(),a=Ni(e.clientX-s.left,e.clientY-s.top,r,t.unref(n),t.unref(o),l);r.appendChild(a)}function u(){r&&s&&(r.removeEventListener("click",s),r.classList.remove("v-click-wave")),r=null,s=null}return t.onUnmounted(()=>{u()}),{bind:function(e){if(!f())return()=>{};u(),r=e;const t=getComputedStyle(e);return"static"===t.position&&(e.style.position="relative"),"visible"===t.overflow&&(e.style.overflow="hidden"),e.classList.add("v-click-wave"),s=a,e.addEventListener("click",s),u},trigger:function(e){var s,a;if(!r||t.unref(i))return;const u=r.getBoundingClientRect(),c=Ni(null!=(s=null==e?void 0:e.x)?s:u.width/2,null!=(a=null==e?void 0:e.y)?a:u.height/2,r,t.unref(n),t.unref(o),l);r.appendChild(c)}}},e.useContextMenu=function(e){let n=null,o=null,i=null,l=null;function r(){i&&(i.remove(),i=null),l&&document.removeEventListener("click",l)}function s(n,o){if(t.unref(e.disabled))return;r();const s=t.unref(e.items);i=function(e,t,n,o){const i=document.createElement("div");i.className=`v-context-menu ${o.class||""}`;const l=o.width?"number"==typeof o.width?`${o.width}px`:o.width:"150px";return i.style.cssText=`\n position: fixed;\n left: ${e}px;\n top: ${t}px;\n min-width: ${l};\n background: #fff;\n border-radius: 4px;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);\n padding: 4px 0;\n z-index: 9999;\n font-size: 14px;\n `,n.forEach(e=>{if(e.divider){const e=document.createElement("div");e.className="v-context-menu__divider",e.style.cssText="\n height: 1px;\n background: #e8e8e8;\n margin: 4px 0;\n ",i.appendChild(e)}const t=document.createElement("div");if(t.className=`v-context-menu__item ${e.class||""}`,e.disabled&&t.classList.add("v-context-menu__item--disabled"),t.style.cssText=`\n padding: 8px 16px;\n cursor: ${e.disabled?"not-allowed":"pointer"};\n color: ${e.disabled?"#b0b0b0":"#333"};\n display: flex;\n align-items: center;\n gap: 8px;\n `,e.icon){const n=document.createElement("span");n.className="v-context-menu__icon",n.innerHTML=e.icon,t.appendChild(n)}const n=document.createElement("span");n.textContent=e.label,t.appendChild(n),!e.disabled&&e.handler&&(t.addEventListener("click",()=>{e.handler(),i.remove()}),t.addEventListener("mouseenter",()=>{t.style.background="#f5f5f5"}),t.addEventListener("mouseleave",()=>{t.style.background="transparent"})),i.appendChild(t)}),i}(n,o,s,e),document.body.appendChild(i);const a=i.getBoundingClientRect(),u=window.innerWidth,c=window.innerHeight;n+a.width>u&&(i.style.left=u-a.width-8+"px"),o+a.height>c&&(i.style.top=c-a.height-8+"px"),setTimeout(()=>{l=e=>{const t=e.target;i&&!i.contains(t)&&r()},document.addEventListener("click",l)},0)}function a(e){e.preventDefault(),s(e.clientX,e.clientY)}function u(){n&&o&&n.removeEventListener("contextmenu",o),r(),n=null,o=null}return t.onUnmounted(()=>{u()}),{bind:function(e){return f()?(u(),n=e,o=a,e.addEventListener("contextmenu",o),u):()=>{}},show:s,hide:r}},e.useCopy=function(e={}){const{source:n,onSuccess:o,onError:i,copiedTimeout:l=1500}=e,r=t.ref(!1),s=t.ref(null),a=y()||f();let u=null;return{copy:function(e){return __async(this,null,function*(){const a=null!=e?e:t.unref(n);if(!a)return console.warn("[Directix] useCopy: No text to copy"),!1;u&&(clearTimeout(u),u=null),s.value=null;try{if(yield Xi(a))return r.value=!0,null==o||o(a),u=setTimeout(()=>{r.value=!1,u=null},l),!0;throw new Error("Copy failed")}catch(e){const t=e;return s.value=t,r.value=!1,null==i||i(t),!1}})},copied:t.readonly(r),error:t.readonly(s),isSupported:a}},e.useCountdown=function(e){const{target:n,format:o="hh:mm:ss",onComplete:i,onTick:l,interval:r=1e3,autoStart:s=!0}=e,a=t.ref(Bi(0)),u=t.ref(""),c=t.ref(!1),d=t.ref(!1),p=t.ref(!1);let f=null,v=0,m=0;const h=()=>t.unref(r),g=()=>t.unref(o);function y(){const e=Date.now(),t=v-e;if(t<=0)return a.value=Bi(0),u.value=Ui(a.value,g()),p.value=!0,c.value=!1,w(),void(i&&i());a.value=Bi(t),u.value=Ui(a.value,g()),l&&l(a.value)}function b(){c.value||(v=Vi(t.unref(n)),c.value=!0,d.value=!1,p.value=!1,y(),f=setInterval(y,h()))}function w(){f&&(clearInterval(f),f=null),c.value=!1}return t.watch(()=>t.unref(n),e=>{c.value&&(v=Vi(e))}),t.unref(s)&&b(),t.onUnmounted(()=>{w()}),{time:a,formatted:u,running:c,paused:d,completed:p,start:b,pause:function(){c.value&&(m=v-Date.now(),w(),d.value=!0)},resume:function(){!c.value&&d.value&&(v=Date.now()+m,c.value=!0,d.value=!1,y(),f=setInterval(y,h()))},reset:function(){w(),d.value=!1,p.value=!1,m=0,a.value=Bi(0),u.value=Ui(a.value,g())}}},e.useCounter=function(e){var n;const o=t.ref(null!=(n=e.startValue)?n:0),i=t.ref(Wi(o.value,e)),l=t.ref(!1);let r=null,s=null,a=null,u=t.unref(e.value),c=o.value;function d(t){var n,p;a||(a=t);const f=t-a,v=e.duration||2e3,m=Math.min(f/v,1),h=(e.customEasing||ji[e.easing||"easeOutQuart"])(m);o.value=c+(u-c)*h,i.value=Wi(o.value,e),r&&(r.textContent=i.value),null==(n=e.onUpdate)||n.call(e,o.value,i.value),m<1?s=requestAnimationFrame(d):(o.value=u,i.value=Wi(u,e),r&&(r.textContent=i.value),l.value=!1,s=null,null==(p=e.onComplete)||p.call(e,u))}function p(){var t;l.value||(l.value=!0,a=null,c=o.value,null==(t=e.onStart)||t.call(e),s=requestAnimationFrame(d))}function v(){s&&(cancelAnimationFrame(s),s=null),l.value=!1}function m(e){u=e,c=o.value,a=null,l.value||p()}function h(){v(),r&&r.classList.remove("v-counter"),r=null}return t.onUnmounted(()=>{h()}),{currentValue:o,formattedValue:i,isAnimating:l,setValue:m,start:p,stop:v,bind:function(n){return f()?(h(),r=n,n.classList.add("v-counter"),n.textContent=i.value,"number"!=typeof e.value&&t.watch(e.value,e=>{m(e)}),p(),h):()=>{}}}},e.useDebounce=function(e){const{handler:n,wait:o=300,leading:i=!1,trailing:l=!0}=e;let r=null,s=null,a=null;const u=()=>{s&&(n.apply(a,s),s=null,a=null)};function c(){r&&(clearTimeout(r),r=null),s=null,a=null}return t.onUnmounted(()=>{c()}),{run:function(...e){s=e,a=this,r&&clearTimeout(r),t.unref(i)&&!r&&u(),r=setTimeout(()=>{t.unref(l)&&u(),r=null},t.unref(o))},cancel:c,flush:function(){r&&(clearTimeout(r),u(),r=null)},pending:function(){return null!==r}}},e.useDraggable=function(e={}){const{axis:n="both",constrain:o=!1,boundary:i,handle:l,grid:r,disabled:s=!1,onStart:a,onDrag:u,onEnd:c}=e,d=t.ref({x:0,y:0}),p=t.ref(!1);let v=null,m=null,h=0,g=0,y=0,b=0,w=0,x=0,_=0,E=0,L=0,k=0;function T(e){var n;if(t.unref(s))return;e.preventDefault();const{clientX:l,clientY:r}=qi(e);p.value=!0,h=l,g=r;const{x:u,y:c}=function(e){const t=e.match(/translate\(([-\d.]+)px,\s*([-\d.]+)px\)/);return t?{x:parseFloat(t[1]),y:parseFloat(t[2])}:{x:0,y:0}}(v.style.transform);if(y=u,b=c,t.unref(o)||i){const e=i?function(e){var t,n;if(!e)return null;if("function"==typeof e){const n=e();return null!=(t=null==n?void 0:n.getBoundingClientRect())?t:null}if("string"==typeof e){const t=document.querySelector(e);return null!=(n=null==t?void 0:t.getBoundingClientRect())?n:null}return e.getBoundingClientRect()}(i):null==(n=v.parentElement)?void 0:n.getBoundingClientRect();if(e){const t=v.getBoundingClientRect();w=t.left-e.left,x=t.top-e.top,_=e.width,E=e.height,L=t.width,k=t.height}}v.classList.add("v-draggable--dragging"),document.addEventListener("mousemove",C),document.addEventListener("mouseup",S),document.addEventListener("touchmove",C,{passive:!1}),document.addEventListener("touchend",S),null==a||a({x:y,y:b},e)}function C(e){if(!p.value||t.unref(s))return;e.preventDefault();const{clientX:l,clientY:a}=qi(e);let c=l-h,f=a-g;const m=t.unref(n);"x"===m?f=0:"y"===m&&(c=0);const T=t.unref(r);T&&(c=Math.round(c/T[0])*T[0],f=Math.round(f/T[1])*T[1]);let C=y+c,S=b+f;if(t.unref(o)||i){const e=w+c,t=x+f,n=_-L,o=E-k,i=Math.max(0,Math.min(e,n)),l=Math.max(0,Math.min(t,o));C=y+(i-w),S=b+(l-x)}v.style.transform=`translate(${C}px, ${S}px)`,d.value={x:C,y:S},null==u||u({x:C,y:S},e)}function S(e){p.value&&(p.value=!1,null==v||v.classList.remove("v-draggable--dragging"),document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",S),document.removeEventListener("touchmove",C),document.removeEventListener("touchend",S),null==c||c(__spreadValues({},d.value),e))}function D(){if(v){const e=m||v;e.removeEventListener("mousedown",T),e.removeEventListener("touchstart",T)}v=null,m=null}return t.onUnmounted(()=>{D()}),{position:t.readonly(d),isDragging:t.readonly(p),reset:function(){v&&(v.style.transform="translate(0px, 0px)",d.value={x:0,y:0})},bind:function(e){if(!f())return()=>{};D(),v=e,"static"===getComputedStyle(e).position&&(e.style.position="absolute"),m=l?e.querySelector(l):null;const t=m||e;return t.addEventListener("mousedown",T),t.addEventListener("touchstart",T,{passive:!1}),D}}},e.useEllipsis=function(e){const{text:n,lines:o=1,ellipsis:i="...",maxWidth:l=0}=e,r=t.ref(t.unref(n)),s=t.ref(""),a=t.ref(!1);return t.watch(()=>[t.unref(n),t.unref(o),t.unref(i),t.unref(l)],()=>function(){const e=t.unref(n),u=t.unref(o),c=t.unref(i),d=t.unref(l);if(r.value=e,!e)return s.value="",void(a.value=!1);if(d>0){const t=Ki(e,d,c);s.value=t,a.value=t!==e}else if(u>1){const t=function(e,t,n="..."){if(t<=0)return"";const o=80*t;return e.length<=o?e:e.slice(0,o-n.length)+n}(e,u,c);s.value=t,a.value=t!==e}else s.value=e,a.value=!1}(),{immediate:!0}),t.onUnmounted(()=>{}),{truncated:s,isTruncated:a,original:r,calculateForWidth:function(e){const o=t.unref(n),l=t.unref(i);return!o||e<=0?o||"":Ki(o,e,l)},wouldTruncate:function(e){const o=t.unref(n);return!(!o||e<=0)&&Gi(o)>e}}},e.useEmoji=function(e={}){const{strip:n=!0,allowList:o,blockList:i,replacement:l="",onEmoji:r}=e,s=t.ref("");let a=null,u=null,c=null;function d(e){if(!t.unref(n))return e;let s=e;if(i&&i.length>0){const t=i.map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),n=new RegExp(t,"gu");s=e.replace(n,l)}else if(o&&o.length>0)s=e.replace(Zi,t=>o.includes(t)?t:(null==r||r(t,e.indexOf(t)),l));else{const t=e.match(Zi);t&&t.forEach(t=>null==r?void 0:r(t,e.indexOf(t))),s=e.replace(Zi,l)}return s}function p(e){return Zi.test(e)}function v(e){const t=e.target,n=t.value,o=d(n);if(o!==n){const e=t.selectionStart||0,i=t.selectionEnd||0;t.value=o,s.value=o;const l=n.length-o.length;t.setSelectionRange(Math.max(0,e-l),Math.max(0,i-l)),t.dispatchEvent(new Event("input",{bubbles:!0}))}}function m(e){var o;if(!t.unref(n))return;const i=null==(o=e.clipboardData)?void 0:o.getData("text");if(i&&p(i)){e.preventDefault();const t=d(i),n=e.target,o=n.selectionStart||0,l=n.selectionEnd||0,r=n.value;n.value=r.substring(0,o)+t+r.substring(l),s.value=n.value,n.setSelectionRange(o+t.length,o+t.length),n.dispatchEvent(new Event("input",{bubbles:!0}))}}function h(){a&&(u&&a.removeEventListener("input",u),c&&a.removeEventListener("paste",c),a.classList.remove("v-emoji")),a=null,u=null,c=null}return t.onUnmounted(()=>{h()}),{value:s,stripEmojis:d,hasEmoji:p,bind:function(e){if(!f())return()=>{};if(h(),a=e,s.value=e.value,u=v,c=m,e.addEventListener("input",u),e.addEventListener("paste",c),e.classList.add("v-emoji"),e.value&&t.unref(n)){const t=d(e.value);t!==e.value&&(e.value=t,s.value=t)}return"boolean"!=typeof n&&t.watch(n,()=>{if(t.unref(n)&&a){const e=d(a.value);e!==a.value&&(a.value=e,s.value=e)}}),h}}},e.useExport=function(e){function n(n){var o,i,l;if(!1!==(null==(o=e.onBeforeExport)?void 0:o.call(e)))try{const o=t.unref(e.data),l=n||t.unref(e.format)||"csv",r=t.unref(e.filename)||"export";let s;switch(l){case"json":s=JSON.stringify(o,null,2);break;case"html":s=function(e,t){var n;if(!Array.isArray(e)||0===e.length)return"";const o=t.columns||Object.keys(e[0]),i=t.headers||{};let l='<table border="1">\n';if(!1!==t.includeHeaders){l+=" <thead>\n <tr>\n";for(const e of o)l+=` <th>${i[e]||e}</th>\n`;l+=" </tr>\n </thead>\n"}l+=" <tbody>\n";for(const t of e){l+=" <tr>\n";for(const e of o)l+=` <td>${null!=(n=t[e])?n:""}</td>\n`;l+=" </tr>\n"}return l+=" </tbody>\n</table>",l}(Array.isArray(o)?o:[o],e);break;case"txt":s="string"==typeof o?o:JSON.stringify(o,null,2);break;default:s=function(e,t){if(!Array.isArray(e)||0===e.length)return"";const n=t.delimiter||",",o=t.columns||Object.keys(e[0]),i=t.headers||{};return(!1!==t.includeHeaders?`${o.map(e=>i[e]||e).join(n)}\n`:"")+e.map(e=>o.map(t=>{const o=e[t];return"string"==typeof o&&(o.includes(n)||o.includes("\n")||o.includes('"'))?`"${o.replace(/"/g,'""')}"`:null!=o?o:""}).join(n)).join("\n")}(Array.isArray(o)?o:[o],e)}!function(e,t,n){const o=new Blob([e],{type:{csv:"text/csv;charset=utf-8;",json:"application/json;charset=utf-8;",txt:"text/plain;charset=utf-8;",html:"text/html;charset=utf-8;"}[n]}),i=URL.createObjectURL(o),l=document.createElement("a");l.href=i,l.download=`${t}.${n}`,document.body.appendChild(l),l.click(),document.body.removeChild(l),URL.revokeObjectURL(i)}(s,r,l),null==(i=e.onAfterExport)||i.call(e)}catch(t){null==(l=e.onError)||l.call(e,t)}}return{exportData:n,exportCSV:function(){n("csv")},exportJSON:function(){n("json")},exportHTML:function(){n("html")},exportText:function(){n("txt")}}},e.useFade=function(e={}){var n;const o=t.ref(null==(n=t.unref(e.visible))||n);let i=null,l=!1;function r(){var t;i&&!l&&(l=!0,null==(t=e.onStart)||t.call(e,"in"),i.style.display="",i.style.opacity=String(e.minOpacity||0),String(i.offsetHeight),requestAnimationFrame(()=>{i&&(i.style.transition=`opacity ${e.duration||300}ms ${e.easing||"ease"} ${e.delay||0}ms`,i.style.opacity=String(e.maxOpacity||1),setTimeout(()=>{var t;l=!1,o.value=!0,null==(t=e.onComplete)||t.call(e,"in")},(e.duration||300)+(e.delay||0)))}))}function s(){var t;i&&!l&&(l=!0,null==(t=e.onStart)||t.call(e,"out"),i.style.transition=`opacity ${e.duration||300}ms ${e.easing||"ease"} ${e.delay||0}ms`,i.style.opacity=String(e.minOpacity||0),setTimeout(()=>{var t;i&&(i.style.display="none",l=!1,o.value=!1,null==(t=e.onComplete)||t.call(e,"out"))},(e.duration||300)+(e.delay||0)))}function a(){o.value?s():r()}function u(){i&&i.classList.remove("v-fade"),i=null}return t.onUnmounted(()=>{u()}),{isVisible:o,fadeIn:r,fadeOut:s,toggle:a,bind:function(n){return f()?(u(),i=n,n.classList.add("v-fade"),n.style.transition=`opacity ${e.duration||300}ms ${e.easing||"ease"} ${e.delay||0}ms`,n.style.opacity=o.value?String(e.maxOpacity||1):String(e.minOpacity||0),o.value||(n.style.display="none"),"boolean"!=typeof e.visible&&e.visible&&t.watch(e.visible,e=>{e!==o.value&&a()}),u):()=>{}}}},e.useFocus=function(e={}){const{onFocus:n,onBlur:o}=e,i=t.ref(!1);let l=null,r=null,s=null;function a(){l&&(r&&l.removeEventListener("focus",r),s&&l.removeEventListener("blur",s)),l=null,r=null,s=null,i.value=!1}return t.onUnmounted(()=>{a()}),{isFocused:t.readonly(i),focus:function(){l&&function(e){if(!f())return!1;const t=e.tagName.toLowerCase();if(Ji.has(t))return!e.disabled;if(e.isContentEditable)return!0;const n=e.getAttribute("tabindex");return null!=n?"-1"!==n:("a"===t||"area"===t)&&e.hasAttribute("href")}(l)&&l.focus()},blur:function(){l&&l.blur()},bind:function(e){return f()?(a(),l=e,r=e=>{i.value=!0,null==n||n(e)},s=e=>{i.value=!1,null==o||o(e)},e.addEventListener("focus",r),e.addEventListener("blur",s),i.value=document.activeElement===e,a):()=>{}}}},e.useFullscreen=function(e={}){const{fullscreenClass:n="v-fullscreen--active",onEnter:o,onExit:i,onChange:l}=e,r=t.ref(!1);let s=null,a=[];function u(){return __async(this,null,function*(){s&&!r.value&&(yield function(e){return __async(this,null,function*(){e.requestFullscreen?yield e.requestFullscreen():e.webkitRequestFullscreen?yield e.webkitRequestFullscreen():e.mozRequestFullScreen?yield e.mozRequestFullScreen():e.msRequestFullscreen&&(yield e.msRequestFullscreen())})}(s))})}function c(){return __async(this,null,function*(){r.value&&(yield function(){return __async(this,null,function*(){document.exitFullscreen?yield document.exitFullscreen():document.webkitExitFullscreen?yield document.webkitExitFullscreen():document.mozCancelFullScreen?yield document.mozCancelFullScreen():document.msExitFullscreen&&(yield document.msExitFullscreen())})}())})}function d(){const e=r.value;r.value=(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||null)===s,e!==r.value&&(r.value?(null==s||s.classList.add(n),null==o||o()):(null==s||s.classList.remove(n),null==i||i()),null==l||l(r.value))}function p(){s&&(s.classList.remove("v-fullscreen"),s.classList.remove(n)),a.forEach(e=>{document.removeEventListener("fullscreenchange",e),document.removeEventListener("webkitfullscreenchange",e),document.removeEventListener("mozfullscreenchange",e),document.removeEventListener("MSFullscreenChange",e)}),s=null,a=[]}return t.onUnmounted(()=>{r.value&&c(),p()}),{isFullscreen:r,enter:u,exit:c,toggle:function(){return __async(this,null,function*(){r.value?yield c():yield u()})},bind:function(e){return f()&&(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled)?(p(),s=e,e.classList.add("v-fullscreen"),a=[d,d,d,d],document.addEventListener("fullscreenchange",a[0]),document.addEventListener("webkitfullscreenchange",a[1]),document.addEventListener("mozfullscreenchange",a[2]),document.addEventListener("MSFullscreenChange",a[3]),p):()=>{}}}},e.useHighlight=function(e){const n=t.ref(0);let o=null,i="";function l(){if(!o)return;o.innerHTML=i;const{html:l,count:r}=function(e,n){const o=t.unref(n.keywords),i=Array.isArray(o)?o:[o];if(0===i.length||!e)return{html:e,count:0};const l=n.caseSensitive||!1,r=n.wholeWord||!1,s=n.tag||"mark",a=n.className||"v-highlight",u=n.style?` style="${n.style}"`:"";i.sort((e,t)=>t.length-e.length);let c=e,d=0;for(const e of i){if(!e)continue;const t=Qi(e),n=r?"\\b":"",o=new RegExp(`${n}${t}${n}`,l?"g":"gi");c=c.replace(o,e=>(d++,`<${s} class="${a}"${u}>${e}</${s}>`))}return{html:c,count:d}}(i,e);o.innerHTML=l,n.value=r}function r(){o&&(o.innerHTML=i),o=null}return t.onUnmounted(()=>{r()}),{count:n,updateKeywords:function(t){e.keywords=t,l()},bind:function(n){return f()?(r(),o=n,i=n.innerHTML,"string"==typeof e.keywords||Array.isArray(e.keywords)||t.watch(e.keywords,()=>{l()}),l(),r):()=>{}}}},e.useHotkey=function(e={}){const{hotkey:n,hotkeys:o=[],target:i,enabled:l=!0}=e,r=t.ref(t.unref(l)),s=new Map;let a=null,u=null,c=null;function d(e){const t=nl(e.key).key.toLowerCase();s.has(t)||s.set(t,[]),s.get(t).push(e)}function p(e,n){if(!r.value)return;const o=e.key.toLowerCase(),i=s.get(o);if(i)for(const o of i){if(t.unref(o.disabled))continue;if(!!o.keyup!==n)continue;if(ol(e,nl(o.key))){!1!==o.prevent&&e.preventDefault(),o.stop&&e.stopPropagation(),o.handler(e);break}}}function v(){f()&&(m(),a=i?t.unref(i):document,u=e=>p(e,!1),c=e=>p(e,!0),null==a||a.addEventListener("keydown",u),null==a||a.addEventListener("keyup",c))}function m(){a&&(u&&a.removeEventListener("keydown",u),c&&a.removeEventListener("keyup",c)),a=null,u=null,c=null}return n&&d(n),o.forEach(d),t.watch(r,e=>{e?v():m()}),i&&"object"==typeof i&&"value"in i&&t.watch(i,()=>{r.value&&v()}),r.value&&v(),t.onUnmounted(()=>{m()}),{enabled:r,enable:function(){r.value=!0},disable:function(){r.value=!1},toggle:function(){r.value=!r.value},add:d,remove:function(e){s.delete(e.toLowerCase())},clear:function(){s.clear()}}},e.useHover=function(e={}){const{onEnter:n,onLeave:o,class:i,enterDelay:l=0,leaveDelay:r=0}=e,s=t.ref(!1);let a=null,u=null,c=null;function d(){a&&(clearTimeout(a),a=null),u&&(clearTimeout(u),u=null)}function p(e){if(u&&(clearTimeout(u),u=null),s.value)return;const o=t.unref(l);o&&o>0?a=setTimeout(()=>{s.value=!0,m(),null==n||n(e),a=null},o):(s.value=!0,m(),null==n||n(e))}function v(e){if(a&&(clearTimeout(a),a=null),!s.value)return;const n=t.unref(r);n&&n>0?u=setTimeout(()=>{s.value=!1,h(),null==o||o(e),u=null},n):(s.value=!1,h(),null==o||o(e))}function m(){c&&i&&c.classList.add(i)}function h(){c&&i&&c.classList.remove(i)}return t.onUnmounted(()=>{d(),h()}),{isHovering:s,bind:function(e){return f()?(c=e,e.addEventListener("mouseenter",p),e.addEventListener("mouseleave",v),()=>{e.removeEventListener("mouseenter",p),e.removeEventListener("mouseleave",v),d(),h(),c=null}):()=>{}}}},e.useImagePreview=function(e={}){const{src:n,closeOnClickOutside:o=!0,closeOnEsc:i=!0,showCloseButton:l=!0,onOpen:r,onClose:s}=e,a=t.ref(!1),u=t.ref("");let c=null,d=null,p=null,v=null;function m(e){if(!f())return;const t=e||(n&&"object"==typeof n?n.value:n);if(!t&&!c)return;const s=t||c.src;u.value=s,d=function(){const e=document.createElement("div");return e.className="v-image-preview",e.style.cssText="\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 9999;\n background: rgba(0, 0, 0, 0.9);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: zoom-out;\n ",e}();const m=document.createElement("img");if(m.src=s,m.style.cssText="\n max-width: 90%;\n max-height: 90%;\n object-fit: contain;\n cursor: default;\n ",l){const e=document.createElement("button");e.className="v-image-preview__close",e.innerHTML="&times;",e.style.cssText="\n position: absolute;\n top: 20px;\n right: 20px;\n width: 40px;\n height: 40px;\n border: none;\n background: rgba(255, 255, 255, 0.2);\n color: white;\n font-size: 24px;\n cursor: pointer;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n ",e.addEventListener("click",e=>{e.stopPropagation(),h()}),d.appendChild(e)}d.appendChild(m),document.body.appendChild(d),o&&(p=h,d.addEventListener("click",p)),i&&(v=e=>{"Escape"===e.key&&h()},document.addEventListener("keydown",v)),a.value=!0,null==r||r()}function h(){d&&(d.remove(),d=null),p&&(document.removeEventListener("click",p),p=null),v&&(document.removeEventListener("keydown",v),v=null),a.value=!1,u.value="",null==s||s()}function g(){c&&m(c.src)}function y(){c&&(c.style.cursor="",c.removeEventListener("click",g)),c=null}return t.onUnmounted(()=>{y(),h()}),{isOpen:t.readonly(a),currentSrc:t.readonly(u),open:m,close:h,bind:function(e){return f()?(y(),c=e,e.style.cursor="zoom-in",e.addEventListener("click",g),y):()=>{}}}},e.useInfiniteScroll=function(e){const{onLoad:n,loading:o,finished:i,distance:l=0,immediate:r=!0,disabled:s=!1}=e,a=t.ref(!1),u=t.ref(!1),c=o||a,d=i||u;let p=null,v=null,m=null,g=null;function y(){return __async(this,null,function*(){if(!(t.unref(c)||t.unref(d)||t.unref(s))){a.value=!0;try{yield n()}finally{a.value=!1}}})}function b(){if(!p||t.unref(c)||t.unref(d)||t.unref(s))return;const e=t.unref(l);let n,o;if(p===window)n=document.documentElement.scrollHeight-window.scrollY,o=window.innerHeight;else{const e=p;n=e.scrollHeight-e.scrollTop,o=e.clientHeight}n<=o+e&&y()}function w(){m&&(m.disconnect(),m=null),g&&(g.remove(),g=null),p&&v&&p.removeEventListener("scroll",v),p=null,v=null}return t.onUnmounted(()=>{w()}),{loading:t.readonly(c),finished:t.readonly(d),load:y,bind:function(e){if(!f())return()=>{};if(w(),h()){g=document.createElement("div"),g.style.cssText="height: 1px; width: 100%; visibility: hidden;",e.appendChild(g);const n=M(e),o=n instanceof Window?null:n;m=new IntersectionObserver(e=>{e[0].isIntersecting&&y()},{root:o,rootMargin:`${t.unref(l)}px`}),m.observe(g)}else p=M(e),v=b,p.addEventListener("scroll",v);return r&&y(),w},stop:w}},e.useIntersect=function(e={}){const{handler:n,onEnter:o,onLeave:i,onChange:l,root:r=null,rootMargin:s="0px",threshold:a=0,once:u=!1}=e,c=t.ref(!1),d=t.ref(0);let p=null,v=!1;function m(){p&&(p.disconnect(),p=null),c.value=!1,d.value=0}return t.onUnmounted(()=>{m()}),{isIntersecting:t.readonly(c),ratio:t.readonly(d),bind:function(e){return f()?(m(),p=f()&&h()?new IntersectionObserver(e=>{for(const t of e){if(u&&v)continue;const e=t.isIntersecting;c.value=e,d.value=t.intersectionRatio,null==n||n(t,p),null==l||l(e,t),e?(null==o||o(t,p),u&&(v=!0)):null==i||i(t,p)}},{root:t.unref(r),rootMargin:s,threshold:a}):(console.warn("[Directix] useIntersect: IntersectionObserver not supported"),null),p&&p.observe(e),m):()=>{}},stop:m}},e.useLazy=function(e={}){const{src:n,placeholder:o,error:i,preload:l=0,onLoad:r,onError:s,attempt:a=1}=e,u=t.ref("pending"),c=t.ref(!1),d=t.ref(!1),p=t.ref(!1);let v=null,m=0,g=null;function y(){const e=t.unref(n);if(!e||!v)return;if("loading"===u.value)return;u.value="loading",c.value=!0;const o=new Image;o.onload=()=>{ll(v,e),u.value="loaded",c.value=!1,d.value=!0,p.value=!1,null==v||v.classList.remove("v-lazy--loading"),null==v||v.classList.add("v-lazy--loaded"),null==r||r(v)},o.onerror=()=>{null==v||v.classList.remove("v-lazy--loading"),m++,m<a?setTimeout(()=>y(),1e3*m):(i&&v&&ll(v,i),u.value="error",c.value=!1,p.value=!0,null==v||v.classList.add("v-lazy--error"),null==s||s(v,new Error("Failed to load image")))},v.classList.add("v-lazy--loading"),o.src=e}function b(){v&&(g&&g.unobserve(v),delete v.__lazyLoad,v.classList.remove("v-lazy","v-lazy--loading","v-lazy--loaded","v-lazy--error")),v=null}return t.onUnmounted(()=>{b()}),{state:t.readonly(u),isLoading:t.readonly(c),isLoaded:t.readonly(d),hasError:t.readonly(p),bind:function(e){return f()?(b(),v=e,m=0,u.value="pending",e.classList.add("v-lazy"),o&&ll(e,o),e.__lazyLoad=y,h()?(g=function(e){return il||(il=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){const t=e.target,n=t.__lazyLoad;n&&(n(),null==il||il.unobserve(t))}})},{rootMargin:`${e}px`}),il)}(l),g.observe(e),b):(y(),b)):()=>{}},load:y,reset:function(){u.value="pending",c.value=!1,d.value=!1,p.value=!1,m=0}}},e.useLoading=function(e={}){const{initial:n=!1,text:o,loadingClass:i="v-loading",spinnerClass:l="v-loading__spinner",textClass:r="v-loading__text",spinner:s,background:a="rgba(255, 255, 255, 0.9)",lock:u=!1}=e,c=t.ref(t.unref(n));let d=null,p=null,v="",m="";function h(){d&&!p&&(p=function(e){const t=document.createElement("div");t.className=e.loadingClass||"v-loading",t.style.cssText=`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1000;\n background: ${e.background||"rgba(255, 255, 255, 0.9)"};\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n `;const n=e.spinner||'\n<svg class="v-loading__circular" viewBox="25 25 50 50">\n <circle class="v-loading__path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"/>\n</svg>\n',o=document.createElement("div");if(o.className=e.spinnerClass||"v-loading__spinner",o.innerHTML=n,t.appendChild(o),e.text){const n=document.createElement("div");n.className=e.textClass||"v-loading__text",n.textContent=e.text,t.appendChild(n)}return t}({text:t.unref(o),loadingClass:i,spinnerClass:l,textClass:r,spinner:s,background:a}),d.appendChild(p),u&&(d.style.overflow="hidden"),d.classList.add("v-loading--active"))}function g(){d&&p&&(p.remove(),p=null,u&&(d.style.overflow=m),d.classList.remove("v-loading--active"))}function y(){g(),d&&(d.style.position=v,d.style.overflow=m),d=null}return t.watch(c,e=>{e?h():g()}),"object"==typeof o&&"value"in o&&t.watch(o,e=>{if(p){const t=p.querySelector(`.${r}`);t&&(t.textContent=e||"")}}),t.onUnmounted(()=>{y()}),{loading:c,start:function(){c.value=!0},stop:function(){c.value=!1},toggle:function(){c.value=!c.value},bind:function(e){return f()?(y(),d=e,v=e.style.position,m=e.style.overflow,"static"===getComputedStyle(e).position&&(e.style.position="relative"),c.value&&h(),y):()=>{}}}},e.useLongPress=function(e={}){const{duration:n=500,distance:o=10,onStart:i,onTrigger:l,onCancel:r,onTick:s,tickInterval:a=100,prevent:u=!0}=e,c=t.ref(!1);let d=null,p=null,v={x:0,y:0},m=!1;function h(e){if(!f())return;u&&e.preventDefault(),b();const o=A(e);if(v={x:o.x,y:o.y},m=!0,c.value=!0,null==i||i(e),s){let e=t.unref(n);p=setInterval(()=>{e-=a,null==s||s(Math.max(0,e))},a)}d=setTimeout(()=>{b(),c.value=!1,null==l||l(e)},t.unref(n))}function g(e){c.value&&(b(),m=!1,c.value=!1,null==r||r(e))}function y(e){if(!c.value||!m)return;const n=A(e);var i,l;(i=v,l={x:n.x,y:n.y},Math.sqrt(__pow(l.x-i.x,2)+__pow(l.y-i.y,2)))>t.unref(o)&&g(e)}function b(){d&&(clearTimeout(d),d=null),p&&(clearInterval(p),p=null)}return t.onUnmounted(()=>{b()}),{isPressing:c,start:h,stop:g,bind:function(e){return e.addEventListener("mousedown",h),e.addEventListener("mouseup",g),e.addEventListener("mouseleave",g),e.addEventListener("mousemove",y),e.addEventListener("touchstart",h,{passive:!u}),e.addEventListener("touchend",g),e.addEventListener("touchcancel",g),e.addEventListener("touchmove",y,{passive:!0}),()=>{e.removeEventListener("mousedown",h),e.removeEventListener("mouseup",g),e.removeEventListener("mouseleave",g),e.removeEventListener("mousemove",y),e.removeEventListener("touchstart",h),e.removeEventListener("touchend",g),e.removeEventListener("touchcancel",g),e.removeEventListener("touchmove",y),b()}}}},e.useLottie=function(e){const n=t.ref("stopped"),o=t.shallowRef(null);let i=null,l=null;function r(){return __async(this,null,function*(){const i=yield function(){return __async(this,null,function*(){if(window.lottie)return window.lottie;try{const e=yield import("lottie-web");return window.lottie=e.default||e,e.default||e}catch(e){return console.warn("[Directix] useLottie: lottie-web not found. Install: npm install lottie-web"),null}})}();if(!i||!l)return;const r=t.unref(e.animationData),s={container:l,renderer:e.renderer||"svg",loop:!1!==e.loop,autoplay:!1!==e.autoplay};"string"==typeof r&&r.startsWith("http")?s.path=r:s.animationData=r,o.value=i.loadAnimation(s),void 0!==e.speed&&o.value.setSpeed(t.unref(e.speed)),void 0!==e.direction&&o.value.setDirection(e.direction),n.value=!1!==e.autoplay?"playing":"stopped",o.value.addEventListener("DOMLoaded",()=>{var t;null==(t=e.onReady)||t.call(e,o.value)}),o.value.addEventListener("complete",()=>{var t;n.value="stopped",null==(t=e.onComplete)||t.call(e)}),o.value.addEventListener("loopComplete",()=>{var t;null==(t=e.onLoopComplete)||t.call(e)})})}function s(){o.value&&(o.value.destroy(),o.value=null),l&&l.parentNode&&l.parentNode.removeChild(l),i&&i.classList.remove("v-lottie-container"),l=null,i=null,n.value="stopped"}return t.onUnmounted(()=>{s()}),{state:n,animation:o,play:function(){var e;null==(e=o.value)||e.play(),n.value="playing"},pause:function(){var e;null==(e=o.value)||e.pause(),n.value="paused"},stop:function(){var e;null==(e=o.value)||e.stop(),n.value="stopped"},setSpeed:function(e){var t;null==(t=o.value)||t.setSpeed(e)},setDirection:function(e){var t;null==(t=o.value)||t.setDirection(e)},goToAndPlay:function(e,t=!0){var i;null==(i=o.value)||i.goToAndPlay(e,t),n.value="playing"},goToAndStop:function(e,t=!0){var i;null==(i=o.value)||i.goToAndStop(e,t),n.value="paused"},bind:function(n){return f()?(s(),i=n,l=document.createElement("div"),l.className="v-lottie",l.style.cssText="width: 100%; height: 100%;",n.appendChild(l),n.classList.add("v-lottie-container"),r(),"number"!=typeof e.speed&&e.speed&&t.watch(e.speed,e=>{var t;null==(t=o.value)||t.setSpeed(e)}),s):()=>{}}}},e.useLowercase=function(e){const{text:n,first:o=!1}=e,i=t.ref(t.unref(n)),l=t.ref("");return t.watch(()=>[t.unref(n),t.unref(o)],()=>function(){const e=t.unref(n),r=t.unref(o);i.value=e,l.value=rl(e,r)}(),{immediate:!0}),{transformed:l,original:i}},e.useMask=function(e){const{mask:n,placeholder:o="_",showPlaceholder:i=!0,showMaskOnBlur:l=!1,clearIncomplete:r=!1,disabled:s=!1,onChange:a,onComplete:u}=e;let c=null,d=null,p=null,v=null;function m(){return function(e,t){return[...e].map(e=>{const n=sl[e];return n?{pattern:n,placeholder:t,isLiteral:!1}:{pattern:new RegExp(`\\${e}`),placeholder:e,isLiteral:!0}})}(t.unref(n),o)}function h(e,t,n){let i="",l=0;for(const r of t){if(l>=e.length){i+=r.isLiteral?r.placeholder:n?o:"";continue}const t=e[l];r.isLiteral?(t===r.placeholder&&l++,i+=r.placeholder):r.pattern.test(t)?(i+=t,l++):t===o?(i+=n?o:"",l++):l++}return i}function g(e,t){let n="";for(let i=0;i<e.length&&i<t.length;i++)t[i].isLiteral||e[i]===o||(n+=e[i]);return n}function y(e,t){for(let n=0;n<t.length;n++)if(!t[n].isLiteral&&(n>=e.length||e[n]===o))return!1;return!0}function b(e,t){let n=t;for(;n<e.length&&e[n].isLiteral;)n++;return Math.min(n,e.length)}function w(e){const t=e.target,n=m(),o=t.value,l=t.selectionStart||0,r=h(o,n,i);if(r!==o)return t.value=r,t.setSelectionRange(b(n,l),b(n,l)),void t.dispatchEvent(new Event("input",{bubbles:!0}));null==a||a(r,g(r,n)),y(r,n)&&(null==u||u(r))}function x(){if(!c)return;const e=m();!c.value&&i&&(c.value=h("",e,!0))}function _(){if(!c)return;const e=m();l||y(c.value,e)||!r||(c.value="")}function E(){c&&(d&&c.removeEventListener("input",d),p&&c.removeEventListener("focus",p),v&&c.removeEventListener("blur",v)),c=null,d=null,p=null,v=null}return t.onUnmounted(()=>{E()}),{getFormattedValue:e=>h(e,m(),i),getRawValue:e=>g(e,m()),isComplete:e=>y(e,m()),bind:function(e){if(!f())return()=>{};if(E(),c=e,d=w,p=x,v=_,e.addEventListener("input",d),e.addEventListener("focus",p),e.addEventListener("blur",v),e.value){const t=m();e.value=h(e.value,t,i)}return E}}},e.useMoney=function(e){const{value:n,symbol:o="$",symbolPosition:i="before",precision:l=2,separator:r=",",decimal:s="."}=e,a=t.ref(t.unref(n)),u=t.computed(()=>al(a.value,{precision:t.unref(l),separator:t.unref(r),decimal:t.unref(s),symbol:t.unref(o),symbolPosition:t.unref(i)}));return t.watch(()=>t.unref(n),e=>{a.value=e}),{value:a,formatted:u,parse:function(e){return ul(e,{decimal:t.unref(s),symbol:t.unref(o)})}}},e.useMutation=function(e){const{handler:n,attributes:o=!1,attributeFilter:i,childList:l=!0,subtree:r=!1,characterData:s=!1,attributeOldValue:a=!1,characterDataOldValue:u=!1,disabled:c=!1}=e;let d=null,p=null;function v(){d&&p&&!t.unref(c)&&p.observe(d,{attributes:o,attributeFilter:i,childList:l,subtree:r,characterData:s,attributeOldValue:a,characterDataOldValue:u})}function m(){p&&p.disconnect()}return t.onUnmounted(()=>{m(),p=null,d=null}),{bind:function(e){return f()?(m(),d=e,p=f()&&b()?new MutationObserver((e,o)=>{t.unref(c)||n(e,o)}):(console.warn("[Directix] useMutation: MutationObserver not supported"),null),p&&!t.unref(c)&&v(),m):()=>{}},stop:m,start:v}},e.useNumber=function(e){const{value:n,precision:o=0,separator:i=",",decimal:l=".",prefix:r="",suffix:s=""}=e,a=t.ref(t.unref(n)),u=t.computed(()=>cl(a.value,{precision:t.unref(o),separator:t.unref(i),decimal:t.unref(l),prefix:t.unref(r),suffix:t.unref(s)}));return t.watch(()=>t.unref(n),e=>{a.value=e}),{value:a,formatted:u,parse:function(e){return dl(e,{decimal:t.unref(l),prefix:t.unref(r),suffix:t.unref(s)})}}},e.usePan=function(e={}){const{onStart:n,onPan:o,onEnd:i,threshold:l=10,direction:r="all",preventDefault:s=!0,pointers:a=["touch","mouse"]}=e,u=t.ref(!1),c=t.ref(null),d=t.ref(0);let p=null,v=0,m=0,h=0,g=0,y=0,b={};function w(e,t=!1,n=!1){const o=h-v,i=g-m,l=Math.sqrt(o*o+i*i),r=Date.now()-y;return{direction:fl(o,i),deltaX:o,deltaY:i,distance:l,x:h,y:g,startX:v,startY:m,isPanning:u.value,isFirst:t,isFinal:n,velocity:l/(r||1)}}function x(e){const t=vl(e);v=t.x,m=t.y,h=t.x,g=t.y,u.value=!1,y=Date.now(),s&&e.preventDefault()}function _(e){const t=e,i=vl(t);h=i.x,g=i.y;const a=h-v,p=g-m,f=Math.sqrt(a*a+p*p);if(!u.value&&f<l)return;const y=fl(a,p);if(!function(e,t){return!t||"all"===t||("horizontal"===t?"left"===e||"right"===e:"up"===e||"down"===e)}(y,r))return;s&&e.preventDefault();const b=u.value;u.value=!0,c.value=y,d.value=f;const x=w(0,!b);b||null==n||n(x),null==o||o(x)}function E(e){if(!u.value)return;const t=w(0,!1,!0);null==i||i(t),u.value=!1,c.value=null,d.value=0}function L(){p&&(Object.entries(b).forEach(([e,t])=>{!e.startsWith("mouse")||"mousemove"!==e&&"mouseup"!==e?null==p||p.removeEventListener(e,t):document.removeEventListener(e,t)}),p.classList.remove("v-pan")),p=null,b={}}return t.onUnmounted(()=>{L()}),{isPanning:u,direction:c,distance:d,bind:function(e){return f()?(L(),p=e,a.includes("touch")&&(b.touchstart=x,b.touchmove=_,b.touchend=E,b.touchcancel=E,e.addEventListener("touchstart",b.touchstart,{passive:!1}),e.addEventListener("touchmove",b.touchmove,{passive:!1}),e.addEventListener("touchend",b.touchend),e.addEventListener("touchcancel",b.touchcancel)),a.includes("mouse")&&(b.mousedown=x,b.mousemove=_,b.mouseup=E,e.addEventListener("mousedown",b.mousedown),document.addEventListener("mousemove",b.mousemove),document.addEventListener("mouseup",b.mouseup)),e.classList.add("v-pan"),L):()=>{}}}},e.useParallax=function(e={}){const n=t.ref(0),o=t.ref(!1);let i=null,l=null,r=null,s=!1;function a(){var l;!t.unref(e.enabled)||(l=e.mobileBreakpoint)&&window.innerWidth<l||(s||(s=!0,requestAnimationFrame(()=>{if(!i)return;const l=i.getBoundingClientRect(),r=window.innerHeight;if(o.value=l.top<r&&l.bottom>0,o.value){const o=window.scrollY;let r=(o-(l.top+o))*(t.unref(e.speed)||.5);e.reverse&&(r=-r),n.value=r,e.transform?i.style.transform=e.transform(r,i):e.horizontal?i.style.transform=`translateX(${r}px)`:i.style.transform=`translateY(${r}px)`}s=!1})))}function u(){r&&l&&(r.removeEventListener("scroll",l),window.removeEventListener("resize",l)),i&&(i.style.willChange="",i.style.transform="",i.classList.remove("v-parallax")),i=null,l=null,r=null}return t.onUnmounted(()=>{u()}),{offset:n,isActive:o,bind:function(e){return f()?(u(),i=e,e.style.willChange="transform",l=a,r=function(e){let t=e.parentElement;for(;t;){const{overflow:e,overflowX:n,overflowY:o}=getComputedStyle(t);if(/(auto|scroll)/.test(e+n+o))return t;t=t.parentElement}return window}(e),r.addEventListener("scroll",l,{passive:!0}),window.addEventListener("resize",l,{passive:!0}),a(),e.classList.add("v-parallax"),u):()=>{}}}},e.usePermission=function(e){const{value:n,mode:o="some",check:i,getPermissions:l,getRoles:r,roleMap:s={}}=e,a=t.ref(!1);function u(){a.value=function(){if(i)return i(t.unref(n),t.unref(o));if(!l)return console.warn("[Directix] usePermission: getPermissions function is required"),!0;const e=l(),a=(null==r?void 0:r())||[],u=Array.isArray(t.unref(n))?t.unref(n):[t.unref(n)];function c(t){if(t in s)return a.includes(t);if(ml(t,e))return!0;for(const e of a)if(ml(t,s[e]||[]))return!0;return!1}return"every"===t.unref(o)?u.every(c):u.some(c)}()}return t.watch(()=>t.unref(n),()=>u(),{immediate:!0}),"object"==typeof o&&"value"in o&&t.watch(o,()=>u()),{granted:t.readonly(a),recheck:u}},e.usePinch=function(e={}){const{onStart:n,onPinch:o,onEnd:i,minScale:l,maxScale:r,enableTransform:s=!1}=e,a=t.ref(!1),u=t.ref(1);let c=null,d=0,p=0,v=1,m="",h={};function g(e,t=!1,n=!1){const o=0===(i=e.touches).length?{x:0,y:0}:i.length<2?{x:i[0].clientX,y:i[0].clientY}:{x:(i[0].clientX+i[1].clientX)/2,y:(i[0].clientY+i[1].clientY)/2};var i;return{scale:d>0?p/d:1,distance:p,initialDistance:d,centerX:o.x,centerY:o.y,isPinching:a.value,isFirst:t,isFinal:n}}function y(e){const t=e;if(2===t.touches.length){if(d=hl(t.touches),p=d,a.value=!1,s&&c){const e=getComputedStyle(c).transform,t=new DOMMatrix(e);v=t.a,m=c.style.transition,c.style.transition="none"}e.preventDefault()}}function b(e){const t=e;if(2!==t.touches.length)return;if(p=hl(t.touches),d<=0)return;const i=p/d;if(void 0!==l&&i<l)return;if(void 0!==r&&i>r)return;e.preventDefault();const f=a.value;a.value=!0,u.value=i;const m=g(t,!f);f||null==n||n(m),s&&c&&(c.style.transform=`scale(${v*i})`),null==o||o(m)}function w(e){if(!a.value)return;s&&c&&(c.style.transition=m);const t=g({touches:{length:0,item:()=>null}},!1,!0);null==i||i(t),a.value=!1,d=0,p=0}function x(){c&&(Object.entries(h).forEach(([e,t])=>{null==c||c.removeEventListener(e,t)}),c.classList.remove("v-pinch")),c=null,h={}}return t.onUnmounted(()=>{x()}),{isPinching:a,scale:u,bind:function(e){return f()?(x(),c=e,h={touchstart:y,touchmove:b,touchend:w,touchcancel:w},e.addEventListener("touchstart",h.touchstart,{passive:!1}),e.addEventListener("touchmove",h.touchmove,{passive:!1}),e.addEventListener("touchend",h.touchend),e.addEventListener("touchcancel",h.touchcancel),e.classList.add("v-pinch"),x):()=>{}}}},e.usePrint=bl,e.useProgress=function(e={}){var n,o,i;const l=t.ref(null!=(n=t.unref(e.value))?n:0),r=null!=(o=e.max)?o:100,s=null!=(i=e.min)?i:0,a=t.computed(()=>(Math.max(s,Math.min(r,l.value))-s)/(r-s)*100);let u=null,c=null,d=null,p=null;function v(){if(!u)return;!function(){if(!f())return;const e="v-progress-styles";if(document.getElementById(e))return;const t=document.createElement("style");t.id=e,t.textContent="\n @keyframes v-progress-stripes {\n from { background-position: 1rem 0; }\n to { background-position: 0 0; }\n }\n @keyframes v-progress-indeterminate {\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(400%); }\n }\n .v-progress--indeterminate {\n position: absolute;\n width: 30% !important;\n }\n ",document.head.appendChild(t)}();const n=e.height||4,o=e.color||"#42b883",i=e.backgroundColor||"rgba(0, 0, 0, 0.1)",l=e.duration||300;c=document.createElement("div"),c.className="v-progress",c.style.cssText=`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: ${n}px;\n background: ${i};\n overflow: hidden;\n z-index: 1000;\n `,d=document.createElement("div"),d.className="v-progress__bar";let r=`\n height: 100%;\n background: ${o};\n transition: width ${l}ms ease;\n width: ${a.value}%;\n `;e.striped&&(r+="\n background-image: linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n background-size: 1rem 1rem;\n "),d.style.cssText=r,t.unref(e.indeterminate)?(d.classList.add("v-progress--indeterminate"),d.style.width="30%",d.style.animation="v-progress-indeterminate 1.5s infinite linear"):e.animated&&(d.style.animation="v-progress-stripes 1s linear infinite"),c.appendChild(d),e.showText&&(p=document.createElement("span"),p.className="v-progress__text",p.style.cssText=`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: ${Math.max(n-2,10)}px;\n color: #fff;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);\n `,p.textContent=`${Math.round(a.value)}%`,c.appendChild(p)),u.appendChild(c)}function m(){var n,o;d&&(t.unref(e.indeterminate)||(d.style.width=`${a.value}%`,p&&(p.textContent=`${Math.round(a.value)}%`),null==(n=e.onChange)||n.call(e,l.value,a.value),a.value>=100&&(null==(o=e.onComplete)||o.call(e))))}function h(e){l.value=Math.max(s,Math.min(r,e)),m()}function g(){c&&c.parentNode&&c.parentNode.removeChild(c),u&&u.classList.remove("v-progress-container"),c=null,d=null,p=null,u=null}return t.onUnmounted(()=>{g()}),{value:l,percent:a,setValue:h,increment:function(e=1){h(l.value+e)},decrement:function(e=1){h(l.value-e)},reset:function(){h(s)},bind:function(n){return f()?(g(),u=n,"static"===getComputedStyle(n).position&&(n.style.position="relative"),v(),n.classList.add("v-progress-container"),"boolean"!=typeof e.indeterminate&&e.indeterminate&&t.watch(e.indeterminate,t=>{d&&(t?(d.classList.add("v-progress--indeterminate"),d.style.width="30%",d.style.animation="v-progress-indeterminate 1.5s infinite linear"):(d.classList.remove("v-progress--indeterminate"),d.style.animation=e.animated?"v-progress-stripes 1s linear infinite":"",m()))}),g):()=>{}}}},e.usePullRefresh=function(e){const{handler:n,distance:o=60,maxDistance:i=100,disabled:l=!1,successDuration:r=500,errorDuration:s=1e3}=e,a=t.ref("idle"),u=t.ref(0),c=t.ref(!1),d=t.ref(null);let p=0,f=0;const v=()=>t.unref(o),m=()=>t.unref(l);function h(){a.value="idle",u.value=0,c.value=!1}function g(){return __async(this,null,function*(){a.value="loading";try{yield n(),a.value="success",yield wl(t.unref(r))}catch(e){a.value="error",yield wl(t.unref(s))}finally{h()}})}return t.onUnmounted(()=>{h()}),{state:a,distance:u,isPulling:c,events:{touchstart:function(e){if(m()||"loading"===a.value)return;const t=d.value;t&&t.scrollTop>0||(c.value=!0,p=e.touches[0].clientY,f=p,a.value="idle")},touchmove:function(e){if(!c.value||m()||"loading"===a.value)return;f=e.touches[0].clientY;const n=f-p;if(n<=0)return u.value=0,void(a.value="idle");e.preventDefault();const o=Math.min(.5*n,t.unref(i));u.value=o;const l=o/v();a.value=l>=1?"ready":"pulling"},touchend:function(){c.value&&!m()&&(c.value=!1,"ready"===a.value&&u.value>=v()?g():(u.value=0,h()))}},containerRef:d,refresh:g}},e.useResize=function(e={}){const{debounce:n=0,box:o="content-box",onResize:i}=e,l=t.ref(0),r=t.ref(0);let s=null,a=null,u=null;function c(e){const o=t.unref(n);function s(){l.value=e.contentRect.width,r.value=e.contentRect.height,null==i||i({width:e.contentRect.width,height:e.contentRect.height,contentRect:e.contentRect})}o&&o>0?(a&&clearTimeout(a),a=setTimeout(s,o)):s()}function d(){s&&(s.disconnect(),s=null),u&&(u.remove(),u=null),a&&(clearTimeout(a),a=null)}return t.onUnmounted(()=>{d()}),{width:t.readonly(l),height:t.readonly(r),bind:function(e){if(!f())return()=>{};d();const t=e.getBoundingClientRect();if(l.value=t.width,r.value=t.height,g())f()&&g()&&(s=new ResizeObserver(e=>{for(const t of e)c(t)})),null==s||s.observe(e,{box:o});else{u=document.createElement("iframe"),u.style.cssText="\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: none;\n pointer-events: none;\n opacity: 0;\n ";"static"===getComputedStyle(e).position&&(e.style.position="relative"),e.appendChild(u);const t=u.contentWindow;t&&t.addEventListener("resize",()=>{c({contentRect:e.getBoundingClientRect()})})}return d},stop:d}},e.useRipple=function(e={}){const{color:n="currentColor",duration:o=600,disabled:i=!1,initialScale:l=0,finalScale:r=2}=e;let s=null,a=null;function u(e){if(t.unref(i))return;const a=t.unref(n),u=t.unref(o),c=xl(e.clientX-s.getBoundingClientRect().left,e.clientY-s.getBoundingClientRect().top,s,a,u,l,r);s.appendChild(c)}function c(){s&&a&&(s.removeEventListener("click",a),s.classList.remove("v-ripple")),s=null,a=null}return t.onUnmounted(()=>{c()}),{bind:function(e){if(!f())return()=>{};c(),s=e;const t=getComputedStyle(e);return"static"===t.position&&(e.style.position="relative"),"visible"===t.overflow&&(e.style.overflow="hidden"),e.classList.add("v-ripple"),a=u,e.addEventListener("click",a),c},trigger:function(e){var a,u;if(!s||t.unref(i))return;const c=s.getBoundingClientRect(),d=xl(null!=(a=null==e?void 0:e.x)?a:c.width/2,null!=(u=null==e?void 0:e.y)?u:c.height/2,s,t.unref(n),t.unref(o),l,r);s.appendChild(d)}}},e.useRotateGesture=function(e={}){const{onStart:n,onRotate:o,onEnd:i,enableTransform:l=!1}=e,r=t.ref(!1),s=t.ref(0);let a=null,u=0,c=0,d=0,p="",v={};function m(e,t=!1,n=!1){const o=0===(i=e.touches).length?{x:0,y:0}:i.length<2?{x:i[0].clientX,y:i[0].clientY}:{x:(i[0].clientX+i[1].clientX)/2,y:(i[0].clientY+i[1].clientY)/2};var i;const l=c*(Math.PI/180);return{angle:c,radians:l,rotation:c-u,centerX:o.x,centerY:o.y,isRotating:r.value,isFirst:t,isFinal:n}}function h(e){const t=e;if(2===t.touches.length){if(u=_l(t.touches),c=u,r.value=!1,l&&a){const e=getComputedStyle(a).transform,t=new DOMMatrix(e);d=Math.atan2(t.b,t.a)*(180/Math.PI),p=a.style.transition,a.style.transition="none"}e.preventDefault()}}function g(e){const t=e;if(2!==t.touches.length)return;c=_l(t.touches),e.preventDefault();const i=r.value;r.value=!0,s.value=c;const p=m(t,!i);if(i||null==n||n(p),l&&a){const e=c-u;a.style.transform=`rotate(${d+e}deg)`}null==o||o(p)}function y(e){if(!r.value)return;l&&a&&(a.style.transition=p);const t=m({touches:{length:0,item:()=>null}},!1,!0);null==i||i(t),r.value=!1,u=0,c=0}function b(){a&&(Object.entries(v).forEach(([e,t])=>{null==a||a.removeEventListener(e,t)}),a.classList.remove("v-rotate-gesture")),a=null,v={}}return t.onUnmounted(()=>{b()}),{isRotating:r,angle:s,bind:function(e){return f()?(b(),a=e,v={touchstart:h,touchmove:g,touchend:y,touchcancel:y},e.addEventListener("touchstart",v.touchstart,{passive:!1}),e.addEventListener("touchmove",v.touchmove,{passive:!1}),e.addEventListener("touchend",v.touchend),e.addEventListener("touchcancel",v.touchcancel),e.classList.add("v-rotate-gesture"),b):()=>{}}}},e.useSanitize=function(e={}){const{allowedTags:n=El,allowedAttributes:o=Ll,allowDataUrls:i=!1,allowStyles:l=!1,allowClass:r=!1,allowId:s=!1,handler:a}=e;function u(e){var t;if(a)return a(e);if(!f())return e;const u=document.createElement("div");u.innerHTML=e;for(const e of kl){const n=u.getElementsByTagName(e);for(;n.length>0;)null==(t=n[0].parentNode)||t.removeChild(n[0])}const c=e=>{var t;const a=e.tagName.toLowerCase();if(!n.includes(a)){const n=document.createTextNode(e.textContent||"");return void(null==(t=e.parentNode)||t.replaceChild(n,e))}for(const t of Tl)e.removeAttribute(t);const u=e.getAttribute("href");if(u&&u.toLowerCase().startsWith("javascript:")&&e.removeAttribute("href"),!i){const t=e.getAttribute("src");t&&t.toLowerCase().startsWith("data:")&&e.removeAttribute("src")}const d=Array.from(e.attributes);for(const t of d){const n=o.includes(t.name.toLowerCase()),i="class"===t.name&&r,a="id"===t.name&&s,u="style"===t.name&&l;n||i||a||u||e.removeAttribute(t.name)}for(const t of Array.from(e.children))c(t)};for(const e of Array.from(u.children))c(e);return u.innerHTML}return t.onUnmounted(()=>{}),{sanitize:u,bind:function(e){if(!f())return()=>{};const t=e.innerHTML;return t&&(e.innerHTML=u(t)),()=>{}}}},e.useScroll=function(e={}){const{throttle:n=0,passive:o=!0}=e,i=t.ref(0),l=t.ref(0),r=t.ref(0),s=t.ref(0),a=t.ref(0),u=t.ref(0),c=t.ref(!1);let d=null,p=0,v=0,m=null,h=null,g=null;const y=t.computed(()=>({scrollLeft:i.value,scrollTop:l.value,scrollLeftMax:0,scrollTopMax:0,progressX:r.value,progressY:s.value,directionX:a.value,directionY:u.value}));function b(e){if(!d)return;const o=t.unref(n);function f(){const e=Cl(d,p,v);i.value=e.scrollLeft,l.value=e.scrollTop,r.value=e.progressX,s.value=e.progressY,a.value=e.directionX,u.value=e.directionY,p=e.scrollLeft,v=e.scrollTop,c.value=!0,g&&clearTimeout(g),g=setTimeout(()=>{c.value=!1},150)}o&&o>0?h||(h=setTimeout(()=>{f(),h=null},o)):f()}function w(){d&&m&&d.removeEventListener("scroll",m),h&&(clearTimeout(h),h=null),g&&(clearTimeout(g),g=null),d=null,m=null}return t.onUnmounted(()=>{w()}),{scrollLeft:t.readonly(i),scrollTop:t.readonly(l),progressX:t.readonly(r),progressY:t.readonly(s),directionX:t.readonly(a),directionY:t.readonly(u),isScrolling:t.readonly(c),info:t.readonly(y),bind:function(e){if(!f())return()=>{};w(),d=e||window;const t=Cl(d,0,0);return i.value=t.scrollLeft,l.value=t.scrollTop,r.value=t.progressX,s.value=t.progressY,p=t.scrollLeft,v=t.scrollTop,m=b,d.addEventListener("scroll",m,{passive:o}),w},stop:w,scrollTo:function(e){if(!d)return;const{top:t,left:n,behavior:o="smooth"}=e;if(d===window)window.scrollTo({top:t,left:n,behavior:o});else{const e=d;void 0!==t&&(e.scrollTop=t),void 0!==n&&(e.scrollLeft=n)}}}},e.useSkeleton=function(e={}){var n;const o=t.ref(null==(n=t.unref(e.loading))||n);let i=null,l=null,r="";function s(){var t,n,s;i&&(o.value?(r=i.style.display||getComputedStyle(i).display,i.style.display="none",l||(l=function(e){const t=document.createElement("div");t.className=`v-skeleton ${e.class||""}`;const n="number"==typeof e.width?`${e.width}px`:e.width||"100%",o="number"==typeof e.height?`${e.height}px`:e.height||"1em",i="number"==typeof e.radius?`${e.radius}px`:e.radius||"4px";let l="";return l="wave"===e.animation?`\n background: linear-gradient(90deg, ${e.color||"#e8e8e8"} 25%, ${e.animationColor||"#f0f0f0"} 50%, ${e.color||"#e8e8e8"} 75%);\n background-size: 200% 100%;\n animation: skeleton-wave 1.5s ease-in-out infinite;\n `:"pulse"===e.animation?`\n background: ${e.color||"#e8e8e8"};\n animation: skeleton-pulse 1.5s ease-in-out infinite;\n `:`background: ${e.color||"#e8e8e8"};`,t.style.cssText=`\n width: ${n};\n height: ${o};\n border-radius: ${i};\n ${l}\n `,t}(__spreadProps(__spreadValues({},e),{width:null!=(t=e.width)?t:i.offsetWidth,height:null!=(n=e.height)?n:i.offsetHeight}))),l.parentNode||null==(s=i.parentNode)||s.insertBefore(l,i.nextSibling)):(i.style.display=r,l&&l.parentNode&&l.parentNode.removeChild(l)))}function a(){l&&l.parentNode&&l.parentNode.removeChild(l),i&&(i.style.display=r,i.classList.remove("v-skeleton-container")),l=null,i=null}return t.onUnmounted(()=>{a()}),{isLoading:o,show:function(){o.value=!0,s()},hide:function(){o.value=!1,s()},toggle:function(){o.value=!o.value,s()},bind:function(n){return f()?(function(){if(!f())return;const e="v-skeleton-styles";if(document.getElementById(e))return;const t=document.createElement("style");t.id=e,t.textContent="\n @keyframes skeleton-wave {\n 0% { background-position: 200% 0; }\n 100% { background-position: -200% 0; }\n }\n @keyframes skeleton-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.5; }\n }\n ",document.head.appendChild(t)}(),a(),i=n,n.classList.add("v-skeleton-container"),o.value&&s(),e.loading&&"boolean"!=typeof e.loading&&t.watch(e.loading,()=>{var n;o.value=null!=(n=t.unref(e.loading))&&n,s()}),a):()=>{}}}},e.useSticky=function(e={}){const{offsetTop:n=0,onStick:o,disabled:i=!1}=e,l=t.ref(!1);let r=null,s=null,a=null,u=null,c=null;function d(){var e;if(!r||t.unref(i))return;const a=(s===window?document.documentElement:s).getBoundingClientRect(),d=r.getBoundingClientRect(),p=t.unref(n),f=d.top<=p&&a.top<=p;f!==l.value&&(l.value=f,f?(u||(u=document.createElement("div"),u.style.width=`${d.width}px`,u.style.height=`${d.height}px`,null==(e=r.parentNode)||e.insertBefore(u,r)),r.style.position="fixed",r.style.top=`${p}px`,r.style.width=`${d.width}px`,r.classList.add("v-sticky--active")):(u&&(u.remove(),u=null),c&&(r.style.position=c.position,r.style.top=c.top,r.style.width=c.width),r.classList.remove("v-sticky--active")),null==o||o(f))}function p(){s&&a&&s.removeEventListener("scroll",a),r&&(c&&(r.style.position=c.position,r.style.top=c.top,r.style.width=c.width),r.classList.remove("v-sticky","v-sticky--active")),u&&(u.remove(),u=null),s=null,a=null,r=null,l.value=!1}return t.onUnmounted(()=>{p()}),{isSticky:t.readonly(l),bind:function(e){return f()?(p(),r=e,c={position:e.style.position,top:e.style.top,width:e.style.width},e.classList.add("v-sticky"),s=M(e),a=d,s.addEventListener("scroll",a,{passive:!0}),d(),p):()=>{}},stop:p}},e.useSwipe=function(e={}){const{handler:n,threshold:o=30,maxTime:i=500,directions:l=Sl,preventScrollOnSwipe:r=!0,mouse:s=!0,onLeft:a,onRight:u,onUp:c,onDown:d}=e,p=t.ref(null),v=t.ref(0),m=t.ref(0),h=t.ref(!1);let g=null,y=0,b=0,w=0;function x(e,s,f,h){var y;const b=t.unref(o);if(f>t.unref(i))return;if(Math.max(Math.abs(e),Math.abs(s))<b)return;const w=function(e,t,n){if(Math.abs(e)>Math.abs(t)){const t=e>0?"right":"left";return n.includes(t)?t:null}{const e=t>0?"down":"up";return n.includes(e)?e:null}}(e,s,l);if(!w)return;p.value=w,v.value=e,m.value=s,r&&h.cancelable&&h.preventDefault(),null==n||n(w,h);const x={left:a,right:u,up:c,down:d};null==(y=x[w])||y.call(x),null==g||g.dispatchEvent(new CustomEvent("swipe",{detail:{direction:w,deltaX:e,deltaY:s,deltaTime:f}}))}function _(e,t){y=e,b=t,w=Date.now(),h.value=!0,p.value=null,v.value=0,m.value=0}function E(e,t,n){if(!h.value)return;h.value=!1;x(e-y,t-b,Date.now()-w,n)}function L(e){_(e.touches[0].clientX,e.touches[0].clientY)}function k(e){h.value&&r&&e.preventDefault()}function T(e){const t=e.changedTouches[0];E(t.clientX,t.clientY,e)}function C(e){_(e.clientX,e.clientY)}function S(e){E(e.clientX,e.clientY,e)}function D(e){h.value&&E(e.clientX,e.clientY,e)}function $(){g&&(g.removeEventListener("touchstart",L),g.removeEventListener("touchmove",k),g.removeEventListener("touchend",T),g.removeEventListener("touchcancel",T),t.unref(s)&&(g.removeEventListener("mousedown",C),g.removeEventListener("mouseup",S),g.removeEventListener("mouseleave",D)),g=null)}return t.onUnmounted(()=>{$()}),{direction:t.readonly(p),lengthX:t.readonly(v),lengthY:t.readonly(m),isSwiping:t.readonly(h),bind:function(e){return f()?($(),g=e,e.style.touchAction="none",e.style.userSelect="none",e.addEventListener("touchstart",L,{passive:!0}),e.addEventListener("touchmove",k,{passive:!1}),e.addEventListener("touchend",T),e.addEventListener("touchcancel",T),t.unref(s)&&(e.addEventListener("mousedown",C),e.addEventListener("mouseup",S),e.addEventListener("mouseleave",D)),$):()=>{}}}},e.useThrottle=function(e){const{handler:n,wait:o=300,leading:i=!0,trailing:l=!0}=e;let r=null,s=null,a=null,u=0;const c=()=>t.unref(i),d=()=>{s&&(n.apply(a,s),s=null,a=null)};function p(){r&&(clearTimeout(r),r=null),u=0,s=null,a=null}return t.onUnmounted(()=>{p()}),{run:function(...e){const n=Date.now(),i=t.unref(o);u||c()||(u=n);const p=i-(n-u);s=e,a=this,p<=0||p>i?(r&&(clearTimeout(r),r=null),u=n,d()):!r&&t.unref(l)&&(r=setTimeout(()=>{u=c()?Date.now():0,r=null,d()},p))},cancel:p}},e.useTooltip=function(e={}){const{content:n,placement:o="top",trigger:i="hover",delay:l=0,hideDelay:r=0,arrow:s=!0,class:a,onShow:u,onHide:c,disabled:d=!1}=e,p=t.ref(!1);let v=null,m=null,h=null,g=null;const y={};function b(){!t.unref(d)&&n&&(g&&(clearTimeout(g),g=null),l>0?h=setTimeout(w,l):w())}function w(){var e;v&&(m||(m=function(){const e=document.createElement("div");return e.className=`v-tooltip v-tooltip--${o}${a?` ${a}`:""}${s?" v-tooltip--arrow":""}`,e.style.cssText="\n position: absolute;\n z-index: 9999;\n opacity: 0;\n transition: opacity 0.2s;\n pointer-events: none;\n ",e}(),document.body.appendChild(m)),m.textContent=null!=(e=t.unref(n))?e:null,function(){if(!m||!v)return;const e=v.getBoundingClientRect(),t=m.getBoundingClientRect();let n=0,i=0;switch(o){case"top":n=e.top-t.height-8,i=e.left+(e.width-t.width)/2;break;case"bottom":n=e.bottom+8,i=e.left+(e.width-t.width)/2;break;case"left":n=e.top+(e.height-t.height)/2,i=e.left-t.width-8;break;case"right":n=e.top+(e.height-t.height)/2,i=e.right+8}i<0&&(i=8),i+t.width>window.innerWidth&&(i=window.innerWidth-t.width-8),n<0&&(n=8),n+t.height>window.innerHeight&&(n=window.innerHeight-t.height-8),m.style.top=`${n+window.scrollY}px`,m.style.left=`${i+window.scrollX}px`}(),m.style.opacity="1",p.value=!0,null==u||u())}function x(){h&&(clearTimeout(h),h=null),r>0?g=setTimeout(_,r):_()}function _(){m&&(m.style.opacity="0"),p.value=!1,null==c||c()}function E(){p.value?x():b()}function L(){v&&Object.entries(y).forEach(([e,t])=>{v.removeEventListener(e,t)}),m&&(m.remove(),m=null),h&&(clearTimeout(h),h=null),g&&(clearTimeout(g),g=null),v=null,p.value=!1}return t.onUnmounted(()=>{L()}),{isVisible:t.readonly(p),show:b,hide:x,toggle:E,bind:function(e){return f()?(L(),v=e,"hover"===i?(y.mouseenter=b,y.mouseleave=x,e.addEventListener("mouseenter",y.mouseenter),e.addEventListener("mouseleave",y.mouseleave)):"click"===i?(y.click=E,e.addEventListener("click",y.click)):"focus"===i&&(y.focus=b,y.blur=x,e.addEventListener("focus",y.focus),e.addEventListener("blur",y.blur)),L):()=>{}}}},e.useTouch=function(e={}){const{onSwipe:n,onSwipeLeft:o,onSwipeRight:i,onSwipeUp:l,onSwipeDown:r,onPinch:s,onRotate:a,onTap:u,onLongPress:c,swipeThreshold:d=30,longPressDuration:p=500,tapDuration:v=250,disabled:m=!1}=e,h=t.ref(null);let g=null,y=0,b=0,w=0,x=null,_=0,E=0;function L(e){let t=0,n=0;for(let o=0;o<e.length;o++)t+=e[o].clientX,n+=e[o].clientY;return{x:t/e.length,y:n/e.length}}function k(e,t){const n=e.clientX-t.clientX,o=e.clientY-t.clientY;return Math.sqrt(n*n+o*o)}function T(e,t){return Math.atan2(t.clientY-e.clientY,t.clientX-e.clientX)*(180/Math.PI)}function C(e){t.unref(m)||(w=Date.now(),h.value=null,1===e.touches.length?(y=e.touches[0].clientX,b=e.touches[0].clientY,c&&(x=setTimeout(()=>{h.value="longPress",c({type:"longPress",center:{x:y,y:b},event:e})},p))):2===e.touches.length&&(_=k(e.touches[0],e.touches[1]),E=T(e.touches[0],e.touches[1])))}function S(e){if(!t.unref(m)&&(x&&(clearTimeout(x),x=null),2===e.touches.length&&(s||a))){const t=k(e.touches[0],e.touches[1]),n=T(e.touches[0],e.touches[1]);if(s&&_>0){const n=t/_;h.value="pinch",s({type:"pinch",scale:n,center:L(e.touches),event:e})}if(a){const t=n-E;h.value="rotate",a({type:"rotate",rotation:t,center:L(e.touches),event:e})}}}function D(e){if(t.unref(m))return;x&&(clearTimeout(x),x=null);const s=Date.now()-w;if(1===e.changedTouches.length){const t=e.changedTouches[0].clientX,a=e.changedTouches[0].clientY,c=t-y,p=a-b,f=Math.sqrt(c*c+p*p);if(f>=d){let s;h.value="swipe",s=Math.abs(c)>Math.abs(p)?c>0?"right":"left":p>0?"down":"up";const u={type:"swipe",direction:s,distance:f,angle:Math.atan2(p,c)*(180/Math.PI),center:{x:t,y:a},event:e};switch(null==n||n(u),s){case"left":null==o||o(u);break;case"right":null==i||i(u);break;case"up":null==l||l(u);break;case"down":null==r||r(u)}}else f<10&&s<v&&u&&(h.value="tap",u({type:"tap",center:{x:t,y:a},event:e}))}h.value=null}function $(){g&&(g.removeEventListener("touchstart",C),g.removeEventListener("touchmove",S),g.removeEventListener("touchend",D),g.removeEventListener("touchcancel",D)),x&&(clearTimeout(x),x=null),g=null,h.value=null}return t.onUnmounted(()=>{$()}),{gesture:t.readonly(h),bind:function(e){return f()?($(),g=e,e.addEventListener("touchstart",C,{passive:!0}),e.addEventListener("touchmove",S,{passive:!0}),e.addEventListener("touchend",D),e.addEventListener("touchcancel",D),$):()=>{}}}},e.useTrim=function(e){const{text:n,position:o="both",chars:i}=e,l=t.ref(t.unref(n)),r=t.ref(""),s=t.ref(!1);return t.watch(()=>[t.unref(n),t.unref(o),t.unref(i)],()=>function(){const e=t.unref(n),a=t.unref(o),u=t.unref(i);l.value=e,r.value=Dl(e,a,u),s.value=r.value!==e}(),{immediate:!0}),{trimmed:r,original:l,wasTrimmed:s}},e.useTruncate=function(e){const{text:n,length:o=100,position:i="end",omission:l="..."}=e,r=t.ref(""),s=t.ref(!1),a=t.ref(0);function u(e,n,r){const s=null!=n?n:t.unref(o),a=null!=r?r:t.unref(i);if(e.length<=s)return e;switch(a){case"start":return function(e,t,n){return e.length<=t?e:n+e.slice(-(t-n.length))}(e,s,l);case"middle":return function(e,t,n){if(e.length<=t)return e;const o=t-n.length,i=Math.ceil(o/2),l=Math.floor(o/2);return e.slice(0,i)+n+e.slice(-l)}(e,s,l);default:return function(e,t,n){return e.length<=t?e:e.slice(0,t-n.length)+n}(e,s,l)}}function c(){const e=t.unref(n),i=t.unref(o);a.value=e.length,s.value=e.length>i,r.value=u(e)}return t.watch(()=>t.unref(n),c,{immediate:!0}),t.watch(()=>t.unref(o),c),t.watch(()=>t.unref(i),c),{truncated:t.readonly(r),isTruncated:t.readonly(s),originalLength:t.readonly(a),truncate:u}},e.useTypewriter=function(e){const n=t.ref(""),o=t.ref(!1),i=t.ref(!1);let l=null,r=null,s=null,a=0;function u(){l&&(l.textContent=n.value,r&&l.appendChild(r))}function c(){var l,r;const p=t.unref(e.text);if(a>=p.length)return o.value=!1,null==(l=e.onComplete)||l.call(e),void(e.loop&&(s=setTimeout(()=>{!function(){function t(){if(0===n.value.length)return i.value=!1,void(e.loop&&(s=setTimeout(d,e.delay||0)));n.value=n.value.slice(0,-1),u(),s=setTimeout(t,e.deleteSpeed||30)}i.value=!0,t()}()},e.deleteDelay||1500)));const f=p[a];n.value+=f,a++,u(),null==(r=e.onType)||r.call(e,f,a-1),s=setTimeout(c,e.speed||50)}function d(){var t;o.value||i.value||(o.value=!0,a=0,n.value="",null==(t=e.onStart)||t.call(e),s=setTimeout(c,e.delay||0))}function p(){s&&(clearTimeout(s),s=null),o.value=!1,i.value=!1}function v(){p(),n.value="",a=0,u()}function m(){p(),l&&l.classList.remove("v-typewriter"),l=null,r=null}return t.onUnmounted(()=>{m()}),{displayedText:n,isTyping:o,isDeleting:i,start:d,stop:p,reset:v,bind:function(n){return f()?(function(){if(!f())return;const e="v-typewriter-styles";if(document.getElementById(e))return;const t=document.createElement("style");t.id=e,t.textContent="\n @keyframes v-typewriter-blink {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0; }\n }\n .v-typewriter__cursor {\n display: inline-block;\n margin-left: 1px;\n }\n ",document.head.appendChild(t)}(),m(),l=n,r=function(){if(!1===e.cursor)return null;const t=document.createElement("span");return t.className="v-typewriter__cursor",t.textContent=e.cursor||"|",!1!==e.cursorBlink&&(t.style.animation="v-typewriter-blink 0.7s infinite"),t}(),n.classList.add("v-typewriter"),"string"!=typeof e.text&&t.watch(e.text,()=>{v(),d()}),d(),m):()=>{}}}},e.useUppercase=function(e){const{text:n,first:o=!1}=e,i=t.ref(t.unref(n)),l=t.ref("");return t.watch(()=>[t.unref(n),t.unref(o)],()=>function(){const e=t.unref(n),r=t.unref(o);i.value=e,l.value=$l(e,r)}(),{immediate:!0}),{transformed:l,original:i}},e.useVirtualList=function(e){const{items:n,itemSize:o=50,height:i=400,overscan:l=3,keyField:r="id"}=e,s=t.ref(null),a=t.ref(0),u=t.ref(0),c=t.ref(0),d=()=>t.unref(n),p=()=>t.unref(o),f=()=>t.unref(i),v=t.computed(()=>{const e=d(),t=p();if("function"==typeof t){let n=0;for(let o=0;o<e.length;o++)n+=t(o);return n}return t*e.length});function m(){const e=d(),n=p(),o=f(),i=t.unref(l),r=a.value;let s=0,u=0,c=0;if("function"==typeof n){let t=0;for(let o=0;o<e.length;o++){const e=n(o);if(t+e>r){s=o,c=t;break}t+=e}for(u=s,t=c;u<e.length&&t<r+o;)t+=n(u),u++;s=Math.max(0,s-i),u=Math.min(e.length,u+i),t=0;for(let e=0;e<s;e++)t+=n(e);c=t}else s=Math.max(0,Math.floor(r/n)-i),u=Math.min(e.length,Math.ceil((r+o)/n)+i),c=s*n;return{start:s,end:u,offsetY:c}}const h=t.computed(()=>{const e=d(),t=p(),{start:n,end:o,offsetY:i}=m();u.value=n,c.value=o;const l=[];let r=i;for(let i=n;i<o;i++){const n=e[i];if(void 0!==n){const e="function"==typeof t?t(i):t;l.push({item:n,index:i,style:{position:"absolute",top:`${r}px`,height:`${e}px`,width:"100%"}}),r+=e}}return l}),g=t.computed(()=>({height:`${f()}px`,overflow:"auto",position:"relative"}));function y(e){const t=e.target;a.value=t.scrollTop}return t.onMounted(()=>{s.value&&s.value.addEventListener("scroll",y,{passive:!0})}),t.onUnmounted(()=>{s.value&&s.value.removeEventListener("scroll",y)}),{visibleItems:h,totalHeight:v,scrollTop:a,startIndex:u,endIndex:c,scrollToIndex:function(e){if(!s.value)return;const t=p(),n=d();if("function"==typeof t){let o=0;for(let i=0;i<Math.min(e,n.length);i++)o+=t(i);s.value.scrollTop=o}else s.value.scrollTop=e*t},scrollTo:function(e){s.value&&(s.value.scrollTop=e)},containerRef:s,listStyle:g}},e.useVisible=function(e={}){const{initial:n=!0,useHidden:o=!1,onChange:i}=e,l=t.ref(t.unref(n));let r=null,s="",a="";function u(e){r&&(e?(r.classList.remove("v-hidden"),r.classList.add("v-visible"),o?r.style.visibility=a||"visible":r.style.display=s):(r.classList.remove("v-visible"),r.classList.add("v-hidden"),o?r.style.visibility="hidden":r.style.display="none"))}function c(){r&&(r.style.display=s,r.style.visibility=a,r.classList.remove("v-hidden","v-visible")),r=null}return t.watch(l,(e,t)=>{e!==t&&(u(e),null==i||i(e))}),"object"==typeof n&&"value"in n&&t.watch(n,e=>{l.value=e}),t.onUnmounted(()=>{c()}),{visible:l,show:function(){l.value=!0},hide:function(){l.value=!1},toggle:function(){l.value=!l.value},bind:function(e){return f()?(c(),r=e,s=e.style.display,a=e.style.visibility,u(l.value),c):()=>{}}}},e.useWatermark=function(e){const{content:n,width:o=300,height:i=200,rotate:l=-22,fontSize:r=16,fontFamily:s="sans-serif",fontWeight:a="normal",color:u="rgba(128, 128, 128, 0.15)",gap:c=[100,100],zIndex:d=9999,disabled:p=!1,protect:f=!0}=e,v=t.ref(null),m=t.ref(""),h=t.ref(t.unref(p));function g(){const e=t.unref(n),c=t.unref(o),d=t.unref(i),p=t.unref(l),f=t.unref(r),h=t.unref(s),g=t.unref(a),y=t.unref(u);v.value=Ml({content:e,width:c,height:d,fontSize:f,fontFamily:h,fontWeight:g,color:y,rotate:p}),m.value=v.value.toDataURL()}const y=t.ref({position:"absolute",top:"0",left:"0",width:"100%",height:"100%",pointerEvents:"none",zIndex:t.unref(d),backgroundImage:"",backgroundRepeat:"repeat",backgroundPosition:"0 0",backgroundSize:""});function b(){const e=t.unref(c),n=t.unref(d),l=Array.isArray(e)?e:[e,e],r=t.unref(o),s=t.unref(i);y.value=__spreadProps(__spreadValues({},y.value),{zIndex:n,backgroundImage:`url("${m.value}")`,backgroundPosition:`${l[0]/2}px ${l[1]/2}px`,backgroundSize:`${r+l[0]}px ${s+l[1]}px`})}return t.watch(()=>[t.unref(n),t.unref(o),t.unref(i),t.unref(l),t.unref(r),t.unref(s),t.unref(a),t.unref(u),t.unref(c),t.unref(d)],()=>{g(),b()},{immediate:!0}),t.watch(h,e=>{y.value.display=e?"none":"block"}),t.unref(p)&&(y.value.display="none"),t.onUnmounted(()=>{}),{canvas:v,dataUrl:m,style:y,disabled:h,update:function(t){Object.assign(e,t),g(),b()},enable:function(){h.value=!1},disable:function(){h.value=!0}}},e.vBlur=E,e.vCapitalcase=te,e.vClickDelay=re,e.vClickOutside=se,e.vClickWave=de,e.vContextMenu=ve,e.vCopy=he,e.vCountdown=xe,e.vCounter=Ce,e.vDebounce=$e,e.vDraggable=Pe,e.vEllipsis=Oe,e.vEmoji=Xe,e.vExport=Ue,e.vFade=Ge,e.vFocus=Ze,e.vFullscreen=nt,e.vHighlight=rt,e.vHotkey=ht,e.vHover=xt,e.vImagePreview=Ct,e.vInfiniteScroll=Dt,e.vIntersect=Pt,e.vLazy=Xt,e.vLoading=Bt,e.vLongPress=qt,e.vLottie=Kt,e.vLowercase=en,e.vMask=un,e.vMoney=mn,e.vMutation=gn,e.vNumber=yn,e.vPan=En,e.vParallax=Sn,e.vPermission=On,e.vPinch=Yn,e.vPrint=Rn,e.vProgress=jn,e.vPullRefresh=io,e.vResize=ro,e.vRipple=ao,e.vRotateGesture=fo,e.vSanitize=wo,e.vScroll=Eo,e.vSkeleton=To,e.vSticky=Io,e.vSwipe=Ro,e.vThrottle=Xo,e.vTooltip=ii,e.vTouch=si,e.vTrim=ci,e.vTruncate=pi,e.vTypewriter=gi,e.vUppercase=_i,e.vVirtualList=Ci,e.vVisible=$i,e.vWatermark=Oi,e.wouldTextTruncate=function(e,t,n=14){return Gi(e,n)>t},Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}(this.Directix=this.Directix||{},Vue);
7
+ var __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__pow=Math.pow,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__objRest=(e,t)=>{var n={};for(var o in e)__hasOwnProp.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&__getOwnPropSymbols)for(var o of __getOwnPropSymbols(e))t.indexOf(o)<0&&__propIsEnum.call(e,o)&&(n[o]=e[o]);return n},__publicField=(e,t,n)=>__defNormalProp(e,"symbol"!=typeof t?t+"":t,n),__async=(e,t,n)=>new Promise((o,r)=>{var i=e=>{try{a(n.next(e))}catch(e){r(e)}},l=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);a((n=n.apply(e,t)).next())});!function(e,t){"use strict";var n;function o(e){return{bind(e,t,n){const o={value:t.value,vnode:n,cleanup:[]};e.__directix_state__=o},inserted(t,n,o){e.mounted&&e.mounted(t,r(n),o)},update(t,n,o,i){const l=t.__directix_state__;e.updated&&e.updated(t,r(n),o,r(__spreadProps(__spreadValues({},n),{value:n.oldValue})),i),l&&(l.value=n.value,l.vnode=o)},componentUpdated(e,t,n,o){},unbind(t,n,o){e.unmounted&&e.unmounted(t,r(n),o);const i=t.__directix_state__;(null==i?void 0:i.cleanup)&&i.cleanup.forEach(e=>e()),delete t.__directix_state__}}}function r(e){var t;return{value:e.value,oldValue:null!=(t=e.oldValue)?t:null,arg:e.arg,modifiers:e.modifiers||{},instance:e.instance||null}}function i(e){return{created(e,t,n){const o={value:t.value,vnode:n,cleanup:[]};e.__directix_state__=o},beforeMount(e,t,n){},mounted(t,n,o){e.mounted&&e.mounted(t,l(n),o)},beforeUpdate(e,t,n,o){},updated(t,n,o,r){const i=t.__directix_state__;e.updated&&e.updated(t,l(n),o,l(__spreadProps(__spreadValues({},n),{value:n.oldValue})),r),i&&(i.value=n.value,i.vnode=o)},beforeUnmount(e,t,n){},unmounted(t,n,o){e.unmounted&&e.unmounted(t,l(n),o);const r=t.__directix_state__;(null==r?void 0:r.cleanup)&&r.cleanup.forEach(e=>e()),delete t.__directix_state__}}}function l(e){var t;return{value:e.value,oldValue:null!=(t=e.oldValue)?t:null,arg:e.arg,modifiers:e.modifiers||{},instance:e.instance}}let a=null,s=null,c=null,u=null;function d(e){return e.startsWith("2.7")?2.7:e.startsWith("2")?2:e.startsWith("3")?3:null}function p(){var e,t;if(null!==a)return a;if("undefined"!=typeof process){const e=process.env.DIRECTIX_VUE_VERSION;if("2.7"===e)return a=2.7,a;if("2"===e)return a=2,a;if("3"===e)return a=3,a}try{const e=require("vue"),t=d(null==e?void 0:e.version);if(null!==t)return a=t,a}catch(e){}if("undefined"!=typeof window){const n=window,o=n.Vue;if(null==o?void 0:o.version){const e=d(o.version);if(null!==e)return a=e,a}if("function"==typeof(null==o?void 0:o.observable))return a=2,a;if("function"==typeof(null==o?void 0:o.createApp)&&"function"!=typeof(null==o?void 0:o.observable))return a=3,a;const r=n.__VUE_DEVTOOLS_GLOBAL_HOOK__;if(null==(e=null==r?void 0:r.Vue)?void 0:e.version){const e=d(r.Vue.version);if(null!==e)return a=e,a}if(null==(t=null==r?void 0:r.apps)?void 0:t.length)return a=3,a}return null===a&&("undefined"!=typeof window&&console.warn("[Directix] Unable to detect Vue version, defaulting to Vue 3. Set DIRECTIX_VUE_VERSION=2 or call setVueVersion(2) if using Vue 2."),a=3),a}function m(e){a=e,s=2===e||2.7===e,c=2.7===e,u=3===e}function f(){return null===u&&(u=3===p()),u}const v=()=>"undefined"!=typeof window&&"undefined"!=typeof document,h=()=>!v(),g=()=>{if(!v())return!1;let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(t){e=!1}return e},y=()=>v()&&"IntersectionObserver"in window,b=()=>v()&&"ResizeObserver"in window,w=()=>v()&&"clipboard"in navigator,_=()=>v()&&"MutationObserver"in window;function x(e){var t;const n=e,{name:r,version:l,ssr:a,defaults:s}=n,c=__objRest(n,["name","version","ssr","defaults"]);if(h()&&!a)return"undefined"!=typeof process&&"test"!==(null==(t=process.env)?void 0:t.NODE_ENV)&&console.warn(`[Directix] Directive "${r}" is not compatible with SSR. It will be a no-op on the server side.`),{mounted:()=>{},updated:()=>{},unmounted:()=>{}};return function(e){let t=null;function n(){return t||(t=2===p()?o(e):i(e)),t}function r(e){return function(t,o,r,i){var l,a;null==(a=(l=n())[e])||a.call(l,t,o,r,i)}}return{bind:r("bind"),inserted:r("inserted"),update:r("update"),componentUpdated:r("componentUpdated"),unbind:r("unbind"),created:r("created"),beforeMount:r("beforeMount"),mounted:r("mounted"),beforeUpdate:r("beforeUpdate"),updated:r("updated"),beforeUnmount:r("beforeUnmount"),unmounted:r("unmounted")}}({mounted:c.mounted?(e,t,n)=>{c.mounted(e,E(t,s),n)}:void 0,updated:c.updated?(e,t,n,o,r)=>{c.updated(e,E(t,s),n,o,r)}:void 0,unmounted:c.unmounted})}function E(e,t){if(!t)return e;const n="object"==typeof e.value&&null!==e.value?__spreadValues(__spreadValues({},t),e.value):e.value;return __spreadProps(__spreadValues({},e),{value:n})}const L={enabled:!1,directives:new Map,plugins:new Map,events:[],maxEvents:100};function k(){if(!v())return null;return window.__VUE_DEVTOOLS_GLOBAL_HOOK__||null}function S(){const e=[],t=Array.from(L.directives.entries()).map(([e,t])=>({id:`directive:${e}`,label:`v-${e}`,children:[],tags:[{label:`${t.bindings} bindings`,textColor:6710886,backgroundColor:15658734}]}));e.push({id:"directives",label:"Directives",children:t,tags:[{label:`${L.directives.size}`,textColor:16777215,backgroundColor:4372611}]});const n=Array.from(L.plugins.entries()).map(([e,t])=>({id:`plugin:${e}`,label:e,children:[],tags:[{label:t.version,textColor:6710886,backgroundColor:15658734}]}));e.push({id:"plugins",label:"Plugins",children:n,tags:[{label:`${L.plugins.size}`,textColor:16777215,backgroundColor:4372611}]});const o=L.events.slice(-20).map((e,t)=>({id:`event:${t}`,label:`${e.type}:${e.name}`,children:[],tags:[{label:new Date(e.timestamp).toLocaleTimeString(),textColor:6710886,backgroundColor:15658734}]}));return e.push({id:"events",label:"Events",children:o,tags:[{label:`${L.events.length}`,textColor:16777215,backgroundColor:4372611}]}),e}function T(e){if(e.startsWith("directive:")){const t=e.replace("directive:",""),n=L.directives.get(t);if(n)return[{key:"info",value:{name:n.name,bindings:n.bindings,lastUpdated:new Date(n.lastUpdated).toLocaleString(),element:n.element||"unknown",options:n.options},editable:!1}]}if(e.startsWith("plugin:")){const t=e.replace("plugin:",""),n=L.plugins.get(t);if(n)return[{key:"info",value:{name:n.name,version:n.version,description:n.description,enabled:n.enabled,registeredAt:new Date(n.registeredAt).toLocaleString()},editable:!1}]}if(e.startsWith("event:")){const t=Number.parseInt(e.replace("event:","")),n=L.events[L.events.length-20+t];if(n)return[{key:"event",value:{name:n.name,type:n.type,timestamp:new Date(n.timestamp).toLocaleString(),data:n.data},editable:!1}]}return[]}function C(e,t,n){L.events.push({name:t,type:e,timestamp:Date.now(),data:n}),L.events.length>L.maxEvents&&(L.events=L.events.slice(-100))}const D={config:{enabled:!1,maxMetrics:1e3,sampleRate:1,warnThreshold:16},metrics:[],directiveMetrics:new Map,startMarks:new Map};function M(e,t){if(!D.config.enabled||h())return"";if(D.config.sampleRate<1&&Math.random()>D.config.sampleRate)return"";const n=`${e}:${t}:${Date.now()}:${Math.random().toString(36).slice(2,7)}`;if(D.startMarks.set(n,performance.now()),"undefined"!=typeof performance&&performance.mark)try{performance.mark(`${n}-start`)}catch(e){}return n}function P(e,t,n,o){if(!e||!D.config.enabled||h())return;const r=D.startMarks.get(e);if(void 0===r)return;const i=performance.now()-r;if(D.startMarks.delete(e),"undefined"!=typeof performance&&performance.mark&&performance.measure)try{performance.mark(`${e}-end`),performance.measure(`directix:${t}:${n}`,`${e}-start`,`${e}-end`)}catch(e){}const l={name:n,directive:t,duration:i,timestamp:Date.now(),metadata:o};D.metrics.push(l),D.metrics.length>D.config.maxMetrics&&D.metrics.shift(),D.directiveMetrics.has(t)||D.directiveMetrics.set(t,[]);const a=D.directiveMetrics.get(t);a.push(l),a.length>D.config.maxMetrics&&a.shift(),i>D.config.warnThreshold&&console.warn(`[Directix Performance] v-${t} ${n} took ${i.toFixed(2)}ms (threshold: ${D.config.warnThreshold}ms)`)}function $(){return[...D.metrics]}function I(e){if(0===e.length)return{totalCalls:0,averageDuration:0,minDuration:0,maxDuration:0,p50:0,p95:0,p99:0};const t=e.map(e=>e.duration).sort((e,t)=>e-t),n=t.reduce((e,t)=>e+t,0);return{totalCalls:e.length,averageDuration:n/e.length,minDuration:t[0],maxDuration:t[t.length-1],p50:t[Math.floor(.5*t.length)],p95:t[Math.floor(.95*t.length)],p99:t[Math.floor(.99*t.length)]}}function H(){const e=[];for(const[t,n]of D.directiveMetrics){const o=n.filter(e=>"mount"===e.name),r=n.filter(e=>"update"===e.name),i=n.filter(e=>"unmount"===e.name),l=n.reduce((e,t)=>e+t.duration,0);e.push({name:t,mount:I(o),update:I(r),unmount:I(i),totalTime:l,callCount:n.length})}return e.sort((e,t)=>t.totalTime-e.totalTime)}function A(e,t,n,o){if(!D.config.enabled||h())return n();const r=M(e,t);try{const i=n();return P(r,e,t,o),i}catch(n){throw P(r,e,t,__spreadProps(__spreadValues({},o),{error:!0})),n}}let O=null,z="undefined"!=typeof process&&"production"!==(null==(n=process.env)?void 0:n.NODE_ENV),F="warn";function R(e){const{directive:t,message:n,params:o={}}=e;let r=n;if(O&&!n.includes(" ")){const e=t?`directives.${t}.${n}`:n,i=O(e,o);i!==e&&(r=i)}return o&&Object.keys(o).length>0&&(r=r.replace(/\{(\w+)\}/g,(e,t)=>void 0!==o[t]?String(o[t]):`{${t}}`)),t?`[Directix] v-${t}: ${r}`:`[Directix] ${r}`}function Y(e,t,n=!1){var o;const r=["debug","info","warn","error"],i=r.indexOf(F);if(r.indexOf(e)<i)return;const l="debug"===e?"info":e,a=n&&z?`\n${null==(o=new Error("Stack trace").stack)?void 0:o.split("\n").slice(2).join("\n")}`:"";"info"===l?console.info(t,a):"warn"===l?console.warn(t,a):"error"===l&&console.error(t,a)}function V(e,t){const n="string"==typeof e?{message:e,params:t}:e;Y(n.level||"warn",R(n),n.stack&&z)}function N(e,t){const n="string"==typeof e?{message:e,params:t}:__spreadValues({},e);Y("error",R(n),n.stack&&z)}function U(e,t,n,o){if(typeof e!==t)throw new TypeError(R({directive:n,message:"errors.type_error",params:{param:o,expected:t,actual:typeof e}}))}function X(e){return"boolean"==typeof e?{visible:e,radius:5,duration:300,overlayColor:"transparent",zIndex:999,lockScroll:!1}:"number"==typeof e?{visible:!0,radius:e,duration:300,overlayColor:"transparent",zIndex:999,lockScroll:!1}:__spreadValues({radius:5,visible:!0,duration:300,overlayColor:"transparent",zIndex:999,lockScroll:!1},e)}const B=x({name:"blur",ssr:!1,mounted(e,t){if(!v())return;const n=X(t.value),o={options:n,blurContainer:null,originalOverflow:""};e.__blur=o,n.visible&&j(e,o),e.classList.add("v-blur")},updated(e,t){const n=e.__blur;if(!n)return;const o=X(t.value),r=n.options.visible;n.options=o,o.visible&&!r?j(e,n):!o.visible&&r?W(e,n):o.visible&&r&&n.blurContainer&&(n.blurContainer.style.backdropFilter=`blur(${o.radius}px)`,n.blurContainer.style.webkitBackdropFilter=`blur(${o.radius}px)`,n.blurContainer.style.background=o.overlayColor||"rgba(0, 0, 0, 0.5)")},unmounted(e){const t=e.__blur;t&&(W(e,t),e.classList.remove("v-blur"),delete e.__blur)}});function j(e,t){var n;const o=t.options;"static"===window.getComputedStyle(e).position&&(e.style.position="relative"),t.blurContainer=function(e){const t=document.createElement("div");return t.className=`v-blur-overlay ${e.class||""}`,t.style.cssText=`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n backdrop-filter: blur(${e.radius}px);\n -webkit-backdrop-filter: blur(${e.radius}px);\n background: ${e.overlayColor||"transparent"};\n z-index: ${e.zIndex};\n opacity: 0;\n transition: opacity ${e.duration}ms ease;\n pointer-events: auto;\n border-radius: inherit;\n `,t}(o),e.appendChild(t.blurContainer),String(t.blurContainer.offsetHeight),t.blurContainer.style.opacity="1",o.lockScroll&&(t.originalOverflow=document.body.style.overflow,document.body.style.overflow="hidden"),null==(n=o.onShow)||n.call(o)}function W(e,t){var n;if(!t.blurContainer)return;const o=t.options;t.blurContainer.style.opacity="0",o.lockScroll&&(document.body.style.overflow=t.originalOverflow),setTimeout(()=>{t.blurContainer&&t.blurContainer.parentNode&&t.blurContainer.parentNode.removeChild(t.blurContainer),t.blurContainer=null},o.duration),null==(n=o.onHide)||n.call(o)}const q="__directix_";function K(e,t,n){e[q+t]=n}function G(e,t){return e[q+t]}function Z(e,t){delete e[q+t]}function J(e){return e?"string"==typeof e?v()?document.querySelector(e):null:e instanceof Element?e:null:null}function Q(e){if(!v())return window;let t=e.parentElement;for(;t;){const{overflow:e,overflowX:n,overflowY:o}=getComputedStyle(t);if(/(auto|scroll)/.test(e+n+o))return t;t=t.parentElement}return window}function ee(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}function te(e,t="relative"){v()&&"static"===getComputedStyle(e).position&&(e.style.position=t)}function ne(e,t,n,o=!1){if(!v())return;const r=re(o);e.addEventListener(t,n,r)}function oe(e,t,n,o=!1){if(!v())return;const r=re(o);e.removeEventListener(t,n,r)}function re(e){if("boolean"==typeof e)return e;const{capture:t=!1,passive:n=!1,once:o=!1}=e;return g()?{capture:t,passive:n,once:o}:t}function ie(e){let t=0,n=0;return"touches"in e&&e.touches.length>0?(t=e.touches[0].clientX,n=e.touches[0].clientY):"clientX"in e&&(t=e.clientX,n=e.clientY),{x:t,y:n,clientX:t,clientY:n}}function le(e){const{capture:t=!1,passive:n=!1,once:o=!1}=e;return g()?{capture:t,passive:n,once:o}:t}const ae=["click","input","change","submit","scroll","resize","mouseenter","mouseleave","mousemove","mousedown","mouseup","keydown","keyup","focus","blur","touchstart","touchmove","touchend"];function se(e){for(const t of ae)if(e[t])return t;return null}function ce(e){const t=e.tagName.toLowerCase();return"input"===t||"textarea"===t?"input":"click"}function ue(e){return"string"==typeof e}function de(e){return"function"==typeof e}function pe(e){return"object"==typeof e&&null!==e}function me(e){return Array.isArray(e)}function fe(e,t=300,n={}){let o=null,r=null,i=null;const{leading:l=!1,trailing:a=!0}=n,s=()=>{r&&(e.apply(i,r),r=null,i=null)},c=function(...e){r=e,i=this,o&&clearTimeout(o),l&&!o&&s(),o=setTimeout(()=>{a&&s(),o=null},t)};return c.cancel=()=>{o&&(clearTimeout(o),o=null),r=null,i=null},c.flush=()=>{o&&(clearTimeout(o),s(),o=null)},c}function ve(e,t=300,n={}){let o=null,r=null,i=null,l=0;const{leading:a=!0,trailing:s=!0}=n,c=()=>{r&&(e.apply(i,r),r=null,i=null)},u=function(...e){const n=Date.now();l||a||(l=n);const u=t-(n-l);r=e,i=this,u<=0||u>t?(o&&(clearTimeout(o),o=null),l=n,c()):!o&&s&&(o=setTimeout(()=>{l=a?Date.now():0,o=null,c()},u))};return u.cancel=()=>{o&&(clearTimeout(o),o=null),l=0,r=null,i=null},u}function he(e){if(!e)return null;if(e.endsWith("ms"))return parseInt(e,10);if(e.endsWith("s"))return 1e3*parseFloat(e);const t=parseInt(e,10);return isNaN(t)?null:t}function ge(e,t,n){if(!t.onInput)return()=>{};const o=()=>{const t=e.selectionStart,o=e.selectionEnd,r=e.value,i=n(r);r!==i&&(e.value=i,null!==t&&null!==o&&e.setSelectionRange(t,o),e.dispatchEvent(new Event("input",{bubbles:!0})))};return e.addEventListener("input",o),e.value=n(e.value),()=>{e.removeEventListener("input",o)}}function ye(e,t){const n=e.textContent||"";e.textContent=t(n)}const be=["a","an","the","and","but","or","for","nor","on","at","to","from","by","in","of","with","as"];function we(e,t){if(!e)return e;const{every:n=!0,keepLower:o=be}=t;if(n){return e.toLowerCase().split(/\s+/).map((e,t)=>0===t?_e(e):o.includes(e.toLowerCase())?e.toLowerCase():_e(e)).join(" ")}return _e(e)}function _e(e){return e?e.charAt(0).toUpperCase()+e.slice(1).toLowerCase():e}function xe(e){var t,n,o;return void 0===e||!0===e?{every:!0,onInput:!0}:!1===e?{every:!1,onInput:!1}:{every:null==(t=e.every)||t,keepLower:null!=(n=e.keepLower)?n:be,onInput:null==(o=e.onInput)||o}}const Ee=x({name:"capitalcase",ssr:!0,mounted(e,t){const n=xe(t.value);if(ee(e)){const t=ge(e,n,e=>we(e,n));e.__capitalcaseCleanup=t}else ye(e,e=>we(e,n))},updated(e,t){const n=xe(t.value);ee(e)?n.onInput&&(e.value=we(e.value,n)):ye(e,e=>we(e,n))},unmounted(e){const t=e.__capitalcaseCleanup;null==t||t(),delete e.__capitalcaseCleanup}}),Le="clickDelay";function ke(e,t){t.feedback&&t.pendingClass&&e.classList.remove(t.pendingClass)}function Se(e,t){return n=>{const o=G(e,Le);if(!o||o.isPending)return n.preventDefault(),void n.stopPropagation();o.isPending=!0,t.feedback&&t.pendingClass&&e.classList.add(t.pendingClass),t.handler(n),o.timeoutId=setTimeout(()=>{o.isPending=!1,o.timeoutId=null,ke(e,t)},t.delay)}}function Te(e,t){var n,o,r,i;const l=he(t.arg)||300;if("function"==typeof e)return{handler:e,delay:l,disabled:!1,pendingClass:"v-click-delay--pending",feedback:!0};if(!e)throw new Error("[Directix] v-click-delay: handler is required");return{handler:e.handler,delay:null!=(n=e.delay)?n:l,disabled:null!=(o=e.disabled)&&o,pendingClass:null!=(r=e.pendingClass)?r:"v-click-delay--pending",feedback:null==(i=e.feedback)||i}}const Ce=x({name:"click-delay",ssr:!0,defaults:{delay:300,disabled:!1,pendingClass:"v-click-delay--pending",feedback:!0},mounted(e,t){const n=Te(t.value,t);if(n.disabled)return;const o={options:n,handler:Se(e,n),isPending:!1,timeoutId:null};K(e,Le,o),e.addEventListener("click",o.handler),e.addEventListener("touchend",o.handler)},updated(e,t){const n=G(e,Le);if(!n){const n=Te(t.value,t);if(!n.disabled){const t={options:n,handler:Se(e,n),isPending:!1,timeoutId:null};K(e,Le,t),e.addEventListener("click",t.handler),e.addEventListener("touchend",t.handler)}return}const o=Te(t.value,t);o.disabled&&!n.options.disabled?(e.removeEventListener("click",n.handler),e.removeEventListener("touchend",n.handler),n.timeoutId&&clearTimeout(n.timeoutId),ke(e,n.options),Z(e,Le)):!o.disabled&&n.options.disabled&&(n.handler=Se(e,o),n.isPending=!1,n.timeoutId=null,e.addEventListener("click",n.handler),e.addEventListener("touchend",n.handler)),n.options=o},unmounted(e){const t=G(e,Le);t&&(e.removeEventListener("click",t.handler),e.removeEventListener("touchend",t.handler),t.timeoutId&&clearTimeout(t.timeoutId),ke(e,t.options),Z(e,Le))}}),De=x({name:"click-outside",ssr:!1,defaults:{capture:!0,events:["click"],disabled:!1,stop:!1,prevent:!1},mounted(e,t){const n=Me(t.value);if(n.disabled)return;const o={options:n,handlers:new Map};e.__clickOutside=o;n.events.forEach(t=>{const r=t=>{Pe(e,t,n)&&(n.stop&&t.stopPropagation(),n.prevent&&t.preventDefault(),n.handler(t))};o.handlers.set(t,r);const i={capture:n.capture,passive:!n.prevent};ne(document,t,r,i)})},updated(e,t){const n=e.__clickOutside;if(!n)return;const o=n.options,r=Me(t.value);if(o.disabled!==r.disabled)if(r.disabled)n.handlers.forEach((e,t)=>{oe(document,t,e,{capture:o.capture})}),n.handlers.clear();else{const t=t=>t=>{Pe(e,t,r)&&(r.stop&&t.stopPropagation(),r.prevent&&t.preventDefault(),r.handler(t))};r.events.forEach(e=>{const o=t();n.handlers.set(e,o),ne(document,e,o,{capture:r.capture,passive:!r.prevent})})}n.options=r},unmounted(e){const t=e.__clickOutside;t&&(t.handlers.forEach((e,n)=>{oe(document,n,e,{capture:t.options.capture})}),delete e.__clickOutside)}});function Me(e){var t,n,o,r,i;if("function"==typeof e)return{handler:e,capture:!0,events:["click"],disabled:!1,stop:!1,prevent:!1};if(!e)throw new Error("[Directix] v-click-outside: handler is required");return __spreadValues({capture:null==(t=e.capture)||t,events:null!=(n=e.events)?n:["click"],disabled:null!=(o=e.disabled)&&o,stop:null!=(r=e.stop)&&r,prevent:null!=(i=e.prevent)&&i},e)}function Pe(e,t,n){var o;const r=t.target;if(e.contains(r))return!1;if(null==(o=n.exclude)?void 0:o.length)for(const e of n.exclude){const t="function"==typeof e?e():J(e);if(t&&(t===r||t.contains(r)))return!1}return!0}function $e(e){if(!1===e)return{disabled:!0,color:"currentColor",duration:500,sizeRatio:1.5};if("string"==typeof e)return{color:e,duration:500,sizeRatio:1.5};const t={color:"currentColor",duration:500,disabled:!1,sizeRatio:1.5};return e&&"object"==typeof e?__spreadValues(__spreadValues({},t),e):t}const Ie=x({name:"click-wave",ssr:!1,defaults:{color:"currentColor",duration:500,disabled:!1,sizeRatio:1.5},mounted(e,t){const n=$e(t.value);if(n.disabled||!v())return;const o=getComputedStyle(e);"static"===o.position&&(e.style.position="relative"),"visible"===o.overflow&&(e.style.overflow="hidden"),e.classList.add("v-click-wave");const r={options:n,clickHandler:t=>{if(r.options.disabled)return;const n=function(e,t,n){const o=t.getBoundingClientRect(),r=e.clientX-o.left,i=e.clientY-o.top,l=Math.min(o.width,o.height)*(n.sizeRatio||1.5),a=document.createElement("span");return a.className="v-click-wave__effect",a.style.cssText=`\n position: absolute;\n border-radius: 50%;\n pointer-events: none;\n background-color: ${n.color};\n width: ${l}px;\n height: ${l}px;\n left: ${r-l/2}px;\n top: ${i-l/2}px;\n transform: scale(0);\n opacity: 0.5;\n z-index: 0;\n `,a}(t,e,r.options);n&&(e.appendChild(n),function(e,t){const n=t.duration||500;"function"==typeof e.animate?e.animate([{transform:"scale(0)",opacity:.5},{transform:"scale(1)",opacity:0}],{duration:n,easing:"ease-out",fill:"forwards"}).onfinish=()=>{e.remove()}:(e.style.transition=`transform ${n}ms ease-out, opacity ${n}ms ease-out`,String(e.offsetHeight),e.style.transform="scale(1)",e.style.opacity="0",setTimeout(()=>{e.remove()},n))}(n,r.options))}};e.__clickWave=r,e.addEventListener("click",r.clickHandler)},updated(e,t){const n=e.__clickWave;n&&(n.options=$e(t.value))},unmounted(e){const t=e.__clickWave;t&&(e.removeEventListener("click",t.clickHandler),e.classList.remove("v-click-wave"),delete e.__clickWave)}});function He(e){return Array.isArray(e)?{items:e}:e}function Ae(e){e&&e.parentNode&&e.parentNode.removeChild(e)}const Oe=x({name:"context-menu",ssr:!1,mounted(e,t){const n=He(t.value);if(n.disabled||!v())return;const o={options:n,contextMenuHandler:e=>{var t,r;e.preventDefault(),o.menuElement&&Ae(o.menuElement),!1!==(null==(t=n.onBeforeShow)?void 0:t.call(n,e))&&(o.menuElement=function(e,t,n){const o=document.createElement("div");o.className=`v-context-menu ${e.class||""}`;const r=e.width?"number"==typeof e.width?`${e.width}px`:e.width:"150px";return o.style.cssText=`\n position: fixed;\n left: ${t}px;\n top: ${n}px;\n min-width: ${r};\n background: #fff;\n border-radius: 4px;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);\n padding: 4px 0;\n z-index: 9999;\n font-size: 14px;\n `,e.items.forEach((t,n)=>{if(t.divider){const e=document.createElement("div");e.className="v-context-menu__divider",e.style.cssText="\n height: 1px;\n background: #e8e8e8;\n margin: 4px 0;\n ",o.appendChild(e)}if(e.renderItem){const r=e.renderItem(t,n);o.appendChild(r)}else{const e=document.createElement("div");if(e.className=`v-context-menu__item ${t.class||""}`,t.disabled&&e.classList.add("v-context-menu__item--disabled"),e.style.cssText=`\n padding: 8px 16px;\n cursor: ${t.disabled?"not-allowed":"pointer"};\n color: ${t.disabled?"#b0b0b0":"#333"};\n display: flex;\n align-items: center;\n gap: 8px;\n `,t.icon){const n=document.createElement("span");n.className="v-context-menu__icon",n.innerHTML=t.icon,e.appendChild(n)}const n=document.createElement("span");n.textContent=t.label,e.appendChild(n),!t.disabled&&t.handler&&(e.addEventListener("click",()=>{t.handler(),Ae(o)}),e.addEventListener("mouseenter",()=>{e.style.background="#f5f5f5"}),e.addEventListener("mouseleave",()=>{e.style.background="transparent"})),o.appendChild(e)}}),o}(o.options,e.clientX,e.clientY),document.body.appendChild(o.menuElement),function(e,t,n){const o=e.getBoundingClientRect(),r=window.innerWidth,i=window.innerHeight;t+o.width>r&&(e.style.left=r-o.width-8+"px"),n+o.height>i&&(e.style.top=i-o.height-8+"px")}(o.menuElement,e.clientX,e.clientY),setTimeout(()=>{document.addEventListener("click",o.clickOutsideHandler)},0),null==(r=n.onAfterShow)||r.call(n))},menuElement:null,clickOutsideHandler:e=>{var t;const r=e.target;o.menuElement&&o.menuElement.contains(r)||(Ae(o.menuElement),o.menuElement=null,document.removeEventListener("click",o.clickOutsideHandler),null==(t=n.onHide)||t.call(n))}};e.__contextMenu=o,ne(e,"contextmenu",o.contextMenuHandler)},updated(e,t){const n=e.__contextMenu;n&&(n.options=He(t.value))},unmounted(e){const t=e.__contextMenu;t&&(oe(e,"contextmenu",t.contextMenuHandler),t.menuElement&&(Ae(t.menuElement),document.removeEventListener("click",t.clickOutsideHandler)),delete e.__contextMenu)}});function ze(e){return __async(this,null,function*(){if(w())try{return yield navigator.clipboard.writeText(e),!0}catch(e){console.warn("[Directix] Clipboard API failed, falling back to execCommand")}return function(e){const t=document.createElement("textarea");t.value=e,t.style.cssText="\n position: fixed;\n top: -9999px;\n left: -9999px;\n opacity: 0;\n pointer-events: none;\n ",document.body.appendChild(t);try{return t.select(),t.setSelectionRange(0,t.value.length),document.execCommand("copy")}catch(e){return!1}finally{document.body.removeChild(t)}}(e)})}const Fe=x({name:"copy",ssr:!1,mounted(e,t){const n=Re(t.value);if(n.disabled)return;n.title&&e.setAttribute("title",n.title);const o={handler:null,options:n};o.handler=()=>__async(null,null,function*(){var t,n,r,i;const l=o.options.value;if(l)try{if(!(yield ze(l)))throw new Error("Copy failed");null==(n=(t=o.options).onSuccess)||n.call(t,l),e.dispatchEvent(new CustomEvent("copy:success",{detail:{text:l}}))}catch(t){const n=t;null==(i=(r=o.options).onError)||i.call(r,n),e.dispatchEvent(new CustomEvent("copy:error",{detail:{error:n}}))}else console.warn("[Directix] v-copy: No text to copy")}),e.addEventListener("click",o.handler),e.__copy=o},updated(e,t){const n=e.__copy;n&&(n.options=Re(t.value),n.options.title&&e.setAttribute("title",n.options.title))},unmounted(e){const t=e.__copy;t&&(e.removeEventListener("click",t.handler),delete e.__copy)}});function Re(e){return"string"==typeof e?{value:e}:e}function Ye(e){return e instanceof Date?e.getTime():"number"==typeof e?e:new Date(e).getTime()}function Ve(e){const t=Math.max(0,e);return{days:Math.floor(t/864e5),hours:Math.floor(t%864e5/36e5),minutes:Math.floor(t%36e5/6e4),seconds:Math.floor(t%6e4/1e3),milliseconds:t%1e3,total:t}}function Ne(e){var t,n,o,r;return"object"==typeof e&&null!==e&&"target"in e?{target:e.target,format:null!=(t=e.format)?t:"hh:mm:ss",onComplete:e.onComplete,onTick:e.onTick,interval:null!=(n=e.interval)?n:1e3,showMilliseconds:null!=(o=e.showMilliseconds)&&o,autoStart:null==(r=e.autoStart)||r,labels:e.labels}:{target:e,format:"hh:mm:ss",interval:1e3,showMilliseconds:!1,autoStart:!0}}const Ue=x({name:"countdown",ssr:!0,mounted(e,t){const n=Ne(t.value),o={options:n,targetTime:Ye(n.target),intervalId:null,paused:!1,remaining:0};e.__countdown=o,!1!==n.autoStart?Xe(e,o):Be(e,o)},updated(e,t){const n=e.__countdown,o=Ne(t.value),r=Ye(o.target);r!==n.targetTime?(n.targetTime=r,n.options=o,n.intervalId&&(clearInterval(n.intervalId),n.intervalId=null),n.paused||Xe(e,n)):n.options=o},unmounted(e){const t=e.__countdown;(null==t?void 0:t.intervalId)&&clearInterval(t.intervalId),delete e.__countdown}});function Xe(e,t){const n=()=>{const n=Date.now();if(t.remaining=t.targetTime-n,t.remaining<=0)return t.remaining=0,Be(e,t),function(e){e.intervalId&&(clearInterval(e.intervalId),e.intervalId=null)}(t),t.options.onComplete&&t.options.onComplete(),void e.dispatchEvent(new CustomEvent("countdown:complete"));if(Be(e,t),t.options.onTick){const e=Ve(t.remaining);t.options.onTick(e)}};n(),t.intervalId=setInterval(n,t.options.interval||1e3)}function Be(e,t){const n=function(e,t){if("function"==typeof t)return t(e);const n=(e,t=2)=>String(e).padStart(t,"0");return t.replace(/dd/gi,n(e.days)).replace(/hh/gi,n(e.hours)).replace(/mm/gi,n(e.minutes)).replace(/ss/gi,n(e.seconds)).replace(/S{3}/gi,n(e.milliseconds,3)).replace(/SS/gi,n(Math.floor(e.milliseconds/10))).replace(/S/gi,String(Math.floor(e.milliseconds/100)))}(Ve(t.remaining),t.options.format||"hh:mm:ss");e.textContent=n}function je(e){return"number"==typeof e?{value:e}:__spreadValues({value:0,startValue:0,duration:2e3,decimals:0,useGrouping:!1,locale:"en-US",easing:"easeOutQuart",delay:0},e||{})}const We={linear:e=>e,easeOut:e=>1-__pow(1-e,3),easeInOut:e=>e<.5?4*e*e*e:1-__pow(-2*e+2,3)/2,easeOutQuart:e=>1-__pow(1-e,4),easeOutExpo:e=>1===e?1:1-__pow(2,-10*e)};function qe(e,t){return t.formatter?t.formatter(e):new Intl.NumberFormat(t.locale,{minimumFractionDigits:t.decimals,maximumFractionDigits:t.decimals,useGrouping:t.useGrouping}).format(e)}const Ke=x({name:"counter",ssr:!0,mounted(e,t){const n=je(t.value),o={options:n,animationFrame:null,startTime:null,startValue:n.startValue||0,currentValue:n.startValue||0};e.__counter=o,e.textContent=qe(o.startValue,n),e.classList.add("v-counter"),v()&&n.value!==o.startValue&&setTimeout(()=>{Ge(e,o)},n.delay||0)},updated(e,t){const n=e.__counter;if(!n)return;const o=je(t.value),r=n.options.value,i=o.value;n.animationFrame&&(cancelAnimationFrame(n.animationFrame),n.animationFrame=null),n.startValue=n.currentValue,n.startTime=null,n.options=o,i!==r&&Ge(e,n)},unmounted(e){const t=e.__counter;t&&(t.animationFrame&&cancelAnimationFrame(t.animationFrame),e.classList.remove("v-counter"),delete e.__counter)}});function Ge(e,t){var n;const{options:o,startValue:r}=t,i=o.value,l=o.duration||2e3;t.startTime=null,null==(n=o.onStart)||n.call(o),t.animationFrame=requestAnimationFrame(function n(a){var s,c;t.startTime||(t.startTime=a);const u=a-t.startTime,d=Math.min(u/l,1),p=(o.customEasing||We[o.easing||"easeOutQuart"])(d);t.currentValue=r+(i-r)*p;const m=qe(t.currentValue,o);e.textContent=m,null==(s=o.onUpdate)||s.call(o,t.currentValue,m),d<1?t.animationFrame=requestAnimationFrame(n):(t.currentValue=i,e.textContent=qe(i,o),t.animationFrame=null,null==(c=o.onComplete)||c.call(o,i))})}function Ze(e,t){const n=he(t.arg)||300;return"function"==typeof e?{handler:e,wait:n}:__spreadProps(__spreadValues({},e),{wait:e.wait||n})}const Je=x({name:"debounce",ssr:!0,defaults:{wait:300,leading:!1,trailing:!0},mounted(e,t){const n=Ze(t.value,t),o=se(t.modifiers)||ce(e),r=fe(n.handler,n.wait,{leading:n.leading,trailing:n.trailing});e.addEventListener(o,r),e.__debounce={debouncedFn:r,eventType:o,options:n}},updated(e,t){const n=e.__debounce;if(!n)return;const o=Ze(t.value,t);if(o.wait!==n.options.wait||o.leading!==n.options.leading||o.trailing!==n.options.trailing){n.debouncedFn.cancel();const t=fe(o.handler,o.wait,{leading:o.leading,trailing:o.trailing});e.removeEventListener(n.eventType,n.debouncedFn),e.addEventListener(n.eventType,t),e.__debounce={debouncedFn:t,eventType:n.eventType,options:o}}else o.handler!==n.options.handler&&(n.options.handler=o.handler)},unmounted(e){const t=e.__debounce;t&&(t.debouncedFn.cancel(),e.removeEventListener(t.eventType,t.debouncedFn),delete e.__debounce)}});function Qe(e){if(e.type.startsWith("touch")){const t=e.touches[0];return{clientX:t.clientX,clientY:t.clientY}}const t=e;return{clientX:t.clientX,clientY:t.clientY}}function et(e){const t=e.match(/translate\(([-\d.]+)px,\s*([-\d.]+)px\)/);return t?{x:parseFloat(t[1]),y:parseFloat(t[2])}:{x:0,y:0}}function tt(e){var t,n,o;return void 0===e||!0===e?{axis:"both",constrain:!1,disabled:!1}:!1===e?{axis:"both",constrain:!1,disabled:!0}:{axis:null!=(t=e.axis)?t:"both",constrain:null!=(n=e.constrain)&&n,boundary:e.boundary,handle:e.handle,disabled:null!=(o=e.disabled)&&o,grid:e.grid,onStart:e.onStart,onDrag:e.onDrag,onEnd:e.onEnd}}const nt=x({name:"draggable",ssr:!1,mounted(e,t){const n=tt(t.value);if(n.disabled)return;"static"===getComputedStyle(e).position&&(e.style.position="absolute");const o={options:n,isDragging:!1,startX:0,startY:0,offsetX:0,offsetY:0,initialLeft:0,initialTop:0,boundaryWidth:0,boundaryHeight:0,elWidth:0,elHeight:0,handleEl:n.handle?e.querySelector(n.handle):null,moveHandler:null,endHandler:null};e.__draggable=o;const r=o.handleEl||e;function i(t){var n,r,i;if(o.options.disabled)return;"touchstart"===t.type&&t.preventDefault();const{clientX:l,clientY:a}=Qe(t);o.isDragging=!0,o.startX=l,o.startY=a;const{x:s,y:c}=et(e.style.transform);if(o.offsetX=s,o.offsetY=c,o.options.constrain||o.options.boundary){const t=o.options.boundary?function(e,t){var n,o;if(!t)return null;if("function"==typeof t){const e=t();return null!=(n=null==e?void 0:e.getBoundingClientRect())?n:null}if("string"==typeof t){const e=document.querySelector(t);return null!=(o=null==e?void 0:e.getBoundingClientRect())?o:null}return t.getBoundingClientRect()}(0,o.options.boundary):null==(n=e.parentElement)?void 0:n.getBoundingClientRect();if(t){const n=e.getBoundingClientRect();o.initialLeft=n.left-t.left,o.initialTop=n.top-t.top,o.boundaryWidth=t.width,o.boundaryHeight=t.height,o.elWidth=n.width,o.elHeight=n.height}}e.classList.add("v-draggable--dragging"),o.moveHandler=t=>{var n,r;if(!o.isDragging)return;const{clientX:i,clientY:l}=Qe(t);let a=i-o.startX,s=l-o.startY;"x"===o.options.axis?s=0:"y"===o.options.axis&&(a=0),o.options.grid&&(a=Math.round(a/o.options.grid[0])*o.options.grid[0],s=Math.round(s/o.options.grid[1])*o.options.grid[1]);let c=o.offsetX+a,u=o.offsetY+s;if(o.options.constrain||o.options.boundary){const e=o.initialLeft+a,t=o.initialTop+s,n=o.boundaryWidth-o.elWidth,r=o.boundaryHeight-o.elHeight,i=Math.max(0,Math.min(e,n)),l=Math.max(0,Math.min(t,r));c=o.offsetX+(i-o.initialLeft),u=o.offsetY+(l-o.initialTop)}e.style.transform=`translate(${c}px, ${u}px)`,null==(r=(n=o.options).onDrag)||r.call(n,{x:c,y:u},t)},o.endHandler=()=>{var t,n;if(!o.isDragging)return;o.isDragging=!1,e.classList.remove("v-draggable--dragging"),o.moveHandler&&(document.removeEventListener("mousemove",o.moveHandler),document.removeEventListener("touchmove",o.moveHandler)),o.endHandler&&(document.removeEventListener("mouseup",o.endHandler),document.removeEventListener("touchend",o.endHandler));const{x:r,y:i}=et(e.style.transform);null==(n=(t=o.options).onEnd)||n.call(t,{x:r,y:i},new MouseEvent("mouseup"))},document.addEventListener("mousemove",o.moveHandler),document.addEventListener("touchmove",o.moveHandler,{passive:!1}),document.addEventListener("mouseup",o.endHandler),document.addEventListener("touchend",o.endHandler),null==(i=(r=o.options).onStart)||i.call(r,{x:o.offsetX,y:o.offsetY},t)}r.addEventListener("mousedown",i),r.addEventListener("touchstart",i,{passive:!1})},updated(e,t){const n=e.__draggable;n&&(n.options=tt(t.value),n.options.handle&&(n.handleEl=e.querySelector(n.options.handle)))},unmounted(e){const t=e.__draggable;t&&(t.moveHandler&&(document.removeEventListener("mousemove",t.moveHandler),document.removeEventListener("touchmove",t.moveHandler)),t.endHandler&&(document.removeEventListener("mouseup",t.endHandler),document.removeEventListener("touchend",t.endHandler)),delete e.__draggable)}}),ot=x({name:"ellipsis",ssr:!0,defaults:{lines:1,ellipsis:"...",expandable:!1,titleBehavior:"auto"},mounted(e,t){const n=lt(t.value);rt(e,n);const o={options:n,originalText:e.textContent||"",clickHandler:null,expanded:!1};if(n.expandable){const t=()=>{o.expanded?(rt(e,n),o.expanded=!1):(e.textContent=o.originalText,e.style.webkitLineClamp="",e.style.display="",e.style.overflow="",e.style.cursor="",o.expanded=!0)};e.addEventListener("click",t),e.style.cursor="pointer",o.clickHandler=t}("always"===n.titleBehavior||"auto"===n.titleBehavior&&it(e))&&(e.title=o.originalText),e.__ellipsis=o},updated(e,t){const n=e.__ellipsis;if(!n){const n=lt(t.value);return void rt(e,n)}const o=lt(t.value);if(e.textContent!==n.originalText&&(n.originalText=e.textContent||"",n.expanded=!1),n.options.expandable!==o.expandable)if(n.clickHandler&&(e.removeEventListener("click",n.clickHandler),n.clickHandler=null),o.expandable){const t=()=>{n.expanded?(rt(e,o),n.expanded=!1):(e.textContent=n.originalText,e.style.webkitLineClamp="",e.style.display="",e.style.overflow="",n.expanded=!0)};e.addEventListener("click",t),e.style.cursor="pointer",n.clickHandler=t}else e.style.cursor="";n.options=o,n.expanded||rt(e,o),"always"===o.titleBehavior?e.title=n.originalText:"auto"===o.titleBehavior?e.title=it(e)?n.originalText:"":e.removeAttribute("title")},unmounted(e){const t=e.__ellipsis;t&&(t.clickHandler&&e.removeEventListener("click",t.clickHandler),e.style.removeProperty("-webkit-line-clamp"),e.style.removeProperty("-webkit-box-orient"),e.style.removeProperty("display"),e.style.removeProperty("overflow"),e.style.removeProperty("text-overflow"),e.style.removeProperty("white-space"),e.style.removeProperty("cursor"),delete e.__ellipsis)}});function rt(e,t){const n=t.lines||1;1===n?(e.style.overflow="hidden",e.style.textOverflow="ellipsis",e.style.whiteSpace="nowrap"):(e.style.display="-webkit-box",e.style.overflow="hidden",e.style.webkitBoxOrient="vertical",e.style.webkitLineClamp=String(n))}function it(e){return e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight}function lt(e){var t,n,o,r;return"number"==typeof e?{lines:e,ellipsis:"...",expandable:!1,titleBehavior:"auto"}:{lines:null!=(t=null==e?void 0:e.lines)?t:1,ellipsis:null!=(n=null==e?void 0:e.ellipsis)?n:"...",expandable:null!=(o=null==e?void 0:e.expandable)&&o,titleBehavior:null!=(r=null==e?void 0:e.titleBehavior)?r:"auto"}}const at=/[\p{Emoji_Presentation}\p{Extended_Pictographic}]/gu;function st(e){return!1===e?{strip:!1}:!0===e||void 0===e?{strip:!0}:__spreadValues({strip:!0,replacement:""},e)}function ct(e,t){var n;const o=function(e){if(e.pattern)return new RegExp(e.pattern,"gu");if(e.blockList&&e.blockList.length>0){const t=e.blockList.map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|");return new RegExp(t,"gu")}return e.allowList&&e.allowList.length,at}(t),r=t.replacement||"";let i=e;if(t.allowList&&t.allowList.length>0)i=e.replace(o,n=>{var o,i,l;return i=n,(l=t.allowList)&&0!==l.length&&l.includes(i)?n:(null==(o=t.onEmoji)||o.call(t,n,e.indexOf(n)),r)});else{const n=e.match(o);n&&n.forEach(n=>{var o;null==(o=t.onEmoji)||o.call(t,n,e.indexOf(n))}),i=e.replace(o,r)}return i!==e&&(null==(n=t.onStrip)||n.call(t,e,i)),i}const ut=x({name:"emoji",ssr:!1,mounted(e,t){var n;if(!v())return;const o=st(t.value);if(!o.strip&&!(null==(n=o.blockList)?void 0:n.length))return;const r={options:o,inputHandler:e=>{const t=e.target,n=t.value,o=ct(n,r.options);if(o!==n){const e=t.selectionStart||0,r=t.selectionEnd||0;t.value=o;const i=n.length-o.length;t.setSelectionRange(Math.max(0,e-i),Math.max(0,r-i)),t.dispatchEvent(new Event("input",{bubbles:!0}))}},pasteHandler:e=>{var t;if(!r.options.strip)return;const n=null==(t=e.clipboardData)?void 0:t.getData("text");if(n&&at.test(n)){e.preventDefault();const t=ct(n,r.options),o=e.target,i=o.selectionStart||0,l=o.selectionEnd||0,a=o.value;o.value=a.substring(0,i)+t+a.substring(l),o.setSelectionRange(i+t.length,i+t.length),o.dispatchEvent(new Event("input",{bubbles:!0}))}}};if(e.__emoji=r,ne(e,"input",r.inputHandler),ne(e,"paste",r.pasteHandler),e.value){const t=ct(e.value,r.options);t!==e.value&&(e.value=t)}e.classList.add("v-emoji")},updated(e,t){const n=e.__emoji;n&&(n.options=st(t.value))},unmounted(e){const t=e.__emoji;t&&(oe(e,"input",t.inputHandler),oe(e,"paste",t.pasteHandler),e.classList.remove("v-emoji"),delete e.__emoji)}});function dt(e){var t;if(!e||"string"==typeof e||Array.isArray(e))return{data:e,format:"csv",filename:"export"};const n=e;return __spreadProps(__spreadValues({format:"csv",filename:"export",includeHeaders:!0,delimiter:","},n),{data:null!=(t=n.data)?t:[]})}function pt(e){const{data:t,format:n="csv",filename:o="export"}=e;let r;switch(n){case"json":r=function(e){return JSON.stringify(e,null,2)}(t);break;case"html":r=function(e,t){var n;if(!Array.isArray(e)||0===e.length)return"";const o=t.columns||Object.keys(e[0]),r=t.headers||{};let i='<table border="1">\n';if(t.includeHeaders){i+=" <thead>\n <tr>\n";for(const e of o)i+=` <th>${r[e]||e}</th>\n`;i+=" </tr>\n </thead>\n"}i+=" <tbody>\n";for(const t of e){i+=" <tr>\n";for(const e of o)i+=` <td>${null!=(n=t[e])?n:""}</td>\n`;i+=" </tr>\n"}return i+=" </tbody>\n</table>",i}(Array.isArray(t)?t:[t],e);break;case"txt":r="string"==typeof t?t:JSON.stringify(t,null,2);break;default:r=function(e,t){if(!Array.isArray(e)||0===e.length)return"";const n=t.delimiter||",",o=t.columns||Object.keys(e[0]),r=t.headers||{};return(t.includeHeaders?`${o.map(e=>r[e]||e).join(n)}\n`:"")+e.map(e=>o.map(t=>{const o=e[t];return"string"==typeof o&&(o.includes(n)||o.includes("\n")||o.includes('"'))?`"${o.replace(/"/g,'""')}"`:null!=o?o:""}).join(n)).join("\n")}(Array.isArray(t)?t:[t],e)}!function(e,t,n){const o=new Blob([e],{type:{csv:"text/csv;charset=utf-8;",json:"application/json;charset=utf-8;",txt:"text/plain;charset=utf-8;",html:"text/html;charset=utf-8;"}[n]}),r=URL.createObjectURL(o),i=document.createElement("a");i.href=r,i.download=`${t}.${n}`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r)}(r,o,n)}const mt=x({name:"export",ssr:!1,mounted(e,t){const n=dt(t.value);if(!v())return;const o={options:n,clickHandler:()=>{var e,t,n,r,i,l;if(!1!==(null==(t=(e=o.options).onBeforeExport)?void 0:t.call(e)))try{pt(o.options),null==(r=(n=o.options).onAfterExport)||r.call(n)}catch(e){null==(l=(i=o.options).onError)||l.call(i,e)}}};e.__export=o,ne(e,"click",o.clickHandler),e.classList.add("v-export")},updated(e,t){const n=e.__export;n&&(n.options=dt(t.value))},unmounted(e){const t=e.__export;t&&(oe(e,"click",t.clickHandler),e.classList.remove("v-export"),delete e.__export)}}),ft={direction:"toggle",visible:!0,duration:300,delay:0,easing:"ease",minOpacity:0,maxOpacity:1};function vt(e){return"boolean"==typeof e?__spreadProps(__spreadValues({},ft),{visible:e}):"string"==typeof e?__spreadProps(__spreadValues({},ft),{direction:e}):__spreadValues(__spreadValues({},ft),e)}function ht(e){return{ease:"ease","ease-in":"ease-in","ease-out":"ease-out","ease-in-out":"ease-in-out",linear:"linear"}[e]||e}const gt=x({name:"fade",ssr:!0,mounted(e,t){const n=vt(t.value),o={options:n,currentOpacity:n.visible?n.maxOpacity||1:n.minOpacity||0,animationFrame:null,isAnimating:!1};e.__fade=o,e.style.transition=`opacity ${n.duration}ms ${ht(n.easing||"ease")} ${n.delay}ms`,"in"===n.direction?(e.style.opacity=String(n.minOpacity||0),e.style.display="",String(e.offsetHeight),o.animationFrame=requestAnimationFrame(()=>{o.animationFrame=null,e.style.opacity=String(n.maxOpacity||1),o.currentOpacity=n.maxOpacity||1})):"out"===n.direction?(e.style.opacity=String(n.maxOpacity||1),e.style.display="",o.animationFrame=requestAnimationFrame(()=>{o.animationFrame=null,e.style.opacity=String(n.minOpacity||0),setTimeout(()=>{e.style.display="none"},(n.duration||300)+(n.delay||0))})):(e.style.opacity=String(o.currentOpacity),n.visible||(e.style.display="none")),e.classList.add("v-fade")},updated(e,t){const n=e.__fade;if(!n)return;const o=vt(t.value),r=!1!==o.visible,i=n.options.visible;n.options=o,e.style.transition=`opacity ${o.duration}ms ${ht(o.easing||"ease")} ${o.delay}ms`,i!==o.visible&&function(e,t,n){var o;if(t.isAnimating)return;const r=t.options;t.isAnimating=!0,null==(o=r.onStart)||o.call(r,n),"in"===n?(e.style.display="",e.style.opacity=String(r.minOpacity||0),String(e.offsetHeight),requestAnimationFrame(()=>{e.style.opacity=String(r.maxOpacity||1),setTimeout(()=>{var e;t.isAnimating=!1,t.currentOpacity=r.maxOpacity||1,null==(e=r.onComplete)||e.call(r,n)},(r.duration||300)+(r.delay||0))})):(e.style.opacity=String(r.minOpacity||0),setTimeout(()=>{var o;t.isAnimating=!1,t.currentOpacity=r.minOpacity||0,e.style.display="none",null==(o=r.onComplete)||o.call(r,n)},(r.duration||300)+(r.delay||0)))}(e,n,r?"in":"out")},unmounted(e){const t=e.__fade;t&&(t.animationFrame&&cancelAnimationFrame(t.animationFrame),e.classList.remove("v-fade"),delete e.__fade)}});const yt=new Set(["input","textarea","select","button"]);const bt=x({name:"focus",ssr:!0,defaults:{focus:!0,refocus:!1},mounted(e,t){if(!v())return;const n=wt(t.value);if(!n.focus||!function(e){if(!v())return!1;const t=e.tagName.toLowerCase();if(yt.has(t))return!e.disabled;if(e.isContentEditable)return!0;const n=e.getAttribute("tabindex");if(null!=n)return"-1"!==n;if("a"===t||"area"===t)return e.hasAttribute("href");return!1}(e))return void(n.focus&&console.warn("[Directix] v-focus: Element is not focusable"));const o=()=>{var t;return null==(t=n.onFocus)?void 0:t.call(n,e)},r=()=>{var t;return null==(t=n.onBlur)?void 0:t.call(n,e)};e.addEventListener("focus",o),e.addEventListener("blur",r),e.__focus={options:n,handleFocus:o,handleBlur:r,lastValue:t.value},e.focus()},updated(e,t){const n=e.__focus;if(!n)return;const o=wt(t.value);o.onFocus!==n.options.onFocus&&(e.removeEventListener("focus",n.handleFocus),n.handleFocus=()=>{var t;return null==(t=o.onFocus)?void 0:t.call(o,e)},e.addEventListener("focus",n.handleFocus)),o.onBlur!==n.options.onBlur&&(e.removeEventListener("blur",n.handleBlur),n.handleBlur=()=>{var t;return null==(t=o.onBlur)?void 0:t.call(o,e)},e.addEventListener("blur",n.handleBlur));const r=!function(e,t){if(e===t)return!0;if("object"!=typeof e||"object"!=typeof t||null===e||null===t)return!1;const n=e,o=t,r=Object.keys(n),i=Object.keys(o);return r.length===i.length&&r.every(e=>n[e]===o[e])}(t.value,n.lastValue);o.refocus&&o.focus&&r&&e.focus(),n.options=o,n.lastValue=t.value},unmounted(e){const t=e.__focus;t&&(e.removeEventListener("focus",t.handleFocus),e.removeEventListener("blur",t.handleBlur),delete e.__focus)}});function wt(e){return"boolean"==typeof e?{focus:e,refocus:!1}:__spreadValues({focus:!0,refocus:!1},e)}function _t(e){return __async(this,null,function*(){e.requestFullscreen?yield e.requestFullscreen():e.webkitRequestFullscreen?yield e.webkitRequestFullscreen():e.mozRequestFullScreen?yield e.mozRequestFullScreen():e.msRequestFullscreen&&(yield e.msRequestFullscreen())})}function xt(){return __async(this,null,function*(){document.exitFullscreen?yield document.exitFullscreen():document.webkitExitFullscreen?yield document.webkitExitFullscreen():document.mozCancelFullScreen?yield document.mozCancelFullScreen():document.msExitFullscreen&&(yield document.msExitFullscreen())})}function Et(e){return"boolean"==typeof e?{initialState:e}:__spreadValues({initialState:!1,toggleKey:"Escape"},e)}const Lt=x({name:"fullscreen",ssr:!1,mounted(e,t){const n=Et(t.value);if(!v()||!(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled))return;const o={options:n,clickHandler:()=>function(e,t){return __async(this,null,function*(){t.isFullscreen?yield xt():yield _t(e)})}(e,o),keydownHandler:e=>{!1!==o.options.toggleKey&&e.key===o.options.toggleKey&&o.isFullscreen&&xt()},changeHandler:()=>{var t,n,r,i,l,a;const s=o.isFullscreen;o.isFullscreen=(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||null)===e,s!==o.isFullscreen&&(o.isFullscreen?(e.classList.add(o.options.fullscreenClass||"v-fullscreen--active"),null==(n=(t=o.options).onEnter)||n.call(t)):(e.classList.remove(o.options.fullscreenClass||"v-fullscreen--active"),null==(i=(r=o.options).onExit)||i.call(r)),null==(a=(l=o.options).onChange)||a.call(l,o.isFullscreen))},isFullscreen:!1};e.__fullscreen=o,document.addEventListener("fullscreenchange",o.changeHandler),document.addEventListener("webkitfullscreenchange",o.changeHandler),document.addEventListener("mozfullscreenchange",o.changeHandler),document.addEventListener("MSFullscreenChange",o.changeHandler),!1!==n.toggleKey&&document.addEventListener("keydown",o.keydownHandler),e.toggleFullscreen=o.clickHandler,n.initialState&&_t(e),e.classList.add("v-fullscreen")},updated(e,t){const n=e.__fullscreen;n&&(n.options=Et(t.value))},unmounted(e){const t=e.__fullscreen;t&&(t.isFullscreen&&xt(),document.removeEventListener("fullscreenchange",t.changeHandler),document.removeEventListener("webkitfullscreenchange",t.changeHandler),document.removeEventListener("mozfullscreenchange",t.changeHandler),document.removeEventListener("MSFullscreenChange",t.changeHandler),!1!==t.options.toggleKey&&document.removeEventListener("keydown",t.keydownHandler),e.classList.remove("v-fullscreen"),e.classList.remove(t.options.fullscreenClass||"v-fullscreen--active"),delete e.__fullscreen,delete e.toggleFullscreen)}});function kt(e){return"string"==typeof e||Array.isArray(e)?{keywords:e}:__spreadValues({className:"v-highlight",caseSensitive:!1,wholeWord:!1,tag:"mark"},e)}function St(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Tt(e,t){const n=Array.isArray(t.keywords)?t.keywords:[t.keywords];if(0===n.length||!e)return e;const o=t.caseSensitive||!1,r=t.wholeWord||!1,i=t.tag||"mark",l=t.className||"v-highlight",a=t.style?` style="${t.style}"`:"";n.sort((e,t)=>t.length-e.length);let s=e;for(const e of n){if(!e)continue;const t=St(e),n=r?"\\b":"",c=new RegExp(`${n}${t}${n}`,o?"g":"gi");s=s.replace(c,`<${i} class="${l}"${a}>$&</${i}>`)}return s}const Ct=x({name:"highlight",ssr:!0,mounted(e,t){if(!v())return;const n=kt(t.value);if(!n.keywords||Array.isArray(n.keywords)&&0===n.keywords.length)return;const o={options:n,originalContent:e.innerHTML};e.__highlight=o,Dt(e,o)},updated(e,t){const n=e.__highlight;if(!n){const n=kt(t.value);if(n.keywords){const t={options:n,originalContent:e.innerHTML};e.__highlight=t,Dt(e,t)}return}const o=kt(t.value);(Array.isArray(n.options.keywords)?n.options.keywords.join(","):n.options.keywords)===(Array.isArray(o.keywords)?o.keywords.join(","):o.keywords)&&JSON.stringify(n.options)===JSON.stringify(o)||(e.innerHTML=n.originalContent,n.options=o,n.originalContent=e.innerHTML,Dt(e,n))},unmounted(e){const t=e.__highlight;t&&(e.innerHTML=t.originalContent,delete e.__highlight)}});function Dt(e,t){var n,o;if(function(e){for(const t of e.childNodes)if(t.nodeType===Node.ELEMENT_NODE)return!1;return!0}(e)){const r=Tt(t.originalContent,t.options);e.innerHTML=r;const i=e.querySelectorAll(t.options.tag||"mark").length;null==(o=(n=t.options).onHighlight)||o.call(n,i)}else!function(e,t){var n,o,r,i;const l=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null),a=[];let s=l.nextNode(),c=0;for(;s;)(null==(o=null==(n=s.parentNode)?void 0:n.tagName)?void 0:o.toLowerCase())!==(t.options.tag||"mark").toLowerCase()?(a.push(s),s=l.nextNode()):s=l.nextNode();for(const n of a){const o=n.textContent||"",r=Tt(o,t.options);if(r!==o){const o=document.createElement("span");o.innerHTML=r;const i=n.parentNode;if(i){for(i.insertBefore(o,n),i.removeChild(n);o.firstChild;)i.insertBefore(o.firstChild,o);i.removeChild(o)}c+=e.querySelectorAll(t.options.tag||"mark").length}}null==(i=(r=t.options).onHighlight)||i.call(r,c)}(e,t)}const Mt={esc:"escape",space:" ",up:"arrowup",down:"arrowdown",left:"arrowleft",right:"arrowright",enter:"enter",tab:"tab",delete:"delete",backspace:"backspace",insert:"insert",home:"home",end:"end",pagedown:"pagedown",pageup:"pageup",f1:"f1",f2:"f2",f3:"f3",f4:"f4",f5:"f5",f6:"f6",f7:"f7",f8:"f8",f9:"f9",f10:"f10",f11:"f11",f12:"f12"},Pt=new Set(["ctrl","alt","shift","meta"]);function $t(e){const t=e.toLowerCase();return Mt[t]||t}function It(e){const t=e.toLowerCase().split(/[+.]/),n=[];let o="";for(const e of t)Pt.has(e)?n.push(e):o=$t(e);return{key:o,modifiers:n}}function Ht(e,t){if($t(e.key)!==t.key)return!1;const n=new Set;if(e.ctrlKey&&n.add("ctrl"),e.altKey&&n.add("alt"),e.shiftKey&&n.add("shift"),e.metaKey&&n.add("meta"),n.size!==t.modifiers.size)return!1;for(const e of t.modifiers)if(!n.has(e))return!1;return!0}function At(e,t,n,o={}){var r,i,l;return{key:$t(e),modifiers:new Set(t),handler:n,prevent:null==(r=o.prevent)||r,stop:null==(i=o.stop)||i,disabled:null!=(l=o.disabled)&&l}}function Ot(e,t,n){if(t){const o=t.toLowerCase();let r;const i=[];if(Pt.has(o)){i.push(o);for(const e of Object.keys(n)){const t=e.toLowerCase();Pt.has(t)?i.push(t):r=$t(e)}}else{const e=It(t);r=e.key,i.push(...e.modifiers);for(const e of Object.keys(n)){const t=e.toLowerCase();Pt.has(t)&&i.push(t)}}return[At(r,i,"function"==typeof e?e:e.handler)]}if("function"==typeof e)return console.warn('[Directix] v-hotkey: hotkey definition required (use v-hotkey:ctrl.s="handler")'),[];if(Array.isArray(e))return e.map(e=>At(e.key,e.modifiers||[],e.handler,{prevent:e.prevent,stop:e.stop,disabled:e.disabled}));if("object"==typeof e&&null!==e){if("handler"in e&&"function"==typeof e.handler){const t=e;return[At(t.key,t.modifiers||[],t.handler,t)]}const t=[];for(const[n,o]of Object.entries(e)){const{key:e,modifiers:r}=It(n),i="function"==typeof o?o:o.handler,l="object"==typeof o?o:{};t.push(At(e,r,i,l))}return t}return[]}function zt(e,t){if(0===t.length)return null;const n={entries:t,handler:null};return n.handler=function(e){return t=>{for(const n of e.entries)if(!n.disabled&&Ht(t,n))return n.prevent&&t.preventDefault(),n.stop&&t.stopPropagation(),void n.handler(t)}}(n),e.tabIndex=e.tabIndex||-1,e.addEventListener("keydown",n.handler),e.__hotkey=n,n}const Ft=x({name:"hotkey",ssr:!0,mounted(e,t){zt(e,Ot(t.value,t.arg,t.modifiers))},updated(e,t){const n=e.__hotkey,o=Ot(t.value,t.arg,t.modifiers);n?n.entries=o:zt(e,o)},unmounted(e){const t=e.__hotkey;t&&(e.removeEventListener("keydown",t.handler),delete e.__hotkey)}});const Rt="hover";function Yt(e){return"function"==typeof e?{handler:e,class:"v-hover"}:__spreadValues({class:"v-hover",disabled:!1,enterDelay:0,leaveDelay:0},e)}function Vt(e,t,n){var o,r;const{options:i}=t;i.class&&e.classList.add(i.class),e.dispatchEvent(new CustomEvent("hover:enter",{detail:{event:n}})),null==(o=i.onEnter)||o.call(i,n),null==(r=i.handler)||r.call(i,!0,n)}function Nt(e,t,n){var o,r;const{options:i}=t;i.class&&e.classList.remove(i.class),e.dispatchEvent(new CustomEvent("hover:leave",{detail:{event:n}})),null==(o=i.onLeave)||o.call(i,n),null==(r=i.handler)||r.call(i,!1,n)}const Ut=x({name:"hover",ssr:!1,defaults:{class:"v-hover",disabled:!1,enterDelay:0,leaveDelay:0},mounted(e,t){const n=Yt(t.value);if(n.disabled||!v())return;const o=function(){const e=new Set,t=new Set;return{setTimeout(t,n){const o=setTimeout(()=>{e.delete(o),t()},n);return e.add(o),o},clearTimeout(t){clearTimeout(t),e.delete(t)},setInterval(e,n){const o=setInterval(e,n);return t.add(o),o},clearInterval(e){clearInterval(e),t.delete(e)},clearAll(){e.forEach(e=>clearTimeout(e)),t.forEach(e=>clearInterval(e)),e.clear(),t.clear()},hasActive:()=>e.size>0||t.size>0}}();let r=!1;const i={options:n,isHovering:!1,timer:o,cleanup:null};i.cleanup=function(e,t,n=!1){return Object.entries(t).forEach(([t,o])=>{e.addEventListener(t,o,"boolean"==typeof n?n:le(n))}),()=>{Object.entries(t).forEach(([t,o])=>{e.removeEventListener(t,o,"boolean"==typeof n?n:le(n))})}}(e,{mouseenter:t=>{const l=t;o.clearAll(),r||(n.enterDelay&&n.enterDelay>0?o.setTimeout(()=>{r=!0,i.isHovering=!0,Vt(e,i,l)},n.enterDelay):(r=!0,i.isHovering=!0,Vt(e,i,l)))},mouseleave:t=>{const l=t;o.clearAll(),r&&(n.leaveDelay&&n.leaveDelay>0?o.setTimeout(()=>{r=!1,i.isHovering=!1,Nt(e,i,l)},n.leaveDelay):(r=!1,i.isHovering=!1,Nt(e,i,l)))}}),K(e,Rt,i)},updated(e,t){const n=G(e,Rt);if(!n)return;const o=Yt(t.value);o.disabled&&!n.options.disabled?e.classList.remove(n.options.class||"v-hover"):!o.disabled&&n.options.disabled,n.options=o},unmounted(e){var t;const n=G(e,Rt);n&&(n.timer.clearAll(),null==(t=n.cleanup)||t.call(n),e.classList.remove(n.options.class||"v-hover"),Z(e,Rt))}}),Xt={minScale:.5,maxScale:5,doubleTapZoom:2.5,tapTimeout:300,animationDuration:300,hintDuration:3e3,zoomIndicatorDuration:1500};let Bt=9999;function jt(e,t,n,o){return Math.sqrt(__pow(n-e,2)+__pow(o-t,2))}function Wt(e,t,n){return Math.max(t,Math.min(n,e))}function qt(e,t){var n,o,r,i,l,a,s,c,u,d;const p="IMG"===t.tagName?t.src:void 0,m=t.getAttribute("data-preview")||void 0,f="IMG"===t.tagName?t.alt:t.getAttribute("alt")||void 0;return"string"==typeof e?{src:e,previewSrc:m,alt:f,enablePinchZoom:!0,enableDoubleTap:!0,enableSwipeClose:!0,showZoomIndicator:!0,showCloseButton:!0,closeOnClickOutside:!0,closeOnEsc:!0,minScale:Xt.minScale,maxScale:Xt.maxScale}:{src:(null==e?void 0:e.src)||p,previewSrc:(null==e?void 0:e.previewSrc)||m,alt:(null==e?void 0:e.alt)||f,disabled:null!=(n=null==e?void 0:e.disabled)&&n,closeOnClickOutside:null==(o=null==e?void 0:e.closeOnClickOutside)||o,closeOnEsc:null==(r=null==e?void 0:e.closeOnEsc)||r,showCloseButton:null==(i=null==e?void 0:e.showCloseButton)||i,zIndex:null==e?void 0:e.zIndex,class:null==e?void 0:e.class,enablePinchZoom:null==(l=null==e?void 0:e.enablePinchZoom)||l,enableDoubleTap:null==(a=null==e?void 0:e.enableDoubleTap)||a,enableSwipeClose:null==(s=null==e?void 0:e.enableSwipeClose)||s,showZoomIndicator:null==(c=null==e?void 0:e.showZoomIndicator)||c,minScale:null!=(u=null==e?void 0:e.minScale)?u:Xt.minScale,maxScale:null!=(d=null==e?void 0:e.maxScale)?d:Xt.maxScale,onOpen:null==e?void 0:e.onOpen,onClose:null==e?void 0:e.onClose}}const Kt=x({name:"image-preview",ssr:!1,mounted(e,t){const n=qt(t.value,e),o={options:n,overlay:null,imageContainer:null,image:null,isOpen:!1,transform:{scale:1,translateX:0,translateY:0},gesture:{isDragging:!1,startX:0,startY:0,startDistance:0,startScale:1,lastTapTime:0,swipeStartY:0},handlers:{click:()=>{},esc:null,touchStart:null,touchMove:null,touchEnd:null,mouseDown:null,mouseMove:null,mouseUp:null,wheel:null}};if(e.__imagePreview=o,n.disabled)return;e.style.cursor="zoom-in";const r=function(e){const t=(t=!1)=>{var n;if(!e.imageContainer)return;const{scale:o,translateX:r,translateY:i}=e.transform;e.imageContainer.style.transition=t?"transform 0.2s ease-out":"none",e.imageContainer.style.transform=`translate(${r}px, ${i}px) scale(${o})`;const l=null==(n=e.overlay)?void 0:n.querySelector(".v-image-preview-zoom");l&&(l.textContent=`${Math.round(100*o)}%`,l.style.opacity="1",clearTimeout(l._hideTimer),l._hideTimer=setTimeout(()=>{l.style.opacity="0"},Xt.zoomIndicatorDuration))};return{updateTransform:t,resetTransform:()=>{e.transform={scale:1,translateX:0,translateY:0},t(!0)},constrainScale:t=>{const{minScale:n=Xt.minScale,maxScale:o=Xt.maxScale}=e.options;return Wt(t,n,o)},constrainTranslate:(t,n)=>{const{scale:o}=e.transform;if(!e.image||o<=1)return{x:0,y:0};const r=e.image.getBoundingClientRect(),i=r.width*(o-1)/2,l=r.height*(o-1)/2;return{x:Wt(t,-i,i),y:Wt(n,-l,l)}}}}(o),i=()=>{o.isOpen&&o.overlay&&(o.overlay.style.opacity="0",setTimeout(()=>{var e,t;if(!o.overlay)return;o.overlay.remove(),o.overlay=null,o.imageContainer=null,o.image=null,o.isOpen=!1,o.transform={scale:1,translateX:0,translateY:0},document.body.style.overflow="";const{handlers:n}=o;n.esc&&document.removeEventListener("keydown",n.esc),n.touchStart&&document.removeEventListener("touchstart",n.touchStart),n.touchMove&&document.removeEventListener("touchmove",n.touchMove),n.touchEnd&&document.removeEventListener("touchend",n.touchEnd),n.mouseDown&&document.removeEventListener("mousedown",n.mouseDown),n.mouseMove&&document.removeEventListener("mousemove",n.mouseMove),n.mouseUp&&document.removeEventListener("mouseup",n.mouseUp),n.wheel&&document.removeEventListener("wheel",n.wheel),null==(t=(e=o.options).onClose)||t.call(e)},Xt.animationDuration))},l=function(e,t,n){const{updateTransform:o,resetTransform:r,constrainScale:i,constrainTranslate:l}=t;return{handleTouchStart:t=>{if(!e.imageContainer)return;const n=Date.now(),{gesture:r,transform:l,options:a}=e;if(1===t.touches.length){if(!1!==a.enableDoubleTap&&n-r.lastTapTime<Xt.tapTimeout)return t.preventDefault(),l.scale=l.scale>1?1:i(Xt.doubleTapZoom),r.lastTapTime=0,void o(!0);r.lastTapTime=n,r.isDragging=!0,r.startX=t.touches[0].clientX-l.translateX,r.startY=t.touches[0].clientY-l.translateY,r.swipeStartY=t.touches[0].clientY}else 2===t.touches.length&&!1!==a.enablePinchZoom&&(r.isDragging=!1,r.startDistance=jt(t.touches[0].clientX,t.touches[0].clientY,t.touches[1].clientX,t.touches[1].clientY),r.startScale=l.scale)},handleTouchMove:t=>{if(!e.imageContainer)return;t.preventDefault();const{gesture:n,transform:r,options:a}=e;if(1===t.touches.length&&n.isDragging){const e=t.touches[0].clientX-n.startX,i=t.touches[0].clientY-n.startY,a=l(e,i);r.translateX=a.x,r.translateY=a.y,o(!1)}else if(2===t.touches.length&&!1!==a.enablePinchZoom){const e=jt(t.touches[0].clientX,t.touches[0].clientY,t.touches[1].clientX,t.touches[1].clientY);r.scale=i(n.startScale*(e/n.startDistance)),o(!1)}},handleTouchEnd:t=>{const{gesture:o,transform:i,options:l}=e;o.isDragging=!1,!1!==l.enableSwipeClose&&1===t.changedTouches.length&&i.scale<=1&&t.changedTouches[0].clientY-o.swipeStartY<-100?n():i.scale<1&&r()},handleMouseDown:t=>{e.imageContainer&&(e.gesture.isDragging=!0,e.gesture.startX=t.clientX-e.transform.translateX,e.gesture.startY=t.clientY-e.transform.translateY,e.imageContainer.style.cursor="grabbing")},handleMouseMove:t=>{if(!e.gesture.isDragging||!e.imageContainer)return;const n=t.clientX-e.gesture.startX,r=t.clientY-e.gesture.startY,i=l(n,r);e.transform.translateX=i.x,e.transform.translateY=i.y,o(!1)},handleMouseUp:()=>{e.gesture.isDragging=!1,e.imageContainer&&(e.imageContainer.style.cursor="grab")},handleWheel:t=>{if(!e.imageContainer||!1===e.options.enablePinchZoom)return;t.preventDefault();const n=t.deltaY>0?.9:1.1;e.transform.scale=i(e.transform.scale*n),o(!1),e.transform.scale<.8&&setTimeout(r,100)}}}(o,r,i),a=()=>{var e,t,n;if(o.isOpen||o.options.disabled)return;const{overlay:a,imageContainer:s,image:c}=function(e){var t;const n=null!=(t=e.zIndex)?t:++Bt,o=document.createElement("div");o.className="v-image-preview-overlay",e.class&&o.classList.add(e.class),Object.assign(o.style,{position:"fixed",inset:"0",background:"rgba(0, 0, 0, 0.95)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:String(n),cursor:"zoom-out",opacity:"0",transition:"opacity 0.3s",touchAction:"none",overflow:"hidden"});const r=document.createElement("div");Object.assign(r.style,{position:"relative",transformOrigin:"center center",transition:"transform 0.1s ease-out",willChange:"transform"});const i=document.createElement("img");if(i.src=e.previewSrc||e.src||"",i.alt=e.alt||"",Object.assign(i.style,{maxWidth:"95vw",maxHeight:"90vh",objectFit:"contain",cursor:"grab",userSelect:"none",WebkitUserDrag:"none"}),i.addEventListener("dragstart",e=>e.preventDefault()),r.appendChild(i),!1!==e.showCloseButton){const e=document.createElement("button");e.className="v-image-preview-close",e.innerHTML="×",e.setAttribute("aria-label","Close preview"),Object.assign(e.style,{position:"fixed",top:"16px",right:"16px",width:"44px",height:"44px",border:"none",background:"rgba(255, 255, 255, 0.15)",color:"white",fontSize:"28px",cursor:"pointer",borderRadius:"50%",transition:"background 0.2s, transform 0.2s",zIndex:String(n+1),display:"flex",alignItems:"center",justifyContent:"center",backdropFilter:"blur(10px)",WebkitBackdropFilter:"blur(10px)"});const t=(t,n)=>{e.style.background=t,e.style.transform=n};e.addEventListener("mouseenter",()=>t("rgba(255, 255, 255, 0.25)","scale(1.1)")),e.addEventListener("mouseleave",()=>t("rgba(255, 255, 255, 0.15)","scale(1)")),e.addEventListener("touchstart",()=>t("rgba(255, 255, 255, 0.35)","scale(1.15)"),{passive:!0}),e.addEventListener("touchend",()=>t("rgba(255, 255, 255, 0.15)","scale(1)"),{passive:!0}),o.appendChild(e)}if(!1!==e.showZoomIndicator){const e=document.createElement("div");e.className="v-image-preview-zoom",e.textContent="100%",Object.assign(e.style,{position:"fixed",bottom:"24px",left:"50%",transform:"translateX(-50%)",background:"rgba(0, 0, 0, 0.6)",color:"white",padding:"8px 16px",borderRadius:"20px",fontSize:"14px",fontWeight:"500",opacity:"0",transition:"opacity 0.3s",zIndex:String(n+1),backdropFilter:"blur(10px)",WebkitBackdropFilter:"blur(10px)"}),o.appendChild(e)}const l=document.createElement("div");return l.className="v-image-preview-hint",l.textContent="Pinch to zoom • Double tap • Swipe up to close",Object.assign(l.style,{position:"fixed",bottom:"60px",left:"50%",transform:"translateX(-50%)",color:"rgba(255, 255, 255, 0.6)",fontSize:"12px",opacity:"1",transition:"opacity 0.5s",zIndex:String(n+1),pointerEvents:"none"}),o.appendChild(l),setTimeout(()=>l.style.opacity="0",Xt.hintDuration),o.appendChild(r),{overlay:o,imageContainer:r,image:i}}(o.options);o.overlay=a,o.imageContainer=s,o.image=c,o.isOpen=!0,document.body.appendChild(a),document.body.style.overflow="hidden",requestAnimationFrame(()=>a.style.opacity="1"),o.handlers.touchStart=l.handleTouchStart,o.handlers.touchMove=l.handleTouchMove,o.handlers.touchEnd=l.handleTouchEnd,o.handlers.mouseDown=l.handleMouseDown,o.handlers.mouseMove=l.handleMouseMove,o.handlers.mouseUp=l.handleMouseUp,o.handlers.wheel=l.handleWheel,a.addEventListener("touchstart",l.handleTouchStart,{passive:!1}),a.addEventListener("touchmove",l.handleTouchMove,{passive:!1}),a.addEventListener("touchend",l.handleTouchEnd,{passive:!0}),c.addEventListener("mousedown",l.handleMouseDown),document.addEventListener("mousemove",l.handleMouseMove),document.addEventListener("mouseup",l.handleMouseUp),a.addEventListener("wheel",l.handleWheel,{passive:!1}),null==(e=a.querySelector(".v-image-preview-close"))||e.addEventListener("click",e=>{e.stopPropagation(),i()}),!1!==o.options.closeOnClickOutside&&a.addEventListener("click",()=>{o.transform.scale<=1?i():r.resetTransform()}),!1!==o.options.closeOnEsc&&(o.handlers.esc=e=>{"Escape"===e.key&&(o.transform.scale>1?r.resetTransform():i())},document.addEventListener("keydown",o.handlers.esc)),null==(n=(t=o.options).onOpen)||n.call(t)};o.handlers.click=a,e.addEventListener("click",a)},updated(e,t){const n=e.__imagePreview;n&&(n.options=qt(t.value,e),e.style.cursor=n.options.disabled?"":"zoom-in")},unmounted(e){const t=e.__imagePreview;t&&(e.removeEventListener("click",t.handlers.click),t.isOpen&&t.overlay&&(t.overlay.remove(),document.body.style.overflow=""),t.handlers.esc&&document.removeEventListener("keydown",t.handlers.esc),t.handlers.touchStart&&document.removeEventListener("touchstart",t.handlers.touchStart),t.handlers.touchMove&&document.removeEventListener("touchmove",t.handlers.touchMove),t.handlers.touchEnd&&document.removeEventListener("touchend",t.handlers.touchEnd),t.handlers.mouseDown&&document.removeEventListener("mousedown",t.handlers.mouseDown),t.handlers.mouseMove&&document.removeEventListener("mousemove",t.handlers.mouseMove),t.handlers.mouseUp&&document.removeEventListener("mouseup",t.handlers.mouseUp),t.handlers.wheel&&document.removeEventListener("wheel",t.handlers.wheel),delete e.__imagePreview)}});function Gt(e){if("function"==typeof e)return{handler:e,distance:0,throttle:200,useIntersection:!0};if(!e)throw new Error("[Directix] v-infinite-scroll: handler is required");return __spreadValues({distance:0,disabled:!1,loading:!1,useIntersection:!0,throttle:200},e)}const Zt=x({name:"infinite-scroll",ssr:!1,defaults:{distance:0,disabled:!1,loading:!1,useIntersection:!0,throttle:200},mounted(e,t){const n=Gt(t.value);if(n.disabled||!v())return;let o;if(n.container)if("string"==typeof n.container){const t=document.querySelector(n.container);o=t||Q(e)}else o=n.container;else o=Q(e);const r={options:n,container:o,sentinel:null,observer:null,throttleTimer:null,isLoading:!1,scrollHandler:t=>__async(null,null,function*(){if(r.isLoading||r.options.disabled||r.options.loading)return;if(r.throttleTimer)return;r.throttleTimer=setTimeout(()=>{r.throttleTimer=null},n.throttle);const t=function(e,t,n){if(e===window){const e=window.scrollY||document.documentElement.scrollTop,t=document.documentElement.scrollHeight;return e+window.innerHeight>=t-n}const o=e,r=o.scrollTop,i=o.scrollHeight,l=o.clientHeight;return r+l>=i-n}(o,0,n.distance||0);t&&(yield Jt(r,e))})};e.__infiniteScroll=r,n.useIntersection&&y()?function(e,t){const n=document.createElement("div");n.className="v-infinite-scroll__sentinel",n.style.cssText="\n height: 1px;\n width: 100%;\n clear: both;\n ",e.appendChild(n),t.sentinel=n,t.observer=new IntersectionObserver(n=>__async(null,null,function*(){for(const o of n)o.isIntersecting&&(t.isLoading||t.options.disabled||t.options.loading||(yield Jt(t,e)))}),{root:t.container===window?null:t.container,rootMargin:`${t.options.distance||0}px`,threshold:0}),t.observer.observe(n)}(e,r):ne(o,"scroll",r.scrollHandler,{passive:!0})},updated(e,t){const n=e.__infiniteScroll;n&&(n.options=Gt(t.value))},unmounted(e){const t=e.__infiniteScroll;t&&(t.throttleTimer&&clearTimeout(t.throttleTimer),t.observer&&t.observer.disconnect(),t.sentinel&&t.sentinel.parentNode&&t.sentinel.parentNode.removeChild(t.sentinel),oe(t.container,"scroll",t.scrollHandler),delete e.__infiniteScroll)}});function Jt(e,t){return __async(this,null,function*(){var n,o,r,i,l,a;e.isLoading=!0,null==(o=(n=e.options).onLoadStart)||o.call(n),t.classList.add("v-infinite-scroll--loading");try{yield e.options.handler()}catch(t){null==(i=(r=e.options).onError)||i.call(r,t)}finally{e.isLoading=!1,null==(a=(l=e.options).onLoadEnd)||a.call(l),t.classList.remove("v-infinite-scroll--loading")}})}const Qt="__intersect";function en(e){const t="function"==typeof e?{handler:e}:__spreadValues({},e);return null!==t.root&&"object"==typeof t.root&&"value"in t.root&&(t.root=t.root.value),t}function tn(e,t,n){return new IntersectionObserver(function(e,t,n){return o=>{var r,i,l,a;for(const s of o){if(n.once&&t.hasTriggeredOnce)continue;const{isIntersecting:o}=s;null==(r=n.handler)||r.call(n,s,t.observer),null==(i=n.onChange)||i.call(n,o,s),o?(null==(l=n.onEnter)||l.call(n,s,t.observer),n.once&&(t.hasTriggeredOnce=!0)):null==(a=n.onLeave)||a.call(n,s,t.observer),e.dispatchEvent(new CustomEvent("intersect",{detail:{isIntersecting:o,entry:s}}))}}}(e,t,n),{root:n.root,rootMargin:n.rootMargin,threshold:n.threshold})}const nn=x({name:"intersect",ssr:!1,defaults:{disabled:!1,once:!1,rootMargin:"0px",threshold:0},mounted(e,t){const n=en(t.value);if(n.disabled||!v()||!y())return void(y()||console.warn("[Directix] v-intersect: IntersectionObserver not supported"));const o={options:n,observer:null,hasTriggeredOnce:!1};o.observer=tn(e,o,n),e[Qt]=o,o.observer.observe(e)},updated(e,t){var n,o,r;const i=e[Qt];if(!i)return;const l=en(t.value),a=l.root!==i.options.root||l.rootMargin!==i.options.rootMargin||l.threshold!==i.options.threshold;l.disabled!==i.options.disabled&&(l.disabled?null==(n=i.observer)||n.disconnect():null==(o=i.observer)||o.observe(e)),a&&(null==(r=i.observer)||r.disconnect(),i.observer=tn(e,i,l),i.observer.observe(e)),i.options=l},unmounted(e){var t;const n=e[Qt];n&&(null==(t=n.observer)||t.disconnect(),delete e[Qt])}});let on=null;function rn(e,t){"IMG"===e.tagName?e.src=t:e.style.backgroundImage=`url("${t}")`}function ln(e,t){e.dataset.lazyState=t}function an(e){const t=e.__lazy;if(!t||!t.options.src)return;if(t.options.filter&&!t.options.filter(t.options.src))return;ln(e,"loading"),t.attempt++,e.classList.add("v-lazy--loading");const n=new Image;n.onload=()=>{var n,o;rn(e,t.options.src),ln(e,"loaded"),e.classList.remove("v-lazy--loading"),e.classList.add("v-lazy--loaded"),null==(o=(n=t.options).onLoad)||o.call(n,e)},n.onerror=()=>{var n,o;e.classList.remove("v-lazy--loading"),t.attempt<(t.options.attempt||1)?setTimeout(()=>an(e),1e3*t.attempt):(t.options.error&&rn(e,t.options.error),ln(e,"error"),e.classList.add("v-lazy--error"),null==(o=(n=t.options).onError)||o.call(n,e,new Error("Failed to load image")))},n.src=t.options.src}function sn(e){const t=e.__lazy;var n;if(t)if(y())if(t.options.observer)t.observer=t.options.observer,t.observer.observe(e);else{const o=(n=t.options.preload||0,on||(on=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(an(e.target),null==on||on.unobserve(e.target))})},{rootMargin:`${n}px`}),on));t.observer=o,o.observe(e)}else an(e)}function cn(e){const t=e.__lazy;t&&(t.observer?t.observer.unobserve(e):on&&on.unobserve(e))}function un(e){return"string"==typeof e?{src:e}:e||{}}const dn=x({name:"lazy",ssr:!1,defaults:{preload:0,attempt:1,disabled:!1},mounted(e,t){const n=un(t.value);if(n.disabled)return;if(!n.src)return void console.warn("[Directix] v-lazy: No source provided");ln(e,"pending"),n.placeholder&&rn(e,n.placeholder),e.classList.add("v-lazy");const o={options:n,attempt:0};e.__lazy=o,sn(e)},updated(e,t){const n=e.__lazy;if(!n)return;const o=un(t.value);o.disabled?cn(e):o.src!==n.options.src&&(n.options=o,n.attempt=0,"pending"!==function(e){return e.dataset.lazyState||"pending"}(e)&&(ln(e,"pending"),e.classList.remove("v-lazy--loaded","v-lazy--error"),o.placeholder&&rn(e,o.placeholder),sn(e)))},unmounted(e){cn(e),delete e.__lazy}});function pn(e){return"boolean"==typeof e?{value:e}:__spreadValues({value:!0,loadingClass:"v-loading",spinnerClass:"v-loading__spinner",textClass:"v-loading__text",background:"rgba(255, 255, 255, 0.9)",lock:!1,disabled:!1},e)}const mn=x({name:"loading",ssr:!0,defaults:{value:!0,loadingClass:"v-loading",spinnerClass:"v-loading__spinner",textClass:"v-loading__text",background:"rgba(255, 255, 255, 0.9)",lock:!1,disabled:!1},mounted(e,t){if(!v())return;const n=pn(t.value);if(n.disabled)return;const o={options:n,loadingOverlay:null,originalPosition:e.style.position,originalOverflow:e.style.overflow};e.__loading=o,te(e),n.value&&fn(e,o)},updated(e,t){const n=e.__loading;if(!n)return;const o=pn(t.value);if(o.disabled)vn(e,n);else{if(o.value&&!n.options.value?fn(e,n):!o.value&&n.options.value&&vn(e,n),n.loadingOverlay&&o.text!==n.options.text){const e=n.loadingOverlay.querySelector(`.${n.options.textClass}`);e&&(e.textContent=o.text||"")}n.options=o}},unmounted(e){const t=e.__loading;t&&(vn(e,t),e.style.position=t.originalPosition,e.style.overflow=t.originalOverflow,delete e.__loading)}});function fn(e,t){t.loadingOverlay||(t.loadingOverlay=function(e){const t=document.createElement("div");t.className=e.loadingClass||"v-loading",t.style.cssText=`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1000;\n background: ${e.background||"rgba(255, 255, 255, 0.9)"};\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n `;const n=e.spinner||'\n<svg class="v-loading__circular" viewBox="25 25 50 50">\n <circle class="v-loading__path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"/>\n</svg>\n',o=document.createElement("div");if(o.className=e.spinnerClass||"v-loading__spinner",o.innerHTML=n,t.appendChild(o),e.text){const n=document.createElement("div");n.className=e.textClass||"v-loading__text",n.textContent=e.text,t.appendChild(n)}return t}(t.options),e.appendChild(t.loadingOverlay),t.options.lock&&(e.style.overflow="hidden"),e.classList.add("v-loading--active"))}function vn(e,t){t.loadingOverlay&&(t.loadingOverlay.remove(),t.loadingOverlay=null,t.options.lock&&(e.style.overflow=t.originalOverflow),e.classList.remove("v-loading--active"))}function hn(e){if("function"==typeof e)return{handler:e,duration:500,distance:10};if(!e)throw new Error("[Directix] v-long-press: handler is required");return __spreadValues({duration:500,distance:10,disabled:!1,prevent:!0,stop:!1,tickInterval:100},e)}const gn=x({name:"long-press",ssr:!1,defaults:{duration:500,distance:10,disabled:!1,prevent:!0,stop:!1,tickInterval:100},mounted(e,t){const n=hn(t.value);if(n.disabled||!v())return;const o={options:n,timerId:null,tickTimerId:null,startTime:0,startPos:{x:0,y:0},startHandler:()=>{},endHandler:()=>{},moveHandler:()=>{}};o.startHandler=e=>{var t;const r=e;n.prevent&&r.preventDefault(),n.stop&&r.stopPropagation(),o.timerId&&(clearTimeout(o.timerId),o.timerId=null),o.tickTimerId&&(clearInterval(o.tickTimerId),o.tickTimerId=null);const i=ie(r);if(o.startPos={x:i.x,y:i.y},o.startTime=Date.now(),null==(t=n.onStart)||t.call(n,r),n.onTick){let e=n.duration;o.tickTimerId=setInterval(()=>{var t;e-=n.tickInterval,null==(t=n.onTick)||t.call(n,Math.max(0,e))},n.tickInterval)}o.timerId=setTimeout(()=>{o.tickTimerId&&(clearInterval(o.tickTimerId),o.tickTimerId=null),n.handler(r)},n.duration)},o.endHandler=e=>{var t;const r=e;o.timerId&&(clearTimeout(o.timerId),o.timerId=null),o.tickTimerId&&(clearInterval(o.tickTimerId),o.tickTimerId=null),o.startTime>0&&(null==(t=n.onCancel)||t.call(n,r)),o.startTime=0},o.moveHandler=e=>{var t;if(!o.timerId)return;const r=e,i=ie(r);var l,a;(l=o.startPos,a={x:i.x,y:i.y},Math.sqrt(__pow(a.x-l.x,2)+__pow(a.y-l.y,2)))>(n.distance||10)&&(o.timerId&&(clearTimeout(o.timerId),o.timerId=null),o.tickTimerId&&(clearInterval(o.tickTimerId),o.tickTimerId=null),null==(t=n.onCancel)||t.call(n,r),o.startTime=0)},e.__longPress=o,ne(e,"mousedown",o.startHandler),ne(e,"mouseup",o.endHandler),ne(e,"mouseleave",o.endHandler),ne(e,"mousemove",o.moveHandler),ne(e,"touchstart",o.startHandler,{passive:!n.prevent}),ne(e,"touchend",o.endHandler),ne(e,"touchcancel",o.endHandler),ne(e,"touchmove",o.moveHandler,{passive:!0})},updated(e,t){const n=e.__longPress;if(!n){return void(hn(t.value).disabled||(e.__longPress=null))}n.options=hn(t.value)},unmounted(e){const t=e.__longPress;t&&(t.timerId&&clearTimeout(t.timerId),t.tickTimerId&&clearInterval(t.tickTimerId),oe(e,"mousedown",t.startHandler),oe(e,"mouseup",t.endHandler),oe(e,"mouseleave",t.endHandler),oe(e,"mousemove",t.moveHandler),oe(e,"touchstart",t.startHandler),oe(e,"touchend",t.endHandler),oe(e,"touchcancel",t.endHandler),oe(e,"touchmove",t.moveHandler),delete e.__longPress)}});function yn(e){return"string"==typeof e||e&&"object"==typeof e&&!("animationData"in e)?{animationData:e}:__spreadValues({autoplay:!0,loop:!0,speed:1,direction:1,renderer:"svg",preserveAspectRatio:!0},e)}const bn=x({name:"lottie",ssr:!1,mounted(e,t){if(!v())return;const n=yn(t.value),o=document.createElement("div");o.className=`v-lottie ${n.class||""}`,o.style.cssText=`\n width: 100%;\n height: 100%;\n ${!1!==n.preserveAspectRatio?"display: flex; align-items: center; justify-content: center;":""}\n `,e.appendChild(o);const r={options:n,animation:null,container:o};e.__lottie=r,wn(r),e.classList.add("v-lottie-container")},updated(e,t){const n=e.__lottie;if(!n)return;const o=yn(t.value),r=n.options.animationData,i=o.animationData;JSON.stringify(r)!==JSON.stringify(i)?(n.animation&&n.animation.destroy(),n.options=o,wn(n)):(n.options=o,n.animation&&(void 0!==o.speed&&n.animation.setSpeed(o.speed),void 0!==o.direction&&n.animation.setDirection(o.direction),void 0!==o.loop&&(n.animation.loop=o.loop)))},unmounted(e){const t=e.__lottie;t&&(t.animation&&t.animation.destroy(),e.removeChild(t.container),e.classList.remove("v-lottie-container"),delete e.__lottie)}});function wn(e){return __async(this,null,function*(){const t=yield function(){return __async(this,null,function*(){if(window.lottie)return window.lottie;try{const e=yield import("lottie-web");return window.lottie=e.default||e,e.default||e}catch(e){return console.warn("[Directix] v-lottie: lottie-web not found. Please install it: npm install lottie-web"),null}})}();if(!t)return;const n=e.options,o={container:e.container,renderer:n.renderer||"svg",loop:!1!==n.loop,autoplay:!1!==n.autoplay};"string"==typeof n.animationData&&n.animationData.startsWith("http")?o.path=n.animationData:o.animationData=n.animationData,e.animation=t.loadAnimation(o),void 0!==n.speed&&e.animation.setSpeed(n.speed),void 0!==n.direction&&e.animation.setDirection(n.direction),n.segments&&e.animation.playSegments(n.segments,!0),n.onReady&&e.animation.addEventListener("DOMLoaded",()=>{n.onReady(e.animation)}),n.onComplete&&e.animation.addEventListener("complete",n.onComplete),n.onLoopComplete&&e.animation.addEventListener("loopComplete",n.onLoopComplete),n.onEnterFrame&&e.animation.addEventListener("enterFrame",e=>{n.onEnterFrame(e.currentTime)});const r=e.container.parentElement;r&&(r.lottiePlay=()=>{var t;return null==(t=e.animation)?void 0:t.play()},r.lottiePause=()=>{var t;return null==(t=e.animation)?void 0:t.pause()},r.lottieStop=()=>{var t;return null==(t=e.animation)?void 0:t.stop()},r.lottieSetSpeed=t=>{var n;return null==(n=e.animation)?void 0:n.setSpeed(t)},r.lottieSetDirection=t=>{var n;return null==(n=e.animation)?void 0:n.setDirection(t)},r.lottieGoToAndPlay=(t,n=!0)=>{var o;return null==(o=e.animation)?void 0:o.goToAndPlay(t,n)},r.lottieGoToAndStop=(t,n=!0)=>{var o;return null==(o=e.animation)?void 0:o.goToAndStop(t,n)})})}function _n(e,t){return e?t.first?e.charAt(0).toLowerCase()+e.slice(1):e.toLowerCase():e}function xn(e){var t,n;return void 0===e||!0===e?{first:!1,onInput:!0}:!1===e?{first:!1,onInput:!1}:{first:null!=(t=e.first)&&t,onInput:null==(n=e.onInput)||n}}const En=x({name:"lowercase",ssr:!0,mounted(e,t){const n=xn(t.value);if(ee(e)){const t=ge(e,n,e=>_n(e,n));e.__lowercaseCleanup=t}else ye(e,e=>_n(e,n))},updated(e,t){const n=xn(t.value);ee(e)?n.onInput&&(e.value=_n(e.value,n)):ye(e,e=>_n(e,n))},unmounted(e){const t=e.__lowercaseCleanup;null==t||t(),delete e.__lowercaseCleanup}}),Ln="__mask",kn={"#":/\d/,A:/[A-Za-z]/,N:/[A-Za-z0-9]/,X:/./};function Sn(e,t){return[...e].map(e=>{const n=kn[e];return n?{pattern:n,placeholder:t,isLiteral:!1}:{pattern:new RegExp(`\\${e}`),placeholder:e,isLiteral:!0}})}function Tn(e){if("string"==typeof e)return{mask:e,placeholder:"_",showPlaceholder:!0};if(!(null==e?void 0:e.mask))throw new Error("[Directix] v-mask: mask is required");return __spreadValues({placeholder:"_",showPlaceholder:!0,showMaskOnBlur:!1,clearIncomplete:!1,disabled:!1},e)}function Cn(e,t,n,o){let r="",i=0;for(const l of t){if(i>=e.length){r+=l.isLiteral?l.placeholder:o?n:"";continue}const t=e[i];l.isLiteral?(t===l.placeholder&&i++,r+=l.placeholder):l.pattern.test(t)?(r+=t,i++):t===n?(r+=o?n:"",i++):i++}return r}function Dn(e,t,n){for(let o=0;o<t.length;o++)if(!t[o].isLiteral&&(o>=e.length||e[o]===n))return!1;return!0}function Mn(e,t){let n=t;for(;n<e.length&&e[n].isLiteral;)n++;return Math.min(n,e.length)}const Pn=x({name:"mask",ssr:!1,defaults:{placeholder:"_",showPlaceholder:!0,showMaskOnBlur:!1,clearIncomplete:!1,disabled:!1},mounted(e,t){var n;if(!ee(e))return void console.warn("[Directix] v-mask: directive must be used on input or textarea elements");const o=Tn(t.value);if(o.disabled||!v())return;const r=o.placeholder||"_",i=Sn(o.mask,r),l=e=>{var t,n,l;const a=e.target,s=a.value,c=a.selectionStart||0,u=Cn(s,i,r,null==(t=o.showPlaceholder)||t);if(u!==s)return a.value=u,a.setSelectionRange(Mn(i,c),Mn(i,c)),void a.dispatchEvent(new Event("input",{bubbles:!0}));null==(n=o.onChange)||n.call(o,u,function(e,t,n){let o="";for(let r=0;r<e.length&&r<t.length;r++)t[r].isLiteral||e[r]===n||(o+=e[r]);return o}(u,i,r)),Dn(u,i,r)&&(null==(l=o.onComplete)||l.call(o,u))},a=()=>{!e.value&&o.showPlaceholder&&(e.value=Cn("",i,r,!0))},s=()=>{o.showMaskOnBlur||Dn(e.value,i,r)||!o.clearIncomplete||(e.value="")};ne(e,"input",l),ne(e,"focus",a),ne(e,"blur",s),e[Ln]={options:o,tokens:i,placeholder:r,inputHandler:l,focusHandler:a,blurHandler:s},e.value&&(e.value=Cn(e.value,i,r,null==(n=o.showPlaceholder)||n))},updated(e,t){const n=e[Ln];n&&(n.options=Tn(t.value),n.tokens=Sn(n.options.mask,n.placeholder))},unmounted(e){const t=e[Ln];t&&(oe(e,"input",t.inputHandler),oe(e,"focus",t.focusHandler),oe(e,"blur",t.blurHandler),delete e[Ln])}});function $n(e,t){const{precision:n=0,separator:o=",",decimal:r=".",prefix:i="",suffix:l=""}=t,a=e.toFixed(n),[s,c]=a.split(".");let u=s.replace(/\B(?=(\d{3})+(?!\d))/g,o);return n>0&&c&&(u+=r+c),i+u+l}function In(e,t){const n=e.replace(/[^\d.-]/g,"").replace(t,"."),o=Number.parseFloat(n);return isNaN(o)?null:o}function Hn(e,t){var n;let o=e;return!(null==(n=t.allowNegative)||n)&&o<0&&(o=Math.abs(o)),function(e,t,n){let o=e;return void 0!==t&&(o=Math.max(t,o)),void 0!==n&&(o=Math.min(n,o)),o}(o,t.min,t.max)}function An(e,t,n){const{decimal:o=".",prefix:r=""}=t;let i=!1;const l=()=>{if(i)return;const l=e.value,a=e.selectionStart||0;if(!l||"-"===l)return;const s=In(l,o);if(null===s)return i=!0,e.value="",e.dispatchEvent(new Event("input",{bubbles:!0})),void(i=!1);const c=Hn(s,t),u=n(c,t);if(u!==l){i=!0;const t=function(e,t,n,o=0){let r=0,i=0;for(let t=0;t<n&&t<e.length;t++)/\d/.test(e[t])&&r++;for(let e=o;e<t.length;e++)if(/\d/.test(t[e])&&i++,i>=r)return e+1;return t.length}(l,u,a,r.length);e.value=u,e.setSelectionRange(t,t),e.dispatchEvent(new Event("input",{bubbles:!0})),i=!1}},a=()=>{if(!e.value||"-"===e.value)return;const r=In(e.value,o);if(null!==r){const o=Hn(r,t),l=n(o,t);i=!0,e.value=l,e.dispatchEvent(new Event("input",{bubbles:!0})),i=!1}};if(e.addEventListener("input",l),e.addEventListener("blur",a),e.value){const r=In(e.value,o);if(null!==r){const o=n(Hn(r,t),t);i=!0,e.value=o,e.dispatchEvent(new Event("input",{bubbles:!0})),i=!1}}return()=>{e.removeEventListener("input",l),e.removeEventListener("blur",a)}}function On(e,t){const{precision:n=2,separator:o=",",decimal:r=".",symbol:i="$",symbolPosition:l="before"}=t,a=e.toFixed(n),[s,c]=a.split(".");let u=s.replace(/\B(?=(\d{3})+(?!\d))/g,o);return n>0&&c&&(u+=r+c),"before"===l?i+u:u+i}const zn=x({name:"money",ssr:!0,mounted(e,t){var n,o,r;const i="string"==typeof t.value?{symbol:t.value}:null!=(n=t.value)?n:{};if(i.precision=null!=(o=i.precision)?o:2,ee(e)){const{symbol:t="$",symbolPosition:n="before"}=i,o="before"===n?t:"",r=An(e,__spreadProps(__spreadValues({},i),{prefix:o}),On);e.__money={options:i,cleanup:r},requestAnimationFrame(()=>{const t=e;if(t.value){const e=In(t.value,i.decimal||".");if(null!==e){const n=On(Hn(e,i),i);n!==t.value&&(t.value=n,t.dispatchEvent(new Event("input",{bubbles:!0})))}}})}else{let n=null;if(t.value&&"object"==typeof t.value&&"value"in t.value)n=t.value.value;else{const t=null==(r=e.textContent)?void 0:r.trim();t&&(n=In(t,i.decimal||"."))}null!==n&&(e.textContent=On(Hn(n,i),i))}},updated(e,t){var n,o;const r="string"==typeof t.value?{symbol:t.value}:null!=(n=t.value)?n:{};r.precision=null!=(o=r.precision)?o:2;const i=e.__money;if(i)i.options=r;else if(!ee(e)){let n=null;t.value&&"object"==typeof t.value&&"value"in t.value&&(n=t.value.value),null!==n&&(e.textContent=On(Hn(n,r),r))}},unmounted(e){const t=e.__money;null==t||t.cleanup(),delete e.__money}});function Fn(e){if("function"==typeof e)return{handler:e,childList:!0};if(!e||!e.handler)throw new Error("[Directix] v-mutation: handler is required");return __spreadValues({attributes:!1,childList:!0,subtree:!1,characterData:!1,attributeOldValue:!1,characterDataOldValue:!1,disabled:!1},e)}const Rn=x({name:"mutation",ssr:!1,defaults:{attributes:!1,childList:!0,subtree:!1,characterData:!1,attributeOldValue:!1,characterDataOldValue:!1,disabled:!1},mounted(e,t){const n=Fn(t.value);if(n.disabled||!v())return;if(!_())return void console.warn("[Directix] v-mutation: MutationObserver not supported");const o={options:n,observer:null};o.observer=new MutationObserver((e,t)=>{n.handler(e,t)}),o.observer.observe(e,{attributes:n.attributes,attributeFilter:n.attributeFilter,childList:n.childList,subtree:n.subtree,characterData:n.characterData,attributeOldValue:n.attributeOldValue,characterDataOldValue:n.characterDataOldValue}),e.__mutation=o},updated(e,t){const n=e.__mutation;if(!n)return;const o=Fn(t.value);o.disabled&&!n.options.disabled?n.observer&&n.observer.disconnect():!o.disabled&&n.options.disabled?n.observer&&n.observer.observe(e,{attributes:o.attributes,attributeFilter:o.attributeFilter,childList:o.childList,subtree:o.subtree,characterData:o.characterData,attributeOldValue:o.attributeOldValue,characterDataOldValue:o.characterDataOldValue}):o.disabled||o.attributes===n.options.attributes&&o.childList===n.options.childList&&o.subtree===n.options.subtree&&o.characterData===n.options.characterData||n.observer&&(n.observer.disconnect(),n.observer.observe(e,{attributes:o.attributes,attributeFilter:o.attributeFilter,childList:o.childList,subtree:o.subtree,characterData:o.characterData,attributeOldValue:o.attributeOldValue,characterDataOldValue:o.characterDataOldValue})),n.options=o},unmounted(e){const t=e.__mutation;t&&(t.observer&&t.observer.disconnect(),delete e.__mutation)}}),Yn=x({name:"number",ssr:!0,mounted(e,t){var n,o;const r="number"==typeof t.value?{precision:t.value}:null!=(n=t.value)?n:{};if(ee(e)){const t=An(e,r,$n);e.__number={options:r,cleanup:t},requestAnimationFrame(()=>{const t=e;if(t.value){const e=In(t.value,r.decimal||".");if(null!==e){const n=$n(Hn(e,r),r);n!==t.value&&(t.value=n,t.dispatchEvent(new Event("input",{bubbles:!0})))}}})}else{let n=null;if("number"==typeof t.value)n=t.value;else if(t.value&&"object"==typeof t.value&&"value"in t.value)n=t.value.value;else{const t=null==(o=e.textContent)?void 0:o.trim();t&&(n=In(t,r.decimal||"."))}null!==n&&(e.textContent=$n(Hn(n,r),r))}},updated(e,t){var n;const o="number"==typeof t.value?{precision:t.value}:null!=(n=t.value)?n:{},r=e.__number;if(r)r.options=o;else if(!ee(e)){let n=null;"number"==typeof t.value?n=t.value:t.value&&"object"==typeof t.value&&"value"in t.value&&(n=t.value.value),null!==n&&(e.textContent=$n(Hn(n,o),o))}},unmounted(e){const t=e.__number;null==t||t.cleanup(),delete e.__number}});function Vn(e){return"function"==typeof e?{onPan:e}:__spreadValues({threshold:10,direction:"all",preventDefault:!0,stopPropagation:!1,pointers:["touch","mouse"]},e)}function Nn(e,t){return Math.abs(e)>Math.abs(t)?e>0?"right":"left":t>0?"down":"up"}function Un(e,t,n=!1,o=!1){const r=t.currentX-t.startX,i=t.currentY-t.startY,l=Math.sqrt(r*r+i*i),a=Date.now()-t.startTime;return{originalEvent:e,direction:Nn(r,i),deltaX:r,deltaY:i,distance:l,x:t.currentX,y:t.currentY,startX:t.startX,startY:t.startY,isPanning:t.isPanning,isFirst:n,isFinal:o,velocity:l/(a||1)}}function Xn(e){return"touches"in e&&e.touches.length>0?{x:e.touches[0].clientX,y:e.touches[0].clientY}:{x:e.clientX,y:e.clientY}}const Bn=x({name:"pan",ssr:!1,mounted(e,t){var n,o;if(!v())return;const r=Vn(t.value),i={options:r,startX:0,startY:0,currentX:0,currentY:0,isPanning:!1,startTime:0,touchstartHandler:e=>jn(e,i),touchmoveHandler:e=>Wn(e,i),touchendHandler:e=>qn(e,i),mousedownHandler:e=>jn(e,i),mousemoveHandler:e=>Wn(e,i),mouseupHandler:e=>qn(e,i)};e.__pan=i,(null==(n=r.pointers)?void 0:n.includes("touch"))&&(ne(e,"touchstart",i.touchstartHandler,{passive:!1}),ne(e,"touchmove",i.touchmoveHandler,{passive:!1}),ne(e,"touchend",i.touchendHandler),ne(e,"touchcancel",i.touchendHandler)),(null==(o=r.pointers)?void 0:o.includes("mouse"))&&ne(e,"mousedown",i.mousedownHandler),e.classList.add("v-pan")},updated(e,t){const n=e.__pan;n&&(n.options=Vn(t.value))},unmounted(e){const t=e.__pan;t&&(oe(e,"touchstart",t.touchstartHandler),oe(e,"touchmove",t.touchmoveHandler),oe(e,"touchend",t.touchendHandler),oe(e,"touchcancel",t.touchendHandler),oe(e,"mousedown",t.mousedownHandler),e.classList.remove("v-pan"),delete e.__pan)}});function jn(e,t,n){const o=Xn(e);t.startX=o.x,t.startY=o.y,t.currentX=o.x,t.currentY=o.y,t.isPanning=!1,t.startTime=Date.now(),t.options.preventDefault&&e.preventDefault(),t.options.stopPropagation&&e.stopPropagation(),"mousedown"===e.type&&(document.addEventListener("mousemove",t.mousemoveHandler),document.addEventListener("mouseup",t.mouseupHandler))}function Wn(e,t,n){var o,r,i,l;const a=Xn(e);t.currentX=a.x,t.currentY=a.y;const s=t.currentX-t.startX,c=t.currentY-t.startY,u=Math.sqrt(s*s+c*c),d=t.options.threshold||10;if(!t.isPanning&&u<d)return;if(!function(e,t){return!t||"all"===t||("horizontal"===t?"left"===e||"right"===e:"up"===e||"down"===e)}(Nn(s,c),t.options.direction))return;t.options.preventDefault&&e.preventDefault();const p=t.isPanning;t.isPanning=!0;const m=Un(e,t,!p);p||null==(r=(o=t.options).onStart)||r.call(o,m),null==(l=(i=t.options).onPan)||l.call(i,m)}function qn(e,t){var n,o;if(document.removeEventListener("mousemove",t.mousemoveHandler),document.removeEventListener("mouseup",t.mouseupHandler),!t.isPanning)return;const r=Un(e,t,!1,!0);null==(o=(n=t.options).onEnd)||o.call(n,r),t.isPanning=!1}function Kn(e){return"boolean"==typeof e?{enabled:e,speed:.5}:"number"==typeof e?{speed:e,enabled:!0}:__spreadValues({speed:.5,enabled:!0,reverse:!1,horizontal:!1,useTransform:!0},e)}const Gn=x({name:"parallax",ssr:!1,mounted(e,t){if(!v())return;const n={options:Kn(t.value),scrollHandler:()=>Zn(e,n),resizeHandler:()=>function(e,t){Zn(e,t)}(e,n),isVisible:!0,lastOffset:0,ticking:!1};e.__parallax=n,e.style.willChange="transform";ne(Jn(e),"scroll",n.scrollHandler,{passive:!0}),ne(window,"resize",n.resizeHandler,{passive:!0}),Zn(e,n),e.classList.add("v-parallax")},updated(e,t){const n=e.__parallax;n&&(n.options=Kn(t.value))},unmounted(e){const t=e.__parallax;if(!t)return;oe(Jn(e),"scroll",t.scrollHandler),oe(window,"resize",t.resizeHandler),e.style.willChange="",e.style.transform="",e.classList.remove("v-parallax"),delete e.__parallax}});function Zn(e,t){var n;!t.options.enabled||(n=t.options.mobileBreakpoint)&&window.innerWidth<n||(t.ticking||(t.ticking=!0,requestAnimationFrame(()=>{const n=e.getBoundingClientRect(),o=window.innerHeight;if(t.isVisible=n.top<o&&n.bottom>0,t.isVisible){const o=window.scrollY;let r=(o-(n.top+o))*(t.options.speed||.5);void 0!==t.options.minScroll&&(r=Math.max(r,t.options.minScroll)),void 0!==t.options.maxScroll&&(r=Math.min(r,t.options.maxScroll)),t.options.reverse&&(r=-r),t.options.transform?e.style.transform=t.options.transform(r,e):!1!==t.options.useTransform&&(t.options.horizontal?e.style.transform=`translateX(${r}px)`:e.style.transform=`translateY(${r}px)`),t.lastOffset=r}t.ticking=!1})))}function Jn(e){let t=e.parentElement;for(;t;){const{overflow:e,overflowX:n,overflowY:o}=getComputedStyle(t);if(/(auto|scroll)/.test(e+n+o))return t;t=t.parentElement}return window}const Qn="__permission";let eo=null;function to(e,t){return t.includes("*")||t.includes(e)}function no(e,t){var n,o;const r=function(e){return e[Qn]||(e[Qn]={options:{value:""},originalDisplay:"",originalDisabled:!1,parentNode:null,placeholder:null}),e[Qn]}(e);r.options=function(e){if(!e)throw new Error("[Directix] v-permission: permission value is required");return"string"==typeof e||Array.isArray(e)?{value:e}:e}(t.value);const i=function(e){var t;if(e.check)return e.check(e.value,e.mode||"some");if(!eo)return console.warn("[Directix] v-permission: No permission config provided"),!0;const n=eo.getPermissions(),o=(null==(t=eo.getRoles)?void 0:t.call(eo))||[],r=eo.roleMap||{},i=Array.isArray(e.value)?e.value:[e.value];function l(e){if(e in r)return o.includes(e);if(to(e,n))return!0;for(const t of o)if(to(e,r[t]||[]))return!0;return!1}return"every"===(e.mode||"some")?i.every(l):i.some(l)}(r.options);null==(o=(n=r.options).onChange)||o.call(n,i);const l=r.options.action||"remove";i?function(e,t,n){switch(t){case"remove":n.placeholder&&n.parentNode&&(n.parentNode.insertBefore(e,n.placeholder),n.parentNode.removeChild(n.placeholder),n.placeholder=null);break;case"disable":!1===n.originalDisabled?e.removeAttribute("disabled"):n.originalDisabled&&e.setAttribute("disabled",n.originalDisabled),e.classList.remove("v-permission--disabled");break;case"hide":e.style.display=n.originalDisplay||"",e.classList.remove("v-permission--hidden")}}(e,l,r):function(e,t,n){var o,r;switch(t){case"remove":n.parentNode=e.parentNode,n.placeholder=document.createComment("v-permission"),null==(o=e.parentNode)||o.insertBefore(n.placeholder,e),null==(r=e.parentNode)||r.removeChild(e);break;case"disable":n.originalDisabled=e.getAttribute("disabled")||!1,e.setAttribute("disabled","true"),e.classList.add("v-permission--disabled");break;case"hide":n.originalDisplay=e.style.display,e.style.display="none",e.classList.add("v-permission--hidden")}}(e,l,r)}const oo=x({name:"permission",ssr:!0,mounted(e,t){no(e,t)},updated(e,t){no(e,t)},unmounted(e){!function(e){const t=e[Qn];(null==t?void 0:t.placeholder)&&t.parentNode&&t.parentNode.removeChild(t.placeholder),delete e[Qn]}(e)}});function ro(e){return"function"==typeof e?{onPinch:e}:__spreadValues({preventDefault:!0,stopPropagation:!1,enableTransform:!1,transformOrigin:"center center"},e)}function io(e){if(e.length<2)return 0;const t=e[0].clientX-e[1].clientX,n=e[0].clientY-e[1].clientY;return Math.sqrt(t*t+n*n)}function lo(e,t,n=!1,o=!1){const r=(i=e.touches).length<2?{x:i[0].clientX,y:i[0].clientY}:{x:(i[0].clientX+i[1].clientX)/2,y:(i[0].clientY+i[1].clientY)/2};var i;return{originalEvent:e,scale:t.initialDistance>0?t.currentDistance/t.initialDistance:1,distance:t.currentDistance,initialDistance:t.initialDistance,centerX:r.x,centerY:r.y,isPinching:t.isPinching,isFirst:n,isFinal:o}}const ao=x({name:"pinch",ssr:!1,mounted(e,t){if(!v())return;const n={options:ro(t.value),initialDistance:0,currentDistance:0,isPinching:!1,initialScale:1,savedTransition:"",touchstartHandler:t=>function(e,t,n){if(2!==e.touches.length)return;if(t.initialDistance=io(e.touches),t.currentDistance=t.initialDistance,t.isPinching=!1,t.options.enableTransform){const e=getComputedStyle(n).transform,o=new DOMMatrix(e);t.initialScale=o.a,t.savedTransition=n.style.transition,n.style.transition="none"}t.options.preventDefault&&e.preventDefault();t.options.stopPropagation&&e.stopPropagation()}(t,n,e),touchmoveHandler:t=>function(e,t,n){var o,r,i,l;if(2!==e.touches.length)return;if(t.currentDistance=io(e.touches),t.initialDistance<=0)return;const a=t.currentDistance/t.initialDistance;if(void 0!==t.options.minScale&&a<t.options.minScale)return;if(void 0!==t.options.maxScale&&a>t.options.maxScale)return;t.options.preventDefault&&e.preventDefault();const s=t.isPinching;t.isPinching=!0;const c=lo(e,t,!s);s||null==(r=(o=t.options).onStart)||r.call(o,c);if(t.options.enableTransform){const e=t.options.transformOrigin||"center center";n.style.transformOrigin=e,n.style.transform=`scale(${t.initialScale*a})`}null==(l=(i=t.options).onPinch)||l.call(i,c)}(t,n,e),touchendHandler:t=>function(e,t,n){var o,r;if(!t.isPinching)return;t.options.enableTransform&&(n.style.transition=t.savedTransition);const i=__spreadProps(__spreadValues({},e),{touches:e.touches.length>=2?e.touches:[]}),l=lo(i,t,!1,!0);null==(r=(o=t.options).onEnd)||r.call(o,l),t.isPinching=!1,t.initialDistance=0,t.currentDistance=0}(t,n,e)};e.__pinch=n,ne(e,"touchstart",n.touchstartHandler,{passive:!1}),ne(e,"touchmove",n.touchmoveHandler,{passive:!1}),ne(e,"touchend",n.touchendHandler),ne(e,"touchcancel",n.touchendHandler),e.classList.add("v-pinch")},updated(e,t){const n=e.__pinch;n&&(n.options=ro(t.value))},unmounted(e){const t=e.__pinch;t&&(oe(e,"touchstart",t.touchstartHandler),oe(e,"touchmove",t.touchmoveHandler),oe(e,"touchend",t.touchendHandler),oe(e,"touchcancel",t.touchendHandler),e.classList.remove("v-pinch"),delete e.__pinch)}});const so=x({name:"print",ssr:!0,mounted(e,t){const n=co(t.value),o={options:n,clickHandler:null};if(e.__print=o,n.immediate)return void setTimeout(()=>uo(e,n),100);const r=()=>{uo(e,o.options)};e.addEventListener("click",r),o.clickHandler=r,e.style.cursor="pointer"},updated(e,t){const n=e.__print;if(!n)return;const o=co(t.value);n.options=o},unmounted(e){const t=e.__print;t&&(t.clickHandler&&e.removeEventListener("click",t.clickHandler),e.style.cursor="",delete e.__print)}});function co(e){return!0===e?{immediate:!0}:!1===e?{}:e||{}}function uo(e,t){return __async(this,null,function*(){if(t.onBeforePrint){if(!1===t.onBeforePrint())return}const n=t.target?document.querySelector(t.target):e;n?(t.newWindow?yield function(e,t){return __async(this,null,function*(){const n=window.open("","_blank");if(!n)return void console.warn("[Directix] v-print: Could not open print window");const o=po(e,t);n.document.open(),n.document.write(o),n.document.close(),yield mo(n.document),n.focus(),n.print(),setTimeout(()=>{n.close()},1e3)})}(n,t):yield function(e,t){return __async(this,null,function*(){var n,o,r;const i=document.createElement("iframe");i.style.cssText="position: absolute; top: -10000px; left: -10000px; width: 0; height: 0; border: none;",document.body.appendChild(i);const l=i.contentDocument||(null==(n=i.contentWindow)?void 0:n.document);if(!l)return console.warn("[Directix] v-print: Could not access iframe document"),void document.body.removeChild(i);const a=po(e,t);l.open(),l.write(a),l.close(),yield mo(l);try{null==(o=i.contentWindow)||o.focus(),null==(r=i.contentWindow)||r.print()}catch(e){console.error("[Directix] v-print: Print failed",e)}setTimeout(()=>{document.body.removeChild(i)},1e3)})}(n,t),t.onAfterPrint&&t.onAfterPrint()):console.warn("[Directix] v-print: Target element not found")})}function po(e,t){let n="";if(document.querySelectorAll('style, link[rel="stylesheet"]').forEach(e=>{if("STYLE"===e.tagName)n+=`<style>${e.textContent}</style>`;else if("LINK"===e.tagName){const t=e.href;n+=`<link rel="stylesheet" href="${t}">`}}),t.cssUrls&&t.cssUrls.forEach(e=>{n+=`<link rel="stylesheet" href="${e}">`}),t.styles){const e=Array.isArray(t.styles)?t.styles.join("\n"):t.styles;n+=`<style>${e}</style>`}n+=`\n\t\t<style>\n\t\t\t@media print {\n\t\t\t\tbody { margin: 0; padding: 20px; }\n\t\t\t\t${t.printClass?`.${t.printClass} { page-break-inside: avoid; }`:""}\n\t\t\t}\n\t\t</style>\n\t`;const o=t.title||document.title||"Print",r=e.outerHTML;return`<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset="utf-8">\n\t<title>${o}</title>\n\t${n}\n</head>\n<body>\n\t${r}\n</body>\n</html>`}function mo(e){const t=e.querySelectorAll("img"),n=[];return t.forEach(e=>{e.complete||n.push(new Promise(t=>{e.onload=()=>t(),e.onerror=()=>t()}))}),Promise.all(n)}function fo(e){return"number"==typeof e?{value:e}:__spreadValues({value:0,max:100,min:0,height:4,color:"#42b883",backgroundColor:"rgba(0, 0, 0, 0.1)",duration:300,showText:!1,animate:!0,indeterminate:!1,striped:!1,animated:!1,position:"top"},e||{})}const vo=x({name:"progress",ssr:!1,mounted(e,t){if(!v())return;const n=fo(t.value);!function(){if(!v())return;const e="v-progress-styles";if(document.getElementById(e))return;const t=document.createElement("style");t.id=e,t.textContent="\n @keyframes v-progress-stripes {\n from { background-position: 1rem 0; }\n to { background-position: 0 0; }\n }\n @keyframes v-progress-indeterminate {\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(400%); }\n }\n .v-progress--indeterminate {\n position: absolute;\n width: 30% !important;\n }\n ",document.head.appendChild(t)}();"static"===getComputedStyle(e).position&&(e.style.position="relative");const{container:o,progressBar:r}=function(e){const t=document.createElement("div");t.className=`v-progress ${e.class||""}`,t.style.cssText=`\n position: absolute;\n ${"bottom"===e.position?"bottom":"top"}: 0;\n left: 0;\n right: 0;\n height: ${e.height}px;\n background: ${e.backgroundColor};\n overflow: hidden;\n z-index: 1000;\n `;const n=document.createElement("div");n.className="v-progress__bar";let o=`\n height: 100%;\n background-color: ${e.color};\n transition: ${!1!==e.animate?`width ${e.duration}ms ease`:"none"};\n width: 0%;\n `;if(e.striped&&(o+="\n background-image: linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n background-size: 1rem 1rem;\n "),n.style.cssText=o,e.indeterminate?(n.classList.add("v-progress--indeterminate"),n.style.width="30%",n.style.animation="v-progress-indeterminate 1.5s infinite linear"):e.animated&&(n.style.animation="v-progress-stripes 1s linear infinite"),t.appendChild(n),e.showText){const n=document.createElement("span");n.className="v-progress__text",n.style.cssText=`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: ${Math.max((e.height||4)-2,10)}px;\n color: #fff;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);\n `,t.appendChild(n)}return{container:t,progressBar:n}}(n),i={options:n,progressBar:r,container:o,currentValue:0};e.__progress=i,e.appendChild(o),n.indeterminate||ho(i,n.value),e.classList.add("v-progress-container")},updated(e,t){const n=e.__progress;if(!n)return;const o=n.options,r=fo(t.value);n.options=r,n.container&&(n.container.style.height=`${r.height}px`,n.container.style.background=r.backgroundColor||"rgba(0, 0, 0, 0.1)"),n.progressBar&&(n.progressBar.style.backgroundColor=r.color||"#42b883"),o.indeterminate!==r.indeterminate&&n.progressBar?r.indeterminate?(n.progressBar.classList.add("v-progress--indeterminate"),n.progressBar.style.width="30%",n.progressBar.style.animation="v-progress-indeterminate 1.5s infinite linear"):(n.progressBar.classList.remove("v-progress--indeterminate"),n.progressBar.style.animation="",ho(n,r.value)):r.indeterminate||r.value===o.value||ho(n,r.value)},unmounted(e){const t=e.__progress;t&&(t.container&&t.container.parentNode&&t.container.parentNode.removeChild(t.container),e.classList.remove("v-progress-container"),delete e.__progress)}});function ho(e,t){var n,o;const{options:r,progressBar:i,container:l}=e;if(!i||!l)return;const a=r.min||0,s=r.max||100,c=Math.max(a,Math.min(s,t)),u=(c-a)/(s-a)*100;if(i.style.width=`${u}%`,r.showText){const e=l.querySelector(".v-progress__text");e&&(e.textContent=`${Math.round(u)}%`)}e.currentValue=c,null==(n=r.onChange)||n.call(r,c,u),u>=100&&(null==(o=r.onComplete)||o.call(r))}const go={idle:"↓",pulling:"↓ Pull",ready:"↓ Release",loading:"⟳ Loading...",success:"✓ Done",error:"✗ Failed"};function yo(e){var t,n,o,r,i;return"function"==typeof e?{handler:e}:{handler:e.handler,distance:null!=(t=e.distance)?t:60,maxDistance:null!=(n=e.maxDistance)?n:100,disabled:null!=(o=e.disabled)&&o,indicator:e.indicator,successDuration:null!=(r=e.successDuration)?r:500,errorDuration:null!=(i=e.errorDuration)?i:1e3,onStateChange:e.onStateChange}}function bo(e,t,n){var o;const r=null==(o=n.indicator)?void 0:o[t];e.textContent=r||go[t]}function wo(e,t){var n,o;e.state!==t&&(e.state=t,bo(e.indicatorEl,t,e.options),null==(o=(n=e.options).onStateChange)||o.call(n,t))}function _o(e,t,n){e.contentEl.style.transform=`translateY(${t}px)`,e.indicatorEl.style.opacity="1",e.indicatorEl.style.transform=`translateY(${t}px)`}function xo(e){e.contentEl.style.transform="",e.indicatorEl.style.opacity="0",wo(e,"idle")}function Eo(e){return new Promise(t=>setTimeout(t,e))}function Lo(e){const{contentEl:t,options:n}=e;return{touchStart:o=>{n.disabled||"loading"===e.state||t.scrollTop>0||(e.pulling=!0,e.startY=o.touches[0].clientY,e.currentY=e.startY,wo(e,"idle"))},touchMove:o=>{if(!e.pulling||n.disabled||"loading"===e.state)return;e.currentY=o.touches[0].clientY;const r=e.currentY-e.startY;if(r<=0)return void(t.style.transform&&(t.style.transition="",xo(e)));o.preventDefault();const i=Math.min(.5*r,n.maxDistance),l=i/n.distance;t.style.transition="none",_o(e,i),wo(e,l>=1?"ready":"pulling")},touchEnd:()=>{if(!e.pulling||n.disabled)return;e.pulling=!1;const o=e.currentY-e.startY,r=Math.min(.5*o,n.maxDistance);t.style.transition="","ready"===e.state&&r>=n.distance?function(e){__async(this,null,function*(){wo(e,"loading");const t=e.options.distance;_o(e,t);try{yield e.options.handler(),wo(e,"success"),yield Eo(e.options.successDuration)}catch(t){wo(e,"error"),yield Eo(e.options.errorDuration)}finally{xo(e)}})}(e):xo(e)}}}function ko(e,t){e.addEventListener("touchstart",t.touchStart,{passive:!1}),e.addEventListener("touchmove",t.touchMove,{passive:!1}),e.addEventListener("touchend",t.touchEnd,{passive:!0})}function So(e,t){e.removeEventListener("touchstart",t.touchStart),e.removeEventListener("touchmove",t.touchMove),e.removeEventListener("touchend",t.touchEnd)}const To=x({name:"pull-refresh",ssr:!1,mounted(e,t){const n=yo(t.value);e.style.position="relative",e.style.overflow="hidden",e.classList.add("v-pull-refresh");const o=document.createElement("div");for(o.className="v-pull-refresh__content",o.style.cssText="position: relative; height: 100%; overflow-y: auto;";e.firstChild;)o.appendChild(e.firstChild);e.appendChild(o);const r=function(){const e=document.createElement("div");return e.className="v-pull-refresh__indicator",e.style.cssText="\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\theight: 60px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tbackground: #f5f5f5;\n\t\tfont-size: 14px;\n\t\tcolor: #666;\n\t\tz-index: 10;\n\t\tpointer-events: none;\n\t\topacity: 0;\n\t\ttransition: opacity 0.2s ease;\n\t",e}();e.insertBefore(r,o);const i={options:n,state:"idle",startY:0,currentY:0,pulling:!1,indicatorEl:r,contentEl:o,handlers:null};i.handlers=Lo(i),e.__pullRefresh=i,n.disabled||ko(e,i.handlers),bo(r,"idle",n)},updated(e,t){const n=e.__pullRefresh;if(!n)return;const o=n.options.disabled;n.options=yo(t.value),bo(n.indicatorEl,n.state,n.options),n.options.disabled&&!o?So(e,n.handlers):!n.options.disabled&&o&&ko(e,n.handlers)},unmounted(e){const t=e.__pullRefresh;t&&(So(e,t.handlers),delete e.__pullRefresh)}});function Co(e){if("function"==typeof e)return{handler:e};if(!e)throw new Error("[Directix] v-resize: handler is required");return __spreadValues({disabled:!1,box:"content-box",debounce:0},e)}const Do=x({name:"resize",ssr:!1,defaults:{disabled:!1,box:"content-box",debounce:0},mounted(e,t){const n=Co(t.value);if(n.disabled||!v())return;te(e);const o={options:n,observer:null,debounceTimer:null,pendingEntry:null,fallbackIframe:null,handler:e=>{n.debounce&&n.debounce>0?(o.pendingEntry=e,o.debounceTimer||(o.debounceTimer=setTimeout(()=>{o.pendingEntry&&n.handler(o.pendingEntry),o.debounceTimer=null,o.pendingEntry=null},n.debounce))):n.handler(e)}};if(e.__resize=o,b())o.observer=new ResizeObserver(e=>{for(const t of e)o.handler(t)}),o.observer.observe(e,{box:n.box});else{console.warn("[Directix] v-resize: ResizeObserver not supported, using fallback");const{iframe:t,cleanup:r}=function(e,t){const n=document.createElement("iframe");n.style.cssText="\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: none;\n pointer-events: none;\n opacity: 0;\n ",e.appendChild(n);const o=n.contentWindow;return o&&o.addEventListener("resize",t),{iframe:n,cleanup:()=>{o&&o.removeEventListener("resize",t),n.remove()}}}(e,()=>{const t=e.getBoundingClientRect(),r={target:e,contentRect:t,borderBoxSize:[],contentBoxSize:[],devicePixelContentBoxSize:[]};o.handler(r),n.onFallback&&n.onFallback(function(e){return{width:e.contentRect.width,height:e.contentRect.height,contentRect:e.contentRect,borderBoxSize:e.borderBoxSize,contentBoxSize:e.contentBoxSize,devicePixelContentBoxSize:e.devicePixelContentBoxSize}}(r))});o.fallbackIframe=t,e.__resizeCleanup=r}},updated(e,t){const n=e.__resize;n&&(n.options=Co(t.value))},unmounted(e){const t=e.__resize;if(!t)return;t.debounceTimer&&clearTimeout(t.debounceTimer),t.observer&&t.observer.disconnect();const n=e.__resizeCleanup;n&&n(),delete e.__resize,delete e.__resizeCleanup}});function Mo(e){if(!1===e)return{disabled:!0,color:"currentColor",duration:600};if("string"==typeof e)return{color:e,duration:600};const t={color:"currentColor",duration:600,disabled:!1,initialScale:0,finalScale:2};return e&&"object"==typeof e?__spreadValues(__spreadValues({},t),e):t}const Po=x({name:"ripple",ssr:!1,defaults:{color:"currentColor",duration:600,disabled:!1,initialScale:0,finalScale:2},mounted(e,t){const n=Mo(t.value);if(n.disabled||!v())return;te(e),function(e){v()&&"visible"===getComputedStyle(e).overflow&&(e.style.overflow="hidden")}(e),e.classList.add("v-ripple");const o={options:n,clickHandler:t=>{if(o.options.disabled)return;const n=function(e,t,n){const o=t.getBoundingClientRect(),r=e.clientX-o.left,i=e.clientY-o.top,l=2*Math.max(o.width,o.height),a=document.createElement("span");return a.className="v-ripple__wave",a.style.cssText=`\n position: absolute;\n border-radius: 50%;\n pointer-events: none;\n background-color: ${n.color};\n width: ${l}px;\n height: ${l}px;\n left: ${r-l/2}px;\n top: ${i-l/2}px;\n transform: scale(${n.initialScale});\n opacity: 0.3;\n z-index: 0;\n `,a}(t,e,o.options);n&&(e.appendChild(n),function(e,t){const n=t.duration||600,o=t.initialScale||0,r=t.finalScale||2;"function"==typeof e.animate?e.animate([{transform:`scale(${o})`,opacity:.3},{transform:`scale(${r})`,opacity:0}],{duration:n,easing:"ease-out",fill:"forwards"}).onfinish=()=>{e.remove()}:(e.style.transition=`transform ${n}ms ease-out, opacity ${n}ms ease-out`,String(e.offsetHeight),e.style.transform=`scale(${r})`,e.style.opacity="0",setTimeout(()=>{e.remove()},n))}(n,o.options))}};e.__ripple=o,ne(e,"click",o.clickHandler)},updated(e,t){const n=e.__ripple;n&&(n.options=Mo(t.value))},unmounted(e){const t=e.__ripple;t&&(oe(e,"click",t.clickHandler),e.classList.remove("v-ripple"),delete e.__ripple)}});function $o(e){return"function"==typeof e?{onRotate:e}:__spreadValues({preventDefault:!0,stopPropagation:!1,enableTransform:!1,transformOrigin:"center center"},e)}function Io(e){if(e.length<2)return 0;const t=e[1].clientX-e[0].clientX,n=e[1].clientY-e[0].clientY;return Math.atan2(n,t)*(180/Math.PI)}function Ho(e,t,n=!1,o=!1){const r=(i=e.touches).length<2?{x:i[0].clientX,y:i[0].clientY}:{x:(i[0].clientX+i[1].clientX)/2,y:(i[0].clientY+i[1].clientY)/2};var i;const l=t.currentAngle*(Math.PI/180);return{originalEvent:e,angle:t.currentAngle,radians:l,rotation:t.currentAngle-t.initialAngle,centerX:r.x,centerY:r.y,isRotating:t.isRotating,isFirst:n,isFinal:o}}const Ao=x({name:"rotate-gesture",ssr:!1,mounted(e,t){if(!v())return;const n={options:$o(t.value),initialAngle:0,currentAngle:0,isRotating:!1,baseRotation:0,savedTransition:"",touchstartHandler:t=>function(e,t,n){if(2!==e.touches.length)return;if(t.initialAngle=Io(e.touches),t.currentAngle=t.initialAngle,t.isRotating=!1,t.options.enableTransform){const e=getComputedStyle(n).transform,o=new DOMMatrix(e);t.baseRotation=Math.atan2(o.b,o.a)*(180/Math.PI),t.savedTransition=n.style.transition,n.style.transition="none"}t.options.preventDefault&&e.preventDefault();t.options.stopPropagation&&e.stopPropagation()}(t,n,e),touchmoveHandler:t=>function(e,t,n){var o,r,i,l;if(2!==e.touches.length)return;t.currentAngle=Io(e.touches),t.options.preventDefault&&e.preventDefault();const a=t.isRotating;t.isRotating=!0;const s=Ho(e,t,!a);a||null==(r=(o=t.options).onStart)||r.call(o,s);if(t.options.enableTransform){const e=t.currentAngle-t.initialAngle,o=t.options.transformOrigin||"center center";n.style.transformOrigin=o,n.style.transform=`rotate(${t.baseRotation+e}deg)`}null==(l=(i=t.options).onRotate)||l.call(i,s)}(t,n,e),touchendHandler:t=>function(e,t,n){var o,r;if(!t.isRotating)return;t.options.enableTransform&&(n.style.transition=t.savedTransition);const i=__spreadProps(__spreadValues({},e),{touches:e.touches.length>=2?e.touches:[]}),l=Ho(i,t,!1,!0);null==(r=(o=t.options).onEnd)||r.call(o,l),t.isRotating=!1,t.initialAngle=0,t.currentAngle=0}(t,n,e)};e.__rotateGesture=n,ne(e,"touchstart",n.touchstartHandler,{passive:!1}),ne(e,"touchmove",n.touchmoveHandler,{passive:!1}),ne(e,"touchend",n.touchendHandler),ne(e,"touchcancel",n.touchendHandler),e.classList.add("v-rotate-gesture")},updated(e,t){const n=e.__rotateGesture;n&&(n.options=$o(t.value))},unmounted(e){const t=e.__rotateGesture;t&&(oe(e,"touchstart",t.touchstartHandler),oe(e,"touchmove",t.touchmoveHandler),oe(e,"touchend",t.touchendHandler),oe(e,"touchcancel",t.touchendHandler),e.classList.remove("v-rotate-gesture"),delete e.__rotateGesture)}});const Oo=["b","i","u","strong","em","br","p","span","div"],zo=["title","alt","href","src"],Fo=["script","iframe","object","embed","form","input","style","link","meta","base"],Ro=["onclick","onerror","onload","onmouseover","onfocus","onblur","onchange","onsubmit"];function Yo(e){return!1===e?{disabled:!0}:!0===e?{allowedTags:Oo,allowedAttributes:zo}:__spreadValues({allowedTags:Oo,allowedAttributes:zo,allowDataUrls:!1,allowStyles:!1,allowClass:!1,allowId:!1,disabled:!1,sanitizeOnUpdate:!0},e)}function Vo(e,t){var n;if(t.handler)return t.handler(e);const o=document.createElement("div");o.innerHTML=e;for(const e of Fo){const t=o.getElementsByTagName(e);for(;t.length>0;)null==(n=t[0].parentNode)||n.removeChild(t[0])}const r=e=>{var n;const o=e.tagName.toLowerCase();if(t.allowedTags&&!t.allowedTags.includes(o)){const t=document.createTextNode(e.textContent||"");return void(null==(n=e.parentNode)||n.replaceChild(t,e))}for(const t of Ro)e.removeAttribute(t);const i=e.getAttribute("href");if(i&&i.toLowerCase().startsWith("javascript:")&&e.removeAttribute("href"),!t.allowDataUrls){const t=e.getAttribute("src");t&&t.toLowerCase().startsWith("data:")&&e.removeAttribute("src")}if(t.allowedAttributes){const n=Array.from(e.attributes);for(const o of n){const n=t.allowedAttributes.includes(o.name.toLowerCase()),r="class"===o.name&&t.allowClass,i="id"===o.name&&t.allowId,l="style"===o.name&&t.allowStyles;n||r||i||l||e.removeAttribute(o.name)}}for(const t of Array.from(e.children))r(t)};for(const e of Array.from(o.children))r(e);return o.innerHTML}const No=x({name:"sanitize",ssr:!0,defaults:{allowedTags:Oo,allowedAttributes:zo,allowDataUrls:!1,allowStyles:!1,allowClass:!1,allowId:!1,disabled:!1,sanitizeOnUpdate:!0},mounted(e,t){if(!v())return;const n=Yo(t.value);if(e.__sanitize={options:n},n.disabled)return;const o=e.innerHTML;o&&(e.innerHTML=Vo(o,n))},updated(e,t){const n=e.__sanitize;if(!n)return;const o=n.options.disabled;if(n.options=Yo(t.value),n.options.disabled||!n.options.sanitizeOnUpdate){if(o&&!n.options.disabled){const t=e.innerHTML;t&&(e.innerHTML=Vo(t,n.options))}return}const r=e.innerHTML;r&&(e.innerHTML=Vo(r,n.options))},unmounted(e){delete e.__sanitize}});function Uo(e,t,n){let o=0,r=0,i=0,l=0;if(e===window)o=window.scrollX||document.documentElement.scrollLeft,r=window.scrollY||document.documentElement.scrollTop,i=document.documentElement.scrollWidth-window.innerWidth,l=document.documentElement.scrollHeight-window.innerHeight;else{const t=e;o=t.scrollLeft,r=t.scrollTop,i=t.scrollWidth-t.clientWidth,l=t.scrollHeight-t.clientHeight}return{scrollLeft:o,scrollTop:r,scrollLeftMax:i,scrollTopMax:l,progressX:i>0?o/i:0,progressY:l>0?r/l:0,directionX:o!==t?o>t?1:-1:0,directionY:r!==n?r>n?1:-1:0,container:e}}function Xo(e){if("function"==typeof e)return{handler:e,passive:!0};if(!e)throw new Error("[Directix] v-scroll: handler is required");return __spreadValues({passive:!0,throttle:0,disabled:!1},e)}const Bo=x({name:"scroll",ssr:!1,defaults:{passive:!0,throttle:0,disabled:!1},mounted(e,t){const n=Xo(t.value);if(n.disabled||!v())return;let o;if(n.container)if(n.container===window)o=window;else if("string"==typeof n.container){const t=document.querySelector(n.container);o=t||Q(e)}else o=n.container;else{const{overflow:t,overflowX:n,overflowY:r}=getComputedStyle(e),i=/(auto|scroll)/.test(t+n+r);o=i?e:Q(e)}const r={options:n,container:o,lastScrollLeft:0,lastScrollTop:0,throttleTimer:null,pendingEvent:null,scrollHandler:e=>{if(n.throttle&&n.throttle>0)r.pendingEvent=e,r.throttleTimer||(r.throttleTimer=setTimeout(()=>{if(r.pendingEvent){const e=Uo(o,r.lastScrollLeft,r.lastScrollTop);r.lastScrollLeft=e.scrollLeft,r.lastScrollTop=e.scrollTop,n.handler(r.pendingEvent,e)}r.throttleTimer=null,r.pendingEvent=null},n.throttle));else{const t=Uo(o,r.lastScrollLeft,r.lastScrollTop);r.lastScrollLeft=t.scrollLeft,r.lastScrollTop=t.scrollTop,n.handler(e,t)}}},i=Uo(o,0,0);r.lastScrollLeft=i.scrollLeft,r.lastScrollTop=i.scrollTop,e.__scroll=r,ne(o,"scroll",r.scrollHandler,{passive:n.passive})},updated(e,t){const n=e.__scroll;n&&(n.options=Xo(t.value))},unmounted(e){const t=e.__scroll;t&&(t.throttleTimer&&clearTimeout(t.throttleTimer),oe(t.container,"scroll",t.scrollHandler),delete e.__scroll)}}),jo={loading:!0,animation:"wave",width:"100%",height:"1em",radius:"4px",color:"#e8e8e8",animationColor:"#f0f0f0",preserveDimensions:!0};function Wo(e){return"boolean"==typeof e?__spreadProps(__spreadValues({},jo),{loading:e}):__spreadValues(__spreadValues({},jo),e)}const qo=x({name:"skeleton",ssr:!0,mounted(e,t){if(!v())return;const n=Wo(t.value);!function(){if(!v())return;const e="v-skeleton-styles";if(document.getElementById(e))return;const t=document.createElement("style");t.id=e,t.textContent="\n @keyframes skeleton-wave {\n 0% { background-position: 200% 0; }\n 100% { background-position: -200% 0; }\n }\n @keyframes skeleton-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.5; }\n }\n ",document.head.appendChild(t)}();const o={options:n,originalDisplay:getComputedStyle(e).display,originalWidth:e.style.width,originalHeight:e.style.height,skeletonEl:null};e.__skeleton=o,n.loading&&Ko(e,o),e.classList.add("v-skeleton-container")},updated(e,t){const n=e.__skeleton;if(!n)return;const o=Wo(t.value),r=n.options.loading;n.options=o,o.loading&&!r?Ko(e,n):!o.loading&&r&&function(e,t){t.skeletonEl&&t.skeletonEl.parentNode&&(t.skeletonEl.parentNode.removeChild(t.skeletonEl),t.skeletonEl=null);e.style.display=t.originalDisplay,e.style.width=t.originalWidth,e.style.height=t.originalHeight}(e,n)},unmounted(e){const t=e.__skeleton;t&&(t.skeletonEl&&t.skeletonEl.parentNode&&t.skeletonEl.parentNode.removeChild(t.skeletonEl),e.classList.remove("v-skeleton-container"),e.style.display=t.originalDisplay,e.style.width=t.originalWidth,e.style.height=t.originalHeight,delete e.__skeleton)}});function Ko(e,t){var n;const o=t.options;if(t.originalDisplay=e.style.display||getComputedStyle(e).display,o.preserveDimensions){const n=getComputedStyle(e);t.originalWidth||(t.originalWidth=e.style.width),t.originalHeight||(t.originalHeight=e.style.height),o.width=n.width,o.height=n.height}e.style.display="none",t.skeletonEl=function(e){const t=document.createElement("div");t.className=`v-skeleton ${e.class||""}`;const n="number"==typeof e.width?`${e.width}px`:e.width,o="number"==typeof e.height?`${e.height}px`:e.height,r="number"==typeof e.radius?`${e.radius}px`:e.radius;let i="";return i="wave"===e.animation?`\n background: linear-gradient(90deg, ${e.color} 25%, ${e.animationColor} 50%, ${e.color} 75%);\n background-size: 200% 100%;\n animation: skeleton-wave 1.5s ease-in-out infinite;\n `:"pulse"===e.animation?`\n background: ${e.color};\n animation: skeleton-pulse 1.5s ease-in-out infinite;\n `:`background: ${e.color};`,t.style.cssText=`\n width: ${n};\n height: ${o};\n border-radius: ${r};\n ${i}\n `,t}(o),null==(n=e.parentNode)||n.insertBefore(t.skeletonEl,e.nextSibling)}const Go="__sticky";function Zo(e){return!1===e?{disabled:!0,top:0,zIndex:100}:"number"==typeof e?{top:e,zIndex:100}:__spreadValues({top:0,zIndex:100,stickyClass:"v-sticky--fixed",disabled:!1},e&&"object"==typeof e?e:{})}function Jo(e){return void 0===e?"0":"number"==typeof e?`${e}px`:e}function Qo(e,t){if(t.options.disabled)return void er(e,t);const n=parseFloat(Jo(t.options.top)),o=t.container===window?{top:0}:t.container.getBoundingClientRect(),r=(t.placeholder||e).getBoundingClientRect().top-o.top<=n;r&&!t.isSticky?function(e,t,n,o){var r,i,l;t.isSticky=!0;const a=document.createElement("div");a.style.cssText=`width:${e.offsetWidth}px;height:${e.offsetHeight}px`,null==(r=e.parentNode)||r.insertBefore(a,e),t.placeholder=a;const s=t.container===window?n:o+n;e.style.position="fixed",e.style.top=`${s}px`,e.style.zIndex=String(t.options.zIndex||100),e.style.width=`${e.offsetWidth}px`,void 0!==t.options.bottom&&(e.style.bottom=Jo(t.options.bottom));t.options.stickyClass&&e.classList.add(t.options.stickyClass),e.dispatchEvent(new CustomEvent("sticky:change",{detail:{isSticky:!0}})),null==(l=(i=t.options).onChange)||l.call(i,!0)}(e,t,n,o.top):!r&&t.isSticky&&er(e,t)}function er(e,t){var n,o,r,i;t.isSticky&&(t.isSticky=!1,null==(o=null==(n=t.placeholder)?void 0:n.parentNode)||o.removeChild(t.placeholder),t.placeholder=null,Object.assign(e.style,t.originalStyles),t.options.stickyClass&&e.classList.remove(t.options.stickyClass),e.dispatchEvent(new CustomEvent("sticky:change",{detail:{isSticky:!1}})),null==(i=(r=t.options).onChange)||i.call(r,!1))}const tr=x({name:"sticky",ssr:!1,defaults:{top:0,zIndex:100,stickyClass:"v-sticky--fixed",disabled:!1},mounted(e,t){const n=Zo(t.value);if(n.disabled||!v())return;const o=function(e,t){if(t)return"string"==typeof t?document.querySelector(t)||Q(e):t;const n=e.parentElement;if(n){const{overflow:e,overflowX:t,overflowY:o}=getComputedStyle(n);if(/(auto|scroll)/.test(e+t+o))return n}return Q(e)}(e,n.container),r={options:n,placeholder:null,originalStyles:{position:e.style.position,top:e.style.top,bottom:e.style.bottom,zIndex:e.style.zIndex,width:e.style.width},isSticky:!1,container:o,scrollHandler:()=>Qo(e,r),resizeHandler:()=>Qo(e,r)};e.classList.add("v-sticky"),e[Go]=r,ne(o,"scroll",r.scrollHandler,{passive:!0}),ne(window,"resize",r.resizeHandler,{passive:!0}),Qo(e,r)},updated(e,t){const n=e[Go];n&&(n.options=Zo(t.value),Qo(e,n))},unmounted(e){var t,n;const o=e[Go];o&&(null==(n=null==(t=o.placeholder)?void 0:t.parentNode)||n.removeChild(o.placeholder),Object.assign(e.style,o.originalStyles),e.classList.remove("v-sticky",o.options.stickyClass||"v-sticky--fixed"),oe(o.container,"scroll",o.scrollHandler),oe(window,"resize",o.resizeHandler),delete e[Go])}}),nr=["left","right","up","down"];function or(e){var t,n,o,r,i,l;return"function"==typeof e?{handler:e}:{handler:e.handler,threshold:null!=(t=e.threshold)?t:30,maxTime:null!=(n=e.maxTime)?n:500,directions:null!=(o=e.directions)?o:[...nr],preventScrollOnSwipe:null==(r=e.preventScrollOnSwipe)||r,disabled:null!=(i=e.disabled)&&i,mouse:null==(l=e.mouse)||l,onLeft:e.onLeft,onRight:e.onRight,onUp:e.onUp,onDown:e.onDown}}function rr(e,t,n,o,r,i){var l,a,s,c,u;const{options:d}=e;if(o>(null!=(l=d.maxTime)?l:500))return;if(Math.max(Math.abs(t),Math.abs(n))<(null!=(a=d.threshold)?a:30))return;const p=function(e,t,n){if(Math.abs(e)>Math.abs(t)){const t=e>0?"right":"left";return n.includes(t)?t:null}{const e=t>0?"down":"up";return n.includes(e)?e:null}}(t,n,null!=(s=d.directions)?s:nr);if(!p)return;d.preventScrollOnSwipe&&r.cancelable&&r.preventDefault(),null==(c=d.handler)||c.call(d,p,r);const m={left:d.onLeft,right:d.onRight,up:d.onUp,down:d.onDown};null==(u=m[p])||u.call(m),i.dispatchEvent(new CustomEvent("swipe",{detail:{direction:p,deltaX:t,deltaY:n,deltaTime:o}}))}function ir(e,t){if(t.disabled)return null;e.style.touchAction="none",e.style.userSelect="none";const n={options:t,startX:0,startY:0,startTime:0,isActive:!1,handlers:null},o=function(e,t){return(n,o,r)=>{const i=n-t.startX,l=o-t.startY,a=Date.now()-t.startTime;rr(t,i,l,a,r,e)}}(e,n);return n.handlers={touchStart:e=>{n.options.disabled||(n.startX=e.touches[0].clientX,n.startY=e.touches[0].clientY,n.startTime=Date.now(),n.isActive=!0)},touchMove:e=>{n.isActive&&!n.options.disabled&&n.options.preventScrollOnSwipe&&e.preventDefault()},touchEnd:e=>{if(!n.isActive||n.options.disabled)return;n.isActive=!1;const t=e.changedTouches[0];o(t.clientX,t.clientY,e)},mouseDown:e=>{n.options.disabled||(n.startX=e.clientX,n.startY=e.clientY,n.startTime=Date.now(),n.isActive=!0)},mouseUp:e=>{n.isActive&&!n.options.disabled&&(n.isActive=!1,o(e.clientX,e.clientY,e))}},n}function lr(e,t){var n;const{handlers:o}=t,r=null==(n=t.options.mouse)||n;e.addEventListener("touchstart",o.touchStart,{passive:!0}),e.addEventListener("touchmove",o.touchMove,{passive:!1}),e.addEventListener("touchend",o.touchEnd),e.addEventListener("touchcancel",o.touchEnd),r&&(e.addEventListener("mousedown",o.mouseDown),e.addEventListener("mouseup",o.mouseUp),e.addEventListener("mouseleave",o.mouseUp))}function ar(e,t){var n;const{handlers:o}=t,r=null==(n=t.options.mouse)||n;e.removeEventListener("touchstart",o.touchStart),e.removeEventListener("touchmove",o.touchMove),e.removeEventListener("touchend",o.touchEnd),e.removeEventListener("touchcancel",o.touchEnd),r&&(e.removeEventListener("mousedown",o.mouseDown),e.removeEventListener("mouseup",o.mouseUp),e.removeEventListener("mouseleave",o.mouseUp))}const sr=x({name:"swipe",ssr:!1,mounted(e,t){const n=ir(e,or(t.value));n&&(e.__swipe=n,lr(e,n))},updated(e,t){var n,o;const r=e.__swipe,i=or(t.value);if(!r){const t=ir(e,i);return void(t&&(e.__swipe=t,lr(e,t)))}const l=r.options.disabled,a=null==(n=r.options.mouse)||n,s=null==(o=i.mouse)||o;r.options=i,i.disabled&&!l?ar(e,r):!i.disabled&&l?lr(e,r):a!==s&&(a&&(e.removeEventListener("mousedown",r.handlers.mouseDown),e.removeEventListener("mouseup",r.handlers.mouseUp),e.removeEventListener("mouseleave",r.handlers.mouseUp)),s&&(e.addEventListener("mousedown",r.handlers.mouseDown),e.addEventListener("mouseup",r.handlers.mouseUp),e.addEventListener("mouseleave",r.handlers.mouseUp)))},unmounted(e){const t=e.__swipe;t&&(ar(e,t),delete e.__swipe)}});function cr(e,t){const n=he(t.arg)||300;return"function"==typeof e?{handler:e,wait:n}:__spreadProps(__spreadValues({},e),{wait:e.wait||n})}const ur=x({name:"throttle",ssr:!0,defaults:{wait:300,leading:!0,trailing:!0},mounted(e,t){const n=cr(t.value,t),o=se(t.modifiers)||ce(e),r=ve(n.handler,n.wait,{leading:n.leading,trailing:n.trailing});e.addEventListener(o,r),e.__throttle={throttledFn:r,eventType:o,options:n}},updated(e,t){const n=e.__throttle;if(!n)return;const o=cr(t.value,t);if(o.wait!==n.options.wait||o.leading!==n.options.leading||o.trailing!==n.options.trailing){n.throttledFn.cancel();const t=ve(o.handler,o.wait,{leading:o.leading,trailing:o.trailing});e.removeEventListener(n.eventType,n.throttledFn),e.addEventListener(n.eventType,t),e.__throttle={throttledFn:t,eventType:n.eventType,options:o}}else o.handler!==n.options.handler&&(n.options.handler=o.handler)},unmounted(e){const t=e.__throttle;t&&(t.throttledFn.cancel(),e.removeEventListener(t.eventType,t.throttledFn),delete e.__throttle)}}),dr="8px 12px",pr="#333",mr="#fff",fr="6px",vr="14px",hr="1.5",gr="96px",yr="320px",br="0 4px 12px rgba(0, 0, 0, 0.15)";let wr=null;function _r(e,t){if(t.isVisible||t.options.disabled)return;t.hideTimeout&&(clearTimeout(t.hideTimeout),t.hideTimeout=null);const n=()=>{var n,o;const r=function(e){const t=document.createElement("div");t.className=`v-tooltip v-tooltip--${e.placement||"top"}`,e.class&&t.classList.add(e.class);const n=e.maxWidth?"number"==typeof e.maxWidth?`${e.maxWidth}px`:e.maxWidth:yr;if(t.style.cssText=["position: absolute",`padding: ${dr}`,`background: ${pr}`,`color: ${mr}`,`border-radius: ${fr}`,`font-size: ${vr}`,`line-height: ${hr}`,`min-width: ${gr}`,`max-width: ${n}`,"word-wrap: break-word",`box-shadow: ${br}`,"pointer-events: none","opacity: 0","transition: opacity 0.2s ease",`z-index: ${e.zIndex||9999}`].join(";"),!1!==e.arrow){const e=document.createElement("div");e.className="v-tooltip__arrow",e.style.cssText="position: absolute; width: 8px; height: 8px; background: #333; transform: rotate(45deg);",t.appendChild(e)}const o=document.createElement("div");return o.className="v-tooltip__content",o.textContent=e.content,t.appendChild(o),t}(t.options);t.tooltip=r,(wr&&document.body.contains(wr)||(wr=document.createElement("div"),wr.id="directix-tooltip-container",wr.style.cssText="position: fixed; top: 0; left: 0; pointer-events: none; z-index: 9999;",document.body.appendChild(wr)),wr).appendChild(r),requestAnimationFrame(()=>{!function(e,t,n,o){const r=t.getBoundingClientRect(),i=e.getBoundingClientRect();let l=0,a=0;switch(n){case"top":l=r.top-i.height-o,a=r.left+(r.width-i.width)/2;break;case"bottom":l=r.bottom+o,a=r.left+(r.width-i.width)/2;break;case"left":l=r.top+(r.height-i.height)/2,a=r.left-i.width-o;break;case"right":l=r.top+(r.height-i.height)/2,a=r.right+o}const s=window.innerWidth,c=window.innerHeight;a<0&&(a=8),a+i.width>s&&(a=s-i.width-8),l<0&&(l=8),l+i.height>c&&(l=c-i.height-8),e.style.top=`${l}px`,e.style.left=`${a}px`;const u=e.querySelector(".v-tooltip__arrow");if(u){const e=4;switch(n){case"top":Object.assign(u.style,{bottom:`-${e}px`,left:"50%",transform:"translateX(-50%) rotate(45deg)"});break;case"bottom":Object.assign(u.style,{top:`-${e}px`,left:"50%",transform:"translateX(-50%) rotate(45deg)"});break;case"left":Object.assign(u.style,{right:`-${e}px`,top:"50%",transform:"translateY(-50%) rotate(45deg)"});break;case"right":Object.assign(u.style,{left:`-${e}px`,top:"50%",transform:"translateY(-50%) rotate(45deg)"})}}}(r,e,t.options.placement||"top",t.options.offset||8),requestAnimationFrame(()=>{r.style.opacity="1"})}),t.isVisible=!0,null==(o=(n=t.options).onShow)||o.call(n)};t.options.delay&&t.options.delay>0?t.showTimeout=setTimeout(n,t.options.delay):n()}function xr(e){if(!e.isVisible)return;e.showTimeout&&(clearTimeout(e.showTimeout),e.showTimeout=null);const t=()=>{var t,n;e.tooltip&&(e.tooltip.style.opacity="0",setTimeout(()=>{var t;null==(t=e.tooltip)||t.remove(),e.tooltip=null},200)),e.isVisible=!1,null==(n=(t=e.options).onHide)||n.call(t)};e.options.hideDelay&&e.options.hideDelay>0?e.hideTimeout=setTimeout(t,e.options.hideDelay):t()}function Er(e,t){const{trigger:n="hover"}=t.options,o=()=>_r(e,t),r=()=>xr(t),i=()=>t.isVisible?r():o();switch(t.handlers={show:o,hide:r,toggle:i},n){case"hover":e.addEventListener("mouseenter",o),e.addEventListener("mouseleave",r);break;case"click":e.addEventListener("click",i),document.addEventListener("click",t.handlers.docHide=n=>{t.isVisible&&!e.contains(n.target)&&r()});break;case"focus":e.addEventListener("focus",o),e.addEventListener("blur",r)}}function Lr(e){var t,n,o,r,i,l,a,s;return"string"==typeof e?{content:e,placement:"top",trigger:"hover"}:e?{content:e.content,placement:null!=(t=e.placement)?t:"top",trigger:null!=(n=e.trigger)?n:"hover",delay:null!=(o=e.delay)?o:0,hideDelay:null!=(r=e.hideDelay)?r:0,offset:null!=(i=e.offset)?i:8,class:e.class,arrow:null==(l=e.arrow)||l,disabled:null!=(a=e.disabled)&&a,maxWidth:e.maxWidth,zIndex:null!=(s=e.zIndex)?s:9999,onShow:e.onShow,onHide:e.onHide}:{content:"",placement:"top",trigger:"hover"}}function kr(e){return{options:e,tooltip:null,showTimeout:null,hideTimeout:null,isVisible:!1,handlers:{}}}const Sr=x({name:"tooltip",ssr:!1,mounted(e,t){const n=Lr(t.value);if(n.disabled||!n.content)return;const o=kr(n);e.__tooltip=o,Er(e,o),e.setAttribute("aria-describedby","v-tooltip")},updated(e,t){const n=e.__tooltip,o=Lr(t.value);if(n){if("manual"===o.trigger){const t=n.options.disabled;return n.options=o,void(o.disabled&&!t?xr(n):!o.disabled&&t&&_r(e,n))}if(n.tooltip&&n.isVisible){const e=n.tooltip.querySelector(".v-tooltip__content");e&&(e.textContent=o.content)}n.options=o}else if(!o.disabled&&o.content){const t=kr(o);e.__tooltip=t,Er(e,t),e.setAttribute("aria-describedby","v-tooltip"),"manual"===o.trigger&&_r(e,t)}},unmounted(e){var t;const n=e.__tooltip;n&&(n.showTimeout&&clearTimeout(n.showTimeout),n.hideTimeout&&clearTimeout(n.hideTimeout),null==(t=n.tooltip)||t.remove(),function(e,t){const{show:n,hide:o,toggle:r,docHide:i}=t.handlers;n&&(e.removeEventListener("mouseenter",n),e.removeEventListener("focus",n)),o&&(e.removeEventListener("mouseleave",o),e.removeEventListener("blur",o)),r&&e.removeEventListener("click",r),i&&document.removeEventListener("click",i)}(e,n),delete e.__tooltip)}}),Tr=(e,t,n,o)=>Math.sqrt(__pow(n-e,2)+__pow(o-t,2)),Cr=(e,t,n,o)=>180*Math.atan2(o-t,n-e)/Math.PI,Dr=x({name:"touch",ssr:!1,mounted(e,t){const n=Mr(t.value),o={options:n,startX:0,startY:0,startTime:0,startDistance:0,startAngle:0,lastScale:1,lastAngle:0,longPressTimer:null,isLongPress:!1,isMouseDown:!1,lastTouchEndTime:0,handlers:{touchStart:()=>{},touchMove:()=>{},touchEnd:()=>{}}};e.__touch=o;const r=()=>{o.longPressTimer&&(clearTimeout(o.longPressTimer),o.longPressTimer=null)},i=e=>{r(),o.options.enableLongPress&&o.options.onLongPress&&(o.longPressTimer=setTimeout(()=>{o.isLongPress=!0,o.options.onLongPress(e)},o.options.longPressTimeout||500))},l=(e,t)=>{const n=o.options.tapThreshold||10;return Math.abs(e-o.startX)>n||Math.abs(t-o.startY)>n},a=(e,t,n)=>{var r,i,l,a,s,c,u,d,p,m,f,v;if(o.isLongPress)return;const h=Date.now()-o.startTime,g=e-o.startX,y=t-o.startY,b=Math.sqrt(__pow(g,2)+__pow(y,2));if(o.options.enableSwipe&&b>=(o.options.swipeThreshold||30)&&h<=(o.options.swipeTimeout||500)){const e=Math.abs(g)>Math.abs(y)?g>0?"right":"left":y>0?"down":"up";null==(i=(r=o.options).onSwipe)||i.call(r,e,n),"left"===e?null==(a=(l=o.options).onSwipeLeft)||a.call(l,n):"right"===e?null==(c=(s=o.options).onSwipeRight)||c.call(s,n):"up"===e?null==(d=(u=o.options).onSwipeUp)||d.call(u,n):null==(m=(p=o.options).onSwipeDown)||m.call(p,n)}else o.options.enableTap&&b<(o.options.tapThreshold||10)&&h<(o.options.tapTimeout||250)&&(null==(v=(f=o.options).onTap)||v.call(f,n))},s=e=>{var t,n;if(e.touches.length>1&&e.preventDefault(),o.startTime=Date.now(),o.isLongPress=!1,1===e.touches.length)o.startX=e.touches[0].clientX,o.startY=e.touches[0].clientY,i(e);else if(2===e.touches.length){r();const[t,n]=e.touches;o.startDistance=Tr(t.clientX,t.clientY,n.clientX,n.clientY),o.startAngle=Cr(t.clientX,t.clientY,n.clientX,n.clientY),o.lastScale=1,o.lastAngle=0}null==(n=(t=o.options).onTouchStart)||n.call(t,e)},c=e=>{var t,n;if(e.touches.length>=1&&e.preventDefault(),o.longPressTimer&&1===e.touches.length&&l(e.touches[0].clientX,e.touches[0].clientY)&&r(),2===e.touches.length){const[t,n]=e.touches,r=Tr(t.clientX,t.clientY,n.clientX,n.clientY),i=Cr(t.clientX,t.clientY,n.clientX,n.clientY);if(o.options.enablePinch&&o.options.onPinch){const t=r/o.startDistance;Math.abs(t-o.lastScale)>=(o.options.pinchThreshold||.1)&&(o.options.onPinch(t,e),o.lastScale=t)}if(o.options.enableRotate&&o.options.onRotate){const t=i-o.startAngle;Math.abs(t-o.lastAngle)>5&&(o.options.onRotate(t,e),o.lastAngle=t)}}null==(n=(t=o.options).onTouchMove)||n.call(t,e)},u=e=>{var t,n;if(r(),0===e.touches.length){o.lastTouchEndTime=Date.now();const t=e.changedTouches[0];a(t.clientX,t.clientY,e)}null==(n=(t=o.options).onTouchEnd)||n.call(t,e)},d=e=>{var t,n;o.options.enableMouse&&(Date.now()-o.lastTouchEndTime<400||(e.preventDefault(),o.isMouseDown=!0,o.startTime=Date.now(),o.startX=e.clientX,o.startY=e.clientY,o.isLongPress=!1,i(e),null==(n=(t=o.options).onTouchStart)||n.call(t,e)))},p=e=>{var t,n;o.isMouseDown&&o.options.enableMouse&&(o.longPressTimer&&l(e.clientX,e.clientY)&&r(),null==(n=(t=o.options).onTouchMove)||n.call(t,e))},m=e=>{var t,n;o.isMouseDown&&o.options.enableMouse&&(o.isMouseDown=!1,r(),o.isLongPress||a(e.clientX,e.clientY,e),null==(n=(t=o.options).onTouchEnd)||n.call(t,e))};o.handlers={touchStart:s,touchMove:c,touchEnd:u,mouseDown:d,mouseMove:p,mouseUp:m},e.addEventListener("touchstart",s,{passive:!1}),e.addEventListener("touchmove",c,{passive:!1}),e.addEventListener("touchend",u),e.addEventListener("touchcancel",u),n.enableMouse&&(e.addEventListener("mousedown",d),document.addEventListener("mousemove",p),document.addEventListener("mouseup",m))},updated(e,t){const n=e.__touch;n&&(n.options=Mr(t.value))},unmounted(e){const t=e.__touch;(null==t?void 0:t.longPressTimer)&&clearTimeout(t.longPressTimer),(null==t?void 0:t.handlers)&&(e.removeEventListener("touchstart",t.handlers.touchStart),e.removeEventListener("touchmove",t.handlers.touchMove),e.removeEventListener("touchend",t.handlers.touchEnd),e.removeEventListener("touchcancel",t.handlers.touchEnd),t.handlers.mouseDown&&e.removeEventListener("mousedown",t.handlers.mouseDown),t.handlers.mouseMove&&document.removeEventListener("mousemove",t.handlers.mouseMove),t.handlers.mouseUp&&document.removeEventListener("mouseup",t.handlers.mouseUp)),delete e.__touch}});function Mr(e){var t,n,o,r,i,l,a,s,c,u,d,p;return{swipeThreshold:null!=(t=null==e?void 0:e.swipeThreshold)?t:30,swipeTimeout:null!=(n=null==e?void 0:e.swipeTimeout)?n:500,pinchThreshold:null!=(o=null==e?void 0:e.pinchThreshold)?o:.1,enableSwipe:null==(r=null==e?void 0:e.enableSwipe)||r,enablePinch:null==(i=null==e?void 0:e.enablePinch)||i,enableRotate:null==(l=null==e?void 0:e.enableRotate)||l,enableTap:null==(a=null==e?void 0:e.enableTap)||a,tapTimeout:null!=(s=null==e?void 0:e.tapTimeout)?s:250,tapThreshold:null!=(c=null==e?void 0:e.tapThreshold)?c:10,enableLongPress:null==(u=null==e?void 0:e.enableLongPress)||u,longPressTimeout:null!=(d=null==e?void 0:e.longPressTimeout)?d:500,enableMouse:null==(p=null==e?void 0:e.enableMouse)||p,onSwipe:null==e?void 0:e.onSwipe,onSwipeLeft:null==e?void 0:e.onSwipeLeft,onSwipeRight:null==e?void 0:e.onSwipeRight,onSwipeUp:null==e?void 0:e.onSwipeUp,onSwipeDown:null==e?void 0:e.onSwipeDown,onPinch:null==e?void 0:e.onPinch,onRotate:null==e?void 0:e.onRotate,onTap:null==e?void 0:e.onTap,onLongPress:null==e?void 0:e.onLongPress,onTouchStart:null==e?void 0:e.onTouchStart,onTouchMove:null==e?void 0:e.onTouchMove,onTouchEnd:null==e?void 0:e.onTouchEnd}}function Pr(e,t){const{position:n="both",chars:o}=t,r=o?`[\\s${i=o,i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}]`:"\\s";var i;switch(n){case"start":return e.replace(new RegExp(`^${r}+`,"g"),"");case"end":return e.replace(new RegExp(`${r}+$`,"g"),"");default:return e.replace(new RegExp(`^${r}+|${r}+$`,"g"),"")}}const $r=x({name:"trim",ssr:!0,mounted(e,t){const n=Ir(t.value);if(ee(e))!function(e,t){const n={options:t};e.__trim=n;const o=()=>{const n=e.value,o=Pr(n,t);n!==o&&(e.value=o,e.dispatchEvent(new Event("input",{bubbles:!0})))};if(t.onInput){const t=()=>{const t=e.value,n=e.selectionStart,o=t.replace(/\s+$/g,"");if(t!==o&&(e.value=o,null!==n)){const t=Math.min(n,o.length);e.setSelectionRange(t,t)}};e.addEventListener("input",t),n.inputHandler=t}if(t.onBlur){const t=()=>o();e.addEventListener("blur",t),n.blurHandler=t}e.value&&o()}(e,n);else{const t=e.textContent||"";e.textContent=Pr(t,n)}},updated(e,t){const n=Ir(t.value),o=e.__trim;if(ee(e))o&&(o.options=n);else{const t=e.textContent||"";e.textContent=Pr(t,n)}},unmounted(e){const t=e.__trim;(null==t?void 0:t.inputHandler)&&e.removeEventListener("input",t.inputHandler),(null==t?void 0:t.blurHandler)&&e.removeEventListener("blur",t.blurHandler),delete e.__trim}});function Ir(e){var t,n,o;return void 0===e||!0===e?{position:"both",onInput:!0,onBlur:!0}:!1===e?{position:"both",onInput:!1,onBlur:!1}:"string"==typeof e?{position:e,onInput:!0,onBlur:!0}:{position:null!=(t=e.position)?t:"both",onInput:null==(n=e.onInput)||n,onBlur:null==(o=e.onBlur)||o,chars:e.chars}}const Hr=x({name:"truncate",ssr:!0,mounted(e,t){const n=Or(t.value),o=e.textContent||"",r={originalText:o,options:n};e.__truncate=r,Ar(e,o,n)},updated(e,t){const n=e.__truncate,o=Or(t.value);if(n){const t=n.originalText;JSON.stringify(o)!==JSON.stringify(n.options)&&(n.options=o,Ar(e,t,o))}else{const t=e.textContent||"";e.__truncate={originalText:t,options:o},Ar(e,t,o)}},unmounted(e){delete e.__truncate}});function Ar(e,t,n){const{useCss:o,showTitle:r=!0}=n;if(o)e.style.overflow="hidden",e.style.textOverflow="ellipsis",e.style.whiteSpace="nowrap",r&&t&&e.setAttribute("title",t);else{const o=function(e,t){const{length:n=100,position:o="end",ellipsis:r="..."}=t;if(e.length<=n)return e;switch(o){case"start":return r+e.slice(-(n-r.length));case"middle":{const t=Math.ceil((n-r.length)/2),o=Math.floor((n-r.length)/2);return e.slice(0,t)+r+e.slice(-o)}default:return e.slice(0,n-r.length)+r}}(t,n);e.textContent=o,r&&t&&t!==o&&e.setAttribute("title",t)}}function Or(e){var t,n,o,r,i;return"number"==typeof e?{length:e,position:"end",ellipsis:"...",useCss:!1,showTitle:!0}:{length:null!=(t=null==e?void 0:e.length)?t:100,position:null!=(n=null==e?void 0:e.position)?n:"end",ellipsis:null!=(o=null==e?void 0:e.ellipsis)?o:"...",useCss:null!=(r=null==e?void 0:e.useCss)&&r,showTitle:null==(i=null==e?void 0:e.showTitle)||i}}function zr(e){return"string"==typeof e?{text:e}:__spreadProps(__spreadValues({speed:50,delay:0,loop:!1,deleteDelay:1500,deleteSpeed:30,cursor:"|",cursorBlink:!0},e),{text:"string"==typeof e?e:e.text||""})}function Fr(e){if(!1===e.cursor)return null;const t=document.createElement("span");return t.className="v-typewriter__cursor",t.textContent=e.cursor||"|",!1!==e.cursorBlink&&(t.style.animation="v-typewriter-blink 0.7s infinite"),t}const Rr=x({name:"typewriter",ssr:!0,mounted(e,t){const n=zr(t.value);if(!n.text)return;v()&&function(){if(!v())return;const e="v-typewriter-styles";if(document.getElementById(e))return;const t=document.createElement("style");t.id=e,t.textContent="\n @keyframes v-typewriter-blink {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0; }\n }\n .v-typewriter__cursor {\n display: inline-block;\n margin-left: 1px;\n }\n ",document.head.appendChild(t)}();const o={options:n,originalContent:e.textContent||"",currentText:"",timeoutId:null,animationFrameId:null,isTyping:!1,isDeleting:!1,cursorElement:null};e.__typewriter=o,e.textContent="",o.cursorElement=Fr(n),o.cursorElement&&e.appendChild(o.cursorElement),e.classList.add("v-typewriter"),v()&&(o.timeoutId=setTimeout(()=>{Yr(e,o)},n.delay||0))},updated(e,t){const n=e.__typewriter;if(!n)return;const o=zr(t.value);o.text!==n.options.text?(Vr(n),n.options=o,n.currentText="",n.isTyping=!1,n.isDeleting=!1,e.textContent="",n.cursorElement=Fr(o),n.cursorElement&&e.appendChild(n.cursorElement),v()&&(n.timeoutId=setTimeout(()=>{Yr(e,n)},o.delay||0))):n.options=o},unmounted(e){const t=e.__typewriter;t&&(Vr(t),e.classList.remove("v-typewriter"),delete e.__typewriter)}});function Yr(e,t){var n;const{options:o,cursorElement:r}=t;t.isTyping=!0,null==(n=o.onStart)||n.call(o);const i=o.text;!function n(l){var a,s;if(l>=i.length)return t.isTyping=!1,null==(a=o.onComplete)||a.call(o),void(o.loop&&(t.timeoutId=setTimeout(()=>{!function(e,t){var n;const{options:o,cursorElement:r}=t;function i(){var n;if(0===t.currentText.length)return t.isDeleting=!1,null==(n=o.onDeleteComplete)||n.call(o),void(o.loop&&(t.timeoutId=setTimeout(()=>{Yr(e,t)},o.delay||0)));t.currentText=t.currentText.slice(0,-1),e.textContent=t.currentText,r&&e.appendChild(r),t.timeoutId=setTimeout(()=>{i()},o.deleteSpeed||30)}t.isDeleting=!0,null==(n=o.onDeleteStart)||n.call(o),i()}(e,t)},o.deleteDelay)));const c=i[l];t.currentText+=c,e.textContent=t.currentText,r&&e.appendChild(r),null==(s=o.onType)||s.call(o,c,l),t.timeoutId=setTimeout(()=>{n(l+1)},o.speed||50)}(0)}function Vr(e){e.timeoutId&&(clearTimeout(e.timeoutId),e.timeoutId=null),e.animationFrameId&&(cancelAnimationFrame(e.animationFrameId),e.animationFrameId=null),e.isTyping=!1,e.isDeleting=!1}function Nr(e,t){return e?t.first?e.charAt(0).toUpperCase()+e.slice(1):e.toUpperCase():e}function Ur(e){var t,n;return void 0===e||!0===e?{first:!1,onInput:!0}:!1===e?{first:!1,onInput:!1}:{first:null!=(t=e.first)&&t,onInput:null==(n=e.onInput)||n}}const Xr=x({name:"uppercase",ssr:!0,mounted(e,t){const n=Ur(t.value);if(ee(e)){const t=ge(e,n,e=>Nr(e,n));e.__uppercaseCleanup=t}else ye(e,e=>Nr(e,n))},updated(e,t){const n=Ur(t.value);ee(e)?n.onInput&&(e.value=Nr(e.value,n)):ye(e,e=>Nr(e,n))},unmounted(e){const t=e.__uppercaseCleanup;null==t||t(),delete e.__uppercaseCleanup}});function Br(e){if("function"==typeof e.itemSize){let t=0;for(let n=0;n<e.items.length;n++)t+=e.itemSize(n);return t}return(e.itemSize||50)*e.items.length}function jr(e,t,n){const o=n.items,r=n.itemSize||50,i=n.overscan||3;let l=0,a=0,s=0;if("function"==typeof r){let n=0;for(let t=0;t<o.length;t++){const o=r(t);if(n+o>e){l=t,s=n;break}n+=o}for(a=l,n=s;a<o.length&&n<e+t;)n+=r(a),a++;l=Math.max(0,l-i),a=Math.min(o.length,a+i),n=0;for(let e=0;e<l;e++)n+=r(e);return s=n,{startIndex:l,endIndex:a,offsetY:s}}return l=Math.max(0,Math.floor(e/r)-i),a=Math.min(o.length,Math.ceil((e+t)/r)+i),s=l*r,{startIndex:l,endIndex:a,offsetY:s}}function Wr(e){var t,n,o,r;return Array.isArray(e)?{items:e,itemSize:50,height:400,overscan:3,keyField:"id"}:{items:e.items,itemSize:null!=(t=e.itemSize)?t:50,height:null!=(n=e.height)?n:400,overscan:null!=(o=e.overscan)?o:3,render:e.render,keyField:null!=(r=e.keyField)?r:"id",onScroll:e.onScroll,onVisibleChange:e.onVisibleChange}}function qr(e,t,n){const o=document.createElement("div");o.className="v-virtual-list__item",o.dataset.index=String(t);const r=n.keyField||"id";"object"==typeof e&&null!==e&&r in e&&(o.dataset.key=String(e[r]));const i=function(e,t){return"function"==typeof e.itemSize?e.itemSize(t):e.itemSize||50}(n,t);return o.style.height=`${i}px`,o.style.boxSizing="border-box",n.render?o.innerHTML=n.render(e,t):o.textContent="object"==typeof e?JSON.stringify(e):String(e),o}const Kr=x({name:"virtual-list",ssr:!1,mounted(e,t){const n=Wr(t.value);e.classList.add("v-virtual-list"),e.style.height="number"==typeof n.height?`${n.height}px`:n.height,e.style.overflow="auto",e.style.position="relative";const o=document.createElement("div");o.className="v-virtual-list__content",o.style.position="relative",o.style.height=`${Br(n)}px`,e.appendChild(o);const r=document.createElement("div");r.className="v-virtual-list__visible",r.style.position="absolute",r.style.top="0",r.style.left="0",r.style.right="0",o.appendChild(r);const i={options:n,containerEl:e,contentEl:o,scrollHandler:null,resizeObserver:null,startIndex:0,endIndex:0,visibleItems:[]};e.__virtualList=i;const l=t=>{const n=e.scrollTop,o=e.clientHeight,{startIndex:l,endIndex:a,offsetY:s}=jr(n,o,i.options);l===i.startIndex&&a===i.endIndex||(i.startIndex=l,i.endIndex=a,Gr(r,i,s),i.options.onVisibleChange&&i.options.onVisibleChange(l,a)),i.options.onScroll&&i.options.onScroll(n)};i.scrollHandler=l,e.addEventListener("scroll",l,{passive:!0});const{startIndex:a,endIndex:s,offsetY:c}=jr(0,e.clientHeight,n);if(i.startIndex=a,i.endIndex=s,Gr(r,i,c),"undefined"!=typeof ResizeObserver){const t=new ResizeObserver(()=>{l(new Event("scroll"))});t.observe(e),i.resizeObserver=t}},updated(e,t){var n;const o=e.__virtualList;if(!o)return;const r=Wr(t.value);o.options=r,o.contentEl&&(o.contentEl.style.height=`${Br(r)}px`);const i=e.scrollTop,l=e.clientHeight,{startIndex:a,endIndex:s,offsetY:c}=jr(i,l,r);o.startIndex=a,o.endIndex=s;const u=null==(n=o.contentEl)?void 0:n.querySelector(".v-virtual-list__visible");u&&Gr(u,o,c)},unmounted(e){const t=e.__virtualList;t&&(t.scrollHandler&&e.removeEventListener("scroll",t.scrollHandler),t.resizeObserver&&t.resizeObserver.disconnect(),delete e.__virtualList)}});function Gr(e,t,n){const{options:o,startIndex:r,endIndex:i}=t;e.style.transform=`translateY(${n}px)`,e.innerHTML="";for(let t=r;t<i;t++){const n=o.items[t];if(void 0!==n){const r=qr(n,t,o);e.appendChild(r)}}}function Zr(e){return"boolean"==typeof e?{initial:e}:__spreadValues({initial:!0,disabled:!1,useHidden:!1},e)}const Jr=x({name:"visible",ssr:!0,defaults:{initial:!0,disabled:!1,useHidden:!1},mounted(e,t){var n,o;if(!v())return;const r=Zr(t.value),i=e.style.display,l=e.style.visibility,a={options:r,isVisible:null==(n=r.initial)||n,originalDisplay:i,originalVisibility:l,transitionEndHandler:t=>{"opacity"!==t.propertyName&&"visibility"!==t.propertyName||e.dispatchEvent(new CustomEvent("visible:transition-end",{detail:{isVisible:a.isVisible}}))}};e.__visible=a,ne(e,"transitionend",a.transitionEndHandler),Qr(e,a,null==(o=r.initial)||o)},updated(e,t){var n;const o=e.__visible;if(!o)return;const r=Zr(t.value);let i;i="boolean"==typeof t.value?t.value:null==(n=r.initial)||n,o.isVisible!==i&&Qr(e,o,i),o.options=r},unmounted(e){const t=e.__visible;t&&(oe(e,"transitionend",t.transitionEndHandler),e.style.display=t.originalDisplay,e.style.visibility=t.originalVisibility,delete e.__visible)}});function Qr(e,t,n){const o=t.isVisible;if(t.isVisible=n,n?(e.classList.remove("v-hidden"),e.classList.add("v-visible")):(e.classList.remove("v-visible"),e.classList.add("v-hidden")),t.options.useHidden)if(n)e.style.visibility=t.originalVisibility||"visible";else{if("0s"!==getComputedStyle(e).transitionDuration){const n=o=>{o.target!==e||"opacity"!==o.propertyName&&"transform"!==o.propertyName||(t.isVisible||(e.style.visibility="hidden"),e.removeEventListener("transitionend",n))};e.addEventListener("transitionend",n)}else e.style.visibility="hidden"}else e.style.display=n?t.originalDisplay:"none";e.dispatchEvent(new CustomEvent("visible:change",{detail:{isVisible:n,previousVisibility:o}})),t.options.handler&&o!==n&&t.options.handler(n)}function ei(e){var t;const n=document.createElement("canvas"),o=n.getContext("2d");if(!o)throw new Error("[Directix] v-watermark: Could not get canvas context");const r=e.width||300,i=e.height||200,l=e.fontSize||16,a=e.fontFamily||"sans-serif",s=e.fontWeight||"normal",c=e.color||"rgba(128, 128, 128, 0.15)",u=null!=(t=e.rotate)?t:-22;n.width=r,n.height=i,o.font=`${s} ${l}px ${a}`,o.fillStyle=c,o.textAlign="center",o.textBaseline="middle",o.translate(r/2,i/2),o.rotate(u*Math.PI/180);const d=Array.isArray(e.content)?e.content:[e.content],p=1.5*l,m=-(d.length-1)*p/2;return d.forEach((e,t)=>{o.fillText(e,0,m+t*p)}),n}function ti(e,t){var n;const o=Array.isArray(t.gap)?t.gap:[t.gap||100,t.gap||100],r=null!=(n=t.zIndex)?n:9999,i=document.createElement("div");return i.className="v-watermark",i.style.cssText=`\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tpointer-events: none;\n\t\tz-index: ${r};\n\t\tbackground-image: url("${e.toDataURL()}");\n\t\tbackground-repeat: repeat;\n\t\tbackground-position: ${o[0]/2}px ${o[1]/2}px;\n\t\tbackground-size: ${e.width+o[0]}px ${e.height+o[1]}px;\n\t`,i}function ni(e){var t,n,o,r,i,l,a,s,c,u,d;return"string"==typeof e?{content:e}:{content:e.content,width:null!=(t=e.width)?t:300,height:null!=(n=e.height)?n:200,rotate:null!=(o=e.rotate)?o:-22,fontSize:null!=(r=e.fontSize)?r:16,fontFamily:null!=(i=e.fontFamily)?i:"sans-serif",fontWeight:null!=(l=e.fontWeight)?l:"normal",color:null!=(a=e.color)?a:"rgba(128, 128, 128, 0.15)",gap:null!=(s=e.gap)?s:[100,100],zIndex:null!=(c=e.zIndex)?c:9999,disabled:null!=(u=e.disabled)&&u,protect:null==(d=e.protect)||d}}const oi=x({name:"watermark",ssr:!0,mounted(e,t){const n=ni(t.value);"static"===getComputedStyle(e).position&&(e.style.position="relative");const o={options:n,watermarkEl:null,observer:null,canvas:null};e.__watermark=o,n.disabled||ri(e,o)},updated(e,t){const n=e.__watermark;if(!n)return;const o=ni(t.value);o.disabled&&!n.options.disabled?ii(n):!o.disabled&&n.options.disabled?(n.options=o,ri(e,n)):o.disabled||(n.options=o,ii(n),ri(e,n)),n.options=o},unmounted(e){const t=e.__watermark;t&&(ii(t),delete e.__watermark)}});function ri(e,t){const n=t.options;t.canvas=ei(n),t.watermarkEl=ti(t.canvas,n),e.appendChild(t.watermarkEl),n.protect&&function(e,t){if("undefined"==typeof MutationObserver)return;t.observer=new MutationObserver(n=>{t.watermarkEl&&e.contains(t.watermarkEl)||t.options.disabled||(t.canvas=ei(t.options),t.watermarkEl=ti(t.canvas,t.options),e.appendChild(t.watermarkEl));for(const e of n)if("attributes"===e.type&&e.target===t.watermarkEl){const e=Array.isArray(t.options.gap)?t.options.gap:[t.options.gap||100,t.options.gap||100];t.watermarkEl.style.display="block",t.watermarkEl.style.visibility="visible",t.watermarkEl.style.opacity="1",t.canvas&&(t.watermarkEl.style.backgroundImage=`url("${t.canvas.toDataURL()}")`),t.watermarkEl.style.backgroundSize=`${t.canvas.width+e[0]}px ${t.canvas.height+e[1]}px`}}),t.observer.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style","class","hidden"]})}(e,t)}function ii(e){e.observer&&(e.observer.disconnect(),e.observer=null),e.watermarkEl&&e.watermarkEl.parentNode&&e.watermarkEl.parentNode.removeChild(e.watermarkEl),e.watermarkEl=null,e.canvas=null}const li=["a","an","the","and","but","or","for","nor","on","at","to","from","by","in","of","with","as"];function ai(e){return e?e.charAt(0).toUpperCase()+e.slice(1).toLowerCase():e}function si(e,t={}){if(!e)return e;const{every:n=!0,keepLower:o=li}=t;if(n){return e.toLowerCase().split(/\s+/).map((e,t)=>0===t?ai(e):o.includes(e.toLowerCase())?e.toLowerCase():ai(e)).join(" ")}return ai(e)}function ci(e,t,n,o,r,i){const l=n.getBoundingClientRect(),a=Math.min(l.width,l.height)*i,s=document.createElement("span");return s.className="v-click-wave__effect",s.style.cssText=`\n position: absolute;\n border-radius: 50%;\n pointer-events: none;\n background-color: ${o};\n width: ${a}px;\n height: ${a}px;\n left: ${e-a/2}px;\n top: ${t-a/2}px;\n transform: scale(0);\n opacity: 0.5;\n z-index: 0;\n `,"function"==typeof s.animate?s.animate([{transform:"scale(0)",opacity:.5},{transform:"scale(1)",opacity:0}],{duration:r,easing:"ease-out",fill:"forwards"}).onfinish=()=>{s.remove()}:(s.style.transition=`transform ${r}ms ease-out, opacity ${r}ms ease-out`,String(s.offsetHeight),s.style.transform="scale(1)",s.style.opacity="0",setTimeout(()=>s.remove(),r)),s}function ui(e){return __async(this,null,function*(){if(w())try{return yield navigator.clipboard.writeText(e),!0}catch(e){console.warn("[Directix] Clipboard API failed, falling back to execCommand")}return function(e){if(!v())return!1;const t=document.createElement("textarea");t.value=e,t.style.cssText="\n position: fixed;\n top: -9999px;\n left: -9999px;\n opacity: 0;\n pointer-events: none;\n ",document.body.appendChild(t);try{return t.select(),t.setSelectionRange(0,t.value.length),document.execCommand("copy")}catch(e){return!1}finally{document.body.removeChild(t)}}(e)})}function di(e){return e instanceof Date?e.getTime():"number"==typeof e?e:new Date(e).getTime()}function pi(e){const t=Math.max(0,e);return{days:Math.floor(t/864e5),hours:Math.floor(t%864e5/36e5),minutes:Math.floor(t%36e5/6e4),seconds:Math.floor(t%6e4/1e3),milliseconds:t%1e3,total:t}}function mi(e,t){if("function"==typeof t)return t(e);const n=(e,t=2)=>String(e).padStart(t,"0");return t.replace(/dd/gi,n(e.days)).replace(/hh/gi,n(e.hours)).replace(/mm/gi,n(e.minutes)).replace(/ss/gi,n(e.seconds)).replace(/S{3}/gi,n(e.milliseconds,3)).replace(/SS/gi,n(Math.floor(e.milliseconds/10))).replace(/S/gi,String(Math.floor(e.milliseconds/100)))}const fi={linear:e=>e,easeOut:e=>1-__pow(1-e,3),easeInOut:e=>e<.5?4*e*e*e:1-__pow(-2*e+2,3)/2,easeOutQuart:e=>1-__pow(1-e,4),easeOutExpo:e=>1===e?1:1-__pow(2,-10*e)};function vi(e,t){return t.formatter?t.formatter(e):new Intl.NumberFormat(t.locale||"en-US",{minimumFractionDigits:t.decimals||0,maximumFractionDigits:t.decimals||0,useGrouping:t.useGrouping||!1}).format(e)}function hi(e){if(e.type.startsWith("touch")){const t=e.touches[0]||e.changedTouches[0];return{clientX:t.clientX,clientY:t.clientY}}const t=e;return{clientX:t.clientX,clientY:t.clientY}}function gi(e,t=14,n="sans-serif"){if("undefined"==typeof document)return 8*e.length;const o=document.createElement("canvas").getContext("2d");return o?(o.font=`${t}px ${n}`,o.measureText(e).width):8*e.length}function yi(e,t,n="...",o=14,r="sans-serif"){if(t<=0)return e;if(gi(e,o,r)<=t)return e;const i=t-gi(n,o,r);if(i<=0)return n;let l=0,a=e.length;for(;l<a;){const t=Math.floor((l+a+1)/2);gi(e.slice(0,t),o,r)<=i?l=t:a=t-1}return e.slice(0,l)+n}const bi=/[\p{Emoji_Presentation}\p{Extended_Pictographic}]/gu;const wi=new Set(["input","textarea","select","button"]);function _i(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const xi={esc:"Escape",space:" ",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",enter:"Enter",tab:"Tab",backspace:"Backspace",delete:"Delete",insert:"Insert",home:"Home",end:"End",pageup:"PageUp",pagedown:"PageDown",plus:"+",minus:"-"},Ei=new Set(["ctrl","alt","shift","meta"]);function Li(e){const t=e.toLowerCase().split("+").map(e=>e.trim()),n=new Set;let o="";for(const e of t)Ei.has(e)?n.add(e):o=xi[e]||e;return{key:o,modifiers:n}}function ki(e,t){if(t.modifiers.has("ctrl")!==(e.ctrlKey||e.metaKey))return!1;if(t.modifiers.has("alt")!==e.altKey)return!1;if(t.modifiers.has("shift")!==e.shiftKey)return!1;if(t.modifiers.has("meta")!==e.metaKey)return!1;const n=e.key,o=t.key;return n.toLowerCase()===o.toLowerCase()}let Si=null;function Ti(e,t){"IMG"===e.tagName?e.src=t:e.style.backgroundImage=`url("${t}")`}function Ci(e,t=!1){return e?t?e.charAt(0).toLowerCase()+e.slice(1):e.toLowerCase():e}const Di={"#":/\d/,A:/[A-Za-z]/,N:/[A-Za-z0-9]/,X:/./};function Mi(e,t={}){const{precision:n=2,separator:o=",",decimal:r=".",symbol:i="$",symbolPosition:l="before"}=t,a=e.toFixed(n),[s,c]=a.split(".");let u=s.replace(/\B(?=(\d{3})+(?!\d))/g,o);return n>0&&c&&(u+=r+c),"before"===l?i+u:u+i}function Pi(e,t={}){const{decimal:n=".",symbol:o="$"}=t;let r=e.replace(new RegExp(`[${o}\\s]`,"g"),"");return"."!==n?(r=r.replace(/,/g,""),r=r.replace(new RegExp(`\\${n}`,"g"),".")):r=r.replace(/,/g,""),parseFloat(r)||0}function $i(e,t={}){const{precision:n=0,separator:o=",",decimal:r=".",prefix:i="",suffix:l=""}=t,a=e.toFixed(n),[s,c]=a.split(".");let u=s.replace(/\B(?=(\d{3})+(?!\d))/g,o);return n>0&&c&&(u+=r+c),i+u+l}function Ii(e,t={}){const{decimal:n=".",prefix:o="",suffix:r=""}=t;let i=e.replace(new RegExp(`^${Hi(o)}`),"").replace(new RegExp(`${Hi(r)}$`),"").replace(/\s/g,"");return"."!==n?(i=i.replace(/,/g,""),i=i.replace(new RegExp(`\\${n}`,"g"),".")):i=i.replace(/,/g,""),parseFloat(i)||0}function Hi(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ai(e,t){return Math.abs(e)>Math.abs(t)?e>0?"right":"left":t>0?"down":"up"}function Oi(e){return"touches"in e&&e.touches.length>0?{x:e.touches[0].clientX,y:e.touches[0].clientY}:{x:e.clientX,y:e.clientY}}function zi(e,t){return t.includes("*")||t.includes(e)}function Fi(e){if(e.length<2)return 0;const t=e[0].clientX-e[1].clientX,n=e[0].clientY-e[1].clientY;return Math.sqrt(t*t+n*n)}function Ri(e){const t=e.querySelectorAll("img"),n=[];return t.forEach(e=>{e.complete||n.push(new Promise(t=>{e.onload=()=>t(),e.onerror=()=>t()}))}),Promise.all(n)}function Yi(e,t){let n="";"undefined"!=typeof document&&document.querySelectorAll('style, link[rel="stylesheet"]').forEach(e=>{if("STYLE"===e.tagName)n+=`<style>${e.textContent}</style>`;else if("LINK"===e.tagName){const t=e.href;n+=`<link rel="stylesheet" href="${t}">`}}),t.cssUrls.forEach(e=>{n+=`<link rel="stylesheet" href="${e}">`}),t.styles&&(n+=`<style>${t.styles}</style>`),n+=`\n\t\t<style>\n\t\t\t@media print {\n\t\t\t\tbody { margin: 0; padding: 20px; }\n\t\t\t\t${t.printClass?`.${t.printClass} { page-break-inside: avoid; }`:""}\n\t\t\t}\n\t\t</style>\n\t`;const o=t.title||("undefined"!=typeof document?document.title:"Print"),r=e.outerHTML;return`<!DOCTYPE html>\n<html>\n<head>\n\t<meta charset="utf-8">\n\t<title>${o}</title>\n\t${n}\n</head>\n<body>\n\t${r}\n</body>\n</html>`}function Vi(e={}){const{title:n,styles:o,cssUrls:r=[],onBeforePrint:i,onAfterPrint:l,newWindow:a=!1,printClass:s}=e,c=t.ref(!1);function u(e){return __async(this,null,function*(){if(i){if(!1===i())return}c.value=!0;try{let i=null;if(i="string"==typeof e?document.querySelector(e):e instanceof HTMLElement?e:document.body,!i)return void console.warn("[Directix] usePrint: Target element not found");const c={title:t.unref(n)||"",styles:Array.isArray(t.unref(o))?t.unref(o).join("\n"):t.unref(o)||"",cssUrls:t.unref(r)||[],printClass:t.unref(s)};t.unref(a)?yield function(e,t){return __async(this,null,function*(){const n=window.open("","_blank");if(!n)return void console.warn("[Directix] usePrint: Could not open print window");const o=Yi(e,t);n.document.open(),n.document.write(o),n.document.close(),yield Ri(n.document),n.focus(),n.print(),setTimeout(()=>{n.close()},1e3)})}(i,c):yield function(e,t){return __async(this,null,function*(){var n,o,r;const i=document.createElement("iframe");i.style.cssText="position: absolute; top: -10000px; left: -10000px; width: 0; height: 0; border: none;",document.body.appendChild(i);const l=i.contentDocument||(null==(n=i.contentWindow)?void 0:n.document);if(!l)return console.warn("[Directix] usePrint: Could not access iframe document"),void document.body.removeChild(i);const a=Yi(e,t);l.open(),l.write(a),l.close(),yield Ri(l);try{null==(o=i.contentWindow)||o.focus(),null==(r=i.contentWindow)||r.print()}catch(e){console.error("[Directix] usePrint: Print failed",e)}setTimeout(()=>{document.body.removeChild(i)},1e3)})}(i,c),l&&l()}finally{c.value=!1}})}return t.onUnmounted(()=>{}),{isPrinting:c,print:u,printPage:function(){return __async(this,null,function*(){yield u()})}}}function Ni(e){return new Promise(t=>setTimeout(t,e))}function Ui(e,t,n,o,r,i,l){const a=n.getBoundingClientRect(),s=2*Math.max(a.width,a.height),c=document.createElement("span");return c.className="v-ripple__wave",c.style.cssText=`\n position: absolute;\n border-radius: 50%;\n pointer-events: none;\n background-color: ${o};\n width: ${s}px;\n height: ${s}px;\n left: ${e-s/2}px;\n top: ${t-s/2}px;\n transform: scale(${i});\n opacity: 0.3;\n z-index: 0;\n `,"function"==typeof c.animate?c.animate([{transform:`scale(${i})`,opacity:.3},{transform:`scale(${l})`,opacity:0}],{duration:r,easing:"ease-out",fill:"forwards"}).onfinish=()=>{c.remove()}:(c.style.transition=`transform ${r}ms ease-out, opacity ${r}ms ease-out`,String(c.offsetHeight),c.style.transform=`scale(${l})`,c.style.opacity="0",setTimeout(()=>c.remove(),r)),c}function Xi(e){if(e.length<2)return 0;const t=e[1].clientX-e[0].clientX,n=e[1].clientY-e[0].clientY;return Math.atan2(n,t)*(180/Math.PI)}const Bi=["b","i","u","strong","em","br","p","span","div"],ji=["title","alt","href","src"],Wi=["script","iframe","object","embed","form","input","style","link","meta","base"],qi=["onclick","onerror","onload","onmouseover","onfocus","onblur","onchange","onsubmit"];function Ki(e,t,n){let o=0,r=0,i=0,l=0;if(e===window)o=window.scrollX||document.documentElement.scrollLeft,r=window.scrollY||document.documentElement.scrollTop,i=document.documentElement.scrollWidth-window.innerWidth,l=document.documentElement.scrollHeight-window.innerHeight;else{const t=e;o=t.scrollLeft,r=t.scrollTop,i=t.scrollWidth-t.clientWidth,l=t.scrollHeight-t.clientHeight}return{scrollLeft:o,scrollTop:r,scrollLeftMax:i,scrollTopMax:l,progressX:i>0?o/i:0,progressY:l>0?r/l:0,directionX:o!==t?o>t?1:-1:0,directionY:r!==n?r>n?1:-1:0}}const Gi=["left","right","up","down"];function Zi(e,t="both",n){if(!e)return"";const o=n?`[\\s${r=n,r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}]`:"\\s";var r;switch(t){case"start":return e.replace(new RegExp(`^${o}+`,"g"),"");case"end":return e.replace(new RegExp(`${o}+$`,"g"),"");default:return e.replace(new RegExp(`^${o}+|${o}+$`,"g"),"")}}function Ji(e,t=!1){return e?t?e.charAt(0).toUpperCase()+e.slice(1):e.toUpperCase():e}function Qi(e){const t=document.createElement("canvas"),n=t.getContext("2d");if(!n)throw new Error("[Directix] useWatermark: Could not get canvas context");const{content:o,width:r,height:i,fontSize:l,fontFamily:a,fontWeight:s,color:c,rotate:u}=e;t.width=r,t.height=i,n.font=`${s} ${l}px ${a}`,n.fillStyle=c,n.textAlign="center",n.textBaseline="middle",n.translate(r/2,i/2),n.rotate(u*Math.PI/180);const d=Array.isArray(o)?o:[o],p=1.5*l,m=-(d.length-1)*p/2;return d.forEach((e,t)=>{n.fillText(e,0,m+t*p)}),t}class el{constructor(e){__publicField(this,"registryUrl"),__publicField(this,"cache",null),__publicField(this,"cacheTime",0),__publicField(this,"cacheTTL",18e5),this.registryUrl=e||"https://directix.dev/plugins.json"}fetchData(){return __async(this,null,function*(){if(this.cache&&Date.now()-this.cacheTime<this.cacheTTL)return this.cache;try{const e=yield fetch(this.registryUrl);if(!e.ok)throw new Error(`Failed to fetch registry: ${e.status}`);const t=yield e.json();return this.cache=t,this.cacheTime=Date.now(),t}catch(e){return console.warn("[Directix] Failed to fetch plugin registry, using empty cache"),{version:1,updated:(new Date).toISOString().split("T")[0],plugins:[]}}})}setData(e){this.cache=e,this.cacheTime=Date.now()}getAll(){return __async(this,null,function*(){return(yield this.fetchData()).plugins})}getByName(e){return __async(this,null,function*(){return(yield this.getAll()).find(t=>t.name===e||t.package===e)})}search(e){return __async(this,null,function*(){const t=yield this.getAll(),n=e.toLowerCase();return t.filter(e=>e.name.toLowerCase().includes(n)||e.description.toLowerCase().includes(n)||e.keywords.some(e=>e.toLowerCase().includes(n))||e.author.toLowerCase().includes(n))})}getByCategory(e){return __async(this,null,function*(){return(yield this.getAll()).filter(t=>t.category===e)})}getMeta(){return __async(this,null,function*(){const e=yield this.fetchData();return{version:e.version,updated:e.updated,count:e.plugins.length}})}install(e,t){return __async(this,null,function*(){const n=yield this.getByName(e);if(!n)throw new Error(`[Directix] Plugin "${e}" not found in registry`);try{const e=yield import(n.package),o=e.default||e;if("function"!=typeof o.install)throw new TypeError(`[Directix] Invalid plugin format: ${n.package}`);yield t.register(o)}catch(t){throw new Error(`[Directix] Failed to install plugin "${e}". Please install the package "${n.package}" first: npm install ${n.package}`)}})}}let tl=null;function nl(e){return tl||(tl=new el(e)),tl}class ol{constructor(e={}){__publicField(this,"plugins",new Map),__publicField(this,"hooks",new Map),__publicField(this,"directives",new Map),__publicField(this,"composables",new Map),__publicField(this,"extensions",new Map),__publicField(this,"app",null),__publicField(this,"config"),this.config=__spreadValues({debug:!1,autoLoadOfficial:!1},e)}getRegistry(){return nl(this.config.registryUrl)}setApp(e){this.app=e}register(e){return __async(this,null,function*(){var t;if(this.plugins.has(e.meta.name))return void console.warn(`[Directix] Plugin "${e.meta.name}" is already registered`);if(null==(t=e.dependencies)?void 0:t.length)for(const t of e.dependencies)if(!this.plugins.has(t))throw new Error(`[Directix] Plugin "${e.meta.name}" requires "${t}" to be installed first`);const n=this.createContext(e);yield this.fireHooks("beforeInstall",e,n),yield e.install(n),this.plugins.set(e.meta.name,e),yield this.fireHooks("afterInstall",e,n),this.config.debug&&console.info(`[Directix] Plugin "${e.meta.name}" v${e.meta.version} installed`)})}unregister(e){return __async(this,null,function*(){const t=this.plugins.get(e);if(!t)return void console.warn(`[Directix] Plugin "${e}" is not registered`);const n=this.createContext(t);yield this.fireHooks("beforeUninstall",t,n),t.uninstall&&(yield t.uninstall(n)),this.plugins.delete(e),yield this.fireHooks("afterUninstall",t,n),this.config.debug&&console.info(`[Directix] Plugin "${e}" uninstalled`)})}has(e){return this.plugins.has(e)}get(e){return this.plugins.get(e)}getAll(){return Array.from(this.plugins.values())}onHook(e,t){this.hooks.has(e)||this.hooks.set(e,[]),this.hooks.get(e).push(t)}offHook(e,t){const n=this.hooks.get(e);if(n){const e=n.indexOf(t);e>-1&&n.splice(e,1)}}extendDirective(e){const{target:t}=e;this.extensions.has(t)||this.extensions.set(t,[]),this.extensions.get(t).push(e)}getExtensions(e){return this.extensions.get(e)||[]}getDirective(e){return this.directives.get(e)}getComposable(e){return this.composables.get(e)}createContext(e){return{app:this.app,registerDirective:(e,t)=>{this.directives.set(e,t),this.app&&this.app.directive(e,t)},registerComposable:(e,t)=>{this.composables.set(e,t)},getDirective:e=>this.directives.get(e),warn:t=>console.warn(`[Directix:${e.meta.name}] ${t}`),error:t=>console.error(`[Directix:${e.meta.name}] ${t}`),meta:e.meta}}fireHooks(e,t,n){return __async(this,null,function*(){const o=this.hooks.get(e)||[];for(const e of o)yield e(t,n)})}}let rl=null;function il(e){Array.from(e.attributes).filter(e=>e.name.startsWith("aria-")||"role"===e.name).forEach(t=>e.removeAttribute(t.name))}let ll=null,al=null;const sl=["ArrowDown","ArrowRight"],cl=["ArrowUp","ArrowLeft"],ul=["Enter"," "],dl=["Escape"],pl=["Home"],ml=["End"];const fl={tap:10,longPress:500,swipe:30,pinch:.1,rotate:5,doubleTap:300,swipeVelocity:.3};function vl(e="light"){if(!v())return;const t=navigator;if(t.vibrate){const n={light:10,medium:20,heavy:30,selection:[10,50,10]};t.vibrate(n[e])}}const hl=["b","i","u","strong","em","br","p","span","div","h1","h2","h3","h4","h5","h6","ul","ol","li","blockquote","pre","code","a","img","table","thead","tbody","tr","td","th"],gl={"*":["title","alt","class","id"],a:["href","target","rel","title"],img:["src","alt","title","width","height"]},yl=["http","https","mailto","tel"],bl=["script","iframe","object","embed","applet","form","input","button","select","textarea","style","link","meta","base","frame","frameset","svg","math","template"],wl=["onclick","onerror","onload","onmouseover","onmouseout","onmousedown","onmouseup","onmousemove","onfocus","onblur","onchange","onsubmit","onreset","onkeydown","onkeyup","onkeypress","oninput","onscroll","onresize","onunload","onbeforeunload","onabort","oncanplay","oncanplaythrough","ondurationchange","onemptied","onended","onloadeddata","onloadedmetadata","onloadstart","onpause","onplay","onplaying","onprogress","onratechange","onseeked","onseeking","onstalled","onsuspend","ontimeupdate","onvolumechange","onwaiting","onafterprint","onbeforeprint","oncontextmenu","oncopy","oncut","onpaste","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","formaction","action","method","enctype"],_l=[/^javascript:/i,/^data:/i,/^vbscript:/i,/^file:/i];function xl(e,t=yl){if(!e)return!0;const n=e.trim();for(const e of _l)if(e.test(n))return!1;const o=n.match(/^([a-zA-Z][a-zA-Z0-9+.-]*):/);return!o||t.includes(o[1].toLowerCase())}function El(e,t=yl){if(!e)return"";const n=e.trim();return xl(n,t)?n:""}function Ll(e,t={}){var n;if(!e)return"";if(!v())return e;const{allowedTags:o=hl,allowedAttributes:r=gl,allowedProtocols:i=yl,allowDataUrls:l=!1,allowInlineStyles:a=!1,allowClass:s=!0,allowId:c=!1,detectDangerousPatterns:u=!0,customFilters:d=[]}=t;let p=e;for(const e of d)p=e(p);if(u){const e=[/<script[\s\S]*?>[\s\S]*?<\/script>/gi,/javascript:/gi,/on\w+\s*=/gi,/data:\s*text\/html/gi,/vbscript:/gi,/expression\s*\(/gi,/url\s*\(\s*["']?javascript:/gi];for(const t of e)t.test(p)&&(p=p.replace(t,""))}const m=document.createElement("div");m.innerHTML=p;for(const e of bl){const t=m.getElementsByTagName(e);for(;t.length>0;)null==(n=t[0].parentNode)||n.removeChild(t[0])}function f(e){var t;const n=e.tagName.toLowerCase();if(!o.includes(n)){const n=document.createTextNode(e.textContent||"");return void(null==(t=e.parentNode)||t.replaceChild(n,e))}for(const t of wl)e.removeAttribute(t);const u=Array.from(e.attributes);for(const t of u){const o=t.name.toLowerCase();if(o.startsWith("on")){e.removeAttribute(t.name);continue}let u=!1;if(Array.isArray(r))u=r.includes(o);else{const e=r["*"]||[],t=r[n]||[];u=e.includes(o)||t.includes(o)}if("class"!==o||s)if("id"!==o||c)if("style"!==o||a){if("href"===o||"src"===o){if(!xl(t.value,l?[...i,"data"]:i)){e.removeAttribute(t.name);continue}}u||"class"===o||"id"===o||"style"===o||e.removeAttribute(t.name)}else e.removeAttribute(t.name);else e.removeAttribute(t.name);else e.removeAttribute(t.name)}for(const t of Array.from(e.children))f(t)}for(const e of Array.from(m.children))f(e);return m.innerHTML}function kl(){if(!v())return null;const e=document.querySelector('meta[http-equiv="Content-Security-Policy"]');if(e){const t=e.content.match(/nonce-([a-zA-Z0-9+/=]+)/);if(t)return t[1]}const t=document.querySelectorAll("script[nonce]");return t.length>0&&t[0].nonce||null}const Sl={scanHtml(e){const t=[];/<script[\s\S]*?>[\s\S]*?<\/script>/gi.test(e)&&t.push({type:"script-injection",severity:"critical",description:"HTML contains script tags which could lead to XSS attacks",remediation:"Remove script tags or use a sanitization library"});const n=e.match(/on\w+\s*=/gi);return n&&t.push({type:"event-handler",severity:"high",description:`Found ${n.length} event handler(s) which could be exploited`,remediation:"Remove inline event handlers and use addEventListener instead"}),/javascript:/gi.test(e)&&t.push({type:"javascript-url",severity:"high",description:"HTML contains javascript: URLs which could lead to XSS attacks",remediation:"Remove javascript: URLs or validate/sanitize them"}),/data:\s*text\/html/gi.test(e)&&t.push({type:"data-url",severity:"high",description:"HTML contains data:text/html URLs which could execute scripts",remediation:"Remove or sanitize data: URLs"}),/<iframe[\s\S]*?srcdoc=/gi.test(e)&&t.push({type:"iframe-srcdoc",severity:"high",description:"HTML contains iframe with srcdoc attribute",remediation:"Avoid using srcdoc or sanitize its content"}),/<form[\s\S]*?action\s*=/gi.test(e)&&t.push({type:"form-action",severity:"medium",description:"HTML contains form with action attribute",remediation:"Validate form actions or use CSRF protection"}),t},checkCSP(){var e,t;const n={policies:{},warnings:[],recommendations:[]};if(!v())return n.warnings.push("CSP check requires browser environment"),n;const o=document.querySelector('meta[http-equiv="Content-Security-Policy"]');if(o){const r=o.content.split(";").map(e=>e.trim());for(const e of r){const[t,...o]=e.split(/\s+/);t&&(n.policies[t.toLowerCase()]=o)}(null==(e=n.policies["script-src"])?void 0:e.includes("'unsafe-inline'"))&&n.warnings.push("CSP allows unsafe-inline scripts - this reduces XSS protection"),(null==(t=n.policies["script-src"])?void 0:t.includes("'unsafe-eval'"))&&n.warnings.push("CSP allows unsafe-eval - this reduces XSS protection");const i=["default-src","script-src","style-src","img-src","connect-src"];for(const e of i)n.policies[e]||n.recommendations.push(`Consider adding ${e} directive to CSP`)}else n.warnings.push("No CSP meta tag found - consider adding Content Security Policy"),n.recommendations.push("Add a Content-Security-Policy meta tag or header");return n},checkDependencies(){return __async(this,null,function*(){var e,t,n,o,r;const i=[];if("undefined"==typeof process||!(null==(e=process.versions)?void 0:e.node))return console.warn("[Directix] checkDependencies() is only available in Node.js environment"),i;try{const{execSync:e}=yield import("node:child_process");try{const o=e("npm audit --json",{encoding:"utf-8",timeout:3e4}),r=JSON.parse(o);if(r.vulnerabilities)for(const[e,o]of Object.entries(r.vulnerabilities))if(o.via&&Array.isArray(o.via))for(const r of o.via)"object"==typeof r&&r.title&&i.push({name:e,id:null==(n=null==(t=r.url)?void 0:t.match(/(CVE-\d+-\d+|GHSA-[a-zA-Z0-9-]+)/))?void 0:n[0],version:o.version||"unknown",severity:r.severity||o.severity||"medium",title:r.title,url:r.url,patchedVersions:o.fixAvailable?"Available":void 0})}catch(e){if(e.stdout)try{const t=JSON.parse(e.stdout);if(t.vulnerabilities)for(const[e,n]of Object.entries(t.vulnerabilities))if(n.via&&Array.isArray(n.via))for(const t of n.via)"object"==typeof t&&t.title&&i.push({name:e,id:null==(r=null==(o=t.url)?void 0:o.match(/(CVE-\d+-\d+|GHSA-[a-zA-Z0-9-]+)/))?void 0:r[0],version:n.version||"unknown",severity:t.severity||n.severity||"medium",title:t.title,url:t.url,patchedVersions:n.fixAvailable?"Available":void 0})}catch(e){}}}catch(e){console.warn("[Directix] Failed to check dependencies:",e)}return i})},generateReport(e){const t={vulnerabilities:[],warnings:[],recommendations:[],timestamp:new Date};e&&(t.vulnerabilities=this.scanHtml(e));const n=this.checkCSP();for(const e of n.warnings)t.warnings.push({type:"csp-warning",severity:"medium",description:e});return t.recommendations.push(...n.recommendations),t},formatReport(e,t="text"){if("json"===t)return JSON.stringify(e,null,2);if("html"===t){let t='<div class="security-report">';if(t+="<h2>Security Report</h2>",t+=`<p>Generated: ${e.timestamp.toISOString()}</p>`,e.vulnerabilities.length>0){t+="<h3>Vulnerabilities</h3><ul>";for(const n of e.vulnerabilities)t+=`<li class="severity-${n.severity}"><strong>${n.type}</strong>: ${n.description}</li>`;t+="</ul>"}if(e.warnings.length>0){t+="<h3>Warnings</h3><ul>";for(const n of e.warnings)t+=`<li class="severity-${n.severity}"><strong>${n.type}</strong>: ${n.description}</li>`;t+="</ul>"}if(e.recommendations.length>0){t+="<h3>Recommendations</h3><ul>";for(const n of e.recommendations)t+=`<li>${n}</li>`;t+="</ul>"}return t+="</div>",t}let n="Security Report\n";if(n+=`Generated: ${e.timestamp.toISOString()}\n\n`,e.vulnerabilities.length>0){n+="Vulnerabilities:\n";for(const t of e.vulnerabilities)n+=` [${t.severity.toUpperCase()}] ${t.type}: ${t.description}\n`;n+="\n"}if(e.warnings.length>0){n+="Warnings:\n";for(const t of e.warnings)n+=` [${t.severity.toUpperCase()}] ${t.type}: ${t.description}\n`;n+="\n"}if(e.recommendations.length>0){n+="Recommendations:\n";for(const t of e.recommendations)n+=` - ${t}\n`}return n}};class Tl{constructor(e={}){__publicField(this,"config"),this.config=e}setHtml(e,t){e.innerHTML=Ll(t,this.config)}setText(e,t){e.textContent=t}setAttribute(e,t,n){t.toLowerCase().startsWith("on")||("href"!==t.toLowerCase()&&"src"!==t.toLowerCase()||(n=El(n,this.config.allowedProtocols)),e.setAttribute(t,n))}getSanitizedHtml(e){return Ll(e,this.config)}}function Cl(e){if("undefined"==typeof document)return null;let t=document.querySelector(e);return t||(t=document.createElement("div"),t.id=e.replace("#",""),document.body.appendChild(t)),t}const Dl={directives:{debounce:{description:"防抖指令,延迟执行事件处理函数",params:{wait:"延迟时间(毫秒)",leading:"是否在延迟开始前调用",trailing:"是否在延迟结束后调用"},errors:{invalid_wait:"wait 参数无效,必须为正数",invalid_handler:"handler 必须是一个函数"}},throttle:{description:"节流指令,限制事件触发频率",params:{interval:"执行间隔(毫秒)",leading:"是否在间隔开始时调用",trailing:"是否在间隔结束时调用"},errors:{invalid_interval:"interval 参数无效,必须为正数",invalid_handler:"handler 必须是一个函数"}},copy:{description:"复制指令,点击复制文本到剪贴板",params:{value:"要复制的文本",onSuccess:"复制成功回调",onError:"复制失败回调"},errors:{empty_value:"没有要复制的文本",clipboard_failed:"剪贴板 API 失败,回退到 execCommand"}},lazy:{description:"懒加载指令,延迟加载图片或组件",params:{src:"图片源地址",threshold:"触发阈值",rootMargin:"根元素边距"},errors:{invalid_src:"src 参数无效",observer_failed:"IntersectionObserver 创建失败"}},permission:{description:"权限指令,根据权限控制元素显示",params:{value:"权限值或权限数组",mode:"权限模式:any 或 all"},errors:{empty_permission:"权限值不能为空",invalid_mode:"mode 必须是 any 或 all"}},mask:{description:"输入掩码指令,格式化输入内容",params:{pattern:"掩码模式",placeholder:"占位符",allowIncomplete:"是否允许不完整输入"},errors:{invalid_pattern:"pattern 参数无效"}},hotkey:{description:"热键指令,绑定键盘快捷键",params:{key:"快捷键组合",handler:"处理函数",prevent:"是否阻止默认行为"},errors:{invalid_key:"快捷键格式无效",conflict:"快捷键冲突:{key}"}},clickoutside:{description:"点击外部指令,检测元素外部点击",params:{handler:"点击外部时的处理函数",exclude:"排除的元素列表"},errors:{invalid_handler:"handler 必须是一个函数"}},longpress:{description:"长按指令,检测长按手势",params:{duration:"长按时长(毫秒)",handler:"长按触发函数"},errors:{invalid_duration:"duration 必须为正数"}},draggable:{description:"拖拽指令,使元素可拖拽",params:{axis:"拖拽轴:x、y 或空",bounds:"拖拽边界",handle:"拖拽手柄选择器"},errors:{invalid_bounds:"bounds 参数无效"}},intersect:{description:"交叉观察指令,检测元素可见性",params:{threshold:"可见阈值",rootMargin:"根元素边距",once:"是否只触发一次"},errors:{observer_failed:"IntersectionObserver 创建失败"}},loading:{description:"加载指令,显示加载状态",params:{value:"是否加载中",text:"加载提示文字",spinner:"加载图标"}},skeleton:{description:"骨架屏指令,显示内容占位符",params:{value:"是否显示骨架屏",variant:"骨架屏变体",animation:"动画类型"}},virtualList:{description:"虚拟列表指令,优化大数据渲染",params:{itemSize:"项目高度",buffer:"缓冲区大小",estimatedSize:"预估高度"},errors:{invalid_itemSize:"itemSize 必须为正数"}},infiniteScroll:{description:"无限滚动指令,实现滚动加载更多",params:{handler:"加载更多的处理函数",distance:"触发距离",disabled:"是否禁用"},errors:{invalid_handler:"handler 必须是一个函数"}},watermark:{description:"水印指令,为元素添加水印",params:{content:"水印内容",fontSize:"字体大小",color:"水印颜色",opacity:"透明度"},errors:{empty_content:"水印内容不能为空"}},contextmenu:{description:"右键菜单指令,自定义右键菜单",params:{items:"菜单项列表",handler:"菜单项点击处理"},errors:{empty_items:"菜单项列表不能为空"}},fullscreen:{description:"全屏指令,使元素全屏显示",params:{value:"是否全屏",onEnter:"进入全屏回调",onExit:"退出全屏回调"},errors:{not_supported:"当前浏览器不支持全屏 API"}},imagePreview:{description:"图片预览指令,点击预览大图",params:{src:"图片源地址",list:"图片列表",initialIndex:"初始索引"},errors:{invalid_src:"src 参数无效"}},tooltip:{description:"提示指令,显示悬浮提示",params:{content:"提示内容",placement:"显示位置",trigger:"触发方式"},errors:{empty_content:"提示内容不能为空"}},lottie:{description:"Lottie 动画指令,播放 Lottie 动画",params:{path:"动画文件路径",animationData:"动画数据",loop:"是否循环",autoplay:"是否自动播放"},errors:{invalid_source:"必须提供 path 或 animationData",load_failed:"Lottie 动画加载失败"}},swipe:{description:"滑动手势指令,检测滑动方向",params:{threshold:"滑动阈值",velocity:"速度阈值",onSwipe:"滑动回调"},errors:{invalid_threshold:"threshold 必须为正数"}},touch:{description:"触摸手势指令,统一处理触摸事件",params:{onStart:"触摸开始回调",onMove:"触摸移动回调",onEnd:"触摸结束回调"}},pan:{description:"平移手势指令,检测平移操作",params:{threshold:"触发阈值",direction:"平移方向:all、horizontal、vertical"}},pinch:{description:"捏合手势指令,检测缩放操作",params:{threshold:"缩放阈值",onPinch:"缩放回调"}},rotateGesture:{description:"旋转手势指令,检测旋转操作",params:{threshold:"旋转角度阈值",onRotate:"旋转回调"}},parallax:{description:"视差滚动指令,创建视差效果",params:{speed:"视差速度",direction:"视差方向"}},typewriter:{description:"打字机指令,实现打字机效果",params:{text:"要显示的文本",speed:"打字速度",delay:"延迟开始"},errors:{empty_text:"文本内容不能为空"}},countdown:{description:"倒计时指令,显示倒计时",params:{time:"倒计时时间(毫秒)",format:"时间格式",onFinish:"完成回调"},errors:{invalid_time:"time 必须为正数"}},counter:{description:"计数器指令,数字动画",params:{from:"起始值",to:"结束值",duration:"动画时长",decimals:"小数位数"},errors:{invalid_range:"from 和 to 必须为数字"}},progress:{description:"进度条指令,显示进度",params:{value:"进度值(0-100)",showText:"是否显示文字",strokeWidth:"线条宽度"},errors:{invalid_value:"value 必须在 0-100 之间"}},emoji:{description:"表情选择指令,表情选择器",params:{onSelect:"选择回调",exclude:"排除的表情类别"}},money:{description:"金额输入指令,格式化金额",params:{currency:"货币符号",precision:"小数位数",thousands:"千位分隔符"}},number:{description:"数字输入指令,限制数字输入",params:{min:"最小值",max:"最大值",precision:"小数位数"},errors:{invalid_range:"min 必须小于 max"}},truncate:{description:"截断指令,截断文本",params:{length:"最大长度",omission:"省略符号"},errors:{invalid_length:"length 必须为正整数"}},ellipsis:{description:"省略号指令,CSS 省略显示",params:{lines:"最大行数"}},highlight:{description:"高亮指令,高亮文本内容",params:{keyword:"高亮关键词",color:"高亮颜色",className:"CSS 类名"},errors:{empty_keyword:"关键词不能为空"}},sanitize:{description:"净化指令,净化 HTML 内容",params:{allowedTags:"允许的标签",allowedAttrs:"允许的属性"}},focus:{description:"聚焦指令,自动聚焦元素",params:{value:"是否聚焦",preventScroll:"是否阻止滚动"}},visible:{description:"可见性指令,控制元素显示",params:{value:"是否可见"}},blur:{description:"模糊指令,模糊元素内容",params:{value:"模糊程度",transition:"过渡效果"}},hover:{description:"悬停指令,检测鼠标悬停",params:{onEnter:"进入回调",onLeave:"离开回调"}},fade:{description:"淡入淡出指令,淡入淡出效果",params:{duration:"动画时长",delay:"延迟时间"}},clickWave:{description:"点击波纹指令,点击波纹效果",params:{color:"波纹颜色",duration:"动画时长"}},clickDelay:{description:"点击延迟指令,防止快速点击",params:{delay:"延迟时间"},errors:{invalid_delay:"delay 必须为正数"}},scroll:{description:"滚动指令,滚动行为控制",params:{behavior:"滚动行为",smooth:"是否平滑滚动"}},sticky:{description:"粘性定位指令,粘性定位效果",params:{offsetTop:"顶部偏移",offsetBottom:"底部偏移"}},print:{description:"打印指令,打印元素内容",params:{title:"打印标题",onBefore:"打印前回调",onAfter:"打印后回调"}},export_:{description:"导出指令,导出元素内容",params:{type:"导出类型:image、pdf",filename:"文件名",quality:"质量"},errors:{unsupported_type:"不支持的导出类型"}},pullRefresh:{description:"下拉刷新指令,下拉刷新功能",params:{onRefresh:"刷新回调",distance:"触发距离"},errors:{invalid_handler:"onRefresh 必须是一个函数"}},resize:{description:"调整大小指令,监听元素尺寸变化",params:{handler:"尺寸变化回调",debounce:"防抖时间"},errors:{observer_failed:"ResizeObserver 创建失败"}},mutation:{description:"变化观察指令,监听 DOM 变化",params:{handler:"变化回调",options:"观察选项"},errors:{observer_failed:"MutationObserver 创建失败"}},ripple:{description:"涟漪指令,Material Design 涟漪效果",params:{color:"涟漪颜色",duration:"动画时长"}},uppercase:{description:"大写指令,转换为大写"},lowercase:{description:"小写指令,转换为小写"},capitalcase:{description:"首字母大写指令,首字母大写"},trim:{description:"去空格指令,去除首尾空格"}},errors:{invalid_param:"参数 {param} 无效",missing_required:"缺少必需参数 {param}",type_error:"参数 {param} 类型错误,期望 {expected},实际 {actual}",value_out_of_range:"参数 {param} 值超出范围,应在 {min} 到 {max} 之间",not_supported:"{feature} 在当前环境不受支持",ssr_not_supported:"指令 {directive} 不支持 SSR"},warnings:{deprecated:"{feature} 已弃用,请使用 {alternative}",experimental:"{feature} 是实验性功能,可能在未来版本中更改",performance:"{feature} 可能影响性能,建议谨慎使用",fallback:"{feature} 失败,回退到 {alternative}"},help:{installation:"使用 npm install directix 安装",usage:"在 Vue 应用中注册 Directix 插件",contribution:"请参阅 CONTRIBUTING.md 了解如何贡献"}};let Ml="zh-CN",Pl=Dl;function $l(e,t){const n=e.split(".");let o=Pl;for(const t of n){if(!o||"object"!=typeof o||!(t in o))return e;o=o[t]}return"string"!=typeof o?e:t?o.replace(/\{(\w+)\}/g,(e,n)=>void 0!==t[n]?String(t[n]):`{${n}}`):o}const Il={CN:{date:{datePattern:"YYYY-MM-DD",timePattern:"HH:mm:ss",hourCycle:"h23",firstDayOfWeek:1,dateSeparator:"-",timeSeparator:":"},number:{decimalSeparator:".",thousandsSeparator:",",currencySymbol:"¥",currencyPosition:"before",currencyDecimals:2}},US:{date:{datePattern:"MM/DD/YYYY",timePattern:"hh:mm:ss a",hourCycle:"h12",firstDayOfWeek:0,dateSeparator:"/",timeSeparator:":"},number:{decimalSeparator:".",thousandsSeparator:",",currencySymbol:"$",currencyPosition:"before",currencyDecimals:2}},JP:{date:{datePattern:"YYYY/MM/DD",timePattern:"HH:mm:ss",hourCycle:"h23",firstDayOfWeek:0,dateSeparator:"/",timeSeparator:":"},number:{decimalSeparator:".",thousandsSeparator:",",currencySymbol:"¥",currencyPosition:"before",currencyDecimals:0}},DE:{date:{datePattern:"DD.MM.YYYY",timePattern:"HH:mm:ss",hourCycle:"h23",firstDayOfWeek:1,dateSeparator:".",timeSeparator:":"},number:{decimalSeparator:",",thousandsSeparator:".",currencySymbol:"€",currencyPosition:"after",currencyDecimals:2}},FR:{date:{datePattern:"DD/MM/YYYY",timePattern:"HH:mm:ss",hourCycle:"h23",firstDayOfWeek:1,dateSeparator:"/",timeSeparator:":"},number:{decimalSeparator:",",thousandsSeparator:" ",currencySymbol:"€",currencyPosition:"after",currencyDecimals:2}},GB:{date:{datePattern:"DD/MM/YYYY",timePattern:"HH:mm:ss",hourCycle:"h23",firstDayOfWeek:1,dateSeparator:"/",timeSeparator:":"},number:{decimalSeparator:".",thousandsSeparator:",",currencySymbol:"£",currencyPosition:"before",currencyDecimals:2}},KR:{date:{datePattern:"YYYY.MM.DD",timePattern:"HH:mm:ss",hourCycle:"h23",firstDayOfWeek:0,dateSeparator:".",timeSeparator:":"},number:{decimalSeparator:".",thousandsSeparator:",",currencySymbol:"₩",currencyPosition:"before",currencyDecimals:0}},IN:{date:{datePattern:"DD/MM/YYYY",timePattern:"HH:mm:ss",hourCycle:"h23",firstDayOfWeek:0,dateSeparator:"/",timeSeparator:":"},number:{decimalSeparator:".",thousandsSeparator:",",currencySymbol:"₹",currencyPosition:"before",currencyDecimals:2}}},Hl={date:{datePattern:"YYYY-MM-DD",timePattern:"HH:mm:ss",hourCycle:"h23",firstDayOfWeek:1,dateSeparator:"-",timeSeparator:":"},number:{decimalSeparator:".",thousandsSeparator:",",currencySymbol:"$",currencyPosition:"before",currencyDecimals:2}};function Al(){const e="undefined"!=typeof navigator&&(navigator.language||navigator.userLanguage)||"en-US",t="undefined"!=typeof Intl&&Intl.DateTimeFormat?Intl.DateTimeFormat().resolvedOptions().timeZone:"UTC",n=e.split("-"),o=n[0]||"en";let r=null,i=null;for(let e=1;e<n.length;e++)2!==n[e].length&&3!==n[e].length||(2===n[e].length?r=n[e].toUpperCase():4===n[e].length&&(i=n[e]));return{locale:e,language:o,region:r,script:i,browserLocale:e,timezone:t}}function Ol(e){var t;const n=Al(),o=e||n.region||"US";return(null==(t=Il[o])?void 0:t.date)||Hl.date}function zl(e){var t;const n=Al(),o=e||n.region||"US";return(null==(t=Il[o])?void 0:t.number)||Hl.number}function Fl(e,t,n){const o=n?__spreadValues(__spreadValues({},zl()),n):zl();if("undefined"!=typeof Intl)try{const n=Al();return new Intl.NumberFormat(n.locale,{minimumFractionDigits:null!=t?t:0,maximumFractionDigits:null!=t?t:2}).format(e)}catch(e){}const r=void 0!==t?e.toFixed(t):String(e),[i,l]=r.split("."),a=i.replace(/\B(?=(\d{3})+(?!\d))/g,o.thousandsSeparator);return l?`${a}${o.decimalSeparator}${l}`:a}function Rl(e){return{CN:"CNY",US:"USD",JP:"JPY",DE:"EUR",FR:"EUR",GB:"GBP",KR:"KRW",IN:"INR"}[e]||"USD"}const Yl={blur:B,"click-outside":De,"click-delay":Ce,"click-wave":Ie,"context-menu":Oe,copy:Fe,debounce:Je,throttle:ur,focus:bt,hotkey:Ft,lazy:dn,intersect:nn,visible:Jr,loading:mn,scroll:Bo,"infinite-scroll":Zt,sticky:tr,"long-press":gn,hover:Ut,ripple:Po,mask:Pn,permission:oo,sanitize:No,resize:Do,mutation:Rn,truncate:Hr,ellipsis:ot,uppercase:Xr,lowercase:En,capitalcase:Ee,number:Yn,money:zn,trim:$r,tooltip:Sr,draggable:nt,touch:Dr,swipe:sr,"image-preview":Kt,countdown:Ue,watermark:oi,print:so,"virtual-list":Kr,"pull-refresh":To,counter:Ke,emoji:ut,export:mt,fade:gt,fullscreen:Lt,highlight:Ct,lottie:bn,pan:Bn,parallax:Gn,pinch:ao,progress:vo,"rotate-gesture":Ao,skeleton:qo,typewriter:Rr},Vl={install:(e,t={})=>{var n,o,r,i,l,a,s;let c=null;if("function"==typeof e&&(null==(n=e.version)?void 0:n.startsWith("2")))c=2;else if((null==e?void 0:e.config)&&(null==(o=null==e?void 0:e.version)?void 0:o.startsWith("3")))c=3;else if("function"==typeof(null==e?void 0:e.directive)&&"function"==typeof(null==e?void 0:e.mixin)&&(null==(r=e.version)?void 0:r.startsWith("2")))c=2;else if("undefined"!=typeof window){const e=window;(null==(l=null==(i=e.Vue)?void 0:i.version)?void 0:l.startsWith("2"))?c=2:(null==(s=null==(a=e.Vue)?void 0:a.version)?void 0:s.startsWith("3"))&&(c=3)}c&&m(c);const{directives:u,all:d=!1}=t;d||!u?Object.entries(Yl).forEach(([t,n])=>{e.directive(t,n)}):u.forEach(t=>{const n=Yl[t];n?e.directive(t,n):console.warn(`[Directix] Unknown directive: ${t}`)})}};e.Directix=Vl,e.ObjectPool=class{constructor(e,t,n=100){__publicField(this,"pool",[]),__publicField(this,"factory"),__publicField(this,"reset"),__publicField(this,"maxSize"),this.factory=e,this.reset=t,this.maxSize=n}acquire(){return this.pool.length>0?this.pool.pop():this.factory()}release(e){this.pool.length<this.maxSize&&(this.reset(e),this.pool.push(e))}get size(){return this.pool.length}clear(){this.pool.length=0}},e.PluginManager=ol,e.PluginRegistry=el,e.SafeContentHandler=Tl,e.SecurityAudit=Sl,e.addCleanupVue2=function(e,t){const n=e.__directix_state__;n&&n.cleanup.push(t)},e.addCleanupVue3=function(e,t){const n=e.__directix_state__;n&&n.cleanup.push(t)},e.addNonPassiveListener=function(e,t,n,o){return e.addEventListener(t,n,__spreadValues({passive:!1},o)),()=>e.removeEventListener(t,n)},e.addPassiveListener=function(e,t,n,o){return e.addEventListener(t,n,__spreadValues({passive:!0},o)),()=>e.removeEventListener(t,n)},e.announce=function(e,t={}){if(!v())return;const{priority:n="polite",timeout:o=1e3,clear:r=!0}=t,i=(ll&&document.getElementById(al||"")||(al="directix-sr-announcer",ll=document.createElement("div"),ll.id=al,ll.setAttribute("aria-live","polite"),ll.setAttribute("aria-atomic","true"),ll.setAttribute("style","position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;"),document.body.appendChild(ll)),ll);i.setAttribute("aria-live",n),i.textContent="",requestAnimationFrame(()=>{i.textContent=e,r&&setTimeout(()=>{i.textContent===e&&(i.textContent="")},o)})},e.applyAriaAttributes=function(e,t){if(il(e),t.role&&e.setAttribute("role",t.role),void 0!==t.ariaExpanded&&e.setAttribute("aria-expanded",String(t.ariaExpanded)),void 0!==t.ariaSelected&&e.setAttribute("aria-selected",String(t.ariaSelected)),void 0!==t.ariaChecked&&e.setAttribute("aria-checked",String(t.ariaChecked)),void 0!==t.ariaDisabled&&(e.setAttribute("aria-disabled",String(t.ariaDisabled)),t.ariaDisabled&&e.setAttribute("tabindex","-1")),void 0!==t.ariaHidden&&e.setAttribute("aria-hidden",String(t.ariaHidden)),void 0!==t.ariaBusy&&e.setAttribute("aria-busy",String(t.ariaBusy)),void 0!==t.ariaPressed&&e.setAttribute("aria-pressed",String(t.ariaPressed)),void 0!==t.ariaCurrent&&e.setAttribute("aria-current","boolean"==typeof t.ariaCurrent?String(t.ariaCurrent):t.ariaCurrent),t.ariaLabel&&e.setAttribute("aria-label",t.ariaLabel),t.ariaLabelledBy&&e.setAttribute("aria-labelledby",t.ariaLabelledBy),t.ariaDescribedBy&&e.setAttribute("aria-describedby",t.ariaDescribedBy),t.ariaControls&&e.setAttribute("aria-controls",t.ariaControls),t.ariaOwns&&e.setAttribute("aria-owns",t.ariaOwns),void 0!==t.ariaHasPopup){const n="boolean"==typeof t.ariaHasPopup?"true":t.ariaHasPopup;e.setAttribute("aria-haspopup",n)}t.ariaAutoComplete&&e.setAttribute("aria-autocomplete",t.ariaAutoComplete),t.ariaLive&&e.setAttribute("aria-live",t.ariaLive),void 0!==t.ariaAtomic&&e.setAttribute("aria-atomic",String(t.ariaAtomic)),t.ariaRelevant&&e.setAttribute("aria-relevant",t.ariaRelevant),void 0!==t.ariaValueNow&&e.setAttribute("aria-valuenow",String(t.ariaValueNow)),void 0!==t.ariaValueMin&&e.setAttribute("aria-valuemin",String(t.ariaValueMin)),void 0!==t.ariaValueMax&&e.setAttribute("aria-valuemax",String(t.ariaValueMax)),t.ariaValueText&&e.setAttribute("aria-valuetext",t.ariaValueText),t.ariaPlaceholder&&e.setAttribute("aria-placeholder",t.ariaPlaceholder),void 0!==t.ariaRequired&&e.setAttribute("aria-required",String(t.ariaRequired)),void 0!==t.ariaReadonly&&e.setAttribute("aria-readonly",String(t.ariaReadonly)),void 0!==t.ariaModal&&e.setAttribute("aria-modal",String(t.ariaModal)),void 0!==t.tabIndex&&e.setAttribute("tabindex",String(t.tabIndex))},e.assert=function(e,t,n){if(!e)throw new Error(R({directive:n,message:t}))},e.assertPositive=function(e,t,n){if(U(e,"number",t,n),e<=0)throw new Error(R({directive:t,message:"errors.value_out_of_range",params:{param:n,min:"0",max:"Infinity"}}))},e.assertRange=function(e,t,n,o,r){if(U(e,"number",o,r),e<t||e>n)throw new Error(R({directive:o,message:"errors.value_out_of_range",params:{param:r,min:String(t),max:String(n)}}))},e.assertType=U,e.calculateStats=I,e.calculateTime=pi,e.capitalizeText=si,e.capitalizeWord=ai,e.clearAnnouncer=function(){ll&&(ll.textContent="")},e.clearAriaAttributes=il,e.clearDevtoolsState=function(){L.directives.clear(),L.plugins.clear(),L.events=[]},e.clearPerformanceMetrics=function(){D.metrics=[],D.directiveMetrics.clear(),D.startMarks.clear()},e.computedWithCleanup=function(e){const{get:n,cleanup:o}=e;let r;return t.computed({get(){const e=n();return void 0!==r&&r!==e&&(null==o||o(r)),r=e,e},set(){}})},e.configurePerformance=function(e){D.config=__spreadValues(__spreadValues({},D.config),e)},e.configurePermission=function(e){eo=e},e.createCapitalizer=function(e={}){return t=>si(t,e)},e.createDelayedClick=function(e,t=300){let n=!1;return o=>{if(n)return o.preventDefault(),void o.stopPropagation();n=!0,e(o),setTimeout(()=>{n=!1},t)}},e.createDirectiveTemplate=function(e){const{name:t,ssr:n=!0,defaults:o,onMount:r,onUpdate:i,onUnmount:l,validate:a,normalize:s}=e;return x({name:t,ssr:n,defaults:o,mounted(e,n){const o=s?s(n):n.value;if(a){const e=a(o);if(e)return void console.warn(`[Directix] v-${t}: ${e}`)}r(e,o,n),e.__directix_state={},e.__directix_options=o},updated(e,n){const o=s?s(n):n.value;if(a){const e=a(o);if(e)return void console.warn(`[Directix] v-${t}: ${e}`)}e.__directix_options=o,null==i||i(e,o,n)},unmounted(e){const t=e.__directix_state;t&&(l(e,t),delete e.__directix_state,delete e.__directix_options)}})},e.createEventDirective=function(e){const{name:t,eventName:n,handler:o,listenerOptions:r,ssr:i=!0}=e;return x({name:t,ssr:i,mounted(e,t){const i=n=>o(e,t,n);e.addEventListener(n,i,r),e.__directix_event_handler=i},unmounted(e){const t=e.__directix_event_handler;t&&(e.removeEventListener(n,t,r),delete e.__directix_event_handler)}})},e.createI18n=function(e){const{locale:t="zh-CN",fallbackLocale:n="en-US",messages:o}=e;return Ml=t,Pl=o[t]||o[n]||Dl,{locale:Ml,fallbackLocale:n,messages:Pl,setLocale:e=>{Ml=e,o[e]&&(Pl=o[e])},t:(e,t)=>$l(e,t)}},e.createLowercaser=function(e=!1){return t=>Ci(t,e)},e.createMoneyFormatter=function(e={}){return t=>Mi(t,e)},e.createNumberFormatter=function(e={}){return t=>$i(t,e)},e.createPermissionChecker=function(e){const{getPermissions:t,getRoles:n,roleMap:o={}}=e;return(e,r="some")=>{const i=t(),l=(null==n?void 0:n())||[],a=Array.isArray(e)?e:[e];function s(e){if(e in o)return l.includes(e);if(zi(e,i))return!0;for(const t of l){if(zi(e,o[t]||[]))return!0}return!1}return"every"===r?a.every(s):a.some(s)}},e.createSafeContentHandler=function(e){return new Tl(e)},e.createStyleDirective=function(e){const{name:t,cssProperty:n,defaultUnit:o="",validate:r,ssr:i=!0}=e;return x({name:t,ssr:i,mounted(e,i){const l=i.value;if(r&&!r(l))return void console.warn(`[Directix] v-${t}: Invalid value "${l}"`);const a="number"==typeof l&&o?o:"";e.style.setProperty(n,`${l}${a}`)},updated(e,i){const l=i.value;if(r&&!r(l))return void console.warn(`[Directix] v-${t}: Invalid value "${l}"`);const a="number"==typeof l&&o?o:"";e.style.setProperty(n,`${l}${a}`)},unmounted(e){e.style.removeProperty(n)}})},e.createTrimmer=function(e="both",t){return n=>Zi(n,e,t)},e.createUppercaser=function(e=!1){return t=>Ji(t,e)},e.createVue2Directive=o,e.createVue3Directive=i,e.createWatermarkUrl=function(e,t={}){var n,o,r,i,l;return Qi({content:e,width:null!=(n=t.width)?n:300,height:null!=(o=t.height)?o:200,fontSize:null!=(r=t.fontSize)?r:16,fontFamily:"sans-serif",fontWeight:"normal",color:null!=(i=t.color)?i:"rgba(128, 128, 128, 0.15)",rotate:null!=(l=t.rotate)?l:-22}).toDataURL()},e.debounceFn=function(e,t=300,n){return fe(e,t,n)},e.debug=function(e,t){Y("debug",R({message:e,params:t}),!1)},e.deepClone=function e(t){if(null===t||"object"!=typeof t)return t;if(Array.isArray(t))return t.map(t=>e(t));const n={};for(const o in t)Object.prototype.hasOwnProperty.call(t,o)&&(n[o]=e(t[o]));return n},e.deepMerge=function e(t,...n){if(!n.length)return t;const o=n.shift();if(pe(t)&&pe(o))for(const n in o)pe(o[n])?(t[n]||Object.assign(t,{[n]:{}}),e(t[n],o[n])):Object.assign(t,{[n]:o[n]});return e(t,...n)},e.defineDirective=x,e.defineDirectiveGroup=function(e,t){return{name:e,directives:t,install(n,o){Object.entries(t).forEach(([t,o])=>{const r=`${e}-${t}`;n.directive(r,o)})}}},e.definePlugin=function(e){return e},e.detectLocaleInfo=Al,e.directiveError=function(e,t,n){N({directive:e,message:t,params:n})},e.directiveWarn=function(e,t,n){V({directive:e,message:t,params:n})},e.disableDevtools=function(){L.enabled=!1},e.disablePerformance=function(){D.config.enabled=!1},e.enUS={directives:{debounce:{description:"Debounce directive - delay event handler execution",params:{wait:"Delay time in milliseconds",leading:"Whether to invoke before delay starts",trailing:"Whether to invoke after delay ends"},errors:{invalid_wait:'Invalid "wait" parameter, must be a positive number',invalid_handler:"Handler must be a function"}},throttle:{description:"Throttle directive - limit event trigger frequency",params:{interval:"Execution interval in milliseconds",leading:"Whether to invoke at interval start",trailing:"Whether to invoke at interval end"},errors:{invalid_interval:'Invalid "interval" parameter, must be a positive number',invalid_handler:"Handler must be a function"}},copy:{description:"Copy directive - copy text to clipboard on click",params:{value:"Text to copy",onSuccess:"Copy success callback",onError:"Copy error callback"},errors:{empty_value:"No text to copy",clipboard_failed:"Clipboard API failed, falling back to execCommand"}},lazy:{description:"Lazy loading directive - defer image or component loading",params:{src:"Image source URL",threshold:"Intersection threshold",rootMargin:"Root margin"},errors:{invalid_src:'Invalid "src" parameter',observer_failed:"Failed to create IntersectionObserver"}},permission:{description:"Permission directive - control element visibility by permissions",params:{value:"Permission value or array",mode:"Permission mode: any or all"},errors:{empty_permission:"Permission value cannot be empty",invalid_mode:'Mode must be "any" or "all"'}},mask:{description:"Input mask directive - format input content",params:{pattern:"Mask pattern",placeholder:"Placeholder character",allowIncomplete:"Allow incomplete input"},errors:{invalid_pattern:'Invalid "pattern" parameter'}},hotkey:{description:"Hotkey directive - bind keyboard shortcuts",params:{key:"Keyboard shortcut combination",handler:"Handler function",prevent:"Whether to prevent default behavior"},errors:{invalid_key:"Invalid hotkey format",conflict:"Hotkey conflict: {key}"}},clickoutside:{description:"Click outside directive - detect clicks outside element",params:{handler:"Handler function for outside clicks",exclude:"Elements to exclude"},errors:{invalid_handler:"Handler must be a function"}},longpress:{description:"Long press directive - detect long press gesture",params:{duration:"Press duration in milliseconds",handler:"Long press handler function"},errors:{invalid_duration:"Duration must be a positive number"}},draggable:{description:"Draggable directive - make element draggable",params:{axis:"Drag axis: x, y, or empty",bounds:"Drag bounds",handle:"Drag handle selector"},errors:{invalid_bounds:'Invalid "bounds" parameter'}},intersect:{description:"Intersect directive - observe element visibility",params:{threshold:"Visibility threshold",rootMargin:"Root margin",once:"Whether to trigger only once"},errors:{observer_failed:"Failed to create IntersectionObserver"}},loading:{description:"Loading directive - display loading state",params:{value:"Whether loading",text:"Loading text",spinner:"Loading spinner"}},skeleton:{description:"Skeleton directive - display content placeholder",params:{value:"Whether to show skeleton",variant:"Skeleton variant",animation:"Animation type"}},virtualList:{description:"Virtual list directive - optimize large data rendering",params:{itemSize:"Item height",buffer:"Buffer size",estimatedSize:"Estimated size"},errors:{invalid_itemSize:"itemSize must be a positive number"}},infiniteScroll:{description:"Infinite scroll directive - load more on scroll",params:{handler:"Load more handler function",distance:"Trigger distance",disabled:"Whether disabled"},errors:{invalid_handler:"Handler must be a function"}},watermark:{description:"Watermark directive - add watermark overlay",params:{content:"Watermark content",fontSize:"Font size",color:"Watermark color",opacity:"Opacity"},errors:{empty_content:"Watermark content cannot be empty"}},contextmenu:{description:"Context menu directive - custom right-click menu",params:{items:"Menu items list",handler:"Menu item click handler"},errors:{empty_items:"Menu items list cannot be empty"}},fullscreen:{description:"Fullscreen directive - toggle element fullscreen",params:{value:"Whether fullscreen",onEnter:"Enter fullscreen callback",onExit:"Exit fullscreen callback"},errors:{not_supported:"Fullscreen API is not supported in this browser"}},imagePreview:{description:"Image preview directive - click to preview image",params:{src:"Image source URL",list:"Image list",initialIndex:"Initial index"},errors:{invalid_src:'Invalid "src" parameter'}},tooltip:{description:"Tooltip directive - show hover tooltip",params:{content:"Tooltip content",placement:"Display position",trigger:"Trigger method"},errors:{empty_content:"Tooltip content cannot be empty"}},lottie:{description:"Lottie animation directive - play Lottie animations",params:{path:"Animation file path",animationData:"Animation data",loop:"Whether to loop",autoplay:"Whether to autoplay"},errors:{invalid_source:"Must provide path or animationData",load_failed:"Failed to load Lottie animation"}},swipe:{description:"Swipe gesture directive - detect swipe direction",params:{threshold:"Swipe threshold",velocity:"Velocity threshold",onSwipe:"Swipe callback"},errors:{invalid_threshold:"Threshold must be a positive number"}},touch:{description:"Touch gesture directive - unified touch event handling",params:{onStart:"Touch start callback",onMove:"Touch move callback",onEnd:"Touch end callback"}},pan:{description:"Pan gesture directive - detect pan operations",params:{threshold:"Trigger threshold",direction:"Pan direction: all, horizontal, vertical"}},pinch:{description:"Pinch gesture directive - detect zoom operations",params:{threshold:"Zoom threshold",onPinch:"Zoom callback"}},rotateGesture:{description:"Rotate gesture directive - detect rotation operations",params:{threshold:"Rotation angle threshold",onRotate:"Rotation callback"}},parallax:{description:"Parallax directive - create parallax scrolling effect",params:{speed:"Parallax speed",direction:"Parallax direction"}},typewriter:{description:"Typewriter directive - typewriter text animation",params:{text:"Text to display",speed:"Typing speed",delay:"Start delay"},errors:{empty_text:"Text content cannot be empty"}},countdown:{description:"Countdown directive - display countdown timer",params:{time:"Countdown time in milliseconds",format:"Time format",onFinish:"Finish callback"},errors:{invalid_time:"Time must be a positive number"}},counter:{description:"Counter directive - number animation",params:{from:"Start value",to:"End value",duration:"Animation duration",decimals:"Decimal places"},errors:{invalid_range:"From and to must be numbers"}},progress:{description:"Progress directive - display progress bar",params:{value:"Progress value (0-100)",showText:"Whether to show text",strokeWidth:"Stroke width"},errors:{invalid_value:"Value must be between 0 and 100"}},emoji:{description:"Emoji picker directive - emoji selector",params:{onSelect:"Select callback",exclude:"Emoji categories to exclude"}},money:{description:"Money input directive - format currency amounts",params:{currency:"Currency symbol",precision:"Decimal places",thousands:"Thousands separator"}},number:{description:"Number input directive - restrict numeric input",params:{min:"Minimum value",max:"Maximum value",precision:"Decimal places"},errors:{invalid_range:"Min must be less than max"}},truncate:{description:"Truncate directive - truncate text",params:{length:"Maximum length",omission:"Omission string"},errors:{invalid_length:"Length must be a positive integer"}},ellipsis:{description:"Ellipsis directive - CSS text overflow ellipsis",params:{lines:"Maximum lines"}},highlight:{description:"Highlight directive - highlight text content",params:{keyword:"Highlight keyword",color:"Highlight color",className:"CSS class name"},errors:{empty_keyword:"Keyword cannot be empty"}},sanitize:{description:"Sanitize directive - sanitize HTML content",params:{allowedTags:"Allowed tags",allowedAttrs:"Allowed attributes"}},focus:{description:"Focus directive - auto-focus element",params:{value:"Whether to focus",preventScroll:"Whether to prevent scroll"}},visible:{description:"Visibility directive - control element visibility",params:{value:"Whether visible"}},blur:{description:"Blur directive - blur element content",params:{value:"Blur amount",transition:"Transition effect"}},hover:{description:"Hover directive - detect mouse hover",params:{onEnter:"Enter callback",onLeave:"Leave callback"}},fade:{description:"Fade directive - fade in/out effect",params:{duration:"Animation duration",delay:"Delay time"}},clickWave:{description:"Click wave directive - click ripple effect",params:{color:"Ripple color",duration:"Animation duration"}},clickDelay:{description:"Click delay directive - prevent rapid clicks",params:{delay:"Delay time"},errors:{invalid_delay:"Delay must be a positive number"}},scroll:{description:"Scroll directive - scroll behavior control",params:{behavior:"Scroll behavior",smooth:"Whether to smooth scroll"}},sticky:{description:"Sticky directive - sticky positioning",params:{offsetTop:"Top offset",offsetBottom:"Bottom offset"}},print:{description:"Print directive - print element content",params:{title:"Print title",onBefore:"Before print callback",onAfter:"After print callback"}},export_:{description:"Export directive - export element content",params:{type:"Export type: image, pdf",filename:"Filename",quality:"Quality"},errors:{unsupported_type:"Unsupported export type"}},pullRefresh:{description:"Pull refresh directive - pull-to-refresh functionality",params:{onRefresh:"Refresh callback",distance:"Trigger distance"},errors:{invalid_handler:"onRefresh must be a function"}},resize:{description:"Resize directive - observe element size changes",params:{handler:"Size change callback",debounce:"Debounce time"},errors:{observer_failed:"Failed to create ResizeObserver"}},mutation:{description:"Mutation directive - observe DOM mutations",params:{handler:"Mutation callback",options:"Observer options"},errors:{observer_failed:"Failed to create MutationObserver"}},ripple:{description:"Ripple directive - Material Design ripple effect",params:{color:"Ripple color",duration:"Animation duration"}},uppercase:{description:"Uppercase directive - convert to uppercase"},lowercase:{description:"Lowercase directive - convert to lowercase"},capitalcase:{description:"Capitalize directive - capitalize first letter"},trim:{description:"Trim directive - trim whitespace"}},errors:{invalid_param:'Invalid parameter "{param}"',missing_required:'Missing required parameter "{param}"',type_error:'Type error for parameter "{param}": expected {expected}, got {actual}',value_out_of_range:'Parameter "{param}" is out of range, should be between {min} and {max}',not_supported:"{feature} is not supported in the current environment",ssr_not_supported:"Directive {directive} does not support SSR"},warnings:{deprecated:"{feature} is deprecated, please use {alternative}",experimental:"{feature} is experimental and may change in future versions",performance:"{feature} may affect performance, use with caution",fallback:"{feature} failed, falling back to {alternative}"},help:{installation:"Install with npm install directix",usage:"Register the Directix plugin in your Vue app",contribution:"See CONTRIBUTING.md for how to contribute"}},e.enableDevtools=function(){if(!v())return;const e=k();e?(L.enabled=!0,f()?function(e){e.on("app:init",e=>{!function(e){const t=k();if(!t)return;const n={id:"directix",app:e,label:"Directix",icon:"view_grid",treeFilterPlaceholder:"Search directives..."};t.emit("custom-inspector:add",n),t.on("custom-inspector:tree",e=>{"directix"===e.inspectorId&&(e.rootNodes=S())}),t.on("custom-inspector:state",e=>{"directix"===e.inspectorId&&(e.state=T(e.nodeId))})}(e)}),e.on("component:updated",e=>{})}(e):function(e){if(!e.Vue)return;e.emit("inspector:add",{id:"directix",app:e.Vue,label:"Directix",icon:"view_grid",treeFilterPlaceholder:"Search directives"}),e.on("inspector:tree",t=>{t.app===e.Vue&&"directix"===t.inspectorId&&(t.rootNodes=S())}),e.on("inspector:state",t=>{t.app===e.Vue&&"directix"===t.inspectorId&&(t.state=T(t.nodeId))})}(e),console.info("[Directix] DevTools integration enabled")):console.warn("[Directix] Vue DevTools not detected. Install Vue DevTools extension to enable debugging.")},e.enablePerformance=function(){D.config.enabled=!0},e.endMeasure=P,e.ensureTeleportTarget=Cl,e.error=N,e.escapeHtml=function(e){const t={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};return e.replace(/[&<>"'`=/]/g,e=>t[e]||e)},e.exportPerformanceData=function(){return{config:D.config,metrics:$(),report:H()}},e.formatCurrencyLocale=function(e,t){const n=t?__spreadValues(__spreadValues({},zl()),t):zl();if("undefined"!=typeof Intl)try{const t=Al();return new Intl.NumberFormat(t.locale,{style:"currency",currency:Rl(t.region||"US"),minimumFractionDigits:n.currencyDecimals,maximumFractionDigits:n.currencyDecimals}).format(e)}catch(e){}const o=Fl(e,n.currencyDecimals,n);return"before"===n.currencyPosition?`${n.currencySymbol}${o}`:`${o}${n.currencySymbol}`},e.formatDateLocale=function(e,t){const n="string"==typeof e||"number"==typeof e?new Date(e):e,o=t?__spreadValues(__spreadValues({},Ol()),t):Ol();if("undefined"!=typeof Intl)try{const e=Al();return new Intl.DateTimeFormat(e.locale,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h12"===o.hourCycle?"h12":"h23"}).format(n)}catch(e){}const r=n.getFullYear(),i=String(n.getMonth()+1).padStart(2,"0"),l=String(n.getDate()).padStart(2,"0"),a=String(n.getHours()).padStart(2,"0"),s=String(n.getMinutes()).padStart(2,"0"),c=String(n.getSeconds()).padStart(2,"0");return`${r}${o.dateSeparator}${i}${o.dateSeparator}${l} ${a}${o.timeSeparator}${s}${o.timeSeparator}${c}`},e.formatMoney=Mi,e.formatNumber=$i,e.formatNumberLocale=Fl,e.formatTime=mi,e.generateAriaId=function(e="directix-aria"){return`${e}-${Math.random().toString(36).substring(2,10)}`},e.generateId=function(e=""){return`${e}${Date.now().toString(36)}${Math.random().toString(36).slice(2,9)}`},e.get=function(e,t,n){const o=t.split(".");let r=e;for(const e of o){if(null==r)return n;r=r[e]}return void 0===r?n:r},e.getAutoAriaConfig=function(e){const{type:t,label:n,expanded:o,disabled:r,relatedId:i}=e,l=__spreadValues({},{tooltip:{role:"tooltip",ariaHidden:void 0===o||!o},menu:{role:"menu",ariaLabel:n,ariaExpanded:o,ariaDisabled:r},dialog:{role:"dialog",ariaLabel:n,ariaModal:!0},popover:{role:"region",ariaLabel:n,ariaExpanded:o},dropdown:{role:"listbox",ariaLabel:n,ariaExpanded:o},modal:{role:"dialog",ariaModal:!0,ariaLabel:n},alert:{role:"alert",ariaLive:"assertive",ariaAtomic:!0},region:{role:"region",ariaLabel:n}}[t]||{});return i&&("tooltip"===t?l.ariaDescribedBy=i:l.ariaControls=i),l},e.getCSPNonce=kl,e.getDateFormat=Ol,e.getDevicePixelRatio=function(){return v()&&window.devicePixelRatio||1},e.getDevtoolsState=function(){return{enabled:L.enabled,directiveCount:L.directives.size,pluginCount:L.plugins.size,eventCount:L.events.length}},e.getDirectiveMetrics=function(e){return[...D.directiveMetrics.get(e)||[]]},e.getLocale=function(){return Ml},e.getLocaleDisplayName=function(e,t){if("undefined"!=typeof Intl&&Intl.DisplayNames)try{return new Intl.DisplayNames([t||Al().locale],{type:"locale"}).of(e)||e}catch(t){return e}return e},e.getMostFrequentDirectives=function(e=10){return H().sort((e,t)=>t.callCount-e.callCount).slice(0,e)},e.getNumberFormat=zl,e.getPerformanceMetrics=$,e.getPerformanceReport=H,e.getPermissionConfig=function(){return eo},e.getPluginManager=function(e){return rl||(rl=new ol(e)),rl},e.getPluginRegistry=nl,e.getSlowestDirectives=function(e=10){return H().slice(0,e)},e.getSupportedRegions=function(){return Object.keys(Il)},e.getTimezoneInfo=function(){const e=new Date,t=-e.getTimezoneOffset(),n=t/60,o=n>=0?"+":"-",r=Math.abs(Math.floor(n)),i=Math.abs(t%60),l=`${o}${String(r).padStart(2,"0")}:${String(i).padStart(2,"0")}`;let a="UTC",s="UTC";if("undefined"!=typeof Intl&&Intl.DateTimeFormat)try{a=Intl.DateTimeFormat().resolvedOptions().timeZone,s=a.split("/").pop()||a}catch(e){s=`UTC${l}`}else s=`UTC${l}`;const c=-new Date(e.getFullYear(),0,1).getTimezoneOffset(),u=-new Date(e.getFullYear(),6,1).getTimezoneOffset();return{id:a,name:s,offset:n,offsetString:l,isDST:t!==Math.max(c,u)}},e.getVueVersion=p,e.info=function(e,t){Y("info",R({message:e,params:t}),!1)},e.injectScriptCSP=function(e,t={}){if(!v())return null;const{nonce:n}=t,o=document.createElement("script");return o.src=e,(n||kl())&&o.setAttribute("nonce",n||kl()||""),document.head.appendChild(o),o},e.injectStylesCSP=function(e,t={}){if(!v())return null;const{nonce:n}=t;if(n||kl()){const t=document.createElement("style");return t.setAttribute("nonce",n||kl()||""),t.textContent=e,document.head.appendChild(t),t}const o=document.createElement("style");return o.textContent=e,document.head.appendChild(o),o},e.isArray=me,e.isBoolean=function(e){return"boolean"==typeof e},e.isBrowser=v,e.isDevtoolsAvailable=function(){return null!==k()},e.isEmpty=function(e){return null==e||(ue(e)||me(e)?0===e.length:!!pe(e)&&0===Object.keys(e).length)},e.isFunction=de,e.isMobileDevice=function(){return!!v()&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},e.isNumber=function(e){return"number"==typeof e&&!isNaN(e)},e.isObject=pe,e.isPerformanceEnabled=function(){return D.config.enabled},e.isPromise=function(e){return pe(e)&&de(e.then)},e.isSSR=h,e.isString=ue,e.isTouchDevice=function(){return!!v()&&("ontouchstart"in window||navigator.maxTouchPoints>0)},e.isUrlSafe=xl,e.isVue2=function(){if(null===s){const e=p();s=2===e||2.7===e}return s},e.isVue27=function(){return null===c&&(c=2.7===p()),c},e.isVue3=f,e.jaJP={directives:{debounce:{description:"デバウンスディレクティブ - イベントハンドラの実行を遅延",params:{wait:"遅延時間(ミリ秒)",leading:"遅延開始前に呼び出すかどうか",trailing:"遅延終了後に呼び出すかどうか"},errors:{invalid_wait:'"wait"パラメータが無効です。正の数値を指定してください',invalid_handler:"ハンドラは関数である必要があります"}},throttle:{description:"スロットルディレクティブ - イベントトリガー頻度を制限",params:{interval:"実行間隔(ミリ秒)",leading:"間隔開始時に呼び出すかどうか",trailing:"間隔終了時に呼び出すかどうか"},errors:{invalid_interval:'"interval"パラメータが無効です。正の数値を指定してください',invalid_handler:"ハンドラは関数である必要があります"}},copy:{description:"コピーディレクティブ - クリックでテキストをクリップボードにコピー",params:{value:"コピーするテキスト",onSuccess:"コピー成功時のコールバック",onError:"コピー失敗時のコールバック"},errors:{empty_value:"コピーするテキストがありません",clipboard_failed:"クリップボードAPIが失敗しました。execCommandにフォールバックします"}},lazy:{description:"遅延ロードディレクティブ - 画像またはコンポーネントの読み込みを延期",params:{src:"画像ソースURL",threshold:"インターセクションしきい値",rootMargin:"ルートマージン"},errors:{invalid_src:'"src"パラメータが無効です',observer_failed:"IntersectionObserverの作成に失敗しました"}},permission:{description:"権限ディレクティブ - 権限による要素表示制御",params:{value:"権限値または配列",mode:"権限モード: any または all"},errors:{empty_permission:"権限値を空にすることはできません",invalid_mode:'モードは"any"または"all"である必要があります'}},mask:{description:"入力マスクディレクティブ - 入力内容をフォーマット",params:{pattern:"マスクパターン",placeholder:"プレースホルダー文字",allowIncomplete:"不完全な入力を許可"},errors:{invalid_pattern:'"pattern"パラメータが無効です'}},hotkey:{description:"ホットキーディレクティブ - キーボードショートカットをバインド",params:{key:"キーボードショートカットの組み合わせ",handler:"ハンドラ関数",prevent:"デフォルトの動作を防止するかどうか"},errors:{invalid_key:"ホットキーの形式が無効です",conflict:"ホットキーが競合しています: {key}"}},clickoutside:{description:"クリック外部ディレクティブ - 要素外のクリックを検出",params:{handler:"外部クリック時のハンドラ関数",exclude:"除外する要素"},errors:{invalid_handler:"ハンドラは関数である必要があります"}},longpress:{description:"長押しディレクティブ - 長押しジェスチャーを検出",params:{duration:"押下時間(ミリ秒)",handler:"長押しハンドラ関数"},errors:{invalid_duration:"時間は正の数値である必要があります"}},draggable:{description:"ドラッグ可能ディレクティブ - 要素をドラッグ可能にする",params:{axis:"ドラッグ軸: x、y、または空",bounds:"ドラッグ境界",handle:"ドラッグハンドルセレクタ"},errors:{invalid_bounds:'"bounds"パラメータが無効です'}},intersect:{description:"インターセクトディレクティブ - 要素の可視性を観察",params:{threshold:"可視性しきい値",rootMargin:"ルートマージン",once:"1回だけトリガーするかどうか"},errors:{observer_failed:"IntersectionObserverの作成に失敗しました"}},loading:{description:"ローディングディレクティブ - ロード状態を表示",params:{value:"ロード中かどうか",text:"ロードテキスト",spinner:"ロードスピナー"}},skeleton:{description:"スケルトンディレクティブ - コンテンツプレースホルダーを表示",params:{value:"スケルトンを表示するかどうか",variant:"スケルトンバリアント",animation:"アニメーションタイプ"}},virtualList:{description:"仮想リストディレクティブ - 大量データのレンダリングを最適化",params:{itemSize:"アイテムの高さ",buffer:"バッファサイズ",estimatedSize:"推定サイズ"},errors:{invalid_itemSize:"itemSizeは正の数値である必要があります"}},infiniteScroll:{description:"無限スクロールディレクティブ - スクロールで更に読み込み",params:{handler:"更に読み込むハンドラ関数",distance:"トリガー距離",disabled:"無効かどうか"},errors:{invalid_handler:"ハンドラは関数である必要があります"}},watermark:{description:"透かしディレクティブ - 透かしオーバーレイを追加",params:{content:"透かしコンテンツ",fontSize:"フォントサイズ",color:"透かしの色",opacity:"不透明度"},errors:{empty_content:"透かしコンテンツを空にすることはできません"}},contextmenu:{description:"コンテキストメニューディレクティブ - カスタム右クリックメニュー",params:{items:"メニューアイテムリスト",handler:"メニューアイテムクリックハンドラ"},errors:{empty_items:"メニューアイテムリストを空にすることはできません"}},fullscreen:{description:"フルスクリーンディレクティブ - 要素をフルスクリーンに切り替え",params:{value:"フルスクリーンかどうか",onEnter:"フルスクリーン进入コールバック",onExit:"フルスクリーン終了コールバック"},errors:{not_supported:"このブラウザではフルスクリーンAPIがサポートされていません"}},imagePreview:{description:"画像プレビューディレクティブ - クリックで画像をプレビュー",params:{src:"画像ソースURL",list:"画像リスト",initialIndex:"初期インデックス"},errors:{invalid_src:'"src"パラメータが無効です'}},tooltip:{description:"ツールチップディレクティブ - ホバーツールチップを表示",params:{content:"ツールチップコンテンツ",placement:"表示位置",trigger:"トリガー方法"},errors:{empty_content:"ツールチップコンテンツを空にすることはできません"}},lottie:{description:"Lottieアニメーションディレクティブ - Lottieアニメーションを再生",params:{path:"アニメーションファイルパス",animationData:"アニメーションデータ",loop:"ループするかどうか",autoplay:"自動再生するかどうか"},errors:{invalid_source:"pathまたはanimationDataを指定してください",load_failed:"Lottieアニメーションの読み込みに失敗しました"}},swipe:{description:"スワイプジェスチャーディレクティブ - スワイプ方向を検出",params:{threshold:"スワイプしきい値",velocity:"速度しきい値",onSwipe:"スワイプコールバック"},errors:{invalid_threshold:"しきい値は正の数値である必要があります"}},touch:{description:"タッチジェスチャーディレクティブ - 統一タッチイベント処理",params:{onStart:"タッチ開始コールバック",onMove:"タッチ移動コールバック",onEnd:"タッチ終了コールバック"}},pan:{description:"パンジェスチャーディレクティブ - パン操作を検出",params:{threshold:"トリガーしきい値",direction:"パン方向: all、horizontal、vertical"}},pinch:{description:"ピンチジェスチャーディレクティブ - ズーム操作を検出",params:{threshold:"ズームしきい値",onPinch:"ズームコールバック"}},rotateGesture:{description:"回転ジェスチャーディレクティブ - 回転操作を検出",params:{threshold:"回転角度しきい値",onRotate:"回転コールバック"}},parallax:{description:"パララックスディレクティブ - パララックススクロール効果を作成",params:{speed:"パララックス速度",direction:"パララックス方向"}},typewriter:{description:"タイプライターディレクティブ - タイプライターテキストアニメーション",params:{text:"表示するテキスト",speed:"タイピング速度",delay:"開始遅延"},errors:{empty_text:"テキストコンテンツを空にすることはできません"}},countdown:{description:"カウントダウンディレクティブ - カウントダウンタイマーを表示",params:{time:"カウントダウン時間(ミリ秒)",format:"時間形式",onFinish:"終了コールバック"},errors:{invalid_time:"時間は正の数値である必要があります"}},counter:{description:"カウンターディレクティブ - 数字アニメーション",params:{from:"開始値",to:"終了値",duration:"アニメーション時間",decimals:"小数点以下の桁数"},errors:{invalid_range:"fromとtoは数値である必要があります"}},progress:{description:"プログレスディレクティブ - プログレスバーを表示",params:{value:"プログレス値(0-100)",showText:"テキストを表示するかどうか",strokeWidth:"ストローク幅"},errors:{invalid_value:"値は0から100の間である必要があります"}},emoji:{description:"絵文字ピッカーディレクティブ - 絵文字セレクター",params:{onSelect:"選択コールバック",exclude:"除外する絵文字カテゴリ"}},money:{description:"金額入力ディレクティブ - 通貨金額をフォーマット",params:{currency:"通貨記号",precision:"小数点以下の桁数",thousands:"千単位の区切り文字"}},number:{description:"数値入力ディレクティブ - 数値入力を制限",params:{min:"最小値",max:"最大値",precision:"小数点以下の桁数"},errors:{invalid_range:"minはmaxより小さい必要があります"}},truncate:{description:"トランケートディレクティブ - テキストを切り捨て",params:{length:"最大長",omission:"省略文字列"},errors:{invalid_length:"長さは正の整数である必要があります"}},ellipsis:{description:"エリプシスディレクティブ - CSSテキストオーバーフローの省略",params:{lines:"最大行数"}},highlight:{description:"ハイライトディレクティブ - テキストコンテンツをハイライト",params:{keyword:"ハイライトキーワード",color:"ハイライト色",className:"CSSクラス名"},errors:{empty_keyword:"キーワードを空にすることはできません"}},sanitize:{description:"サニタイズディレクティブ - HTMLコンテンツをサニタイズ",params:{allowedTags:"許可するタグ",allowedAttrs:"許可する属性"}},focus:{description:"フォーカスディレクティブ - 要素を自動フォーカス",params:{value:"フォーカスするかどうか",preventScroll:"スクロールを防止するかどうか"}},visible:{description:"可視性ディレクティブ - 要素の表示を制御",params:{value:"可視かどうか"}},blur:{description:"ブラーディレクティブ - 要素コンテンツをぼかす",params:{value:"ぼかし量",transition:"トランジション効果"}},hover:{description:"ホバーディレクティブ - マウスホバーを検出",params:{onEnter:"进入コールバック",onLeave:"離脱コールバック"}},fade:{description:"フェードディレクティブ - フェードイン/アウト効果",params:{duration:"アニメーション時間",delay:"遅延時間"}},clickWave:{description:"クリック波紋ディレクティブ - クリック波紋効果",params:{color:"波紋の色",duration:"アニメーション時間"}},clickDelay:{description:"クリック遅延ディレクティブ - 連続クリックを防止",params:{delay:"遅延時間"},errors:{invalid_delay:"遅延は正の数値である必要があります"}},scroll:{description:"スクロールディレクティブ - スクロール動作を制御",params:{behavior:"スクロール動作",smooth:"スムーズスクロールかどうか"}},sticky:{description:"スティッキーディレクティブ - スティッキー配置",params:{offsetTop:"上オフセット",offsetBottom:"下オフセット"}},print:{description:"印刷ディレクティブ - 要素コンテンツを印刷",params:{title:"印刷タイトル",onBefore:"印刷前コールバック",onAfter:"印刷後コールバック"}},export_:{description:"エクスポートディレクティブ - 要素コンテンツをエクスポート",params:{type:"エクスポートタイプ: image、pdf",filename:"ファイル名",quality:"品質"},errors:{unsupported_type:"サポートされていないエクスポートタイプ"}},pullRefresh:{description:"プル更新ディレクティブ - プルツーリフレッシュ機能",params:{onRefresh:"更新コールバック",distance:"トリガー距離"},errors:{invalid_handler:"onRefreshは関数である必要があります"}},resize:{description:"リサイズディレクティブ - 要素サイズの変化を観察",params:{handler:"サイズ変更コールバック",debounce:"デバウンス時間"},errors:{observer_failed:"ResizeObserverの作成に失敗しました"}},mutation:{description:"ミューテーションディレクティブ - DOMの変化を観察",params:{handler:"ミューテーションコールバック",options:"オブザーバーオプション"},errors:{observer_failed:"MutationObserverの作成に失敗しました"}},ripple:{description:"リップルディレクティブ - Material Designリップル効果",params:{color:"リップルの色",duration:"アニメーション時間"}},uppercase:{description:"大文字ディレクティブ - 大文字に変換"},lowercase:{description:"小文字ディレクティブ - 小文字に変換"},capitalcase:{description:"先頭大文字ディレクティブ - 先頭を大文字に"},trim:{description:"トリムディレクティブ - 空白をトリム"}},errors:{invalid_param:'パラメータ"{param}"が無効です',missing_required:'必須パラメータ"{param}"が不足しています',type_error:'パラメータ"{param}"の型エラー: {expected}を期待しましたが、{actual}です',value_out_of_range:'パラメータ"{param}"が範囲外です。{min}から{max}の間である必要があります',not_supported:"{feature}は現在の環境でサポートされていません",ssr_not_supported:"ディレクティブ{directive}はSSRをサポートしていません"},warnings:{deprecated:"{feature}は非推奨です。{alternative}を使用してください",experimental:"{feature}は実験的機能で、将来のバージョンで変更される可能性があります",performance:"{feature}はパフォーマンスに影響する可能性があります。慎重に使用してください",fallback:"{feature}が失敗しました。{alternative}にフォールバックします"},help:{installation:"npm install directix でインストール",usage:"VueアプリにDirectixプラグインを登録してください",contribution:"貢献方法はCONTRIBUTING.mdを参照してください"}},e.lowercaseText=Ci,e.measurePerformance=A,e.measurePerformanceAsync=function(e,t,n,o){return __async(this,null,function*(){if(!D.config.enabled||h())return n();const r=M(e,t);try{const i=yield n();return P(r,e,t,o),i}catch(n){throw P(r,e,t,__spreadProps(__spreadValues({},o),{error:!0})),n}})},e.parseLocale=function(e){const t=e.replace(/_/g,"-").split("-"),n=t[0]||"en";let o=null,r=null;for(let e=1;e<t.length;e++)2===t[e].length?o=t[e].toUpperCase():4===t[e].length&&(r=t[e]);return{language:n,region:o,script:r}},e.parseMoney=Pi,e.parseNumber=Ii,e.parseTargetTime=di,e.parseTime=he,e.quickPrint=function(e){return __async(this,arguments,function*(e,t={}){const{print:n}=Vi(t);yield n(e)})},e.resetPluginManager=function(){rl=null},e.resetPluginRegistry=function(){tl=null},e.resetVueVersion=function(){a=null,s=null,c=null,u=null},e.sanitizeHtml=Ll,e.sanitizeUrl=El,e.set=function(e,t,n){const o=t.split("."),r=o.pop();let i=e;for(const e of o)void 0===i[e]&&(i[e]={}),i=i[e];i[r]=n},e.setLocale=function(e){Ml=e},e.setVueVersion=m,e.setWarningDevMode=function(e){z=e},e.setWarningI18n=function(e){O=e},e.setWarningLevel=function(e){F=e},e.startMeasure=M,e.stripHtml=function(e){return e.replace(/<[^>]*>/g,"")},e.supportsClipboard=w,e.supportsIntersectionObserver=y,e.supportsMutationObserver=_,e.supportsPassive=g,e.supportsResizeObserver=b,e.t=$l,e.teleportContent=function(e,t){const{to:n,disabled:o=!1}=t;if(o||"undefined"==typeof document)return()=>{};const r="string"==typeof n?Cl(n):n;if(!r)return()=>{};const i=e.parentNode,l=e.nextSibling;return r.appendChild(e),()=>{i&&e.parentNode===r&&i.insertBefore(e,l)}},e.throttleFn=function(e,t=300,n){return ve(e,t,n)},e.trackDirective=function(e,t){if(!L.enabled)return;const n=L.directives.get(e);n?L.directives.set(e,__spreadValues(__spreadProps(__spreadValues({},n),{bindings:n.bindings+1,lastUpdated:Date.now()}),t)):L.directives.set(e,__spreadValues({name:e,bindings:1,lastUpdated:Date.now()},t)),C("directive:mounted",e)},e.trackPlugin=function(e){L.enabled&&(L.plugins.set(e.name,__spreadProps(__spreadValues({},e),{registeredAt:Date.now()})),C("plugin:install",e.name,{version:e.version}))},e.triggerHaptic=vl,e.trimText=Zi,e.truncateText=function(e,t,n="..."){return!e||e.length<=t?e:e.slice(0,t-n.length)+n},e.unescapeHtml=function(e){const t={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#x27;":"'","&#x2F;":"/","&#x60;":"`","&#x3D;":"=","&#39;":"'"};return e.replace(/&[^;]+;/g,e=>t[e]||e).replace(/&#(\d+);/g,(e,t)=>String.fromCharCode(parseInt(t,10)))},e.untrackDirective=function(e){if(!L.enabled)return;const t=L.directives.get(e);t&&L.directives.set(e,__spreadProps(__spreadValues({},t),{bindings:Math.max(0,t.bindings-1),lastUpdated:Date.now()})),C("directive:unmounted",e)},e.untrackPlugin=function(e){if(!L.enabled)return;const t=L.plugins.get(e);t&&L.plugins.set(e,__spreadProps(__spreadValues({},t),{enabled:!1})),C("plugin:uninstall",e)},e.uppercaseText=Ji,e.useBlur=function(e={}){var n;const o=t.ref(null!=(n=t.unref(e.visible))&&n);let r=null,i="";function l(){var n,l;!r&&v()&&(o.value=!0,r=function(e){const t=document.createElement("div");return t.className=`v-blur-overlay ${e.class||""}`,t.style.cssText=`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n backdrop-filter: blur(${e.radius||5}px);\n -webkit-backdrop-filter: blur(${e.radius||5}px);\n background: ${e.overlayColor||"transparent"};\n z-index: ${e.zIndex||999};\n opacity: 0;\n transition: opacity ${e.duration||300}ms ease;\n pointer-events: auto;\n `,t}(__spreadProps(__spreadValues({},e),{radius:null!=(n=t.unref(e.radius))?n:5})),document.body.appendChild(r),String(r.offsetHeight),r.style.opacity="1",e.lockScroll&&(i=document.body.style.overflow,document.body.style.overflow="hidden"),null==(l=e.onShow)||l.call(e))}function a(){var t;r&&(o.value=!1,r.style.opacity="0",e.lockScroll&&(document.body.style.overflow=i),setTimeout(()=>{r&&(r.remove(),r=null)},e.duration||300),null==(t=e.onHide)||t.call(e))}function s(){o.value?a():l()}return t.onUnmounted(()=>{r&&a()}),{isVisible:o,show:l,hide:a,toggle:s,bind:function(n){return v()?(n.classList.add("v-blur"),"boolean"!=typeof e.visible&&e.visible&&t.watch(e.visible,e=>{e!==o.value&&s()}),o.value&&l(),()=>{r&&a(),n.classList.remove("v-blur")}):()=>{}}}},e.useCapitalcase=function(e){const{text:n,every:o=!0,keepLower:r=li}=e,i=t.ref(t.unref(n)),l=t.ref("");return t.watch(()=>[t.unref(n),t.unref(o),t.unref(r)],()=>function(){const e=t.unref(n),a=t.unref(o),s=t.unref(r);i.value=e,l.value=si(e,{every:a,keepLower:s})}(),{immediate:!0}),{capitalized:l,original:i}},e.useClickDelay=function(e){const{handler:n,delay:o=300,disabled:r=!1}=e,i=t.ref(!1);let l=null;function a(){l&&(clearTimeout(l),l=null)}return t.onUnmounted(()=>{a()}),{isPending:i,click:function(e){if(t.unref(r)||i.value)return e.preventDefault(),void e.stopPropagation();i.value=!0,n(e),l=setTimeout(()=>{i.value=!1,l=null},t.unref(o))},reset:function(){l&&(clearTimeout(l),l=null),i.value=!1},cancel:a}},e.useClickOutside=function(e){const{handler:n,exclude:o=[],capture:r=!0,events:i=["click"],stop:l=!1,prevent:a=!1}=e;let s=null;const c=new Map;function u(e){return e=>{s&&function(e,n,o){const r=n.target;if(e.contains(r))return!1;if(null==o?void 0:o.length)for(const e of o){const n="function"==typeof e?e():t.unref(e),o="string"==typeof n?J(n):n;if(o&&(o===r||o.contains(r)))return!1}return!0}(s,e,o)&&(l&&e.stopPropagation(),a&&e.preventDefault(),n(e))}}function d(){c.forEach((e,t)=>{document.removeEventListener(t,e,{capture:r})}),c.clear(),s=null}return t.onUnmounted(()=>{d()}),{bind:function(e){return v()?(d(),s=e,i.forEach(e=>{const t=u();c.set(e,t),document.addEventListener(e,t,{capture:r,passive:!a})}),d):()=>{}}}},e.useClickWave=function(e={}){const{color:n="currentColor",duration:o=500,disabled:r=!1,sizeRatio:i=1.5}=e;let l=null,a=null;function s(e){if(t.unref(r))return;const a=l.getBoundingClientRect(),s=ci(e.clientX-a.left,e.clientY-a.top,l,t.unref(n),t.unref(o),i);l.appendChild(s)}function c(){l&&a&&(l.removeEventListener("click",a),l.classList.remove("v-click-wave")),l=null,a=null}return t.onUnmounted(()=>{c()}),{bind:function(e){if(!v())return()=>{};c(),l=e;const t=getComputedStyle(e);return"static"===t.position&&(e.style.position="relative"),"visible"===t.overflow&&(e.style.overflow="hidden"),e.classList.add("v-click-wave"),a=s,e.addEventListener("click",a),c},trigger:function(e){var a,s;if(!l||t.unref(r))return;const c=l.getBoundingClientRect(),u=ci(null!=(a=null==e?void 0:e.x)?a:c.width/2,null!=(s=null==e?void 0:e.y)?s:c.height/2,l,t.unref(n),t.unref(o),i);l.appendChild(u)}}},e.useContextMenu=function(e){let n=null,o=null,r=null,i=null;function l(){r&&(r.remove(),r=null),i&&document.removeEventListener("click",i)}function a(n,o){if(t.unref(e.disabled))return;l();const a=t.unref(e.items);r=function(e,t,n,o){const r=document.createElement("div");r.className=`v-context-menu ${o.class||""}`;const i=o.width?"number"==typeof o.width?`${o.width}px`:o.width:"150px";return r.style.cssText=`\n position: fixed;\n left: ${e}px;\n top: ${t}px;\n min-width: ${i};\n background: #fff;\n border-radius: 4px;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);\n padding: 4px 0;\n z-index: 9999;\n font-size: 14px;\n `,n.forEach(e=>{if(e.divider){const e=document.createElement("div");e.className="v-context-menu__divider",e.style.cssText="\n height: 1px;\n background: #e8e8e8;\n margin: 4px 0;\n ",r.appendChild(e)}const t=document.createElement("div");if(t.className=`v-context-menu__item ${e.class||""}`,e.disabled&&t.classList.add("v-context-menu__item--disabled"),t.style.cssText=`\n padding: 8px 16px;\n cursor: ${e.disabled?"not-allowed":"pointer"};\n color: ${e.disabled?"#b0b0b0":"#333"};\n display: flex;\n align-items: center;\n gap: 8px;\n `,e.icon){const n=document.createElement("span");n.className="v-context-menu__icon",n.innerHTML=e.icon,t.appendChild(n)}const n=document.createElement("span");n.textContent=e.label,t.appendChild(n),!e.disabled&&e.handler&&(t.addEventListener("click",()=>{e.handler(),r.remove()}),t.addEventListener("mouseenter",()=>{t.style.background="#f5f5f5"}),t.addEventListener("mouseleave",()=>{t.style.background="transparent"})),r.appendChild(t)}),r}(n,o,a,e),document.body.appendChild(r);const s=r.getBoundingClientRect(),c=window.innerWidth,u=window.innerHeight;n+s.width>c&&(r.style.left=c-s.width-8+"px"),o+s.height>u&&(r.style.top=u-s.height-8+"px"),setTimeout(()=>{i=e=>{const t=e.target;r&&!r.contains(t)&&l()},document.addEventListener("click",i)},0)}function s(e){e.preventDefault(),a(e.clientX,e.clientY)}function c(){n&&o&&n.removeEventListener("contextmenu",o),l(),n=null,o=null}return t.onUnmounted(()=>{c()}),{bind:function(e){return v()?(c(),n=e,o=s,e.addEventListener("contextmenu",o),c):()=>{}},show:a,hide:l}},e.useCopy=function(e={}){const{source:n,onSuccess:o,onError:r,copiedTimeout:i=1500}=e,l=t.ref(!1),a=t.ref(null),s=w()||v();let c=null;return{copy:function(e){return __async(this,null,function*(){const s=null!=e?e:t.unref(n);if(!s)return console.warn("[Directix] useCopy: No text to copy"),!1;c&&(clearTimeout(c),c=null),a.value=null;try{if(yield ui(s))return l.value=!0,null==o||o(s),c=setTimeout(()=>{l.value=!1,c=null},i),!0;throw new Error("Copy failed")}catch(e){const t=e;return a.value=t,l.value=!1,null==r||r(t),!1}})},copied:t.readonly(l),error:t.readonly(a),isSupported:s}},e.useCountdown=function(e){const{target:n,format:o="hh:mm:ss",onComplete:r,onTick:i,interval:l=1e3,autoStart:a=!0}=e,s=t.ref(pi(0)),c=t.ref(""),u=t.ref(!1),d=t.ref(!1),p=t.ref(!1);let m=null,f=0,v=0;const h=()=>t.unref(l),g=()=>t.unref(o);function y(){const e=Date.now(),t=f-e;if(t<=0)return s.value=pi(0),c.value=mi(s.value,g()),p.value=!0,u.value=!1,w(),void(r&&r());s.value=pi(t),c.value=mi(s.value,g()),i&&i(s.value)}function b(){u.value||(f=di(t.unref(n)),u.value=!0,d.value=!1,p.value=!1,y(),m=setInterval(y,h()))}function w(){m&&(clearInterval(m),m=null),u.value=!1}return t.watch(()=>t.unref(n),e=>{u.value&&(f=di(e))}),t.unref(a)&&b(),t.onUnmounted(()=>{w()}),{time:s,formatted:c,running:u,paused:d,completed:p,start:b,pause:function(){u.value&&(v=f-Date.now(),w(),d.value=!0)},resume:function(){!u.value&&d.value&&(f=Date.now()+v,u.value=!0,d.value=!1,y(),m=setInterval(y,h()))},reset:function(){w(),d.value=!1,p.value=!1,v=0,s.value=pi(0),c.value=mi(s.value,g())}}},e.useCounter=function(e){var n;const o=t.ref(null!=(n=e.startValue)?n:0),r=t.ref(vi(o.value,e)),i=t.ref(!1);let l=null,a=null,s=null,c=t.unref(e.value),u=o.value;function d(t){var n,p;s||(s=t);const m=t-s,f=e.duration||2e3,v=Math.min(m/f,1),h=(e.customEasing||fi[e.easing||"easeOutQuart"])(v);o.value=u+(c-u)*h,r.value=vi(o.value,e),l&&(l.textContent=r.value),null==(n=e.onUpdate)||n.call(e,o.value,r.value),v<1?a=requestAnimationFrame(d):(o.value=c,r.value=vi(c,e),l&&(l.textContent=r.value),i.value=!1,a=null,null==(p=e.onComplete)||p.call(e,c))}function p(){var t;i.value||(i.value=!0,s=null,u=o.value,null==(t=e.onStart)||t.call(e),a=requestAnimationFrame(d))}function m(){a&&(cancelAnimationFrame(a),a=null),i.value=!1}function f(e){c=e,u=o.value,s=null,i.value||p()}function h(){m(),l&&l.classList.remove("v-counter"),l=null}return t.onUnmounted(()=>{h()}),{currentValue:o,formattedValue:r,isAnimating:i,setValue:f,start:p,stop:m,bind:function(n){return v()?(h(),l=n,n.classList.add("v-counter"),n.textContent=r.value,"number"!=typeof e.value&&t.watch(e.value,e=>{f(e)}),p(),h):()=>{}}}},e.useDebounce=function(e){const{handler:n,wait:o=300,leading:r=!1,trailing:i=!0}=e;let l=null,a=null,s=null;const c=()=>{a&&(n.apply(s,a),a=null,s=null)};function u(){l&&(clearTimeout(l),l=null),a=null,s=null}return t.onUnmounted(()=>{u()}),{run:function(...e){a=e,s=this,l&&clearTimeout(l),t.unref(r)&&!l&&c(),l=setTimeout(()=>{t.unref(i)&&c(),l=null},t.unref(o))},cancel:u,flush:function(){l&&(clearTimeout(l),c(),l=null)},pending:function(){return null!==l}}},e.useDirectiveInstance=function(e={}){const{initialState:n={},shallow:o=!1}=e;let r=null;const i=t.reactive(n);function l(e){r=t.markRaw(e)}return{get element(){return r},set element(e){e&&l(e)},state:t.readonly(i),setElement:l,setState:function(e){const n=e(t.toRaw(i));Object.assign(i,n)},reset:function(){Object.assign(i,n)}}},e.useDraggable=function(e={}){const{axis:n="both",constrain:o=!1,boundary:r,handle:i,grid:l,disabled:a=!1,onStart:s,onDrag:c,onEnd:u}=e,d=t.ref({x:0,y:0}),p=t.ref(!1);let m=null,f=null,h=0,g=0,y=0,b=0,w=0,_=0,x=0,E=0,L=0,k=0;function S(e){var n;if(t.unref(a))return;e.preventDefault();const{clientX:i,clientY:l}=hi(e);p.value=!0,h=i,g=l;const{x:c,y:u}=function(e){const t=e.match(/translate\(([-\d.]+)px,\s*([-\d.]+)px\)/);return t?{x:parseFloat(t[1]),y:parseFloat(t[2])}:{x:0,y:0}}(m.style.transform);if(y=c,b=u,t.unref(o)||r){const e=r?function(e){var t,n;if(!e)return null;if("function"==typeof e){const n=e();return null!=(t=null==n?void 0:n.getBoundingClientRect())?t:null}if("string"==typeof e){const t=document.querySelector(e);return null!=(n=null==t?void 0:t.getBoundingClientRect())?n:null}return e.getBoundingClientRect()}(r):null==(n=m.parentElement)?void 0:n.getBoundingClientRect();if(e){const t=m.getBoundingClientRect();w=t.left-e.left,_=t.top-e.top,x=e.width,E=e.height,L=t.width,k=t.height}}m.classList.add("v-draggable--dragging"),document.addEventListener("mousemove",T),document.addEventListener("mouseup",C),document.addEventListener("touchmove",T,{passive:!1}),document.addEventListener("touchend",C),null==s||s({x:y,y:b},e)}function T(e){if(!p.value||t.unref(a))return;e.preventDefault();const{clientX:i,clientY:s}=hi(e);let u=i-h,f=s-g;const v=t.unref(n);"x"===v?f=0:"y"===v&&(u=0);const S=t.unref(l);S&&(u=Math.round(u/S[0])*S[0],f=Math.round(f/S[1])*S[1]);let T=y+u,C=b+f;if(t.unref(o)||r){const e=w+u,t=_+f,n=x-L,o=E-k,r=Math.max(0,Math.min(e,n)),i=Math.max(0,Math.min(t,o));T=y+(r-w),C=b+(i-_)}m.style.transform=`translate(${T}px, ${C}px)`,d.value={x:T,y:C},null==c||c({x:T,y:C},e)}function C(e){p.value&&(p.value=!1,null==m||m.classList.remove("v-draggable--dragging"),document.removeEventListener("mousemove",T),document.removeEventListener("mouseup",C),document.removeEventListener("touchmove",T),document.removeEventListener("touchend",C),null==u||u(__spreadValues({},d.value),e))}function D(){if(m){const e=f||m;e.removeEventListener("mousedown",S),e.removeEventListener("touchstart",S)}m=null,f=null}return t.onUnmounted(()=>{D()}),{position:t.readonly(d),isDragging:t.readonly(p),reset:function(){m&&(m.style.transform="translate(0px, 0px)",d.value={x:0,y:0})},bind:function(e){if(!v())return()=>{};D(),m=e,"static"===getComputedStyle(e).position&&(e.style.position="absolute"),f=i?e.querySelector(i):null;const t=f||e;return t.addEventListener("mousedown",S),t.addEventListener("touchstart",S,{passive:!1}),D}}},e.useEllipsis=function(e){const{text:n,lines:o=1,ellipsis:r="...",maxWidth:i=0}=e,l=t.ref(t.unref(n)),a=t.ref(""),s=t.ref(!1);return t.watch(()=>[t.unref(n),t.unref(o),t.unref(r),t.unref(i)],()=>function(){const e=t.unref(n),c=t.unref(o),u=t.unref(r),d=t.unref(i);if(l.value=e,!e)return a.value="",void(s.value=!1);if(d>0){const t=yi(e,d,u);a.value=t,s.value=t!==e}else if(c>1){const t=function(e,t,n="..."){if(t<=0)return"";const o=80*t;return e.length<=o?e:e.slice(0,o-n.length)+n}(e,c,u);a.value=t,s.value=t!==e}else a.value=e,s.value=!1}(),{immediate:!0}),t.onUnmounted(()=>{}),{truncated:a,isTruncated:s,original:l,calculateForWidth:function(e){const o=t.unref(n),i=t.unref(r);return!o||e<=0?o||"":yi(o,e,i)},wouldTruncate:function(e){const o=t.unref(n);return!(!o||e<=0)&&gi(o)>e}}},e.useEmoji=function(e={}){const{strip:n=!0,allowList:o,blockList:r,replacement:i="",onEmoji:l}=e,a=t.ref("");let s=null,c=null,u=null;function d(e){if(!t.unref(n))return e;let a=e;if(r&&r.length>0){const t=r.map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),n=new RegExp(t,"gu");a=e.replace(n,i)}else if(o&&o.length>0)a=e.replace(bi,t=>o.includes(t)?t:(null==l||l(t,e.indexOf(t)),i));else{const t=e.match(bi);t&&t.forEach(t=>null==l?void 0:l(t,e.indexOf(t))),a=e.replace(bi,i)}return a}function p(e){return bi.test(e)}function m(e){const t=e.target,n=t.value,o=d(n);if(o!==n){const e=t.selectionStart||0,r=t.selectionEnd||0;t.value=o,a.value=o;const i=n.length-o.length;t.setSelectionRange(Math.max(0,e-i),Math.max(0,r-i)),t.dispatchEvent(new Event("input",{bubbles:!0}))}}function f(e){var o;if(!t.unref(n))return;const r=null==(o=e.clipboardData)?void 0:o.getData("text");if(r&&p(r)){e.preventDefault();const t=d(r),n=e.target,o=n.selectionStart||0,i=n.selectionEnd||0,l=n.value;n.value=l.substring(0,o)+t+l.substring(i),a.value=n.value,n.setSelectionRange(o+t.length,o+t.length),n.dispatchEvent(new Event("input",{bubbles:!0}))}}function h(){s&&(c&&s.removeEventListener("input",c),u&&s.removeEventListener("paste",u),s.classList.remove("v-emoji")),s=null,c=null,u=null}return t.onUnmounted(()=>{h()}),{value:a,stripEmojis:d,hasEmoji:p,bind:function(e){if(!v())return()=>{};if(h(),s=e,a.value=e.value,c=m,u=f,e.addEventListener("input",c),e.addEventListener("paste",u),e.classList.add("v-emoji"),e.value&&t.unref(n)){const t=d(e.value);t!==e.value&&(e.value=t,a.value=t)}return"boolean"!=typeof n&&t.watch(n,()=>{if(t.unref(n)&&s){const e=d(s.value);e!==s.value&&(s.value=e,a.value=e)}}),h}}},e.useEnhancedTouch=function(e={}){const{thresholds:n={},feedback:o={},debounce:r=0,throttle:i=16,passive:l=!0,disabled:a=!1,onTap:s,onDoubleTap:c,onLongPress:u,onSwipe:d,onSwipeLeft:p,onSwipeRight:m,onSwipeUp:f,onSwipeDown:h,onPan:g,onPinch:y,onPinchIn:b,onPinchOut:w,onRotate:_,onTwoFingerTap:x,onEdgeSwipe:E}=e,L=__spreadValues(__spreadValues({},fl),n),k=t.ref(null),S=t.ref(!1);let T=null,C=0,D=0,M=0,P=0,$=0,I=null,H=0,A=0,O=null,z=0;function F(e){let t=0,n=0;for(let o=0;o<e.length;o++)t+=e[o].clientX,n+=e[o].clientY;return{x:t/e.length,y:n/e.length}}function R(e,t){return Math.sqrt(__pow(e.clientX-t.clientX,2)+__pow(e.clientY-t.clientY,2))}function Y(e,t){return Math.atan2(t.clientY-e.clientY,t.clientX-e.clientX)*(180/Math.PI)}function V(){return!("boolean"==typeof a?a:a.value)&&!(r>0&&Date.now()-z<r)}function N(e){V()&&(S.value=!0,M=Date.now(),k.value=null,o.haptic&&vl("light"),1===e.touches.length?(C=e.touches[0].clientX,D=e.touches[0].clientY,u&&(I=setTimeout(()=>{k.value||(k.value="longPress",z=Date.now(),u({type:"longPress",center:{x:C,y:D},event:e,duration:Date.now()-M}),o.haptic&&vl("medium"))},L.longPress))):2===e.touches.length&&(I&&(clearTimeout(I),I=null),H=R(e.touches[0],e.touches[1]),A=Y(e.touches[0],e.touches[1])))}function U(e){if(V())if(I&&(clearTimeout(I),I=null),1===e.touches.length){const t=e.touches[0].clientX,n=e.touches[0].clientY;if(g){const o=Date.now();if(o-$>=i){$=o;const r=t-C,i=n-D,l=Math.sqrt(r*r+i*i);l>L.tap&&(k.value="pan",g({type:"pan",distance:l,angle:Math.atan2(i,r)*(180/Math.PI),center:{x:t,y:n},event:e}))}}}else if(2===e.touches.length){const t=R(e.touches[0],e.touches[1]),n=Y(e.touches[0],e.touches[1]);if(y&&H>0){const n=t/H;Math.abs(n-1)>L.pinch&&(k.value="pinch",y({type:"pinch",scale:n,center:F(e.touches),event:e}),n<1&&b?b({type:"pinchIn",scale:n,center:F(e.touches),event:e}):n>1&&w&&w({type:"pinchOut",scale:n,center:F(e.touches),event:e}))}if(_){const t=n-A;Math.abs(t)>L.rotate&&(k.value="rotate",_({type:"rotate",rotation:t,center:F(e.touches),event:e}))}}}function X(e){var t,n,r,i;if(!V())return;S.value=!1,I&&(clearTimeout(I),I=null);const l=Date.now()-M,a=null!=(n=null==(t=e.changedTouches[0])?void 0:t.clientX)?n:C,u=null!=(i=null==(r=e.changedTouches[0])?void 0:r.clientY)?i:D,g=a-C,y=u-D,b=Math.sqrt(g*g+y*y),w=function(e,t,n,o,r){return 0===r?0:Math.sqrt(__pow(n-e,2)+__pow(o-t,2))/r}(C,D,a,u,l);if(0===e.touches.length&&2===e.changedTouches.length&&x){R(e.changedTouches[0],e.changedTouches[1])<50&&(k.value="twoFingerTap",x({type:"twoFingerTap",center:F(e.changedTouches),event:e}))}if(1===e.changedTouches.length)if(b>=L.swipe){let t;t=Math.abs(g)>Math.abs(y)?g>0?"right":"left":y>0?"down":"up";if(function(e,t,n=20){if(!v())return{isEdge:!1};const o=window.innerWidth,r=window.innerHeight;return e<=n?{isEdge:!0,edge:"left"}:e>=o-n?{isEdge:!0,edge:"right"}:t<=n?{isEdge:!0,edge:"top"}:t>=r-n?{isEdge:!0,edge:"bottom"}:{isEdge:!1}}(C,D).isEdge&&E&&(k.value="edgeSwipe",E({type:"edgeSwipe",direction:t,distance:b,velocity:w,center:{x:a,y:u},event:e})),!k.value){k.value="swipe";const n={type:"swipe",direction:t,distance:b,velocity:w,angle:Math.atan2(y,g)*(180/Math.PI),center:{x:a,y:u},event:e,duration:l};null==d||d(n),"left"===t&&(null==p||p(n)),"right"===t&&(null==m||m(n)),"up"===t&&(null==f||f(n)),"down"===t&&(null==h||h(n)),o.haptic&&vl("light")}}else if(b<L.tap&&l<300){const t=Date.now();t-P<L.doubleTap&&c?(k.value="doubleTap",c({type:"doubleTap",center:{x:a,y:u},event:e,duration:l}),o.haptic&&vl("medium"),P=0):s&&(c?setTimeout(()=>{"doubleTap"!==k.value&&(k.value="tap",s({type:"tap",center:{x:a,y:u},event:e,duration:l}),o.haptic&&vl("light"))},L.doubleTap):(k.value="tap",s({type:"tap",center:{x:a,y:u},event:e,duration:l}),o.haptic&&vl("light")),P=t)}O&&(O(),O=null),z=Date.now(),setTimeout(()=>{k.value=null},100)}function B(){T&&(T.removeEventListener("touchstart",N),T.removeEventListener("touchmove",U),T.removeEventListener("touchend",X),T.removeEventListener("touchcancel",X)),I&&(clearTimeout(I),I=null),O&&(O(),O=null),T=null,k.value=null,S.value=!1}return t.onUnmounted(B),{activeGesture:t.readonly(k),bind:function(e){if(!v())return()=>{};B(),T=e;const t=l?{passive:!0}:void 0;return e.addEventListener("touchstart",N,t),e.addEventListener("touchmove",U,{passive:!1}),e.addEventListener("touchend",X),e.addEventListener("touchcancel",X),o.visual&&e.addEventListener("touchstart",()=>{O=function(e,t={}){const{visualClass:n="directix-touch-active",visualDuration:o=150}=t;e.classList.add(n);const r=setTimeout(()=>{e.classList.remove(n)},o);return()=>{clearTimeout(r),e.classList.remove(n)}}(e,o)}),B},isTouching:t.readonly(S)}},e.useExport=function(e){function n(n){var o,r,i;if(!1!==(null==(o=e.onBeforeExport)?void 0:o.call(e)))try{const o=t.unref(e.data),i=n||t.unref(e.format)||"csv",l=t.unref(e.filename)||"export";let a;switch(i){case"json":a=JSON.stringify(o,null,2);break;case"html":a=function(e,t){var n;if(!Array.isArray(e)||0===e.length)return"";const o=t.columns||Object.keys(e[0]),r=t.headers||{};let i='<table border="1">\n';if(!1!==t.includeHeaders){i+=" <thead>\n <tr>\n";for(const e of o)i+=` <th>${r[e]||e}</th>\n`;i+=" </tr>\n </thead>\n"}i+=" <tbody>\n";for(const t of e){i+=" <tr>\n";for(const e of o)i+=` <td>${null!=(n=t[e])?n:""}</td>\n`;i+=" </tr>\n"}return i+=" </tbody>\n</table>",i}(Array.isArray(o)?o:[o],e);break;case"txt":a="string"==typeof o?o:JSON.stringify(o,null,2);break;default:a=function(e,t){if(!Array.isArray(e)||0===e.length)return"";const n=t.delimiter||",",o=t.columns||Object.keys(e[0]),r=t.headers||{};return(!1!==t.includeHeaders?`${o.map(e=>r[e]||e).join(n)}\n`:"")+e.map(e=>o.map(t=>{const o=e[t];return"string"==typeof o&&(o.includes(n)||o.includes("\n")||o.includes('"'))?`"${o.replace(/"/g,'""')}"`:null!=o?o:""}).join(n)).join("\n")}(Array.isArray(o)?o:[o],e)}!function(e,t,n){const o=new Blob([e],{type:{csv:"text/csv;charset=utf-8;",json:"application/json;charset=utf-8;",txt:"text/plain;charset=utf-8;",html:"text/html;charset=utf-8;"}[n]}),r=URL.createObjectURL(o),i=document.createElement("a");i.href=r,i.download=`${t}.${n}`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r)}(a,l,i),null==(r=e.onAfterExport)||r.call(e)}catch(t){null==(i=e.onError)||i.call(e,t)}}return{exportData:n,exportCSV:function(){n("csv")},exportJSON:function(){n("json")},exportHTML:function(){n("html")},exportText:function(){n("txt")}}},e.useFade=function(e={}){var n;const o=t.ref(null==(n=t.unref(e.visible))||n);let r=null,i=!1;function l(){var t;r&&!i&&(i=!0,null==(t=e.onStart)||t.call(e,"in"),r.style.display="",r.style.opacity=String(e.minOpacity||0),String(r.offsetHeight),requestAnimationFrame(()=>{r&&(r.style.transition=`opacity ${e.duration||300}ms ${e.easing||"ease"} ${e.delay||0}ms`,r.style.opacity=String(e.maxOpacity||1),setTimeout(()=>{var t;i=!1,o.value=!0,null==(t=e.onComplete)||t.call(e,"in")},(e.duration||300)+(e.delay||0)))}))}function a(){var t;r&&!i&&(i=!0,null==(t=e.onStart)||t.call(e,"out"),r.style.transition=`opacity ${e.duration||300}ms ${e.easing||"ease"} ${e.delay||0}ms`,r.style.opacity=String(e.minOpacity||0),setTimeout(()=>{var t;r&&(r.style.display="none",i=!1,o.value=!1,null==(t=e.onComplete)||t.call(e,"out"))},(e.duration||300)+(e.delay||0)))}function s(){o.value?a():l()}function c(){r&&r.classList.remove("v-fade"),r=null}return t.onUnmounted(()=>{c()}),{isVisible:o,fadeIn:l,fadeOut:a,toggle:s,bind:function(n){return v()?(c(),r=n,n.classList.add("v-fade"),n.style.transition=`opacity ${e.duration||300}ms ${e.easing||"ease"} ${e.delay||0}ms`,n.style.opacity=o.value?String(e.maxOpacity||1):String(e.minOpacity||0),o.value||(n.style.display="none"),"boolean"!=typeof e.visible&&e.visible&&t.watch(e.visible,e=>{e!==o.value&&s()}),c):()=>{}}}},e.useFocus=function(e={}){const{onFocus:n,onBlur:o}=e,r=t.ref(!1);let i=null,l=null,a=null;function s(){i&&(l&&i.removeEventListener("focus",l),a&&i.removeEventListener("blur",a)),i=null,l=null,a=null,r.value=!1}return t.onUnmounted(()=>{s()}),{isFocused:t.readonly(r),focus:function(){i&&function(e){if(!v())return!1;const t=e.tagName.toLowerCase();if(wi.has(t))return!e.disabled;if(e.isContentEditable)return!0;const n=e.getAttribute("tabindex");return null!=n?"-1"!==n:("a"===t||"area"===t)&&e.hasAttribute("href")}(i)&&i.focus()},blur:function(){i&&i.blur()},bind:function(e){return v()?(s(),i=e,l=e=>{r.value=!0,null==n||n(e)},a=e=>{r.value=!1,null==o||o(e)},e.addEventListener("focus",l),e.addEventListener("blur",a),r.value=document.activeElement===e,s):()=>{}}}},e.useFocusTrap=function(e,n={}){const{initialFocus:o,allowOutsideClick:r=!1,escapeDeactivates:i=!0,onActivate:l,onDeactivate:a}=n,s=t.ref(!1);let c=null;function u(){const t=e.value;if(!t)return[];const n=["a[href]","button:not([disabled])","textarea:not([disabled])","input:not([disabled])","select:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(", ");return Array.from(t.querySelectorAll(n)).filter(e=>!e.hasAttribute("aria-hidden"))}function d(t){if(!s.value)return;if(i&&"Escape"===t.key)return t.preventDefault(),void m();if("Tab"!==t.key)return;const n=e.value;if(!n)return;const o=u();if(0===o.length)return;const r=o[0],l=o[o.length-1],a=document.activeElement;t.shiftKey?a!==r&&n.contains(a)||(t.preventDefault(),l.focus()):a!==l&&n.contains(a)||(t.preventDefault(),r.focus())}function p(t){s.value&&e.value&&(("boolean"!=typeof r||r)&&("function"!=typeof r||r(t))||t.preventDefault())}function m(){s.value&&(document.removeEventListener("keydown",d),document.removeEventListener("mousedown",p),document.removeEventListener("touchstart",p),c&&c.focus&&c.focus(),s.value=!1,null==a||a())}return t.onUnmounted(()=>{m()}),{activate:function(){var t;if(!s.value){if(c=document.activeElement,o){let n=null;n="function"==typeof o?o():"string"==typeof o?(null==(t=e.value)?void 0:t.querySelector(o))||null:o,null==n||n.focus()}else{const e=u();e.length>0&&e[0].focus()}document.addEventListener("keydown",d),document.addEventListener("mousedown",p),document.addEventListener("touchstart",p),s.value=!0,null==l||l()}},deactivate:m,isActive:t.readonly(s)}},e.useFullscreen=function(e={}){const{fullscreenClass:n="v-fullscreen--active",onEnter:o,onExit:r,onChange:i}=e,l=t.ref(!1);let a=null,s=[];function c(){return __async(this,null,function*(){a&&!l.value&&(yield function(e){return __async(this,null,function*(){e.requestFullscreen?yield e.requestFullscreen():e.webkitRequestFullscreen?yield e.webkitRequestFullscreen():e.mozRequestFullScreen?yield e.mozRequestFullScreen():e.msRequestFullscreen&&(yield e.msRequestFullscreen())})}(a))})}function u(){return __async(this,null,function*(){l.value&&(yield function(){return __async(this,null,function*(){document.exitFullscreen?yield document.exitFullscreen():document.webkitExitFullscreen?yield document.webkitExitFullscreen():document.mozCancelFullScreen?yield document.mozCancelFullScreen():document.msExitFullscreen&&(yield document.msExitFullscreen())})}())})}function d(){const e=l.value;l.value=(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||null)===a,e!==l.value&&(l.value?(null==a||a.classList.add(n),null==o||o()):(null==a||a.classList.remove(n),null==r||r()),null==i||i(l.value))}function p(){a&&(a.classList.remove("v-fullscreen"),a.classList.remove(n)),s.forEach(e=>{document.removeEventListener("fullscreenchange",e),document.removeEventListener("webkitfullscreenchange",e),document.removeEventListener("mozfullscreenchange",e),document.removeEventListener("MSFullscreenChange",e)}),a=null,s=[]}return t.onUnmounted(()=>{l.value&&u(),p()}),{isFullscreen:l,enter:c,exit:u,toggle:function(){return __async(this,null,function*(){l.value?yield u():yield c()})},bind:function(e){return v()&&(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled)?(p(),a=e,e.classList.add("v-fullscreen"),s=[d,d,d,d],document.addEventListener("fullscreenchange",s[0]),document.addEventListener("webkitfullscreenchange",s[1]),document.addEventListener("mozfullscreenchange",s[2]),document.addEventListener("MSFullscreenChange",s[3]),p):()=>{}}}},e.useHighlight=function(e){const n=t.ref(0);let o=null,r="";function i(){if(!o)return;o.innerHTML=r;const{html:i,count:l}=function(e,n){const o=t.unref(n.keywords),r=Array.isArray(o)?o:[o];if(0===r.length||!e)return{html:e,count:0};const i=n.caseSensitive||!1,l=n.wholeWord||!1,a=n.tag||"mark",s=n.className||"v-highlight",c=n.style?` style="${n.style}"`:"";r.sort((e,t)=>t.length-e.length);let u=e,d=0;for(const e of r){if(!e)continue;const t=_i(e),n=l?"\\b":"",o=new RegExp(`${n}${t}${n}`,i?"g":"gi");u=u.replace(o,e=>(d++,`<${a} class="${s}"${c}>${e}</${a}>`))}return{html:u,count:d}}(r,e);o.innerHTML=i,n.value=l}function l(){o&&(o.innerHTML=r),o=null}return t.onUnmounted(()=>{l()}),{count:n,updateKeywords:function(t){e.keywords=t,i()},bind:function(n){return v()?(l(),o=n,r=n.innerHTML,"string"==typeof e.keywords||Array.isArray(e.keywords)||t.watch(e.keywords,()=>{i()}),i(),l):()=>{}}}},e.useHotkey=function(e={}){const{hotkey:n,hotkeys:o=[],target:r,enabled:i=!0}=e,l=t.ref(t.unref(i)),a=new Map;let s=null,c=null,u=null;function d(e){const t=Li(e.key).key.toLowerCase();a.has(t)||a.set(t,[]),a.get(t).push(e)}function p(e,n){if(!l.value)return;const o=e.key.toLowerCase(),r=a.get(o);if(r)for(const o of r){if(t.unref(o.disabled))continue;if(!!o.keyup!==n)continue;if(ki(e,Li(o.key))){!1!==o.prevent&&e.preventDefault(),o.stop&&e.stopPropagation(),o.handler(e);break}}}function m(){v()&&(f(),s=r?t.unref(r):document,c=e=>p(e,!1),u=e=>p(e,!0),null==s||s.addEventListener("keydown",c),null==s||s.addEventListener("keyup",u))}function f(){s&&(c&&s.removeEventListener("keydown",c),u&&s.removeEventListener("keyup",u)),s=null,c=null,u=null}return n&&d(n),o.forEach(d),t.watch(l,e=>{e?m():f()}),r&&"object"==typeof r&&"value"in r&&t.watch(r,()=>{l.value&&m()}),l.value&&m(),t.onUnmounted(()=>{f()}),{enabled:l,enable:function(){l.value=!0},disable:function(){l.value=!1},toggle:function(){l.value=!l.value},add:d,remove:function(e){a.delete(e.toLowerCase())},clear:function(){a.clear()}}},e.useHover=function(e={}){const{onEnter:n,onLeave:o,class:r,enterDelay:i=0,leaveDelay:l=0}=e,a=t.ref(!1);let s=null,c=null,u=null;function d(){s&&(clearTimeout(s),s=null),c&&(clearTimeout(c),c=null)}function p(e){if(c&&(clearTimeout(c),c=null),a.value)return;const o=t.unref(i);o&&o>0?s=setTimeout(()=>{a.value=!0,f(),null==n||n(e),s=null},o):(a.value=!0,f(),null==n||n(e))}function m(e){if(s&&(clearTimeout(s),s=null),!a.value)return;const n=t.unref(l);n&&n>0?c=setTimeout(()=>{a.value=!1,h(),null==o||o(e),c=null},n):(a.value=!1,h(),null==o||o(e))}function f(){u&&r&&u.classList.add(r)}function h(){u&&r&&u.classList.remove(r)}return t.onUnmounted(()=>{d(),h()}),{isHovering:a,bind:function(e){return v()?(u=e,e.addEventListener("mouseenter",p),e.addEventListener("mouseleave",m),()=>{e.removeEventListener("mouseenter",p),e.removeEventListener("mouseleave",m),d(),h(),u=null}):()=>{}}}},e.useImagePreview=function(e={}){const{src:n,closeOnClickOutside:o=!0,closeOnEsc:r=!0,showCloseButton:i=!0,onOpen:l,onClose:a}=e,s=t.ref(!1),c=t.ref("");let u=null,d=null,p=null,m=null;function f(e){if(!v())return;const t=e||(n&&"object"==typeof n?n.value:n);if(!t&&!u)return;const a=t||u.src;c.value=a,d=function(){const e=document.createElement("div");return e.className="v-image-preview",e.style.cssText="\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 9999;\n background: rgba(0, 0, 0, 0.9);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: zoom-out;\n ",e}();const f=document.createElement("img");if(f.src=a,f.style.cssText="\n max-width: 90%;\n max-height: 90%;\n object-fit: contain;\n cursor: default;\n ",i){const e=document.createElement("button");e.className="v-image-preview__close",e.innerHTML="&times;",e.style.cssText="\n position: absolute;\n top: 20px;\n right: 20px;\n width: 40px;\n height: 40px;\n border: none;\n background: rgba(255, 255, 255, 0.2);\n color: white;\n font-size: 24px;\n cursor: pointer;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n ",e.addEventListener("click",e=>{e.stopPropagation(),h()}),d.appendChild(e)}d.appendChild(f),document.body.appendChild(d),o&&(p=h,d.addEventListener("click",p)),r&&(m=e=>{"Escape"===e.key&&h()},document.addEventListener("keydown",m)),s.value=!0,null==l||l()}function h(){d&&(d.remove(),d=null),p&&(document.removeEventListener("click",p),p=null),m&&(document.removeEventListener("keydown",m),m=null),s.value=!1,c.value="",null==a||a()}function g(){u&&f(u.src)}function y(){u&&(u.style.cursor="",u.removeEventListener("click",g)),u=null}return t.onUnmounted(()=>{y(),h()}),{isOpen:t.readonly(s),currentSrc:t.readonly(c),open:f,close:h,bind:function(e){return v()?(y(),u=e,e.style.cursor="zoom-in",e.addEventListener("click",g),y):()=>{}}}},e.useInfiniteScroll=function(e){const{onLoad:n,loading:o,finished:r,distance:i=0,immediate:l=!0,disabled:a=!1}=e,s=t.ref(!1),c=t.ref(!1),u=o||s,d=r||c;let p=null,m=null,f=null,h=null;function g(){return __async(this,null,function*(){if(!(t.unref(u)||t.unref(d)||t.unref(a))){s.value=!0;try{yield n()}finally{s.value=!1}}})}function b(){if(!p||t.unref(u)||t.unref(d)||t.unref(a))return;const e=t.unref(i);let n,o;if(p===window)n=document.documentElement.scrollHeight-window.scrollY,o=window.innerHeight;else{const e=p;n=e.scrollHeight-e.scrollTop,o=e.clientHeight}n<=o+e&&g()}function w(){f&&(f.disconnect(),f=null),h&&(h.remove(),h=null),p&&m&&p.removeEventListener("scroll",m),p=null,m=null}return t.onUnmounted(()=>{w()}),{loading:t.readonly(u),finished:t.readonly(d),load:g,bind:function(e){if(!v())return()=>{};if(w(),y()){h=document.createElement("div"),h.style.cssText="height: 1px; width: 100%; visibility: hidden;",e.appendChild(h);const n=Q(e),o=n instanceof Window?null:n;f=new IntersectionObserver(e=>{e[0].isIntersecting&&g()},{root:o,rootMargin:`${t.unref(i)}px`}),f.observe(h)}else p=Q(e),m=b,p.addEventListener("scroll",m);return l&&g(),w},stop:w}},e.useIntersect=function(e={}){const{handler:n,onEnter:o,onLeave:r,onChange:i,root:l=null,rootMargin:a="0px",threshold:s=0,once:c=!1}=e,u=t.ref(!1),d=t.ref(0);let p=null,m=!1;function f(){p&&(p.disconnect(),p=null),u.value=!1,d.value=0}return t.onUnmounted(()=>{f()}),{isIntersecting:t.readonly(u),ratio:t.readonly(d),bind:function(e){return v()?(f(),p=v()&&y()?new IntersectionObserver(e=>{for(const t of e){if(c&&m)continue;const e=t.isIntersecting;u.value=e,d.value=t.intersectionRatio,null==n||n(t,p),null==i||i(e,t),e?(null==o||o(t,p),c&&(m=!0)):null==r||r(t,p)}},{root:t.unref(l),rootMargin:a,threshold:s}):(console.warn("[Directix] useIntersect: IntersectionObserver not supported"),null),p&&p.observe(e),f):()=>{}},stop:f}},e.useKeyboardNavigation=function(e={}){const{nextKeys:n=sl,prevKeys:o=cl,selectKeys:r=ul,closeKeys:i=dl,homeKeys:l=pl,endKeys:a=ml,focusTrap:s=!1,returnFocus:c=!0,mode:u="linear",loop:d=!0,rovingTabindex:p=!1}=e,m=t.ref(0);let f=[],v=null,h=null;function g(){return f.filter(e=>!e.hasAttribute("disabled")&&"true"!==e.getAttribute("aria-disabled"))}function y(e){const t=g();if(0===t.length)return;let n=e;n<0?n=d?t.length-1:0:n>=t.length&&(n=d?0:t.length-1);const o=t[n];o&&(o.focus(),p&&t.forEach((e,t)=>{e.setAttribute("tabindex",t===n?"0":"-1")}),m.value=n)}function b(){y(m.value+1)}function w(){y(m.value-1)}function _(){y(0)}function x(){y(g().length-1)}function E(e){var t;if(!(e.altKey||e.ctrlKey||e.metaKey)){if(s&&"Tab"===e.key){if(0===g().length)return;return e.preventDefault(),void(e.shiftKey?w():b())}n.includes(e.key)?(e.preventDefault(),b()):o.includes(e.key)?(e.preventDefault(),w()):l.includes(e.key)?(e.preventDefault(),_()):a.includes(e.key)?(e.preventDefault(),x()):r.includes(e.key)?(e.preventDefault(),null==(t=f[m.value])||t.click()):i.includes(e.key)&&(e.preventDefault(),c&&v&&v.focus())}}return t.onUnmounted(()=>{null==h||h()}),{focusedIndex:t.readonly(m),bind:function(e,t){return null==h||h(),f=t,v=document.activeElement,e.addEventListener("keydown",E),p&&f.length>0&&f.forEach((e,t)=>{e.setAttribute("tabindex",0===t?"0":"-1")}),f.length>0&&y(0),h=()=>{e.removeEventListener("keydown",E),f=[]},h},focusIndex:y,focusNext:b,focusPrev:w,focusFirst:_,focusLast:x}},e.useLazy=function(e={}){const{src:n,placeholder:o,error:r,preload:i=0,onLoad:l,onError:a,attempt:s=1}=e,c=t.ref("pending"),u=t.ref(!1),d=t.ref(!1),p=t.ref(!1);let m=null,f=0,h=null;function g(){const e=t.unref(n);if(!e||!m)return;if("loading"===c.value)return;c.value="loading",u.value=!0;const o=new Image;o.onload=()=>{Ti(m,e),c.value="loaded",u.value=!1,d.value=!0,p.value=!1,null==m||m.classList.remove("v-lazy--loading"),null==m||m.classList.add("v-lazy--loaded"),null==l||l(m)},o.onerror=()=>{null==m||m.classList.remove("v-lazy--loading"),f++,f<s?setTimeout(()=>g(),1e3*f):(r&&m&&Ti(m,r),c.value="error",u.value=!1,p.value=!0,null==m||m.classList.add("v-lazy--error"),null==a||a(m,new Error("Failed to load image")))},m.classList.add("v-lazy--loading"),o.src=e}function b(){m&&(h&&h.unobserve(m),delete m.__lazyLoad,m.classList.remove("v-lazy","v-lazy--loading","v-lazy--loaded","v-lazy--error")),m=null}return t.onUnmounted(()=>{b()}),{state:t.readonly(c),isLoading:t.readonly(u),isLoaded:t.readonly(d),hasError:t.readonly(p),bind:function(e){return v()?(b(),m=e,f=0,c.value="pending",e.classList.add("v-lazy"),o&&Ti(e,o),e.__lazyLoad=g,y()?(h=function(e){return Si||(Si=new IntersectionObserver(e=>{e.forEach(e=>{if(e.isIntersecting){const t=e.target,n=t.__lazyLoad;n&&(n(),null==Si||Si.unobserve(t))}})},{rootMargin:`${e}px`}),Si)}(i),h.observe(e),b):(g(),b)):()=>{}},load:g,reset:function(){c.value="pending",u.value=!1,d.value=!1,p.value=!1,f=0}}},e.useLazyOptimized=function(e={}){const{threshold:n=0,rootMargin:o="0px",once:r=!0,onLoad:i}=e,l=t.shallowRef({loading:!1,loaded:!1,error:null,isVisible:!1});let a=null;function s(){a&&(a.disconnect(),a=null)}function c(){if(!l.value.loading&&!l.value.loaded){l.value=__spreadProps(__spreadValues({},l.value),{loading:!0,error:null});try{null==i||i({}),l.value=__spreadProps(__spreadValues({},l.value),{loading:!1,loaded:!0})}catch(e){l.value=__spreadProps(__spreadValues({},l.value),{loading:!1,error:e})}}}return{state:t.readonly(l),observe:function(e){s(),a=new IntersectionObserver(e=>{const t=e[0];(null==t?void 0:t.isIntersecting)&&(l.value=__spreadProps(__spreadValues({},l.value),{isVisible:!0}),c(),r&&s())},{threshold:n,rootMargin:o}),a.observe(e)},disconnect:s,load:c}},e.useLoading=function(e={}){const{initial:n=!1,text:o,loadingClass:r="v-loading",spinnerClass:i="v-loading__spinner",textClass:l="v-loading__text",spinner:a,background:s="rgba(255, 255, 255, 0.9)",lock:c=!1}=e,u=t.ref(t.unref(n));let d=null,p=null,m="",f="";function h(){d&&!p&&(p=function(e){const t=document.createElement("div");t.className=e.loadingClass||"v-loading",t.style.cssText=`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 1000;\n background: ${e.background||"rgba(255, 255, 255, 0.9)"};\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n `;const n=e.spinner||'\n<svg class="v-loading__circular" viewBox="25 25 50 50">\n <circle class="v-loading__path" cx="50" cy="50" r="20" fill="none" stroke-width="2" stroke-miterlimit="10"/>\n</svg>\n',o=document.createElement("div");if(o.className=e.spinnerClass||"v-loading__spinner",o.innerHTML=n,t.appendChild(o),e.text){const n=document.createElement("div");n.className=e.textClass||"v-loading__text",n.textContent=e.text,t.appendChild(n)}return t}({text:t.unref(o),loadingClass:r,spinnerClass:i,textClass:l,spinner:a,background:s}),d.appendChild(p),c&&(d.style.overflow="hidden"),d.classList.add("v-loading--active"))}function g(){d&&p&&(p.remove(),p=null,c&&(d.style.overflow=f),d.classList.remove("v-loading--active"))}function y(){g(),d&&(d.style.position=m,d.style.overflow=f),d=null}return t.watch(u,e=>{e?h():g()}),"object"==typeof o&&"value"in o&&t.watch(o,e=>{if(p){const t=p.querySelector(`.${l}`);t&&(t.textContent=e||"")}}),t.onUnmounted(()=>{y()}),{loading:u,start:function(){u.value=!0},stop:function(){u.value=!1},toggle:function(){u.value=!u.value},bind:function(e){return v()?(y(),d=e,m=e.style.position,f=e.style.overflow,"static"===getComputedStyle(e).position&&(e.style.position="relative"),u.value&&h(),y):()=>{}}}},e.useLongPress=function(e={}){const{duration:n=500,distance:o=10,onStart:r,onTrigger:i,onCancel:l,onTick:a,tickInterval:s=100,prevent:c=!0}=e,u=t.ref(!1);let d=null,p=null,m={x:0,y:0},f=!1;function h(e){if(!v())return;c&&e.preventDefault(),b();const o=ie(e);if(m={x:o.x,y:o.y},f=!0,u.value=!0,null==r||r(e),a){let e=t.unref(n);p=setInterval(()=>{e-=s,null==a||a(Math.max(0,e))},s)}d=setTimeout(()=>{b(),u.value=!1,null==i||i(e)},t.unref(n))}function g(e){u.value&&(b(),f=!1,u.value=!1,null==l||l(e))}function y(e){if(!u.value||!f)return;const n=ie(e);var r,i;(r=m,i={x:n.x,y:n.y},Math.sqrt(__pow(i.x-r.x,2)+__pow(i.y-r.y,2)))>t.unref(o)&&g(e)}function b(){d&&(clearTimeout(d),d=null),p&&(clearInterval(p),p=null)}return t.onUnmounted(()=>{b()}),{isPressing:u,start:h,stop:g,bind:function(e){return e.addEventListener("mousedown",h),e.addEventListener("mouseup",g),e.addEventListener("mouseleave",g),e.addEventListener("mousemove",y),e.addEventListener("touchstart",h,{passive:!c}),e.addEventListener("touchend",g),e.addEventListener("touchcancel",g),e.addEventListener("touchmove",y,{passive:!0}),()=>{e.removeEventListener("mousedown",h),e.removeEventListener("mouseup",g),e.removeEventListener("mouseleave",g),e.removeEventListener("mousemove",y),e.removeEventListener("touchstart",h),e.removeEventListener("touchend",g),e.removeEventListener("touchcancel",g),e.removeEventListener("touchmove",y),b()}}}},e.useLottie=function(e){const n=t.ref("stopped"),o=t.shallowRef(null);let r=null,i=null;function l(){return __async(this,null,function*(){const r=yield function(){return __async(this,null,function*(){if(window.lottie)return window.lottie;try{const e=yield import("lottie-web");return window.lottie=e.default||e,e.default||e}catch(e){return console.warn("[Directix] useLottie: lottie-web not found. Install: npm install lottie-web"),null}})}();if(!r||!i)return;const l=t.unref(e.animationData),a={container:i,renderer:e.renderer||"svg",loop:!1!==e.loop,autoplay:!1!==e.autoplay};"string"==typeof l&&l.startsWith("http")?a.path=l:a.animationData=l,o.value=r.loadAnimation(a),void 0!==e.speed&&o.value.setSpeed(t.unref(e.speed)),void 0!==e.direction&&o.value.setDirection(e.direction),n.value=!1!==e.autoplay?"playing":"stopped",o.value.addEventListener("DOMLoaded",()=>{var t;null==(t=e.onReady)||t.call(e,o.value)}),o.value.addEventListener("complete",()=>{var t;n.value="stopped",null==(t=e.onComplete)||t.call(e)}),o.value.addEventListener("loopComplete",()=>{var t;null==(t=e.onLoopComplete)||t.call(e)})})}function a(){o.value&&(o.value.destroy(),o.value=null),i&&i.parentNode&&i.parentNode.removeChild(i),r&&r.classList.remove("v-lottie-container"),i=null,r=null,n.value="stopped"}return t.onUnmounted(()=>{a()}),{state:n,animation:o,play:function(){var e;null==(e=o.value)||e.play(),n.value="playing"},pause:function(){var e;null==(e=o.value)||e.pause(),n.value="paused"},stop:function(){var e;null==(e=o.value)||e.stop(),n.value="stopped"},setSpeed:function(e){var t;null==(t=o.value)||t.setSpeed(e)},setDirection:function(e){var t;null==(t=o.value)||t.setDirection(e)},goToAndPlay:function(e,t=!0){var r;null==(r=o.value)||r.goToAndPlay(e,t),n.value="playing"},goToAndStop:function(e,t=!0){var r;null==(r=o.value)||r.goToAndStop(e,t),n.value="paused"},bind:function(n){return v()?(a(),r=n,i=document.createElement("div"),i.className="v-lottie",i.style.cssText="width: 100%; height: 100%;",n.appendChild(i),n.classList.add("v-lottie-container"),l(),"number"!=typeof e.speed&&e.speed&&t.watch(e.speed,e=>{var t;null==(t=o.value)||t.setSpeed(e)}),a):()=>{}}}},e.useLowercase=function(e){const{text:n,first:o=!1}=e,r=t.ref(t.unref(n)),i=t.ref("");return t.watch(()=>[t.unref(n),t.unref(o)],()=>function(){const e=t.unref(n),l=t.unref(o);r.value=e,i.value=Ci(e,l)}(),{immediate:!0}),{transformed:i,original:r}},e.useMask=function(e){const{mask:n,placeholder:o="_",showPlaceholder:r=!0,showMaskOnBlur:i=!1,clearIncomplete:l=!1,disabled:a=!1,onChange:s,onComplete:c}=e;let u=null,d=null,p=null,m=null;function f(){return function(e,t){return[...e].map(e=>{const n=Di[e];return n?{pattern:n,placeholder:t,isLiteral:!1}:{pattern:new RegExp(`\\${e}`),placeholder:e,isLiteral:!0}})}(t.unref(n),o)}function h(e,t,n){let r="",i=0;for(const l of t){if(i>=e.length){r+=l.isLiteral?l.placeholder:n?o:"";continue}const t=e[i];l.isLiteral?(t===l.placeholder&&i++,r+=l.placeholder):l.pattern.test(t)?(r+=t,i++):t===o?(r+=n?o:"",i++):i++}return r}function g(e,t){let n="";for(let r=0;r<e.length&&r<t.length;r++)t[r].isLiteral||e[r]===o||(n+=e[r]);return n}function y(e,t){for(let n=0;n<t.length;n++)if(!t[n].isLiteral&&(n>=e.length||e[n]===o))return!1;return!0}function b(e,t){let n=t;for(;n<e.length&&e[n].isLiteral;)n++;return Math.min(n,e.length)}function w(e){const t=e.target,n=f(),o=t.value,i=t.selectionStart||0,l=h(o,n,r);if(l!==o)return t.value=l,t.setSelectionRange(b(n,i),b(n,i)),void t.dispatchEvent(new Event("input",{bubbles:!0}));null==s||s(l,g(l,n)),y(l,n)&&(null==c||c(l))}function _(){if(!u)return;const e=f();!u.value&&r&&(u.value=h("",e,!0))}function x(){if(!u)return;const e=f();i||y(u.value,e)||!l||(u.value="")}function E(){u&&(d&&u.removeEventListener("input",d),p&&u.removeEventListener("focus",p),m&&u.removeEventListener("blur",m)),u=null,d=null,p=null,m=null}return t.onUnmounted(()=>{E()}),{getFormattedValue:e=>h(e,f(),r),getRawValue:e=>g(e,f()),isComplete:e=>y(e,f()),bind:function(e){if(!v())return()=>{};if(E(),u=e,d=w,p=_,m=x,e.addEventListener("input",d),e.addEventListener("focus",p),e.addEventListener("blur",m),e.value){const t=f();e.value=h(e.value,t,r)}return E}}},e.useMoney=function(e){const{value:n,symbol:o="$",symbolPosition:r="before",precision:i=2,separator:l=",",decimal:a="."}=e,s=t.ref(t.unref(n)),c=t.computed(()=>Mi(s.value,{precision:t.unref(i),separator:t.unref(l),decimal:t.unref(a),symbol:t.unref(o),symbolPosition:t.unref(r)}));return t.watch(()=>t.unref(n),e=>{s.value=e}),{value:s,formatted:c,parse:function(e){return Pi(e,{decimal:t.unref(a),symbol:t.unref(o)})}}},e.useMutation=function(e){const{handler:n,attributes:o=!1,attributeFilter:r,childList:i=!0,subtree:l=!1,characterData:a=!1,attributeOldValue:s=!1,characterDataOldValue:c=!1,disabled:u=!1}=e;let d=null,p=null;function m(){d&&p&&!t.unref(u)&&p.observe(d,{attributes:o,attributeFilter:r,childList:i,subtree:l,characterData:a,attributeOldValue:s,characterDataOldValue:c})}function f(){p&&p.disconnect()}return t.onUnmounted(()=>{f(),p=null,d=null}),{bind:function(e){return v()?(f(),d=e,p=v()&&_()?new MutationObserver((e,o)=>{t.unref(u)||n(e,o)}):(console.warn("[Directix] useMutation: MutationObserver not supported"),null),p&&!t.unref(u)&&m(),f):()=>{}},stop:f,start:m}},e.useNumber=function(e){const{value:n,precision:o=0,separator:r=",",decimal:i=".",prefix:l="",suffix:a=""}=e,s=t.ref(t.unref(n)),c=t.computed(()=>$i(s.value,{precision:t.unref(o),separator:t.unref(r),decimal:t.unref(i),prefix:t.unref(l),suffix:t.unref(a)}));return t.watch(()=>t.unref(n),e=>{s.value=e}),{value:s,formatted:c,parse:function(e){return Ii(e,{decimal:t.unref(i),prefix:t.unref(l),suffix:t.unref(a)})}}},e.usePWA=function(e={}){const{serviceWorker:n={}}=e,o=t.ref(!v()||navigator.onLine),r=t.ref(!1),i=t.ref(!1);let l=null;function a(){o.value=!0}function s(){o.value=!1}function c(){return __async(this,null,function*(){if(v()&&"serviceWorker"in navigator&&n.enabled)try{l=yield navigator.serviceWorker.register(n.path||"/sw.js",{scope:n.scope||"/"}),r.value=!0,l.addEventListener("updatefound",()=>{const e=null==l?void 0:l.installing;e&&e.addEventListener("statechange",()=>{"installed"===e.state&&navigator.serviceWorker.controller&&(i.value=!0)})})}catch(e){console.warn("[Directix] Service Worker registration failed:",e)}})}function u(){return __async(this,null,function*(){if(l)try{yield l.unregister(),r.value=!1,l=null}catch(e){console.warn("[Directix] Service Worker unregistration failed:",e)}})}return t.onUnmounted(()=>{u()}),{isOnline:t.readonly(o),isRegistered:t.readonly(r),needsUpdate:t.readonly(i),register:c,update:function(){return __async(this,null,function*(){if(l)try{yield l.update(),l.waiting&&l.waiting.postMessage({type:"SKIP_WAITING"})}catch(e){console.warn("[Directix] Service Worker update failed:",e)}})},unregister:u,init:function(){return v()?(window.addEventListener("online",a),window.addEventListener("offline",s),c(),()=>{window.removeEventListener("online",a),window.removeEventListener("offline",s)}):()=>{}}}},e.usePan=function(e={}){const{onStart:n,onPan:o,onEnd:r,threshold:i=10,direction:l="all",preventDefault:a=!0,pointers:s=["touch","mouse"]}=e,c=t.ref(!1),u=t.ref(null),d=t.ref(0);let p=null,m=0,f=0,h=0,g=0,y=0,b={};function w(e,t=!1,n=!1){const o=h-m,r=g-f,i=Math.sqrt(o*o+r*r),l=Date.now()-y;return{direction:Ai(o,r),deltaX:o,deltaY:r,distance:i,x:h,y:g,startX:m,startY:f,isPanning:c.value,isFirst:t,isFinal:n,velocity:i/(l||1)}}function _(e){const t=Oi(e);m=t.x,f=t.y,h=t.x,g=t.y,c.value=!1,y=Date.now(),a&&e.preventDefault()}function x(e){const t=e,r=Oi(t);h=r.x,g=r.y;const s=h-m,p=g-f,v=Math.sqrt(s*s+p*p);if(!c.value&&v<i)return;const y=Ai(s,p);if(!function(e,t){return!t||"all"===t||("horizontal"===t?"left"===e||"right"===e:"up"===e||"down"===e)}(y,l))return;a&&e.preventDefault();const b=c.value;c.value=!0,u.value=y,d.value=v;const _=w(0,!b);b||null==n||n(_),null==o||o(_)}function E(e){if(!c.value)return;const t=w(0,!1,!0);null==r||r(t),c.value=!1,u.value=null,d.value=0}function L(){p&&(Object.entries(b).forEach(([e,t])=>{!e.startsWith("mouse")||"mousemove"!==e&&"mouseup"!==e?null==p||p.removeEventListener(e,t):document.removeEventListener(e,t)}),p.classList.remove("v-pan")),p=null,b={}}return t.onUnmounted(()=>{L()}),{isPanning:c,direction:u,distance:d,bind:function(e){return v()?(L(),p=e,s.includes("touch")&&(b.touchstart=_,b.touchmove=x,b.touchend=E,b.touchcancel=E,e.addEventListener("touchstart",b.touchstart,{passive:!1}),e.addEventListener("touchmove",b.touchmove,{passive:!1}),e.addEventListener("touchend",b.touchend),e.addEventListener("touchcancel",b.touchcancel)),s.includes("mouse")&&(b.mousedown=_,b.mousemove=x,b.mouseup=E,e.addEventListener("mousedown",b.mousedown),document.addEventListener("mousemove",b.mousemove),document.addEventListener("mouseup",b.mouseup)),e.classList.add("v-pan"),L):()=>{}}}},e.useParallax=function(e={}){const n=t.ref(0),o=t.ref(!1);let r=null,i=null,l=null,a=!1;function s(){var i;!t.unref(e.enabled)||(i=e.mobileBreakpoint)&&window.innerWidth<i||(a||(a=!0,requestAnimationFrame(()=>{if(!r)return;const i=r.getBoundingClientRect(),l=window.innerHeight;if(o.value=i.top<l&&i.bottom>0,o.value){const o=window.scrollY;let l=(o-(i.top+o))*(t.unref(e.speed)||.5);e.reverse&&(l=-l),n.value=l,e.transform?r.style.transform=e.transform(l,r):e.horizontal?r.style.transform=`translateX(${l}px)`:r.style.transform=`translateY(${l}px)`}a=!1})))}function c(){l&&i&&(l.removeEventListener("scroll",i),window.removeEventListener("resize",i)),r&&(r.style.willChange="",r.style.transform="",r.classList.remove("v-parallax")),r=null,i=null,l=null}return t.onUnmounted(()=>{c()}),{offset:n,isActive:o,bind:function(e){return v()?(c(),r=e,e.style.willChange="transform",i=s,l=function(e){let t=e.parentElement;for(;t;){const{overflow:e,overflowX:n,overflowY:o}=getComputedStyle(t);if(/(auto|scroll)/.test(e+n+o))return t;t=t.parentElement}return window}(e),l.addEventListener("scroll",i,{passive:!0}),window.addEventListener("resize",i,{passive:!0}),s(),e.classList.add("v-parallax"),c):()=>{}}}},e.usePermission=function(e){const{value:n,mode:o="some",check:r,getPermissions:i,getRoles:l,roleMap:a={}}=e,s=t.ref(!1);function c(){s.value=function(){if(r)return r(t.unref(n),t.unref(o));if(!i)return console.warn("[Directix] usePermission: getPermissions function is required"),!0;const e=i(),s=(null==l?void 0:l())||[],c=Array.isArray(t.unref(n))?t.unref(n):[t.unref(n)];function u(t){if(t in a)return s.includes(t);if(zi(t,e))return!0;for(const e of s)if(zi(t,a[e]||[]))return!0;return!1}return"every"===t.unref(o)?c.every(u):c.some(u)}()}return t.watch(()=>t.unref(n),()=>c(),{immediate:!0}),"object"==typeof o&&"value"in o&&t.watch(o,()=>c()),{granted:t.readonly(s),recheck:c}},e.usePinch=function(e={}){const{onStart:n,onPinch:o,onEnd:r,minScale:i,maxScale:l,enableTransform:a=!1}=e,s=t.ref(!1),c=t.ref(1);let u=null,d=0,p=0,m=1,f="",h={};function g(e,t=!1,n=!1){const o=0===(r=e.touches).length?{x:0,y:0}:r.length<2?{x:r[0].clientX,y:r[0].clientY}:{x:(r[0].clientX+r[1].clientX)/2,y:(r[0].clientY+r[1].clientY)/2};var r;return{scale:d>0?p/d:1,distance:p,initialDistance:d,centerX:o.x,centerY:o.y,isPinching:s.value,isFirst:t,isFinal:n}}function y(e){const t=e;if(2===t.touches.length){if(d=Fi(t.touches),p=d,s.value=!1,a&&u){const e=getComputedStyle(u).transform,t=new DOMMatrix(e);m=t.a,f=u.style.transition,u.style.transition="none"}e.preventDefault()}}function b(e){const t=e;if(2!==t.touches.length)return;if(p=Fi(t.touches),d<=0)return;const r=p/d;if(void 0!==i&&r<i)return;if(void 0!==l&&r>l)return;e.preventDefault();const f=s.value;s.value=!0,c.value=r;const v=g(t,!f);f||null==n||n(v),a&&u&&(u.style.transform=`scale(${m*r})`),null==o||o(v)}function w(e){if(!s.value)return;a&&u&&(u.style.transition=f);const t=g({touches:{length:0,item:()=>null}},!1,!0);null==r||r(t),s.value=!1,d=0,p=0}function _(){u&&(Object.entries(h).forEach(([e,t])=>{null==u||u.removeEventListener(e,t)}),u.classList.remove("v-pinch")),u=null,h={}}return t.onUnmounted(()=>{_()}),{isPinching:s,scale:c,bind:function(e){return v()?(_(),u=e,h={touchstart:y,touchmove:b,touchend:w,touchcancel:w},e.addEventListener("touchstart",h.touchstart,{passive:!1}),e.addEventListener("touchmove",h.touchmove,{passive:!1}),e.addEventListener("touchend",h.touchend),e.addEventListener("touchcancel",h.touchcancel),e.classList.add("v-pinch"),_):()=>{}}}},e.usePrint=Vi,e.useProgress=function(e={}){var n,o,r;const i=t.ref(null!=(n=t.unref(e.value))?n:0),l=null!=(o=e.max)?o:100,a=null!=(r=e.min)?r:0,s=t.computed(()=>(Math.max(a,Math.min(l,i.value))-a)/(l-a)*100);let c=null,u=null,d=null,p=null;function m(){if(!c)return;!function(){if(!v())return;const e="v-progress-styles";if(document.getElementById(e))return;const t=document.createElement("style");t.id=e,t.textContent="\n @keyframes v-progress-stripes {\n from { background-position: 1rem 0; }\n to { background-position: 0 0; }\n }\n @keyframes v-progress-indeterminate {\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(400%); }\n }\n .v-progress--indeterminate {\n position: absolute;\n width: 30% !important;\n }\n ",document.head.appendChild(t)}();const n=e.height||4,o=e.color||"#42b883",r=e.backgroundColor||"rgba(0, 0, 0, 0.1)",i=e.duration||300;u=document.createElement("div"),u.className="v-progress",u.style.cssText=`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: ${n}px;\n background: ${r};\n overflow: hidden;\n z-index: 1000;\n `,d=document.createElement("div"),d.className="v-progress__bar";let l=`\n height: 100%;\n background: ${o};\n transition: width ${i}ms ease;\n width: ${s.value}%;\n `;e.striped&&(l+="\n background-image: linear-gradient(\n 45deg,\n rgba(255, 255, 255, 0.15) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.15) 50%,\n rgba(255, 255, 255, 0.15) 75%,\n transparent 75%,\n transparent\n );\n background-size: 1rem 1rem;\n "),d.style.cssText=l,t.unref(e.indeterminate)?(d.classList.add("v-progress--indeterminate"),d.style.width="30%",d.style.animation="v-progress-indeterminate 1.5s infinite linear"):e.animated&&(d.style.animation="v-progress-stripes 1s linear infinite"),u.appendChild(d),e.showText&&(p=document.createElement("span"),p.className="v-progress__text",p.style.cssText=`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: ${Math.max(n-2,10)}px;\n color: #fff;\n text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);\n `,p.textContent=`${Math.round(s.value)}%`,u.appendChild(p)),c.appendChild(u)}function f(){var n,o;d&&(t.unref(e.indeterminate)||(d.style.width=`${s.value}%`,p&&(p.textContent=`${Math.round(s.value)}%`),null==(n=e.onChange)||n.call(e,i.value,s.value),s.value>=100&&(null==(o=e.onComplete)||o.call(e))))}function h(e){i.value=Math.max(a,Math.min(l,e)),f()}function g(){u&&u.parentNode&&u.parentNode.removeChild(u),c&&c.classList.remove("v-progress-container"),u=null,d=null,p=null,c=null}return t.onUnmounted(()=>{g()}),{value:i,percent:s,setValue:h,increment:function(e=1){h(i.value+e)},decrement:function(e=1){h(i.value-e)},reset:function(){h(a)},bind:function(n){return v()?(g(),c=n,"static"===getComputedStyle(n).position&&(n.style.position="relative"),m(),n.classList.add("v-progress-container"),"boolean"!=typeof e.indeterminate&&e.indeterminate&&t.watch(e.indeterminate,t=>{d&&(t?(d.classList.add("v-progress--indeterminate"),d.style.width="30%",d.style.animation="v-progress-indeterminate 1.5s infinite linear"):(d.classList.remove("v-progress--indeterminate"),d.style.animation=e.animated?"v-progress-stripes 1s linear infinite":"",f()))}),g):()=>{}}}},e.usePullRefresh=function(e){const{handler:n,distance:o=60,maxDistance:r=100,disabled:i=!1,successDuration:l=500,errorDuration:a=1e3}=e,s=t.ref("idle"),c=t.ref(0),u=t.ref(!1),d=t.ref(null);let p=0,m=0;const f=()=>t.unref(o),v=()=>t.unref(i);function h(){s.value="idle",c.value=0,u.value=!1}function g(){return __async(this,null,function*(){s.value="loading";try{yield n(),s.value="success",yield Ni(t.unref(l))}catch(e){s.value="error",yield Ni(t.unref(a))}finally{h()}})}return t.onUnmounted(()=>{h()}),{state:s,distance:c,isPulling:u,events:{touchstart:function(e){if(v()||"loading"===s.value)return;const t=d.value;t&&t.scrollTop>0||(u.value=!0,p=e.touches[0].clientY,m=p,s.value="idle")},touchmove:function(e){if(!u.value||v()||"loading"===s.value)return;m=e.touches[0].clientY;const n=m-p;if(n<=0)return c.value=0,void(s.value="idle");e.preventDefault();const o=Math.min(.5*n,t.unref(r));c.value=o;const i=o/f();s.value=i>=1?"ready":"pulling"},touchend:function(){u.value&&!v()&&(u.value=!1,"ready"===s.value&&c.value>=f()?g():(c.value=0,h()))}},containerRef:d,refresh:g}},e.useResize=function(e={}){const{debounce:n=0,box:o="content-box",onResize:r}=e,i=t.ref(0),l=t.ref(0);let a=null,s=null,c=null;function u(e){const o=t.unref(n);function a(){i.value=e.contentRect.width,l.value=e.contentRect.height,null==r||r({width:e.contentRect.width,height:e.contentRect.height,contentRect:e.contentRect})}o&&o>0?(s&&clearTimeout(s),s=setTimeout(a,o)):a()}function d(){a&&(a.disconnect(),a=null),c&&(c.remove(),c=null),s&&(clearTimeout(s),s=null)}return t.onUnmounted(()=>{d()}),{width:t.readonly(i),height:t.readonly(l),bind:function(e){if(!v())return()=>{};d();const t=e.getBoundingClientRect();if(i.value=t.width,l.value=t.height,b())v()&&b()&&(a=new ResizeObserver(e=>{for(const t of e)u(t)})),null==a||a.observe(e,{box:o});else{c=document.createElement("iframe"),c.style.cssText="\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: none;\n pointer-events: none;\n opacity: 0;\n ";"static"===getComputedStyle(e).position&&(e.style.position="relative"),e.appendChild(c);const t=c.contentWindow;t&&t.addEventListener("resize",()=>{u({contentRect:e.getBoundingClientRect()})})}return d},stop:d}},e.useRipple=function(e={}){const{color:n="currentColor",duration:o=600,disabled:r=!1,initialScale:i=0,finalScale:l=2}=e;let a=null,s=null;function c(e){if(t.unref(r))return;const s=t.unref(n),c=t.unref(o),u=Ui(e.clientX-a.getBoundingClientRect().left,e.clientY-a.getBoundingClientRect().top,a,s,c,i,l);a.appendChild(u)}function u(){a&&s&&(a.removeEventListener("click",s),a.classList.remove("v-ripple")),a=null,s=null}return t.onUnmounted(()=>{u()}),{bind:function(e){if(!v())return()=>{};u(),a=e;const t=getComputedStyle(e);return"static"===t.position&&(e.style.position="relative"),"visible"===t.overflow&&(e.style.overflow="hidden"),e.classList.add("v-ripple"),s=c,e.addEventListener("click",s),u},trigger:function(e){var s,c;if(!a||t.unref(r))return;const u=a.getBoundingClientRect(),d=Ui(null!=(s=null==e?void 0:e.x)?s:u.width/2,null!=(c=null==e?void 0:e.y)?c:u.height/2,a,t.unref(n),t.unref(o),i,l);a.appendChild(d)}}},e.useRotateGesture=function(e={}){const{onStart:n,onRotate:o,onEnd:r,enableTransform:i=!1}=e,l=t.ref(!1),a=t.ref(0);let s=null,c=0,u=0,d=0,p="",m={};function f(e,t=!1,n=!1){const o=0===(r=e.touches).length?{x:0,y:0}:r.length<2?{x:r[0].clientX,y:r[0].clientY}:{x:(r[0].clientX+r[1].clientX)/2,y:(r[0].clientY+r[1].clientY)/2};var r;const i=u*(Math.PI/180);return{angle:u,radians:i,rotation:u-c,centerX:o.x,centerY:o.y,isRotating:l.value,isFirst:t,isFinal:n}}function h(e){const t=e;if(2===t.touches.length){if(c=Xi(t.touches),u=c,l.value=!1,i&&s){const e=getComputedStyle(s).transform,t=new DOMMatrix(e);d=Math.atan2(t.b,t.a)*(180/Math.PI),p=s.style.transition,s.style.transition="none"}e.preventDefault()}}function g(e){const t=e;if(2!==t.touches.length)return;u=Xi(t.touches),e.preventDefault();const r=l.value;l.value=!0,a.value=u;const p=f(t,!r);if(r||null==n||n(p),i&&s){const e=u-c;s.style.transform=`rotate(${d+e}deg)`}null==o||o(p)}function y(e){if(!l.value)return;i&&s&&(s.style.transition=p);const t=f({touches:{length:0,item:()=>null}},!1,!0);null==r||r(t),l.value=!1,c=0,u=0}function b(){s&&(Object.entries(m).forEach(([e,t])=>{null==s||s.removeEventListener(e,t)}),s.classList.remove("v-rotate-gesture")),s=null,m={}}return t.onUnmounted(()=>{b()}),{isRotating:l,angle:a,bind:function(e){return v()?(b(),s=e,m={touchstart:h,touchmove:g,touchend:y,touchcancel:y},e.addEventListener("touchstart",m.touchstart,{passive:!1}),e.addEventListener("touchmove",m.touchmove,{passive:!1}),e.addEventListener("touchend",m.touchend),e.addEventListener("touchcancel",m.touchcancel),e.classList.add("v-rotate-gesture"),b):()=>{}}}},e.useSanitize=function(e={}){const{allowedTags:n=Bi,allowedAttributes:o=ji,allowDataUrls:r=!1,allowStyles:i=!1,allowClass:l=!1,allowId:a=!1,handler:s}=e;function c(e){var t;if(s)return s(e);if(!v())return e;const c=document.createElement("div");c.innerHTML=e;for(const e of Wi){const n=c.getElementsByTagName(e);for(;n.length>0;)null==(t=n[0].parentNode)||t.removeChild(n[0])}const u=e=>{var t;const s=e.tagName.toLowerCase();if(!n.includes(s)){const n=document.createTextNode(e.textContent||"");return void(null==(t=e.parentNode)||t.replaceChild(n,e))}for(const t of qi)e.removeAttribute(t);const c=e.getAttribute("href");if(c&&c.toLowerCase().startsWith("javascript:")&&e.removeAttribute("href"),!r){const t=e.getAttribute("src");t&&t.toLowerCase().startsWith("data:")&&e.removeAttribute("src")}const d=Array.from(e.attributes);for(const t of d){const n=o.includes(t.name.toLowerCase()),r="class"===t.name&&l,s="id"===t.name&&a,c="style"===t.name&&i;n||r||s||c||e.removeAttribute(t.name)}for(const t of Array.from(e.children))u(t)};for(const e of Array.from(c.children))u(e);return c.innerHTML}return t.onUnmounted(()=>{}),{sanitize:c,bind:function(e){if(!v())return()=>{};const t=e.innerHTML;return t&&(e.innerHTML=c(t)),()=>{}}}},e.useScroll=function(e={}){const{throttle:n=0,passive:o=!0}=e,r=t.ref(0),i=t.ref(0),l=t.ref(0),a=t.ref(0),s=t.ref(0),c=t.ref(0),u=t.ref(!1);let d=null,p=0,m=0,f=null,h=null,g=null;const y=t.computed(()=>({scrollLeft:r.value,scrollTop:i.value,scrollLeftMax:0,scrollTopMax:0,progressX:l.value,progressY:a.value,directionX:s.value,directionY:c.value}));function b(e){if(!d)return;const o=t.unref(n);function f(){const e=Ki(d,p,m);r.value=e.scrollLeft,i.value=e.scrollTop,l.value=e.progressX,a.value=e.progressY,s.value=e.directionX,c.value=e.directionY,p=e.scrollLeft,m=e.scrollTop,u.value=!0,g&&clearTimeout(g),g=setTimeout(()=>{u.value=!1},150)}o&&o>0?h||(h=setTimeout(()=>{f(),h=null},o)):f()}function w(){d&&f&&d.removeEventListener("scroll",f),h&&(clearTimeout(h),h=null),g&&(clearTimeout(g),g=null),d=null,f=null}return t.onUnmounted(()=>{w()}),{scrollLeft:t.readonly(r),scrollTop:t.readonly(i),progressX:t.readonly(l),progressY:t.readonly(a),directionX:t.readonly(s),directionY:t.readonly(c),isScrolling:t.readonly(u),info:t.readonly(y),bind:function(e){if(!v())return()=>{};w(),d=e||window;const t=Ki(d,0,0);return r.value=t.scrollLeft,i.value=t.scrollTop,l.value=t.progressX,a.value=t.progressY,p=t.scrollLeft,m=t.scrollTop,f=b,d.addEventListener("scroll",f,{passive:o}),w},stop:w,scrollTo:function(e){if(!d)return;const{top:t,left:n,behavior:o="smooth"}=e;if(d===window)window.scrollTo({top:t,left:n,behavior:o});else{const e=d;void 0!==t&&(e.scrollTop=t),void 0!==n&&(e.scrollLeft=n)}}}},e.useSkeleton=function(e={}){var n;const o=t.ref(null==(n=t.unref(e.loading))||n);let r=null,i=null,l="";function a(){var t,n,a;r&&(o.value?(l=r.style.display||getComputedStyle(r).display,r.style.display="none",i||(i=function(e){const t=document.createElement("div");t.className=`v-skeleton ${e.class||""}`;const n="number"==typeof e.width?`${e.width}px`:e.width||"100%",o="number"==typeof e.height?`${e.height}px`:e.height||"1em",r="number"==typeof e.radius?`${e.radius}px`:e.radius||"4px";let i="";return i="wave"===e.animation?`\n background: linear-gradient(90deg, ${e.color||"#e8e8e8"} 25%, ${e.animationColor||"#f0f0f0"} 50%, ${e.color||"#e8e8e8"} 75%);\n background-size: 200% 100%;\n animation: skeleton-wave 1.5s ease-in-out infinite;\n `:"pulse"===e.animation?`\n background: ${e.color||"#e8e8e8"};\n animation: skeleton-pulse 1.5s ease-in-out infinite;\n `:`background: ${e.color||"#e8e8e8"};`,t.style.cssText=`\n width: ${n};\n height: ${o};\n border-radius: ${r};\n ${i}\n `,t}(__spreadProps(__spreadValues({},e),{width:null!=(t=e.width)?t:r.offsetWidth,height:null!=(n=e.height)?n:r.offsetHeight}))),i.parentNode||null==(a=r.parentNode)||a.insertBefore(i,r.nextSibling)):(r.style.display=l,i&&i.parentNode&&i.parentNode.removeChild(i)))}function s(){i&&i.parentNode&&i.parentNode.removeChild(i),r&&(r.style.display=l,r.classList.remove("v-skeleton-container")),i=null,r=null}return t.onUnmounted(()=>{s()}),{isLoading:o,show:function(){o.value=!0,a()},hide:function(){o.value=!1,a()},toggle:function(){o.value=!o.value,a()},bind:function(n){return v()?(function(){if(!v())return;const e="v-skeleton-styles";if(document.getElementById(e))return;const t=document.createElement("style");t.id=e,t.textContent="\n @keyframes skeleton-wave {\n 0% { background-position: 200% 0; }\n 100% { background-position: -200% 0; }\n }\n @keyframes skeleton-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.5; }\n }\n ",document.head.appendChild(t)}(),s(),r=n,n.classList.add("v-skeleton-container"),o.value&&a(),e.loading&&"boolean"!=typeof e.loading&&t.watch(e.loading,()=>{var n;o.value=null!=(n=t.unref(e.loading))&&n,a()}),s):()=>{}}}},e.useSticky=function(e={}){const{offsetTop:n=0,onStick:o,disabled:r=!1}=e,i=t.ref(!1);let l=null,a=null,s=null,c=null,u=null;function d(){var e;if(!l||t.unref(r))return;const s=(a===window?document.documentElement:a).getBoundingClientRect(),d=l.getBoundingClientRect(),p=t.unref(n),m=d.top<=p&&s.top<=p;m!==i.value&&(i.value=m,m?(c||(c=document.createElement("div"),c.style.width=`${d.width}px`,c.style.height=`${d.height}px`,null==(e=l.parentNode)||e.insertBefore(c,l)),l.style.position="fixed",l.style.top=`${p}px`,l.style.width=`${d.width}px`,l.classList.add("v-sticky--active")):(c&&(c.remove(),c=null),u&&(l.style.position=u.position,l.style.top=u.top,l.style.width=u.width),l.classList.remove("v-sticky--active")),null==o||o(m))}function p(){a&&s&&a.removeEventListener("scroll",s),l&&(u&&(l.style.position=u.position,l.style.top=u.top,l.style.width=u.width),l.classList.remove("v-sticky","v-sticky--active")),c&&(c.remove(),c=null),a=null,s=null,l=null,i.value=!1}return t.onUnmounted(()=>{p()}),{isSticky:t.readonly(i),bind:function(e){return v()?(p(),l=e,u={position:e.style.position,top:e.style.top,width:e.style.width},e.classList.add("v-sticky"),a=Q(e),s=d,a.addEventListener("scroll",s,{passive:!0}),d(),p):()=>{}},stop:p}},e.useSuspenseDirective=function(e){const{loader:n,onSuccess:o,onError:r}=e,i=t.shallowRef({loading:!1,error:null,data:null});function l(){return __async(this,null,function*(){if(!i.value.loading){i.value=__spreadProps(__spreadValues({},i.value),{loading:!0,error:null});try{const e=yield n();i.value={loading:!1,error:null,data:e},null==o||o(e)}catch(e){i.value=__spreadProps(__spreadValues({},i.value),{loading:!1,error:e}),null==r||r(e)}}})}return{state:t.readonly(i),load:l,retry:function(){return __async(this,null,function*(){i.value=__spreadProps(__spreadValues({},i.value),{error:null}),yield l()})}}},e.useSwipe=function(e={}){const{handler:n,threshold:o=30,maxTime:r=500,directions:i=Gi,preventScrollOnSwipe:l=!0,mouse:a=!0,onLeft:s,onRight:c,onUp:u,onDown:d}=e,p=t.ref(null),m=t.ref(0),f=t.ref(0),h=t.ref(!1);let g=null,y=0,b=0,w=0;function _(e,a,v,h){var y;const b=t.unref(o);if(v>t.unref(r))return;if(Math.max(Math.abs(e),Math.abs(a))<b)return;const w=function(e,t,n){if(Math.abs(e)>Math.abs(t)){const t=e>0?"right":"left";return n.includes(t)?t:null}{const e=t>0?"down":"up";return n.includes(e)?e:null}}(e,a,i);if(!w)return;p.value=w,m.value=e,f.value=a,l&&h.cancelable&&h.preventDefault(),null==n||n(w,h);const _={left:s,right:c,up:u,down:d};null==(y=_[w])||y.call(_),null==g||g.dispatchEvent(new CustomEvent("swipe",{detail:{direction:w,deltaX:e,deltaY:a,deltaTime:v}}))}function x(e,t){y=e,b=t,w=Date.now(),h.value=!0,p.value=null,m.value=0,f.value=0}function E(e,t,n){if(!h.value)return;h.value=!1;_(e-y,t-b,Date.now()-w,n)}function L(e){x(e.touches[0].clientX,e.touches[0].clientY)}function k(e){h.value&&l&&e.preventDefault()}function S(e){const t=e.changedTouches[0];E(t.clientX,t.clientY,e)}function T(e){x(e.clientX,e.clientY)}function C(e){E(e.clientX,e.clientY,e)}function D(e){h.value&&E(e.clientX,e.clientY,e)}function M(){g&&(g.removeEventListener("touchstart",L),g.removeEventListener("touchmove",k),g.removeEventListener("touchend",S),g.removeEventListener("touchcancel",S),t.unref(a)&&(g.removeEventListener("mousedown",T),g.removeEventListener("mouseup",C),g.removeEventListener("mouseleave",D)),g=null)}return t.onUnmounted(()=>{M()}),{direction:t.readonly(p),lengthX:t.readonly(m),lengthY:t.readonly(f),isSwiping:t.readonly(h),bind:function(e){return v()?(M(),g=e,e.style.touchAction="none",e.style.userSelect="none",e.addEventListener("touchstart",L,{passive:!0}),e.addEventListener("touchmove",k,{passive:!1}),e.addEventListener("touchend",S),e.addEventListener("touchcancel",S),t.unref(a)&&(e.addEventListener("mousedown",T),e.addEventListener("mouseup",C),e.addEventListener("mouseleave",D)),M):()=>{}}}},e.useThrottle=function(e){const{handler:n,wait:o=300,leading:r=!0,trailing:i=!0}=e;let l=null,a=null,s=null,c=0;const u=()=>t.unref(r),d=()=>{a&&(n.apply(s,a),a=null,s=null)};function p(){l&&(clearTimeout(l),l=null),c=0,a=null,s=null}return t.onUnmounted(()=>{p()}),{run:function(...e){const n=Date.now(),r=t.unref(o);c||u()||(c=n);const p=r-(n-c);a=e,s=this,p<=0||p>r?(l&&(clearTimeout(l),l=null),c=n,d()):!l&&t.unref(i)&&(l=setTimeout(()=>{c=u()?Date.now():0,l=null,d()},p))},cancel:p}},e.useTooltip=function(e={}){const{content:n,placement:o="top",trigger:r="hover",delay:i=0,hideDelay:l=0,arrow:a=!0,class:s,onShow:c,onHide:u,disabled:d=!1}=e,p=t.ref(!1);let m=null,f=null,h=null,g=null;const y={};function b(){!t.unref(d)&&n&&(g&&(clearTimeout(g),g=null),i>0?h=setTimeout(w,i):w())}function w(){var e;m&&(f||(f=function(){const e=document.createElement("div");return e.className=`v-tooltip v-tooltip--${o}${s?` ${s}`:""}${a?" v-tooltip--arrow":""}`,e.style.cssText="\n position: absolute;\n z-index: 9999;\n opacity: 0;\n transition: opacity 0.2s;\n pointer-events: none;\n ",e}(),document.body.appendChild(f)),f.textContent=null!=(e=t.unref(n))?e:null,function(){if(!f||!m)return;const e=m.getBoundingClientRect(),t=f.getBoundingClientRect();let n=0,r=0;switch(o){case"top":n=e.top-t.height-8,r=e.left+(e.width-t.width)/2;break;case"bottom":n=e.bottom+8,r=e.left+(e.width-t.width)/2;break;case"left":n=e.top+(e.height-t.height)/2,r=e.left-t.width-8;break;case"right":n=e.top+(e.height-t.height)/2,r=e.right+8}r<0&&(r=8),r+t.width>window.innerWidth&&(r=window.innerWidth-t.width-8),n<0&&(n=8),n+t.height>window.innerHeight&&(n=window.innerHeight-t.height-8),f.style.top=`${n+window.scrollY}px`,f.style.left=`${r+window.scrollX}px`}(),f.style.opacity="1",p.value=!0,null==c||c())}function _(){h&&(clearTimeout(h),h=null),l>0?g=setTimeout(x,l):x()}function x(){f&&(f.style.opacity="0"),p.value=!1,null==u||u()}function E(){p.value?_():b()}function L(){m&&Object.entries(y).forEach(([e,t])=>{m.removeEventListener(e,t)}),f&&(f.remove(),f=null),h&&(clearTimeout(h),h=null),g&&(clearTimeout(g),g=null),m=null,p.value=!1}return t.onUnmounted(()=>{L()}),{isVisible:t.readonly(p),show:b,hide:_,toggle:E,bind:function(e){return v()?(L(),m=e,"hover"===r?(y.mouseenter=b,y.mouseleave=_,e.addEventListener("mouseenter",y.mouseenter),e.addEventListener("mouseleave",y.mouseleave)):"click"===r?(y.click=E,e.addEventListener("click",y.click)):"focus"===r&&(y.focus=b,y.blur=_,e.addEventListener("focus",y.focus),e.addEventListener("blur",y.blur)),L):()=>{}}}},e.useTouch=function(e={}){const{onSwipe:n,onSwipeLeft:o,onSwipeRight:r,onSwipeUp:i,onSwipeDown:l,onPinch:a,onRotate:s,onTap:c,onLongPress:u,swipeThreshold:d=30,longPressDuration:p=500,tapDuration:m=250,disabled:f=!1}=e,h=t.ref(null);let g=null,y=0,b=0,w=0,_=null,x=0,E=0;function L(e){let t=0,n=0;for(let o=0;o<e.length;o++)t+=e[o].clientX,n+=e[o].clientY;return{x:t/e.length,y:n/e.length}}function k(e,t){const n=e.clientX-t.clientX,o=e.clientY-t.clientY;return Math.sqrt(n*n+o*o)}function S(e,t){return Math.atan2(t.clientY-e.clientY,t.clientX-e.clientX)*(180/Math.PI)}function T(e){t.unref(f)||(w=Date.now(),h.value=null,1===e.touches.length?(y=e.touches[0].clientX,b=e.touches[0].clientY,u&&(_=setTimeout(()=>{h.value="longPress",u({type:"longPress",center:{x:y,y:b},event:e})},p))):2===e.touches.length&&(x=k(e.touches[0],e.touches[1]),E=S(e.touches[0],e.touches[1])))}function C(e){if(!t.unref(f)&&(_&&(clearTimeout(_),_=null),2===e.touches.length&&(a||s))){const t=k(e.touches[0],e.touches[1]),n=S(e.touches[0],e.touches[1]);if(a&&x>0){const n=t/x;h.value="pinch",a({type:"pinch",scale:n,center:L(e.touches),event:e})}if(s){const t=n-E;h.value="rotate",s({type:"rotate",rotation:t,center:L(e.touches),event:e})}}}function D(e){if(t.unref(f))return;_&&(clearTimeout(_),_=null);const a=Date.now()-w;if(1===e.changedTouches.length){const t=e.changedTouches[0].clientX,s=e.changedTouches[0].clientY,u=t-y,p=s-b,f=Math.sqrt(u*u+p*p);if(f>=d){let a;h.value="swipe",a=Math.abs(u)>Math.abs(p)?u>0?"right":"left":p>0?"down":"up";const c={type:"swipe",direction:a,distance:f,angle:Math.atan2(p,u)*(180/Math.PI),center:{x:t,y:s},event:e};switch(null==n||n(c),a){case"left":null==o||o(c);break;case"right":null==r||r(c);break;case"up":null==i||i(c);break;case"down":null==l||l(c)}}else f<10&&a<m&&c&&(h.value="tap",c({type:"tap",center:{x:t,y:s},event:e}))}h.value=null}function M(){g&&(g.removeEventListener("touchstart",T),g.removeEventListener("touchmove",C),g.removeEventListener("touchend",D),g.removeEventListener("touchcancel",D)),_&&(clearTimeout(_),_=null),g=null,h.value=null}return t.onUnmounted(()=>{M()}),{gesture:t.readonly(h),bind:function(e){return v()?(M(),g=e,e.addEventListener("touchstart",T,{passive:!0}),e.addEventListener("touchmove",C,{passive:!0}),e.addEventListener("touchend",D),e.addEventListener("touchcancel",D),M):()=>{}}}},e.useTrim=function(e){const{text:n,position:o="both",chars:r}=e,i=t.ref(t.unref(n)),l=t.ref(""),a=t.ref(!1);return t.watch(()=>[t.unref(n),t.unref(o),t.unref(r)],()=>function(){const e=t.unref(n),s=t.unref(o),c=t.unref(r);i.value=e,l.value=Zi(e,s,c),a.value=l.value!==e}(),{immediate:!0}),{trimmed:l,original:i,wasTrimmed:a}},e.useTruncate=function(e){const{text:n,length:o=100,position:r="end",omission:i="..."}=e,l=t.ref(""),a=t.ref(!1),s=t.ref(0);function c(e,n,l){const a=null!=n?n:t.unref(o),s=null!=l?l:t.unref(r);if(e.length<=a)return e;switch(s){case"start":return function(e,t,n){return e.length<=t?e:n+e.slice(-(t-n.length))}(e,a,i);case"middle":return function(e,t,n){if(e.length<=t)return e;const o=t-n.length,r=Math.ceil(o/2),i=Math.floor(o/2);return e.slice(0,r)+n+e.slice(-i)}(e,a,i);default:return function(e,t,n){return e.length<=t?e:e.slice(0,t-n.length)+n}(e,a,i)}}function u(){const e=t.unref(n),r=t.unref(o);s.value=e.length,a.value=e.length>r,l.value=c(e)}return t.watch(()=>t.unref(n),u,{immediate:!0}),t.watch(()=>t.unref(o),u),t.watch(()=>t.unref(r),u),{truncated:t.readonly(l),isTruncated:t.readonly(a),originalLength:t.readonly(s),truncate:c}},e.useTypewriter=function(e){const n=t.ref(""),o=t.ref(!1),r=t.ref(!1);let i=null,l=null,a=null,s=0;function c(){i&&(i.textContent=n.value,l&&i.appendChild(l))}function u(){var i,l;const p=t.unref(e.text);if(s>=p.length)return o.value=!1,null==(i=e.onComplete)||i.call(e),void(e.loop&&(a=setTimeout(()=>{!function(){function t(){if(0===n.value.length)return r.value=!1,void(e.loop&&(a=setTimeout(d,e.delay||0)));n.value=n.value.slice(0,-1),c(),a=setTimeout(t,e.deleteSpeed||30)}r.value=!0,t()}()},e.deleteDelay||1500)));const m=p[s];n.value+=m,s++,c(),null==(l=e.onType)||l.call(e,m,s-1),a=setTimeout(u,e.speed||50)}function d(){var t;o.value||r.value||(o.value=!0,s=0,n.value="",null==(t=e.onStart)||t.call(e),a=setTimeout(u,e.delay||0))}function p(){a&&(clearTimeout(a),a=null),o.value=!1,r.value=!1}function m(){p(),n.value="",s=0,c()}function f(){p(),i&&i.classList.remove("v-typewriter"),i=null,l=null}return t.onUnmounted(()=>{f()}),{displayedText:n,isTyping:o,isDeleting:r,start:d,stop:p,reset:m,bind:function(n){return v()?(function(){if(!v())return;const e="v-typewriter-styles";if(document.getElementById(e))return;const t=document.createElement("style");t.id=e,t.textContent="\n @keyframes v-typewriter-blink {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0; }\n }\n .v-typewriter__cursor {\n display: inline-block;\n margin-left: 1px;\n }\n ",document.head.appendChild(t)}(),f(),i=n,l=function(){if(!1===e.cursor)return null;const t=document.createElement("span");return t.className="v-typewriter__cursor",t.textContent=e.cursor||"|",!1!==e.cursorBlink&&(t.style.animation="v-typewriter-blink 0.7s infinite"),t}(),n.classList.add("v-typewriter"),"string"!=typeof e.text&&t.watch(e.text,()=>{m(),d()}),d(),f):()=>{}}}},e.useUppercase=function(e){const{text:n,first:o=!1}=e,r=t.ref(t.unref(n)),i=t.ref("");return t.watch(()=>[t.unref(n),t.unref(o)],()=>function(){const e=t.unref(n),l=t.unref(o);r.value=e,i.value=Ji(e,l)}(),{immediate:!0}),{transformed:i,original:r}},e.useVirtualList=function(e){const{items:n,itemSize:o=50,height:r=400,overscan:i=3,keyField:l="id"}=e,a=t.ref(null),s=t.ref(0),c=t.ref(0),u=t.ref(0),d=()=>t.unref(n),p=()=>t.unref(o),m=()=>t.unref(r),f=t.computed(()=>{const e=d(),t=p();if("function"==typeof t){let n=0;for(let o=0;o<e.length;o++)n+=t(o);return n}return t*e.length});function v(){const e=d(),n=p(),o=m(),r=t.unref(i),l=s.value;let a=0,c=0,u=0;if("function"==typeof n){let t=0;for(let o=0;o<e.length;o++){const e=n(o);if(t+e>l){a=o,u=t;break}t+=e}for(c=a,t=u;c<e.length&&t<l+o;)t+=n(c),c++;a=Math.max(0,a-r),c=Math.min(e.length,c+r),t=0;for(let e=0;e<a;e++)t+=n(e);u=t}else a=Math.max(0,Math.floor(l/n)-r),c=Math.min(e.length,Math.ceil((l+o)/n)+r),u=a*n;return{start:a,end:c,offsetY:u}}const h=t.computed(()=>{const e=d(),t=p(),{start:n,end:o,offsetY:r}=v();c.value=n,u.value=o;const i=[];let l=r;for(let r=n;r<o;r++){const n=e[r];if(void 0!==n){const e="function"==typeof t?t(r):t;i.push({item:n,index:r,style:{position:"absolute",top:`${l}px`,height:`${e}px`,width:"100%"}}),l+=e}}return i}),g=t.computed(()=>({height:`${m()}px`,overflow:"auto",position:"relative"}));function y(e){const t=e.target;s.value=t.scrollTop}return t.onMounted(()=>{a.value&&a.value.addEventListener("scroll",y,{passive:!0})}),t.onUnmounted(()=>{a.value&&a.value.removeEventListener("scroll",y)}),{visibleItems:h,totalHeight:f,scrollTop:s,startIndex:c,endIndex:u,scrollToIndex:function(e){if(!a.value)return;const t=p(),n=d();if("function"==typeof t){let o=0;for(let r=0;r<Math.min(e,n.length);r++)o+=t(r);a.value.scrollTop=o}else a.value.scrollTop=e*t},scrollTo:function(e){a.value&&(a.value.scrollTop=e)},containerRef:a,listStyle:g}},e.useVisible=function(e={}){const{initial:n=!0,useHidden:o=!1,onChange:r}=e,i=t.ref(t.unref(n));let l=null,a="",s="";function c(e){l&&(e?(l.classList.remove("v-hidden"),l.classList.add("v-visible"),o?l.style.visibility=s||"visible":l.style.display=a):(l.classList.remove("v-visible"),l.classList.add("v-hidden"),o?l.style.visibility="hidden":l.style.display="none"))}function u(){l&&(l.style.display=a,l.style.visibility=s,l.classList.remove("v-hidden","v-visible")),l=null}return t.watch(i,(e,t)=>{e!==t&&(c(e),null==r||r(e))}),"object"==typeof n&&"value"in n&&t.watch(n,e=>{i.value=e}),t.onUnmounted(()=>{u()}),{visible:i,show:function(){i.value=!0},hide:function(){i.value=!1},toggle:function(){i.value=!i.value},bind:function(e){return v()?(u(),l=e,a=e.style.display,s=e.style.visibility,c(i.value),u):()=>{}}}},e.useWatermark=function(e){const{content:n,width:o=300,height:r=200,rotate:i=-22,fontSize:l=16,fontFamily:a="sans-serif",fontWeight:s="normal",color:c="rgba(128, 128, 128, 0.15)",gap:u=[100,100],zIndex:d=9999,disabled:p=!1,protect:m=!0}=e,f=t.ref(null),v=t.ref(""),h=t.ref(t.unref(p));function g(){const e=t.unref(n),u=t.unref(o),d=t.unref(r),p=t.unref(i),m=t.unref(l),h=t.unref(a),g=t.unref(s),y=t.unref(c);f.value=Qi({content:e,width:u,height:d,fontSize:m,fontFamily:h,fontWeight:g,color:y,rotate:p}),v.value=f.value.toDataURL()}const y=t.ref({position:"absolute",top:"0",left:"0",width:"100%",height:"100%",pointerEvents:"none",zIndex:t.unref(d),backgroundImage:"",backgroundRepeat:"repeat",backgroundPosition:"0 0",backgroundSize:""});function b(){const e=t.unref(u),n=t.unref(d),i=Array.isArray(e)?e:[e,e],l=t.unref(o),a=t.unref(r);y.value=__spreadProps(__spreadValues({},y.value),{zIndex:n,backgroundImage:`url("${v.value}")`,backgroundPosition:`${i[0]/2}px ${i[1]/2}px`,backgroundSize:`${l+i[0]}px ${a+i[1]}px`})}return t.watch(()=>[t.unref(n),t.unref(o),t.unref(r),t.unref(i),t.unref(l),t.unref(a),t.unref(s),t.unref(c),t.unref(u),t.unref(d)],()=>{g(),b()},{immediate:!0}),t.watch(h,e=>{y.value.display=e?"none":"block"}),t.unref(p)&&(y.value.display="none"),t.onUnmounted(()=>{}),{canvas:f,dataUrl:v,style:y,disabled:h,update:function(t){Object.assign(e,t),g(),b()},enable:function(){h.value=!1},disable:function(){h.value=!0}}},e.vBlur=B,e.vCapitalcase=Ee,e.vClickDelay=Ce,e.vClickOutside=De,e.vClickWave=Ie,e.vContextMenu=Oe,e.vCopy=Fe,e.vCountdown=Ue,e.vCounter=Ke,e.vDebounce=Je,e.vDraggable=nt,e.vEllipsis=ot,e.vEmoji=ut,e.vExport=mt,e.vFade=gt,e.vFocus=bt,e.vFullscreen=Lt,e.vHighlight=Ct,e.vHotkey=Ft,e.vHover=Ut,e.vImagePreview=Kt,e.vInfiniteScroll=Zt,e.vIntersect=nn,e.vLazy=dn,e.vLoading=mn,e.vLongPress=gn,e.vLottie=bn,e.vLowercase=En,e.vMask=Pn,e.vMoney=zn,e.vMutation=Rn,e.vNumber=Yn,e.vPan=Bn,e.vParallax=Gn,e.vPermission=oo,e.vPinch=ao,e.vPrint=so,e.vProgress=vo,e.vPullRefresh=To,e.vResize=Do,e.vRipple=Po,e.vRotateGesture=Ao,e.vSanitize=No,e.vScroll=Bo,e.vSkeleton=qo,e.vSticky=tr,e.vSwipe=sr,e.vThrottle=ur,e.vTooltip=Sr,e.vTouch=Dr,e.vTrim=$r,e.vTruncate=Hr,e.vTypewriter=Rr,e.vUppercase=Xr,e.vVirtualList=Kr,e.vVisible=Jr,e.vWatermark=oi,e.warn=V,e.warnDeprecated=function(e,t){V({message:"warnings.deprecated",params:{feature:e,alternative:t}})},e.warnInvalidParam=function(e,t,n,o){V({directive:e,message:"errors.type_error",params:{param:t,expected:o,actual:typeof n}})},e.warnMissingParam=function(e,t){V({directive:e,message:"errors.missing_required",params:{param:t}})},e.warnNotSupported=function(e){V({message:"errors.not_supported",params:{feature:e}})},e.warnSSRNotSupported=function(e){V({directive:e,message:"errors.ssr_not_supported",params:{directive:e}})},e.watchEffectBinding=function(e){const{binding:n,effect:o}=e;let r=null,i=e=>{r=e};const l=t.watchEffect(e=>{i=e,r&&(r(),r=null),t.isRef(n)?o(n.value,void 0,i):o(n,void 0,i)});return()=>{r&&r(),l()}},e.withPerformanceMonitoring=function(e,t){if(!D.config.enabled)return t;const n={};for(const[o,r]of Object.entries(t))if("function"==typeof r&&["mounted","updated","unmounted"].includes(o)){const t="mounted"===o?"mount":"updated"===o?"update":"unmount";n[o]=function(...n){return A(e,t,()=>r.apply(this,n))}}else n[o]=r;return n},e.wouldTextTruncate=function(e,t,n=14){return gi(e,n)>t},e.zhCN=Dl,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}(this.Directix=this.Directix||{},Vue);