@oruga-ui/oruga-next
Version:
UI components for Vue.js and CSS framework agnostic
11 lines • 327 kB
JavaScript
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`vue`)):typeof define==`function`&&define.amd?define([`exports`,`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.Oruga={},e.Vue))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var n=Object.defineProperty,r=(e,t)=>{let r={};for(var i in e)n(r,i,{get:e[i],enumerable:!0});return t||n(r,Symbol.toStringTag,{value:`Module`}),r};function i(e){return e<0?-1:+(e>0)}var a=Math.sign||i,o=(e,t)=>(e%t+t)%t,s=e=>(e<10?`0`:``)+e;function c(e,t,n){return Math.max(t,Math.min(n,e))}var l=e=>!!e&&typeof e==`object`&&!Array.isArray(e),u=e=>!!e&&e instanceof Date&&!isNaN(e.getTime()),d=e=>e!=null,f=e=>d(e)&&e!==`false`&&e!==!1,p=e=>d(e)?e:``,m=(e,t)=>d(e)?e:t,h=(e,t=`px`)=>d(e)?isNaN(e)?String(e):String(e)+t:void 0;function g(e){return e==null||e===``||Array.isArray(e)&&e.length===0||!(e instanceof Date)&&typeof e==`object`&&Object.keys(e).length===0}function _(e=``){return!g(e)&&e.length===1&&!!e.match(/\S| /)}function v(e,t){let n=[],r=e.length;for(let i=0;i<r;i++){let a=i%2==0?t+Math.floor(i/2):t-Math.ceil(i/2);a>=0&&a<r&&n.push(e[a])}return n}function y(e,t,n,r=!1,i=!1){return n&&typeof n==`function`?(i?e:[...e]).sort((e,t)=>n(e,t,r)):(i?e:[...e]).sort((e,n)=>{let i=l(e)?w(e,t):e,a=l(n)?w(n,t):n;return typeof i==`boolean`&&typeof a==`boolean`?r?i>a?1:-1:i>a?-1:1:!i&&i!==0?1:!a&&a!==0?-1:i===a?0:(i=typeof i==`string`?i.toUpperCase():i,a=typeof a==`string`?a.toUpperCase():a,r?i>a?1:-1:i>a?-1:1)})}function b(e,t){if(!e&&t||e&&!t)return!1;if(e===t)return!0;if(l(e)&&l(t)){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n){let n=e[r],i=t[r];if(!b(n,i))return!1}return!0}return Array.isArray(e)&&Array.isArray(t)?!(e.length!==t.length||!e.every((e,n)=>b(e,t[n]))):!1}function x(e,t,n=!1){return!l(e)||!l(t)?t:n?S(e,t):Object.assign(e,t)}function S(e,t){return!l(e)||!l(t)?t:(Object.getOwnPropertyNames(t).forEach(n=>{let r=e[n],i=t[n];Array.isArray(r)&&Array.isArray(i)?e[n]=r.concat(i):l(r)&&l(i)?e[n]=S(Object.assign({},r),i):e[n]=i}),e)}function C(e,t,n){if(!e)return``;let r=t?w(e,t):e,i=typeof n==`function`?n(r,e):r;return String(i||``)}function w(e,t,n){if(!e||typeof e!=`object`||typeof t!=`string`)return n;let r=t.split(`.`).reduce((e,t)=>e===void 0?void 0:e[t],e);return r===void 0?n:r}function T(e,t,n){if(typeof t!=`string`)return;let r=t.split(`.`);if(r.length===1){e[r[0]]=n;return}let i=r[0];return e[i]===void 0&&(e[i]={}),T(e[i],r.slice(1).join(`.`),n)}function E(e){e.remove===void 0?e.parentNode!==void 0&&e.parentNode!==null&&e.parentNode.removeChild(e):e.remove()}function D(e){return e&&e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,`\\$&`)}function O(e){return e&&e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``)}function k(e){return!!(!e||e.type===t.Comment||e.type===t.Text&&!e.children.trim()||e.type===t.Fragment&&k(e.children))}var A={Android:()=>typeof window<`u`&&!!window.navigator.userAgent.match(/Android/i),BlackBerry:()=>typeof window<`u`&&!!window.navigator.userAgent.match(/BlackBerry/i),iOS:()=>typeof window<`u`&&!!window.navigator.userAgent.match(/iPhone|iPad|iPod/i),Opera:()=>typeof window<`u`&&!!window.navigator.userAgent.match(/Opera Mini/i),Windows:()=>typeof window<`u`&&!!window.navigator.userAgent.match(/IEMobile/i),any:()=>A.Android()||A.BlackBerry()||A.iOS()||A.Opera()||A.Windows()},j=typeof window<`u`;j&&window.HTMLElement,j&&window.HTMLInputElement,j&&window.File;var M=(e,t)=>{e.component(t.name,t)},N=(e,t,n)=>{P(e,t,new n)};function P(e,t,n){e._programmatic[t]=n}var F=Symbol(`$oruga`),I;function L(e){I=e}function R(){return(0,t.hasInjectionContext)()&&(0,t.inject)(F)||I}function z(e={},t=[]){let n=[],r={_app:null,_config:{override:!1,iconPack:`mdi`,useHtml5Validation:!0,statusIcon:!0,transformClasses:void 0,mobileBreakpoint:`1023px`,teleportTarget:()=>j?document.body:`body`,...e},_programmatic:{},install(e,t={}){r._app=e,r._config=x(r._config,t,!0),L(r),this.provide(e),P(r,`config`,ee),n.forEach(t=>e.use(t,{oruga:r}))},use(...e){return e.forEach(e=>n.push(e)),r},provide(e){e.provide(F,r),e.config.globalProperties.$oruga=r}};return r.use(...t),r}function B(e={}){let t=z(e);return t._testing=!0,L(t),t}function V(){let e=R();if(!e)throw Error(`No Oruga instance available. Have you installed the Oruga plugin yet?`);return e}function H(){return R()?._programmatic??{}}function U(){return R()?._config??{}}function W(e){let t=V();t._config=x(t._config,e,!0)}function G(e,t){return w(U(),e,t)}function K(e,t){T(V()._config,e,t)}function q(e,t){return w(U(),e,t)}function J(e,t){return(...n)=>{let r=q(e,t);if(typeof r==`function`)return r(...n)}}var ee={getOption:G,setOption:K,getConfig:U,setConfig:W};function te(){return ee}var ne={iconPrefix:`mdi-`,sizes:{default:`mdi-24px`,small:``,medium:`mdi-36px`,large:`mdi-48px`}};function re(){return{iconPrefix:G(`iconComponent`)?``:`fa-`,sizes:{default:``,small:`sm`,medium:`lg`,large:`xl`},internalIcons:{check:`check`,information:`info-circle`,alert:`exclamation-triangle`,"alert-circle":`exclamation-circle`,"arrow-up":`arrow-up`,"chevron-right":`angle-right`,"chevron-left":`angle-left`,"chevron-down":`angle-down`,"chevron-up":`angle-up`,eye:`eye`,"eye-off":`eye-slash`,"caret-down":`caret-down`,"caret-up":`caret-up`,"close-circle":`times-circle`,close:`times`,loading:`circle-notch`,"emoticon-sad":`frown`}}}function ie(){let e=re(),t={mdi:ne,fa:e,fas:e,far:e,fad:e,fab:e,fal:e},n=G(`customIconPacks`);return n&&(t=x(t,n,!0)),t}function Y(e){let n=(0,t.toValue)(e);return n?.$el??n}function ae(e){let n=(0,t.toValue)(e);return typeof n==`string`?document.querySelector(n):Y(n)}var X=e=>{let n=(0,t.toValue)(e);return n?n.flatMap(e=>Object.keys(e).filter(t=>t&&e[t]).flatMap(e=>e.split(` `))):[]};function Z(...e){let n=Array.isArray(e[e.length-1])?void 0:e[e.length-1],r=Array.isArray(e[e.length-1])?e:e.slice(0,-1),i=n?.vm||(0,t.getCurrentInstance)();if(!i)throw Error(`defineClasses must be called within a component setup function.`);if(!(0,t.getCurrentScope)()&&!n?.scope)throw Error(`defineClasses must be called within a current active effect scope.`);let a=n?.scope||(0,t.effectScope)();(0,t.getCurrentScope)()&&(0,t.onScopeDispose)(()=>{a&&a.stop()});let o=(0,t.ref)([]);return o.value=r.map((e,r)=>{let s=e[0],c=e[1],l=e[2],u=e[3];function f(){let e=oe(i,s,c,(0,t.toValue)(l)||void 0),n=!d(u)||(0,t.toValue)(u);return{[e]:n}}return a.run(()=>{(0,t.watch)([()=>i.proxy?.$props[s],()=>n?.props?n?.props[s]:null],()=>{let e=f();o.value[r]=e}),d(l)&&(0,t.isRef)(l)&&(0,t.watch)(l,(e,t)=>{if(e===t)return;let n=f();o.value[r]=n}),d(u)&&(0,t.isRef)(u)&&(0,t.watch)(u,(e,t)=>{if(e===t)return;let n=o.value[r];Object.keys(n).forEach(t=>n[t]=e),o.value[r]=n})}),f()}),o}function oe(e,t,n,r=``){let i=ue(e),a=e.proxy?.$options.configField;if(!a)throw Error(`component must define the 'configField' option.`);let o=f(i.override)?{}:U(),s=f(i.override),c=s||w(o,`override`)||w(o,`${a}.${t}.override`)||w(o,`${a}.override`),l,u,d;l=se(w(i,t),i,r),s||(c||(d=le(n,r)),u=se(w(o,`${a}.${t}.class`)||w(o,`${a}.${t}`),i,r));let p=[d??``,u??``,l??``].join(` `).trim().replace(/\s\s+/g,` `),m=w(o,`${a}.transformClasses`);return m||=w(o,`transformClasses`),typeof m==`function`&&(p=m(p)),p}function se(e,t,n){if(e===void 0)return``;let r;r=typeof e==`function`?e(n,t)??``:e;let i=``;return Array.isArray(r)?i=r.map(ce).join(` `):r&&(i=ce(r)),typeof e!=`function`&&(i=le(i,n)),i}function ce(e){return typeof e==`string`?e:typeof e==`object`?Object.keys(e).filter(t=>e[t]).join(` `):``}function le(e,t){return p(e).split(` `).map(e=>e.includes(`{*}`)?e.replace(/\{\*\}/g,p(t)):e+p(t)).join(` `)}function ue(e){let t=e.proxy?.$props||{};return t=Object.keys(t).filter(e=>e.endsWith(`Props`)).map(e=>t[e]).reduce((e,t)=>({...e,...t}),t),t}function de(e,n,r,i){let a,o=()=>{if(!e)return;let t=Y(e),o=l(i)?{...i}:i;setTimeout(()=>{t.addEventListener(n,r,o),a=()=>{t.removeEventListener(n,r,o)}})},s;i?.trigger!==void 0&&(s=(0,t.watch)(i.trigger,e=>{e?o():typeof a==`function`&&a()},{flush:`post`})),i?.immediate?o():(0,t.getCurrentScope)()&&(0,t.onMounted)(()=>{(i?.trigger===void 0||(0,t.toValue)(i.trigger))&&o()});let c=()=>{typeof s==`function`&&s(),typeof a==`function`&&a()};return(0,t.getCurrentScope)()&&(0,t.onScopeDispose)(c),c}function fe(e){let n=(0,t.ref)(!1),r=(0,t.ref)(),i=(0,t.getCurrentInstance)();if(!i)throw Error(`useMatchMedia must be called within a component setup function.`);let a=i.props,o=i.proxy?.$options.configField;if(!o)throw Error(`component must define the 'configField' option.`);let s=a.mobileBreakpoint;if(!s){let t=G(`mobileBreakpoint`,e);s=G(`${o}.mobileBreakpoint`,t)}if(!s)return{isMobile:n};r.value=j?window.matchMedia(`(max-width: ${s})`):void 0,r.value?(n.value=r.value.matches,de(r.value,`change`,c)):n.value=!1;function c(e){n.value=e.matches}return{isMobile:n}}var pe=Symbol(`FielData`);function me(e){(0,t.provide)(pe,e)}function he(){let e=(0,t.inject)(pe,(0,t.computed)(()=>void 0)),n=(0,t.computed)(()=>{if(!(Array.isArray(e?.value?.message)&&!e?.value?.message.length||!Array.isArray(e?.value?.message)&&!e?.value?.message))return e?.value.message}),r=(0,t.computed)(()=>{if(e?.value?.variant){if(typeof e.value.variant==`string`)return e.value.variant;if(Array.isArray(e.value.variant)){for(let t in e.value.variant)if(e.value.variant[t])return t}}}),i=G(`statusVariantIcon`,{success:`check`,danger:`alert-circle`,info:`information`,warning:`alert`});return{parentField:e,statusVariant:r,statusVariantIcon:(0,t.computed)(()=>!r.value||!i?``:i[r.value]||``),statusMessage:n}}var ge=j?[HTMLButtonElement,HTMLFieldSetElement,HTMLInputElement,HTMLObjectElement,HTMLOutputElement,HTMLSelectElement,HTMLTextAreaElement]:[];function _e(e){return ge.some(t=>e instanceof t)?e:null}var ve=[`disabled`,`required`,`pattern`,`maxlength`,`minlength`,`max`,`min`,`step`];function ye(e,n,r){let{parentField:i}=he(),a=(0,t.computed)(()=>{let t=Y(e);if(!t)return;if(t.getAttribute(`data-oruga-input`))return t;let n=t.querySelector(`[data-oruga-input]`);if(!n){console.warn(`useInputHandler: Underlaying Oruga input component not found`);return}return n}),o=(0,t.computed)(()=>{let e=a.value;return e||console.warn(`useInputHandler: inputRef contains no element`),e}),s=(0,t.ref)(!1);function c(){(0,t.nextTick)(()=>{o.value&&o.value.focus()})}function l(){(0,t.nextTick)(()=>{o.value&&o.value.click()})}function u(e){s.value=!1,i?.value&&i.value.setFocus(!1),n(`blur`,e||new FocusEvent(`blur`,{relatedTarget:o.value})),h()}function f(e){s.value=!0,i?.value&&i.value.setFocus(!0),n(`focus`,e||new FocusEvent(`focus`,{relatedTarget:o.value}))}let p=(0,t.ref)(!0);function m(e,n){(0,t.nextTick)(()=>{i?.value&&(i.value.props.variant||i.value.setVariant(e),i.value.props.message||i.value.setMessage(n))})}function h(){r.useHtml5Validation&&o.value&&(o.value.validity.valid?(m(null,null),p.value=!0):(g(),p.value=!1))}function g(){let e=o.value?.validationMessage;m(`danger`,e)}function _(e){h();let t=_e(e.target);if(t&&i?.value&&r.useHtml5Validation){e.preventDefault();let n=!1;if(t.form!=null){let e=t.form.elements;for(let r=0;r<e.length;++r){let i=_e(e.item(r));if(i?.willValidate&&!i.validity.valid){n=t===i;break}}}if(n){let e=i.value.$el,n=G(`invalidHandler`);if(n instanceof Function)n(t,e??void 0);else{let n=e?.scrollIntoView!=null;t.focus({preventScroll:n}),n&&e&&e.scrollIntoView({block:`nearest`})}}}n(`invalid`,e)}if(j){let e=(0,t.ref)(null);(0,t.watchEffect)(()=>{if(e.value,!(r.useHtml5Validation??!0))return;let t=a.value;if(!d(t))return;let n=r.customValidity??``;typeof n==`string`?t.setCustomValidity(n):t.setCustomValidity(n(r.modelValue,t.validity)),p.value||h()}),(0,t.watch)([a,()=>r.useHtml5Validation??!0],(e,t)=>{let n=e[0],r=e[1],i=t[0],a=t[1];n===i?a&&!r&&n?.setCustomValidity(``):i?.setCustomValidity(``)});let n=()=>{(0,t.triggerRef)(e)},i=null;(0,t.watch)([a,p,()=>r.useHtml5Validation??!0,()=>r.customValidity],(e,t)=>{let r=e[0],a=e[1],o=e[2],s=e[3]instanceof Function,c=t[0],l=d(r)&&o&&(!a||s);if((!l||r!==c)&&i!=null&&(i.takeRecords().length>0&&n(),i.disconnect(),i=null),l&&d(r)&&(i==null||r!==c)){i??=new MutationObserver(n),i.observe(r,{attributeFilter:ve});let e=r;for(;e=e.parentNode;)e instanceof HTMLFieldSetElement&&i.observe(e,{attributeFilter:[`disabled`]})}})}return{input:o,isFocused:s,isValid:p,setFocus:c,doClick:l,onFocus:f,onBlur:u,onInvalid:_,checkHtml5Validity:h}}function be(e,n=0){let r;return(...i)=>{if((0,t.toValue)(n)<=0){e.apply(this,i);return}r&&clearTimeout(r),r=setTimeout(()=>{r=void 0,e.apply(this,i)},(0,t.toValue)(n))}}function xe(e=0){let t=e;function n(){return String(t++)}return{nextIndex:n,index:t}}function Se(e){let n=(0,t.getCurrentInstance)();if(!n)throw Error(`useProviderChild must be called within a component setup function.`);let r=String(n.proxy?.$options.configField),i=(typeof e?.key==`symbol`?e.key?.toString():e?.key)||r,a=(0,t.ref)([]),o=(0,t.computed)(()=>a.value.length);if(e?.rootRef){function s(t){let n=Y(e?.rootRef);if(!n)return;let r=t.map(e=>`[data-id="${i}-${e.identifier}"]`).join(`,`);if(!r)return;let a=n.querySelectorAll(r),o=Array.from(a).map(e=>e.getAttribute(`data-id`)?.replace(`${i}-`,``));t.forEach(e=>e.index=o.indexOf(`${e.identifier}`)),t.sort((e,t)=>e.index-t.index)}(0,t.watch)(a,s,{flush:`post`})}let{nextIndex:c}=xe(1);function l(e,t){let n={el:e,index:a.value.length,identifier:c(),data:t};return a.value=[...a.value,n],n}function u(e){a.value=a.value.filter(t=>t.identifier!==e.identifier)}return(0,t.provide)(`$o-`+i,{registerItem:l,unregisterItem:u,total:o,data:e?.data}),{childItems:a,itemsCount:o}}function Ce(e,n){n=Object.assign({needParent:!0,register:!0},n);let r=(0,t.getCurrentInstance)();if(!r)throw Error(`useProviderChild must be called within a component setup function.`);let i=String(r.proxy?.$options.configField),a=(typeof n?.key==`symbol`?n.key.toString():n?.key)||i,o=(0,t.inject)(`$o-`+a,void 0);if(n.needParent&&!o)throw Error(`You should wrap ${r.proxy?.$options.name} in a ${a} component`);let s=n.data??(0,t.computed)(()=>void 0),c=o?.data??(0,t.computed)(()=>void 0),l=o?.total??(0,t.computed)(()=>0),u=(0,t.ref)();return o&&n.register&&(u.value=o.registerItem(e,s)),(0,t.onUnmounted)(()=>{o&&u.value&&o.unregisterItem(u.value)}),{parent:c,item:u,itemsCount:l}}function we(e,t,n){if(!window)return()=>{};let r=Object.assign({ignore:[]},n),i=Array.isArray(e)?e:[e],a=e=>i.some(t=>{if(typeof t==`string`)return Array.from(window.document.querySelectorAll(t)).some(t=>t===e.target||e.composedPath().includes(t));{let n=Y(t);return n&&(e.target===n||e.composedPath().includes(n))}});function o(e){a(e)||t(e)}return de(window,`click`,o,r)}function Te(e,n,r=!1){return e?Array.isArray(e)?e.map(e=>{if(typeof e==`string`||typeof e==`number`)return{item:{label:String(e),value:e},key:n.nextIndex()};if(r&&`options`in e){let r=n.nextIndex(),i=Te(e.options,n),a={...(0,t.toValue)(e)};return delete a.options,{item:a,options:i,key:r}}return{item:(0,t.toValue)(e),key:n.nextIndex()}}):Object.keys(e).map(t=>({item:{label:e[t],value:t},key:n.nextIndex()})):[]}function Ee(e){return`options`in e}function De(e){let n=(0,t.toValue)(e);return n?.length?Ee(n[0]):!1}function Oe(e,n){if(!Array.isArray((0,t.toValue)(e)))return-1;let r=(0,t.toValue)(n).item,i=0;for(let a of(0,t.toValue)(e))if(!(typeof a!=`object`&&a))if(Ee(a)){let e=Oe(a.options,n);if(e===-1)i+=a.options.length;else return i+=e,i}else if(b(a.item,r))return i;else i+=1;return-1}function ke(e){return Array.isArray((0,t.toValue)(e))?(0,t.toValue)(e).reduce((e,t)=>t&&typeof t!=`object`?e:Ee(t)?e+ke(t.options):e+1,0):0}function Q(e){let n=Z([`scrollClipClass`,`o-scroll-clip`]),r=Z([`scrollKeepClass`,`o-scroll-keep`]),i=(0,t.computed)(()=>X((0,t.toValue)(e)?n.value:r.value)),a=(0,t.ref)();(0,t.onBeforeUnmount)(()=>o(!1));function o(n){j&&i.value&&(a.value=a.value?a.value:document.documentElement.scrollTop,n?document.body.classList.add(...i.value):document.body.classList.remove(...i.value),(0,t.toValue)(e)||(n?document.body.style.top=`-${a.value}px`:(document.documentElement.scrollTop=a.value,document.body.style.top=``,a.value=void 0)))}return o}function Ae(e,n,r){if(!(0,t.getCurrentScope)())throw Error(`The 'useScrollEvents' composable should be used inside a current EffectScope.`);let i=be(a,n.debounce??100);j&&de(e,`scroll`,i,r);function a(){let t=Y(e);if(!t)return;n.onScroll&&n.onScroll();let{offsetTop:r,scrollTop:i,clientHeight:a,scrollHeight:o}=t,s=r;a!==o&&(Math.ceil(i+a+s)>=o?n.onScrollEnd&&n.onScrollEnd():i<=s&&n.onScrollStart&&n.onScrollStart())}return i}function je(e){if(e.style.position===`fixed`||!e)return document.documentElement;let t=!1,n=e.parentElement;for(;!t&&d(n)&&n!==document.documentElement;){let{overflow:e,overflowY:r}=getComputedStyle(n),{scrollHeight:i,clientHeight:a}=n;if(t=/(auto|scroll)/.test(`${e}${r}`)&&i>a,t)break;n=n.parentElement}return n}function Me(e,t){let n=Y(e),r=Y(t);if(!n||!r)return;let{offsetHeight:i,offsetTop:a}=r,{offsetHeight:o,scrollTop:s}=n,c=a<s,l=a+i>s+o;c?n.scrollTo(0,a):l&&n.scrollTo(0,a-o+i)}function Ne(){return(0,t.toValue)(G(`teleportTarget`,`body`))}function Pe(e){let n=(0,t.toValue)(e);return n?n.querySelectorAll(`a[href]:not([tabindex="-1"]),
area[href],
input:not([disabled]):not([type="hidden"]),
select:not([disabled]),
textarea:not([disabled]),
button:not([disabled]),
iframe,
object,
embed,
*[tabindex]:not([tabindex="-1"]):not([disabled]),
*[contenteditable]`):[]}function Fe(){let e=null;function t(t,n){n?(t.focus({preventScroll:!0}),typeof e==`function`&&t.addEventListener(`keydown`,e)):typeof e==`function`&&t.removeEventListener(`keydown`,e)}return{vTrapFocus:{mounted:(n,{value:r})=>{e=e=>{let t=e.target;if(!t)return;let r=Pe(n);if(!r?.length){e.preventDefault();return}let i=r[0],a=r[r.length-1];t===i&&e.shiftKey&&e.key===`Tab`?(e.preventDefault(),a.focus()):t===a&&!e.shiftKey&&e.key===`Tab`&&(e.preventDefault(),i.focus())},r&&t(n,r)},beforeUnmount:n=>{t(n,!1),e=null},updated:(e,{value:n,oldValue:r})=>{n!==r&&t(e,n)}}}}var Ie=[`tabindex`,`role`],$=(0,t.defineComponent)({isOruga:!0,name:`OIcon`,configField:`icon`,__name:`Icon`,props:{override:{type:Boolean,default:void 0},icon:{default:void 0},component:{default:()=>q(`iconComponent`)},pack:{default:()=>q(`iconPack`,`mdi`)},variant:{default:()=>q(`icon.variant`)},size:{default:()=>q(`icon.size`)},customSize:{default:void 0},customClass:{default:void 0},clickable:{type:Boolean,default:!1},spin:{type:Boolean,default:!1},rotation:{default:void 0},rootClass:{},sizeClass:{},variantClass:{},clickableClass:{},spinClass:{}},emits:[`click`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>{let e={};return r.rotation&&(e.transform=`rotate(${r.rotation}deg)`),e}),o=ie(),s=(0,t.computed)(()=>o[r.pack]),c=(0,t.computed)(()=>s.value?.iconPrefix??``),l=(0,t.computed)(()=>{if(r.customSize)return r.customSize;if(s.value?.sizes){if(r.size&&s.value.sizes[r.size]!==void 0)return s.value.sizes[r.size];if(s.value.sizes.default)return s.value.sizes.default}return null}),u=(0,t.computed)(()=>`${c.value}${d(r.icon??``)}`);function d(e){return r.pack.toLocaleLowerCase().startsWith(`fa`)&&s.value?.internalIcons&&s.value?.internalIcons[e]?s.value.internalIcons[e]:e}function f(e){r.clickable&&(e.preventDefault(),i(`click`,e))}let p=Z([`rootClass`,`o-icon`],[`clickableClass`,`o-icon--clickable`,null,(0,t.computed)(()=>r.clickable)],[`spinClass`,`o-icon--spin`,null,(0,t.computed)(()=>r.spin)],[`sizeClass`,`o-icon--`,(0,t.computed)(()=>r.size),(0,t.computed)(()=>!!r.size)],[`variantClass`,`o-icon--`,(0,t.computed)(()=>r.variant),(0,t.computed)(()=>!!r.variant)]);return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{"data-oruga":`icon`,class:(0,t.normalizeClass)((0,t.unref)(p)),style:(0,t.normalizeStyle)(a.value),tabindex:e.clickable?0:void 0,role:e.clickable?`button`:void 0,onClick:f,onKeydown:[(0,t.withKeys)(f,[`enter`]),(0,t.withKeys)(f,[`space`])]},[e.component?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.component),{key:0,icon:[e.pack,u.value],size:l.value,class:(0,t.normalizeClass)(e.customClass)},null,8,[`icon`,`size`,`class`])):((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{key:1,class:(0,t.normalizeClass)([e.pack,u.value,l.value,e.customClass])},null,2))],46,Ie))}}),Le=[`id`,`value`,`type`,`data-oruga-input`,`maxlength`,`autocomplete`,`placeholder`,`disabled`],Re=[`id`,`value`,`maxlength`,`placeholder`,`disabled`],ze=(0,t.defineComponent)({isOruga:!0,name:`OInput`,configField:`input`,inheritAttrs:!1,__name:`Input`,props:(0,t.mergeModels)({override:{type:Boolean,default:void 0},modelValue:{default:void 0},number:{},type:{default:`text`},size:{default:()=>q(`input.size`)},variant:{default:()=>q(`input.variant`)},placeholder:{default:void 0},expanded:{type:Boolean,default:()=>q(`input.expanded`,!1)},rounded:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},passwordReveal:{type:Boolean,default:!1},maxlength:{default:void 0},counter:{type:Boolean,default:()=>q(`input.counter`,!1)},autosize:{type:Boolean,default:!1},iconPack:{default:()=>q(`input.iconPack`)},icon:{default:()=>q(`input.icon`)},iconClickable:{type:Boolean,default:!1},iconRight:{default:()=>q(`input.iconRight`)},iconRightClickable:{type:Boolean,default:!1},iconRightVariant:{default:void 0},clearable:{type:Boolean,default:()=>q(`input.clearable`,!1)},clearIcon:{default:()=>q(`input.clearIcon`,`close-circle`)},statusIcon:{type:Boolean,default:()=>q(`statusIcon`,!0)},debounce:{default:()=>q(`autocomplete.debounce`)},autocomplete:{default:()=>q(`input.autocomplete`,`off`)},id:{default:()=>(0,t.useId)()},useHtml5Validation:{type:Boolean,default:()=>q(`useHtml5Validation`,!0)},customValidity:{type:[String,Function],default:``},rootClass:{},sizeClass:{},variantClass:{},expandedClass:{},roundedClass:{},disabledClass:{},textareaClass:{},hasIconRightClass:{},inputClass:{},iconLeftSpaceClass:{},iconRightSpaceClass:{},placeholderClass:{},iconLeftClass:{},iconRightClass:{},counterClass:{}},{modelValue:{default:void 0},modelModifiers:{}}),emits:(0,t.mergeModels)([`update:model-value`,`input`,`focus`,`blur`,`invalid`,`icon-click`,`icon-right-click`],[`update:modelValue`]),setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.useTemplateRef)(`rootElement`),s=(0,t.useTemplateRef)(`inputElement`),{checkHtml5Validity:c,onBlur:l,onFocus:u,onInvalid:p,setFocus:m,isValid:h,isFocused:g}=ye(s,a,i),{parentField:_,statusVariant:v,statusVariantIcon:y}=he();i.id&&_.value?.setInputId(i.id);let b=(0,t.useModel)(e,`modelValue`,{get:e=>d(e)?String(e):``,set:e=>d(e)?f(i.number)?Number(e):String(e):e}),x=(0,t.computed)(()=>typeof b.value==`string`||typeof b.value==`number`?String(b.value).length:0);if((0,t.watch)(()=>b.value,e=>S(e),{flush:`post`}),(0,t.onMounted)(()=>S(b.value)),i.autosize&&i.type===`textarea`){let e=window.ResizeObserver?new window.ResizeObserver(w):void 0;(0,t.onMounted)(()=>{j&&e&&o.value&&e.observe(o.value)})}function S(e){_.value&&_.value.setFilled(!!e),i.autosize&&w(),h.value||c()}let C=(0,t.ref)(`auto`);function w(){i.type===`textarea`&&(C.value=`auto`,(0,t.nextTick)(()=>{s.value&&(C.value=s.value.scrollHeight+`px`)}))}let T=(0,t.computed)(()=>i.type===`textarea`&&i.autosize?{resize:`none`,height:C.value,overflow:`hidden`}:{}),E=be(D,i.debounce);function D(e){let t=Y(s);if(!t)return;let n=t.value;n!==b.value&&(b.value=n,a(`input`,n,e))}let O=(0,t.computed)(()=>!d(b.value)||b.value===``),k=(0,t.computed)(()=>!!(i.passwordReveal||i.statusIcon&&y.value||i.clearable&&b.value&&i.clearIcon||i.iconRight)),A=(0,t.computed)(()=>i.passwordReveal?L.value:i.clearable&&b.value&&i.clearIcon?i.clearIcon:i.iconRight?i.iconRight:y.value),M=(0,t.computed)(()=>i.passwordReveal||i.iconRight?i.iconRightVariant||i.variant:v.value);function N(e){a(`icon-click`,e),(0,t.nextTick)(()=>m())}function P(e){i.passwordReveal?R():i.clearable&&(b.value=f(i.number)?0:``),i.iconRightClickable&&(a(`icon-right-click`,e),(0,t.nextTick)(()=>m()))}let F=(0,t.ref)(!1),I=(0,t.computed)(()=>i.passwordReveal?F.value?`text`:`password`:i.type),L=(0,t.computed)(()=>F.value?`eye-off`:`eye`);function R(){F.value=!F.value,(0,t.nextTick)(()=>m())}let z=(0,t.useAttrs)(),B=(0,t.computed)(()=>({..._?.value?.inputAttrs,...z})),V=Z([`rootClass`,`o-input`],[`sizeClass`,`o-input--`,(0,t.computed)(()=>i.size),(0,t.computed)(()=>!!i.size)],[`variantClass`,`o-input--`,(0,t.computed)(()=>v.value||i.variant),(0,t.computed)(()=>!!v.value||!!i.variant)],[`expandedClass`,`o-input--expanded`,null,(0,t.computed)(()=>i.expanded)],[`disabledClass`,`o-input--disabled`,null,(0,t.computed)(()=>i.disabled)],[`roundedClass`,`o-input--rounded`,null,(0,t.computed)(()=>i.rounded)],[`hasIconRightClass`,`o-input--icon-right`,null,k],[`textareaClass`,`o-input--textarea`,null,(0,t.computed)(()=>i.type===`textarea`)]),H=Z([`inputClass`,`o-input__input`],[`iconLeftSpaceClass`,`o-input__input--iconspace-left`,null,(0,t.computed)(()=>!!i.icon)],[`iconRightSpaceClass`,`o-input__input--iconspace-right`,null,k],[`placeholderClass`,`o-input__input--placeholder`,null,O]),U=Z([`iconLeftClass`,`o-input__icon-left`]),W=Z([`iconRightClass`,`o-input__icon-right`]),G=Z([`counterClass`,`o-input__counter`]);return n({checkHtml5Validity:c,focus:m,value:b}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref:`rootElement`,"data-oruga":`input`,class:(0,t.normalizeClass)((0,t.unref)(V))},[e.icon?((0,t.openBlock)(),(0,t.createBlock)($,{key:0,class:(0,t.normalizeClass)((0,t.unref)(U)),clickable:e.iconClickable,icon:e.icon,pack:e.iconPack,size:e.size,onClick:N},null,8,[`class`,`clickable`,`icon`,`pack`,`size`])):(0,t.createCommentVNode)(``,!0),e.type===`textarea`?((0,t.openBlock)(),(0,t.createElementBlock)(`textarea`,(0,t.mergeProps)({key:2},B.value,{id:e.id,ref:`inputElement`,value:b.value,"data-oruga-input":`textarea`,class:(0,t.unref)(H),maxlength:e.maxlength,style:T.value,placeholder:e.placeholder,disabled:e.disabled,onBlur:r[4]||=(...e)=>(0,t.unref)(l)&&(0,t.unref)(l)(...e),onFocus:r[5]||=(...e)=>(0,t.unref)(u)&&(0,t.unref)(u)(...e),onInvalid:r[6]||=(...e)=>(0,t.unref)(p)&&(0,t.unref)(p)(...e),onInput:r[7]||=(...e)=>(0,t.unref)(E)&&(0,t.unref)(E)(...e)}),null,16,Re)):((0,t.openBlock)(),(0,t.createElementBlock)(`input`,(0,t.mergeProps)({key:1},B.value,{id:e.id,ref:`inputElement`,value:b.value,type:I.value,"data-oruga-input":I.value,class:(0,t.unref)(H),maxlength:e.maxlength,autocomplete:e.autocomplete,placeholder:e.placeholder,disabled:e.disabled,onBlur:r[0]||=(...e)=>(0,t.unref)(l)&&(0,t.unref)(l)(...e),onFocus:r[1]||=(...e)=>(0,t.unref)(u)&&(0,t.unref)(u)(...e),onInvalid:r[2]||=(...e)=>(0,t.unref)(p)&&(0,t.unref)(p)(...e),onInput:r[3]||=(...e)=>(0,t.unref)(E)&&(0,t.unref)(E)(...e)}),null,16,Le)),k.value?((0,t.openBlock)(),(0,t.createBlock)($,{key:3,class:(0,t.normalizeClass)((0,t.unref)(W)),icon:A.value,pack:e.iconPack,size:e.size,variant:M.value,clickable:e.passwordReveal||e.clearable||e.iconRightClickable,onClick:P},null,8,[`class`,`icon`,`pack`,`size`,`variant`,`clickable`])):(0,t.createCommentVNode)(``,!0),e.maxlength&&e.counter&&(0,t.unref)(g)&&e.type!==`number`?((0,t.openBlock)(),(0,t.createElementBlock)(`small`,{key:4,class:(0,t.normalizeClass)((0,t.unref)(G))},(0,t.toDisplayString)(x.value)+` / `+(0,t.toDisplayString)(e.maxlength),3)):(0,t.createCommentVNode)(``,!0)],2))}}),Be=(0,t.defineComponent)({isOruga:!0,name:`ODropdownItem`,configField:`dropdown`,__name:`DropdownItem`,props:{override:{type:Boolean,default:void 0},value:{default:()=>(0,t.useId)()},label:{default:void 0},disabled:{type:Boolean,default:!1},clickable:{type:Boolean,default:!0},hidden:{type:Boolean,default:!1},tag:{default:void 0},itemClass:{},itemSelectedClass:{},itemFocusedClass:{},itemClickableClass:{},itemDisabledClass:{}},emits:[`click`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.useTemplateRef)(`rootElement`),{parent:o,item:s}=Ce(a,{data:(0,t.computed)(()=>({value:r.value,label:r.label,isViable:f.value,setHidden:u,selectItem:()=>a.value?.click()}))}),c=(0,t.ref)(!1),l=(0,t.computed)(()=>r.hidden||c.value);function u(e){c.value=e}let f=(0,t.computed)(()=>!l.value&&!r.disabled&&r.clickable),p=(0,t.computed)(()=>!o.value.disabled&&!r.disabled&&r.clickable),m=(0,t.computed)(()=>d(o.value.selected)?o.value.multiple&&Array.isArray(o.value.selected)?o.value.selected.some(e=>b(s.value.data.value,e)):b(s.value.data.value,o.value.selected):!1),h=(0,t.computed)(()=>s.value.identifier===o.value.focsuedIdentifier);function g(e){p.value&&(o.value.selectItem(s.value,e),i(`click`,r.value,e))}function _(){o.value.focusItem(s.value)}let v=Z([`itemClass`,`o-dropdown__item`],[`itemDisabledClass`,`o-dropdown__item--disabled`,null,(0,t.computed)(()=>o.value.disabled||r.disabled)],[`itemSelectedClass`,`o-dropdown__item--active`,null,m],[`itemClickableClass`,`o-dropdown__item--clickable`,null,p],[`itemFocusedClass`,`o-dropdown__item--focused`,null,h]);return(n,r)=>(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag??(0,t.unref)(o).itemTag),{id:`${(0,t.unref)(o).menuId}-${(0,t.unref)(s).identifier}`,ref:`rootElement`,"data-oruga":`dropdown-item`,"data-id":`dropdown-${(0,t.unref)(s).identifier}`,class:(0,t.normalizeClass)((0,t.unref)(v)),role:(0,t.unref)(o).selectable?`option`:`menuitem`,tabindex:`-1`,"aria-selected":(0,t.unref)(o).selectable?m.value:void 0,"aria-hidden":l.value,"aria-disabled":e.disabled,onClick:g,onMouseenter:_,onKeydown:[(0,t.withKeys)(g,[`enter`]),(0,t.withKeys)(g,[`space`])]},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.label),1)])]),_:3},40,[`id`,`data-id`,`class`,`role`,`aria-selected`,`aria-hidden`,`aria-disabled`])),[[t.vShow,!l.value]])}}),Ve=(0,t.defineComponent)({inheritAttrs:!1,__name:`PositionWrapper`,props:{teleport:{type:[Boolean,String,Object],required:!0},trigger:{type:Object,default:void 0},position:{type:String,validator:e=>[`auto`,`top`,`bottom`,`left`,`right`,`top-right`,`top-left`,`bottom-left`,`bottom-right`].includes(e),required:!0},defaultPosition:{type:String,validator:e=>[`top`,`bottom`,`left`,`right`].includes(e),default:`top`},disabled:{type:Boolean,default:!1},disablePositioning:{type:Boolean,default:!0}},emits:[`update:position`],setup(e,{emit:n}){let r={top:`bottom`,bottom:`top`,right:`left`,left:`right`},i=e,a=n,o=(0,t.computed)(()=>typeof i.teleport==`boolean`?{to:Ne(),disabled:!i.teleport}:{to:i.teleport,disabled:!1}),s=(0,t.ref)();function c(e){return s.value=e,(0,t.nextTick)(()=>{m(),f()}),e}let l=i.position,u=(0,t.ref)(),d;j&&window.ResizeObserver&&(d=new window.ResizeObserver(m)),(0,t.watch)(()=>i.disabled,()=>{i.disabled?p():f()},{immediate:!0,flush:`post`}),(0,t.watch)([()=>!!i.trigger,()=>i.disablePositioning,()=>i.disabled],()=>m(),{immediate:!0,flush:`post`}),(0,t.onBeforeUnmount)(()=>p());function f(){j&&!u.value&&s.value&&(u.value=je(Y(s)),u.value&&u.value!==document.documentElement?(u.value.addEventListener(`scroll`,m,{passive:!0}),window.ResizeObserver&&d&&d.observe(u.value)):(document.addEventListener(`scroll`,m,{passive:!0}),window.addEventListener(`resize`,m)))}function p(){j&&(window.ResizeObserver&&d&&d.disconnect(),window.removeEventListener(`resize`,m),document.removeEventListener(`scroll`,m),u.value=void 0)}function m(){if(i.disabled)return;let e=i.position;if(l===`auto`&&(e=h(),e!=i.position&&a(`update:position`,e)),!i.teleport)return;let t=Y(s),n=Y(()=>i.trigger);if(t&&n){let r=n.getBoundingClientRect(),a=r.top+window.scrollY,o=r.left+window.scrollX;e.includes(`bottom`)?a+=n.clientHeight:e.includes(`top`)&&(a-=t.clientHeight),e===`left`?o-=t.clientWidth:e===`right`?o+=n.clientWidth:e.includes(`-right`)&&(o+=n.clientWidth-t.clientWidth),(e===`top`||e===`bottom`)&&(o+=n.clientWidth/2),(e===`left`||e===`right`)&&(a+=n.clientHeight/2),i.disablePositioning?(t.style.position=`relative`,t.style.top=`${a}px`,t.style.left=`${o}px`):(t.style.position=``,t.style.top=``,t.style.left=``)}}function h(){let e=i.defaultPosition;if(!i.trigger||!s.value||!u.value)return e;let t=new DOMRect(u.value.offsetLeft,u.value.offsetTop,u.value.clientWidth,u.value.clientHeight),n=Y(s).getBoundingClientRect(),a=_(Y(i.trigger).getBoundingClientRect()),o=_(n),c=e=>{let t=a[e],i=o[r[e]];return new DOMRect(n.x+(t.x-i.x),n.y+(t.y-i.y),n.width,n.height)},l=r[i.defaultPosition],d=i.defaultPosition===`top`||i.defaultPosition===`bottom`?`left`:`top`,f=r[d],p=[i.defaultPosition,l,d,f],m=0;for(let n of p){let r=g(t,c(n));r>m&&(m=r,e=n)}return e}function g(e,t){let n=Math.max(e.left,t.left),r=Math.min(e.right,t.right),i=Math.max(e.top,t.top),a=Math.min(e.bottom,t.bottom);return Math.max(r-n,0)*Math.max(a-i,0)}let _=e=>({top:{x:(e.left+e.right)*.5,y:e.top},bottom:{x:(e.left+e.right)*.5,y:e.bottom},left:{x:e.left,y:(e.top+e.bottom)*.5},right:{x:e.right,y:(e.top+e.bottom)*.5}});return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:o.value.to,disabled:o.value.disabled},[o.value.disabled?(0,t.renderSlot)(e.$slots,`default`,{key:0,setContent:c}):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,(0,t.mergeProps)({key:1},e.$attrs,{style:{position:`absolute`,left:`0px`,top:`0px`}}),[(0,t.renderSlot)(e.$slots,`default`,{setContent:c})],16))],8,[`to`,`disabled`]))}}),He=(0,t.defineComponent)({isOruga:!0,name:`ODropdown`,configField:`dropdown`,__name:`Dropdown`,props:(0,t.mergeModels)({override:{type:Boolean,default:void 0},modelValue:{default:void 0},multiple:{},options:{default:void 0},active:{type:Boolean,default:!1},label:{default:void 0},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},selectable:{type:Boolean,default:!1},scrollable:{type:Boolean,default:!1},maxHeight:{default:()=>q(`dropdown.maxHeight`,200)},position:{default:()=>q(`dropdown.position`,`bottom-left`)},animation:{default:()=>q(`dropdown.animation`,`fade`)},expanded:{type:Boolean,default:!1},menuId:{default:()=>(0,t.useId)()},menuTag:{default:()=>q(`dropdown.menuTag`,`div`)},itemTag:{default:()=>q(`dropdown.itemTag`,`div`)},triggerTag:{default:()=>q(`dropdown.triggerTag`,`div`)},openOnHover:{type:Boolean,default:()=>q(`tooltip.openOnHover`,!1)},openOnFocus:{type:Boolean,default:()=>q(`tooltip.openOnFocus`,!1)},openOnClick:{type:Boolean,default:()=>q(`tooltip.openOnClick`,!0)},openOnContextmenu:{type:Boolean,default:()=>q(`tooltip.openOnContextmenu`,!1)},delay:{default:void 0},keepOpen:{type:Boolean,default:()=>q(`dropdown.keepOpen`,!1)},keepFirst:{type:Boolean,default:()=>q(`dropdown.keepFirst`,!1)},closeOnOutside:{type:Boolean,default:()=>q(`dropdown.closeOnOutside`,!0)},closeOnScroll:{type:Boolean,default:()=>q(`dropdown.closeOnScroll`,!1)},selectOnFocus:{type:Boolean,default:()=>q(`dropdown.selectOnFocus`,!1)},selectOnClose:{type:Boolean,default:()=>q(`dropdown.selectOnClose`,!1)},mobileModal:{type:Boolean,default:()=>q(`dropdown.mobileModal`,!0)},desktopModal:{type:Boolean,default:()=>q(`dropdown.desktopModal`,!1)},mobileBreakpoint:{default:()=>q(`dropdown.mobileBreakpoint`)},teleport:{type:[Boolean,String,Object],default:()=>q(`dropdown.teleport`,!1)},clipScroll:{type:Boolean,default:()=>q(`dropdown.clipScroll`,!1)},labelledby:{},ariaLabel:{},rootClass:{},mobileClass:{},modalClass:{},teleportClass:{},inlineClass:{},disabledClass:{},expandedClass:{},positionClass:{},activeClass:{},hoverableClass:{},triggerClass:{},menuClass:{},menuPositionClass:{},menuActiveClass:{},overlayClass:{},scrollClipClass:{},scrollKeepClass:{}},{modelValue:{default:void 0},modelModifiers:{},active:{type:Boolean,default:!1},activeModifiers:{}}),emits:(0,t.mergeModels)([`update:model-value`,`update:active`,`select`,`change`,`open`,`close`,`scroll-start`,`scroll-end`],[`update:modelValue`,`update:active`]),setup(e,{expose:n,emit:r}){let i=e,a=r,s=(0,t.useTemplateRef)(`triggerRef`),c=(0,t.ref)(),{parentField:l}=he(),u=i.labelledby??l.value?.labelId,d=xe(),p=(0,t.computed)(()=>Te(i.options,d,!0)),m=(0,t.useModel)(e,`modelValue`),g=(0,t.useModel)(e,`active`),_=(0,t.ref)(i.position);(0,t.watch)(()=>i.position,e=>_.value=e);let{isMobile:v}=fe(i.mobileBreakpoint),y=j&&A.any(),b=(0,t.computed)(()=>!i.inline&&(v.value&&i.mobileModal||!v.value&&i.desktopModal)),x=(0,t.computed)(()=>({maxHeight:i.scrollable?h(i.maxHeight):null,overflow:i.scrollable?`auto`:null})),S=(0,t.computed)(()=>i.openOnHover),C=Q(i.clipScroll);(0,t.watch)(g,e=>{e&&!i.inline&&i.keepFirst&&!V.value&&W(1),b.value&&C(e)},{flush:`post`});let{childItems:w}=Se({rootRef:c,data:(0,t.computed)(()=>({menuId:i.menuId,itemTag:i.itemTag,disabled:i.disabled,multiple:f(i.multiple),selectable:i.selectable,selected:m.value,focsuedIdentifier:V.value?.identifier,selectItem:B,focusItem:H}))});(0,t.watch)(w,()=>{g.value&&!i.inline&&i.keepFirst&&(V.value=void 0,W(1))},{deep:!0,flush:`post`});let T=(0,t.computed)(()=>w.value.some(e=>e.data.isViable));function E(e,t){let n=o(V.value?.index==e?e+t:e,w.value.length);for(;n!==V.value?.index&&!w.value[n].data.isViable;n=o(n+t,w.value.length));return w.value[n]}j&&(i.scrollable&&Ae(c,{onScrollEnd:()=>a(`scroll-end`),onScrollStart:()=>a(`scroll-start`)},{passive:!0}),i.closeOnOutside&&we([c,s],D,{trigger:g,passive:!0}),i.closeOnScroll&&de(window,`scroll`,O,{trigger:g,passive:!0}));function D(e){i.closeOnOutside&&(!g.value||i.inline||z(e))}function O(e){i.closeOnScroll&&(!g.value||i.inline||z(e))}function k(e){y&&S.value&&I(e),i.openOnClick&&I(e)}function M(e){i.openOnContextmenu&&(e.preventDefault(),R(e))}function N(e){i.openOnFocus&&R(e)}function P(e){y||i.openOnHover&&R(e)}function F(e){y||i.openOnHover&&z(e)}function I(e){i.disabled||(g.value?z(e):R(e))}let L;function R(e){i.disabled||g.value||(i.delay?L=setTimeout(()=>{g.value=!0,L=void 0,a(`open`,e)},i.delay):((0,t.nextTick)(()=>g.value=!0),a(`open`,e)))}function z(e){g.value&&(L&&clearTimeout(L),i.selectOnClose&&V.value?.data.value&&B(V.value),V.value&&=(Y(V.value.el)?.blur(),void 0),g.value=!1,a(`close`,e))}function B(e,n){let r=e.data.value;a(`select`,r),i.selectable&&(f(i.multiple)?(m.value&&Array.isArray(m.value)?m.value.includes(r)?m.value=m.value.filter(e=>e!==r):m.value=[...m.value,r]:m.value=[r],(0,t.nextTick)(()=>a(`change`,m.value))):m.value!==r&&(m.value=r,(0,t.nextTick)(()=>a(`change`,m.value)))),s.value?.focus(),!(i.keepOpen||!g.value||!n)&&z(n)}let V=(0,t.ref)();function H(e){V.value=e}function U(){V.value=void 0}function W(e){T.value&&G(E(V.value?.index||0,e))}function G(e){i.selectOnFocus&&e.data.value&&B(e,new FocusEvent(`focus`,{relatedTarget:(0,t.toValue)(e.el)})),V.value=e,Me(c,e.el)}function K(e){if(!g.value)return R(e);W(-1)}function q(e){if(!g.value)return R(e);W(1)}function J(e){g.value&&V.value&&(G(V.value),V.value.data.selectItem(),e.stopPropagation())}function ee(e){let t=e.target;t.tagName!==`INPUT`&&t.tagName!==`TEXTAREA`&&e.preventDefault(),R(e),T.value&&G(E(0,1))}function te(e){let t=e.target;t.tagName!==`INPUT`&&t.tagName!==`TEXTAREA`&&e.preventDefault(),R(e),T.value&&G(E(w.value.length-1,-1))}function ne(e){z(e)}let re=Z([`rootClass`,`o-dropdown`],[`disabledClass`,`o-dropdown--disabled`,null,(0,t.computed)(()=>i.disabled)],[`expandedClass`,`o-dropdown--expanded`,null,(0,t.computed)(()=>i.expanded)],[`inlineClass`,`o-dropdown--inline`,null,(0,t.computed)(()=>i.inline)],[`mobileClass`,`o-dropdown--mobile`,null,v],[`modalClass`,`o-dropdown--modal`,null,b],[`hoverableClass`,`o-dropdown--hoverable`,null,S],[`positionClass`,`o-dropdown--position-`,_,(0,t.computed)(()=>!!_.value)],[`activeClass`,`o-dropdown--active`,null,(0,t.computed)(()=>g.value||i.inline)]),ie=Z([`triggerClass`,`o-dropdown__trigger`]),ae=Z([`teleportClass`,`o-dropdown--teleport`,null,(0,t.computed)(()=>!!i.teleport)]),X=Z([`overlayClass`,`o-dropdown__overlay`]),oe=Z([`menuClass`,`o-dropdown__menu`],[`menuPositionClass`,`o-dropdown__menu--`,_,(0,t.computed)(()=>!!_.value)],[`menuActiveClass`,`o-dropdown__menu--active`,null,(0,t.computed)(()=>g.value||i.inline)]);return n({value:m,items:w}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{"data-oruga":`dropdown`,class:(0,t.normalizeClass)((0,t.unref)(re)),onMouseleave:F,onFocusout:F},[e.inline?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.triggerTag),{key:0,ref_key:`triggerRef`,ref:s,class:(0,t.normalizeClass)((0,t.unref)(ie)),role:e.selectable?`combobox`:void 0,tabindex:e.disabled?-1:null,"aria-haspopup":e.selectable?`listbox`:`menu`,"aria-expanded":e.selectable?g.value:void 0,"aria-activedescendant":V.value?`${e.menuId}-${V.value.identifier}`:void 0,"aria-disabled":e.disabled,"aria-controls":e.menuId,"aria-labelledby":e.selectable?(0,t.unref)(u):void 0,"aria-label":e.selectable?e.ariaLabel:void 0,onClick:k,onContextmenu:M,onMouseenter:P,onFocusCapture:N,onKeydown:[(0,t.withKeys)(ne,[`tab`]),(0,t.withKeys)(ne,[`escape`]),(0,t.withKeys)((0,t.withModifiers)(K,[`prevent`]),[`up`]),(0,t.withKeys)((0,t.withModifiers)(q,[`prevent`]),[`down`]),(0,t.withKeys)(ee,[`home`]),(0,t.withKeys)(te,[`end`])],onKeydownCapture:[(0,t.withKeys)(J,[`enter`]),(0,t.withKeys)(J,[`space`])]},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`trigger`,{active:g.value,value:e.modelValue,toggle:k},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.label),1)])]),_:3},40,[`class`,`role`,`tabindex`,`aria-haspopup`,`aria-expanded`,`aria-activedescendant`,`aria-disabled`,`aria-controls`,`aria-labelledby`,`aria-label`,`onKeydown`])),(0,t.createVNode)(Ve,{position:_.value,"onUpdate:position":r[6]||=e=>_.value=e,teleport:e.teleport,class:(0,t.normalizeClass)([...(0,t.unref)(re),...(0,t.unref)(ae)]),trigger:s.value,disabled:!g.value,"default-position":`bottom`,"disable-positioning":!b.value},{default:(0,t.withCtx)(({setContent:i})=>[b.value?((0,t.openBlock)(),(0,t.createBlock)(t.Transition,{key:0,name:e.animation},{default:(0,t.withCtx)(()=>[(0,t.withDirectives)((0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)((0,t.unref)(X)),tabindex:`-1`,onClick:D},null,2),[[t.vShow,g.value]])]),_:1},8,[`name`])):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(t.Transition,{name:e.animation},{default:(0,t.withCtx)(()=>[(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.menuTag),{id:e.menuId,ref:e=>c.value=i(e),tabindex:e.inline?0:-1,class:(0,t.normalizeClass)((0,t.unref)(oe)),style:(0,t.normalizeStyle)(x.value),role:e.selectable?`listbox`:`menu`,"aria-labelledby":(0,t.unref)(u),"aria-label":e.ariaLabel,"aria-hidden":!e.selectable&&!e.inline?e.disabled||!g.value:void 0,"aria-multiselectable":e.selectable?(0,t.unref)(f)(e.multiple):void 0,onMouseleave:U,onKeydown:[r[0]||=(0,t.withKeys)((0,t.withModifiers)(t=>e.inline&&J(t),[`prevent`]),[`enter`]),r[1]||=(0,t.withKeys)((0,t.withModifiers)(t=>e.inline&&J(t),[`prevent`]),[`space`]),r[2]||=(0,t.withKeys)((0,t.withModifiers)(t=>e.inline&&K(t),[`prevent`]),[`up`]),r[3]||=(0,t.withKeys)((0,t.withModifiers)(t=>e.inline&&q(t),[`prevent`]),[`down`]),r[4]||=(0,t.withKeys)(t=>e.inline&&ee(t),[`home`]),r[5]||=(0,t.withKeys)(t=>e.inline&&te(t),[`end`])]},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`before`,{toggle:I}),(0,t.renderSlot)(n.$slots,`default`,{toggle:I},()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(p.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:e.key},[(0,t.unref)(Ee)(e)?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createVNode)(Be,(0,t.mergeProps)({ref_for:!0},e.item,{role:`presentation`,clickable:!1}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`group`,{group:e},()=>[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.item.label),1)])]),_:2},1040),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.options,e=>((0,t.openBlock)(),(0,t.createBlock)(Be,(0,t.mergeProps)({ref_for:!0},e.item,{key:e.key}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`option`,{option:e},()=>[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.item.label),1)])]),_:2},1040))),128))],64)):((0,t.openBlock)(),(0,t.createBlock)(Be,(0,t.mergeProps)({key:1,ref_for:!0},e.item),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`option`,{option:e},()=>[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.item.label),1)])]),_:2},1040))],64))),128))]),T.value?(0,t.createCommentVNode)(``,!0):(0,t.renderSlot)(n.$slots,`empty`,{key:0,toggle:I}),(0,t.renderSlot)(n.$slots,`after`,{toggle:I})]),_:3},40,[`id`,`tabindex`,`class`,`style`,`role`,`aria-labelledby`,`aria-label`,`aria-hidden`,`aria-multiselectable`])),[[t.vShow,!e.disabled&&g.value||e.inline]])]),_:2},1032,[`name`])]),_:3},8,[`position`,`teleport`,`class`,`trigger`,`disabled`,`disable-positioning`])],34))}}),Ue=function(e){return e[e.Header=0]=`Header`,e[e.Footer=1]=`Footer`,e[e.EMPTY=2]=`EMPTY`,e}(Ue||{}),We=(0,t.defineComponent)({isOruga:!0,name:`OAutocomplete`,configField:`autocomplete`,inheritAttrs:!1,__name:`Autocomplete`,props:(0,t.mergeModels)({override:{type:Boolean,default:void 0},modelValue:{default:void 0},input:{default:``},active:{type:Boolean,default:!1},options:{default:void 0},backendFiltering:{type:Boolean,default:()=>q(`autocomplete.backendFiltering`,!1)},filter:{type:Function,default:void 0},type:{default:`text`},menuTag:{default:()=>q(`autocomplete.menuTag`,`div`)},itemTag:{default:()=>q(`autocomplete.itemTag`,`div`)},size:{default:()=>q(`autocomplete.size`)},position:{default:()=>q(`autocomplete.position`,`auto`)},placeholder:{default:void 0},expanded:{type:Boolean,default:()=>q(`autocomplete.expanded`,!1)},rounded:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},maxlength:{default:void 0},debounce:{default:()=>q(`autocomplete.debounce`,400)},keepFirst:{type:Boolean,default:()=>q(`autocomplete.keepFirst`,!1)},keepOpen:{type:Boolean,default:()=>q(`autocomplete.keepOpen`,!1)},clearOnSelect:{type:Boolean,default:()=>q(`autocomplete.clearOnSelect`,!1)},openOnFocus:{type:Boolean,default:()=>q(`autocomplete.openOnFocus`,!1)},selectOnClose:{type:Boolean,default:!1},selectableHeader:{type:Boolean,default:!1},selectableFooter:{type:Boolean,default:!1},maxHeight:{default:()=>q(`autocomplete.maxHeight`)},iconPack:{default:()=>q(`autocomplete.iconPack`)},icon:{default:()=>q(`autocomplete.icon`)},iconClickable:{type:Boolean,default:!1},iconRight:{default:()=>q(`autocomplete.iconRight`)},iconRightClickable:{type:Boolean,default:!1},iconRightVariant:{default:void 0},clearable:{type:Boolean,default:()=>q(`autocomplete.clearable`,!1)},clearIcon:{default:()=>q(`autocomplete.clearIcon`,`close-circle`)},statusIcon:{type:Boolean,default:()=>q(`statusIcon`,!0)},mobileModal:{type:Boolean,default:()=>q(`autocomplete.mobileModal`,!1)},desktopModal:{type:Boolean,default:()=>q(`dropdown.desktopModal`,!1)},animation:{default:()=>q(`autocomplete.animation`,`fade`)},autocomplete:{default:()=>q(`autocomplete.autocomplete`,`off`)},useHtml5Validation:{type:Boolean,default:()=>q(`useHtml5Validation`,!0)},customValidity:{type:[String,Function],default:void 0},teleport:{type:[Boolean,String,Object],default:()=>q(`autocomplete.teleport`,!1)},rootClass:{},itemClass:{},itemGroupClass:{},itemEmptyClass:{},itemHeaderClass:{},itemFooterClass:{},inputClasses:{default:()=>q(`autocomplete.inputClasses`,{})}},{active:{type:Boolean,default:!1},activeModifiers:{},input:{default:``},inputModifiers:{},modelValue:{default:void 0},modelModifiers:{}}),emits:(0,t.mergeModels)([`update:model-value`,`update:input`,`update:active`,`input`,`select`,`select-header`,`select-footer`,`focus`,`blur`,`invalid`,`icon-click`,`icon-right-click`,`scroll-start`,`scroll-end`],[`update:active`,`update:input`,`update:modelValue`]),setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.useSlots)(),s=(0,t.useTemplateRef)(`dropdownElement`),{checkHtml5Validity:c,onInvalid:l,onFocus:u,onBlur:d,isFocused:f,setFocus:p}=ye((0,t.useTemplateRef)(`inputComponent`),a,i),{parentField:m}=he(),h=(0,t.useModel)(e,`active`),g=(0,t.useModel)(e,`input`),_=(0,t.useId)(),v=xe(),y=(0,t.computed)(()=>Te(i.options,v,!0)),x=(0,t.computed)(()=>s.value?.items??[]);(0,t.watch)(g,e=>{i.backendFiltering||x.value.forEach(t=>{if(t.data.value===Ue.Header||t.data.value===Ue.Footer||t.data.value===Ue.EMPTY)return;let n=typeof i.filter==`function`?i.filter(t.data.value,e):t.data.label?.toLowerCase().includes(e.toLowerCase());t.data.setHidden(!n)})});let S=(0,t.computed)(()=>x.value.some(e=>e.data.isViable));(0,t.watch)(S,e=>{f.value&&(h.value=e||!!o.empty)});function C(e){if(e!==void 0)return x.value.find(t=>b(e,t.data.value))}let w=(0,t.useModel)(e,`modelValue`),T=(0,t.ref)();(0,t.watch)(g,e=>{let t=C(w.value);t&&t.data.label!==e&&(w.value=void 0),!S.value&&!o.empty&&(h.value=!1)},{flush:`post`}),(0,t.watch)(w,E,{immediate:!0}),(0,t.watch)(x,()=>{w.value&&E(w.value)},{once:!0});function E(e){let t=C(e);if(!t){g.value=``,T.value=void 0;return}g.value=i.clearOnSelect?``:t.data.label??``,c(),T.value=t.data.value}function D(e){let t;e!==Ue.EMPTY&&(e===Ue.Header?a(`select-header`):e===Ue.Footer?a(`select-footer`):e&&(t=e),w.value=t,a(`select`,t),i.keepOpen?p():h.value=!1)}function O(e,t){f.value&&(!h.value&&e&&(S.value||o.empty)?h.value=!0:h.value&&!e&&!i.keepOpen&&(h.value=!1)),a(`input`,e,t),c()}function k(e){i.openOnFocus&&(i.options?.length||o.default||o.header||o.footer)&&(h.value=!0),u(e)}function A(e){d(e)}let j=(0,t.computed)(()=>i.clearable&&g.value&&i.clearIcon?i.clearIcon:i.iconRight),M=(0,t.computed)(()=>i.clearable?!0:i.iconRightClickable);function N(e){i.clearable?g.value=``:a(`icon-right-click`,e)}let P=(0,t.useAttrs)(),F=(0,t.computed)(()=>({...m?.value?.inputAttrs,...P,...i.inputClasses})),I=Z([`rootClass`,`o-autocomplete`]),L=Z([`itemClass`,`o-autocomplete__item`]),R=Z([`itemEmptyClass`,`o-autocomplete__item--empty`]),z=Z([`