@ishitatsuyuki/oruga-next
Version:
UI components for Vue.js and CSS framework agnostic
2 lines • 245 kB
JavaScript
/*! Oruga v0.5.5-direct-export | MIT License | github.com/oruga-ui/oruga */
import{defineComponent as e,openBlock as t,createBlock as s,Fragment as i,createCommentVNode as a,resolveDynamicComponent as n,resolveComponent as l,mergeProps as o,createVNode as r,toDisplayString as c,withKeys as d,withModifiers as u,Transition as h,withCtx as p,withDirectives as m,renderSlot as g,renderList as C,vShow as f,createTextVNode as b,vModelCheckbox as y,h as v,resolveDirective as k,Comment as S,Text as w,vModelSelect as F,createSlots as D,render as A,toHandlers as _,vModelRadio as x,createApp as $,capitalize as V}from"vue";const B=Math.sign||function(e){return e<0?-1:e>0?1:0};function O(e,t){return(e&t)===t}function I(e,t){return(e%t+t)%t}function T(e,t,s){return Math.max(t,Math.min(s,e))}function P(e,t,s){const i=t.split(".").reduce((e,t)=>void 0!==e?e[t]:void 0,e);return void 0!==i?i:s}function M(e,t,s){if(!e)return-1;if(!s||"function"!=typeof s)return e.indexOf(t);for(let i=0;i<e.length;i++)if(s(e[i],t))return i;return-1}const R=e=>"object"==typeof e&&!Array.isArray(e),L=(e,t,s=!1)=>{if(s||!Object.assign){const i=s=>R(t[s])&&null!==e&&Object.prototype.hasOwnProperty.call(e,s)&&R(e[s]);let a;return a=null!=t&&Object.getOwnPropertyNames(t).map(a=>({[a]:i(a)?L(e[a],t[a],s):t[a]})).reduce((e,t)=>({...e,...t}),{}),{...e,...a}}return Object.assign(e,t)},N=L,H={Android:function(){return"undefined"!=typeof window&&window.navigator.userAgent.match(/Android/i)},BlackBerry:function(){return"undefined"!=typeof window&&window.navigator.userAgent.match(/BlackBerry/i)},iOS:function(){return"undefined"!=typeof window&&window.navigator.userAgent.match(/iPhone|iPad|iPod/i)},Opera:function(){return"undefined"!=typeof window&&window.navigator.userAgent.match(/Opera Mini/i)},Windows:function(){return"undefined"!=typeof window&&window.navigator.userAgent.match(/IEMobile/i)},any:function(){return H.Android()||H.BlackBerry()||H.iOS()||H.Opera()||H.Windows()}};function E(e){void 0!==e.remove?e.remove():void 0!==e.parentNode&&null!==e.parentNode&&e.parentNode.removeChild(e)}function z(e){const t=document.createElement("div");t.style.position="absolute",t.style.left="0px",t.style.top="0px";const s=document.createElement("div");return t.appendChild(s),s.appendChild(e),document.body.appendChild(t),t}function W(e){return e?e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):e}function Y(e){return void 0===e?null:isNaN(e)?e:e+"px"}function j(e){return null!=e?e:""}function K(e,t){const s=t.match(e);return e.toString().match(/<(.+?)>/g).map(e=>{const t=e.match(/<(.+)>/);return!t||t.length<=0?null:e.match(/<(.+)>/)[1]}).reduce((e,t,i)=>(s&&s.length>i?e[t]=s[i+1]:e[t]=null,e),{})}function U(e,t,s){let i;return function(){const a=this,n=arguments,l=function(){i=null,s||e.apply(a,n)},o=s&&!i;clearTimeout(i),i=setTimeout(l,t),o&&e.apply(a,n)}}const q=e=>void 0!==e;function X(e){return e?e.normalize("NFD").replace(/[\u0300-\u036f]/g,""):e}let G={iconPack:"mdi",useHtml5Validation:!0,statusIcon:!0,transformClasses:void 0};const Q=e=>{G=e},J=()=>G;let Z;const ee=e=>{Z=e},te={getOptions:J,setOptions(e){Q(N(J(),e,!0))}},se={install(e,t={}){ee(e),Q(N(J(),t,!0))}},ie=(e,t)=>j(e).split(" ").filter(e=>e.length>0).map(e=>e+t).join(" "),ae=e=>{const t=(e.$options.computed?Object.keys(e.$options.computed):[]).filter(e=>{return s="Classes",!(-1!==(t=e).indexOf(s,t.length-s.length));var t,s}).reduce((t,s)=>(t[s]=e[s],t),{});return{props:e.$props,data:e.$data,computed:t}};var ne=e({isOruga:!0,props:{override:Boolean},methods:{computedClass(e,t,s=""){const i=!0===this.$props.override?{}:J(),a=this.$props.override||P(i,this.$options.configField+".override",!1),n=P(i,`${this.$options.configField}.${e}.override`,a),l=P(i,"transformClasses",void 0),o=P(i,this.$options.configField+".transformClasses",void 0);let r=P(i,`${this.$options.configField}.${e}.class`,"")||P(i,`${this.$options.configField}.${e}`,""),c=P(this.$props,e);Array.isArray(c)&&(c=c.join(" ")),-1!==t.search("{*}")?t=t.replace(/\{\*\}/g,s):t+=s;let d=null;"function"==typeof c?(d=ae(this),c=c(s,d)):c=ie(c,s),r="function"==typeof r?r(s,d||ae(this)):ie(r,s);let u=((a&&!n||!a&&!n?t:"")+" "+j(r)+" "+j(c)).trim().replace(/\s\s+/g," ");return o&&(u=o(u)),l&&(u=l(u)),u}}});const le={sizes:{default:"mdi-24px",small:null,medium:"mdi-36px",large:"mdi-48px"},iconPrefix:"mdi-"},oe=()=>{const e=P(J(),"iconComponent")?"":"fa-";return{sizes:{default:null,small:null,medium:e+"lg",large:e+"2x"},iconPrefix:e,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"}}};var re=e({name:"OIcon",mixins:[ne],configField:"icon",props:{variant:[String,Object],component:String,pack:String,icon:String,size:String,customSize:String,customClass:String,clickable:Boolean,spin:Boolean,rotation:[Number,String],both:Boolean,rootClass:[String,Function,Array],clickableClass:[String,Function,Array],spinClass:[String,Function,Array],sizeClass:[String,Function,Array],variantClass:[String,Function,Array]},computed:{rootClasses(){return[this.computedClass("rootClass","o-icon"),{[this.computedClass("clickableClass","o-icon--clickable")]:this.clickable},{[this.computedClass("spinClass","o-icon--spin")]:this.spin},{[this.computedClass("sizeClass","o-icon--",this.size)]:this.size},{[this.computedClass("variantClass","o-icon--",this.newVariant)]:this.newVariant}]},rootStyle(){const e={};return this.rotation&&(e.transform=`rotate(${this.rotation}deg)`),e},iconConfig(){return(()=>{let e={mdi:le,fa:oe(),fas:oe(),far:oe(),fad:oe(),fab:oe(),fal:oe()};const t=P(J(),"customIconPacks");return t&&(e=N(e,t,!0)),e})()[this.newPack]},iconPrefix(){return this.iconConfig&&this.iconConfig.iconPrefix?this.iconConfig.iconPrefix:""},newIcon(){return`${this.iconPrefix}${this.getEquivalentIconOf(this.icon)}`},newPack(){return this.pack||P(J(),"iconPack","mdi")},newVariant(){if(!this.variant)return;let e="";return e="string"==typeof this.variant?this.variant:Object.keys(this.variant).filter(e=>this.variant[e])[0],e},newCustomSize(){return this.customSize||this.customSizeByPack},customSizeByPack(){if(this.iconConfig&&this.iconConfig.sizes){if(this.size&&void 0!==this.iconConfig.sizes[this.size])return this.iconConfig.sizes[this.size];if(this.iconConfig.sizes.default)return this.iconConfig.sizes.default}return null},useIconComponent(){if(this.component)return this.component;const e=P(J(),"iconComponent");return e||null}},methods:{getEquivalentIconOf(e){return this.both&&this.iconConfig&&this.iconConfig.internalIcons&&this.iconConfig.internalIcons[e]?this.iconConfig.internalIcons[e]:e}}});re.render=function(e,l,o,r,c,d){return t(),s("span",{class:e.rootClasses,style:e.rootStyle},[e.useIconComponent?(t(),s(i,{key:1},[a(" custom icon component "),(t(),s(n(e.useIconComponent),{icon:[e.newPack,e.newIcon],size:e.newCustomSize,class:[e.customClass]},null,8,["icon","size","class"]))],64)):(t(),s("i",{key:0,class:[e.newPack,e.newIcon,e.newCustomSize,e.customClass]},null,2))],6)},re.__file="src/components/icon/Icon.vue";var ce=e({inject:{$field:{from:"$field",default:!1}},emits:["blur","focus"],props:{expanded:Boolean,rounded:Boolean,icon:String,iconPack:String,autocomplete:String,maxlength:[Number,String],useHtml5Validation:{type:Boolean,default:()=>P(J(),"useHtml5Validation",!0)},statusIcon:{type:Boolean,default:()=>P(J(),"statusIcon",!0)},validationMessage:String},data(){return{isValid:!0,isFocused:!1,newIconPack:this.iconPack}},computed:{parentField(){return this.$field},statusVariant(){if(this.parentField&&this.parentField.newVariant){if("string"==typeof this.parentField.newVariant)return this.parentField.newVariant;for(const e in this.parentField.newVariant)if(this.parentField.newVariant[e])return e}},statusMessage(){if(this.parentField)return this.parentField.newMessage||this.parentField.hasMessageSlot},statusVariantIcon(){return P(J(),"statusVariantIcon",{success:"check",danger:"alert-circle",info:"information",warning:"alert"})[this.statusVariant]||""}},methods:{focus(){const e=this.getElement();e&&this.$nextTick(()=>{e&&e.focus()})},onBlur(e){this.isFocused=!1,this.parentField&&(this.parentField.isFocused=!1),this.$emit("blur",e),this.checkHtml5Validity()},onFocus(e){this.isFocused=!0,this.parentField&&(this.parentField.isFocused=!0),this.$emit("focus",e)},getElement(){let e=this.$refs[this.$elementRef];for(;e&&e.$elementRef;)e=e.$refs[e.$elementRef];return e},setInvalid(){const e=this.validationMessage||this.getElement().validationMessage;this.setValidity("danger",e)},setValidity(e,t){this.$nextTick(()=>{this.parentField&&(this.parentField.variant||(this.parentField.newVariant=e),this.parentField.message||(this.parentField.newMessage=t))})},checkHtml5Validity(){if(!this.useHtml5Validation)return;const e=this.getElement();return e?(e.checkValidity()?(this.setValidity(null,null),this.isValid=!0):(this.setInvalid(),this.isValid=!1),this.isValid):void 0},syncFilled(e){this.parentField&&(this.parentField.isFilled=!!e)}}}),de=e({name:"OInput",components:{[re.name]:re},mixins:[ne,ce],configField:"input",inheritAttrs:!1,emits:["update:modelValue","icon-click","icon-right-click"],props:{modelValue:[Number,String],autocomplete:String,type:{type:String,default:"text"},size:String,variant:String,passwordReveal:Boolean,iconClickable:Boolean,hasCounter:{type:Boolean,default:()=>P(J(),"input.counter",!1)},autosize:{type:Boolean,default:!1},iconRight:String,iconRightClickable:Boolean,iconRightVariant:String,clearable:{type:Boolean,default:()=>P(J(),"input.clearable",!1)},rootClass:[String,Function,Array],expandedClass:[String,Function,Array],iconLeftSpaceClass:[String,Function,Array],iconRightSpaceClass:[String,Function,Array],inputClass:[String,Function,Array],roundedClass:[String,Function,Array],iconLeftClass:[String,Function,Array],iconRightClass:[String,Function,Array],counterClass:[String,Function,Array],sizeClass:[String,Function,Array],variantClass:[String,Function,Array]},data(){return{newValue:this.modelValue,newType:this.type,newAutocomplete:this.autocomplete||P(J(),"input.autocompletete","off"),isPasswordVisible:!1,height:"auto"}},computed:{rootClasses(){return[this.computedClass("rootClass","o-ctrl-input"),{[this.computedClass("expandedClass","o-ctrl-input--expanded")]:this.expanded}]},inputClasses(){return[this.computedClass("inputClass","o-input"),{[this.computedClass("roundedClass","o-input--rounded")]:this.rounded},{[this.computedClass("sizeClass","o-input--",this.size)]:this.size},{[this.computedClass("variantClass","o-input--",this.statusVariant||this.variant)]:this.statusVariant||this.variant},{[this.computedClass("textareaClass","o-input__textarea")]:"textarea"===this.type},{[this.computedClass("iconLeftSpaceClass","o-input-iconspace-left")]:this.icon},{[this.computedClass("iconRightSpaceClass","o-input-iconspace-right")]:this.hasIconRight}]},iconLeftClasses(){return[this.computedClass("iconLeftClass","o-input__icon-left")]},iconRightClasses(){return[this.computedClass("iconRightClass","o-input__icon-right")]},counterClasses(){return[this.computedClass("counterClass","o-input__counter")]},computedValue:{get(){return this.newValue},set(e){this.newValue=e,this.$emit("update:modelValue",this.newValue),this.syncFilled(this.newValue),!this.isValid&&this.checkHtml5Validity()}},hasIconRight(){return this.passwordReveal||this.statusIcon&&this.statusVariantIcon||this.clearable&&this.newValue||this.iconRight},rightIcon(){return this.passwordReveal?this.passwordVisibleIcon:this.clearable&&this.newValue?"close-circle":this.iconRight?this.iconRight:this.statusVariantIcon},rightIconVariant(){return this.passwordReveal||this.iconRight?this.iconRightVariant||this.variant||null:this.statusVariant},hasMessage(){return!!this.statusMessage},passwordVisibleIcon(){return this.isPasswordVisible?"eye-off":"eye"},valueLength(){return"string"==typeof this.computedValue?this.computedValue.length:"number"==typeof this.computedValue?this.computedValue.toString().length:0},computedStyles(){return this.autosize?{resize:"none",height:this.height,overflow:"hidden"}:{}},$elementRef(){return"textarea"===this.type?"textarea":"input"}},watch:{modelValue:{immediate:!0,handler(e){this.newValue=e,this.syncFilled(this.newValue),this.autosize&&this.resize()}}},methods:{togglePasswordVisibility(){this.isPasswordVisible=!this.isPasswordVisible,this.newType=this.isPasswordVisible?"text":"password",this.$nextTick(()=>{this.focus()})},iconClick(e,t){this.$emit(e,t),this.$nextTick(()=>{this.focus()})},rightIconClick(e){this.passwordReveal?this.togglePasswordVisibility():this.clearable?this.computedValue="":this.iconRightClickable&&this.iconClick("icon-right-click",e)},resize(){this.height="auto",this.$nextTick(()=>{let e=this.$refs.textarea.scrollHeight;this.height=e+"px"})}}});de.render=function(e,i,n,d,u,h){const p=l("o-icon");return t(),s("div",{class:e.rootClasses},["textarea"!==e.type?(t(),s("input",o({key:0},e.$attrs,{ref:"input",class:e.inputClasses,type:e.newType,autocomplete:e.newAutocomplete,maxlength:e.maxlength,value:e.computedValue,onInput:i[1]||(i[1]=t=>e.computedValue=t.target.value),onBlur:i[2]||(i[2]=(...t)=>e.onBlur(...t)),onFocus:i[3]||(i[3]=(...t)=>e.onFocus(...t))}),null,16,["type","autocomplete","maxlength","value"])):(t(),s("textarea",o({key:1},e.$attrs,{ref:"textarea",class:e.inputClasses,maxlength:e.maxlength,value:e.computedValue,onInput:i[4]||(i[4]=t=>e.computedValue=t.target.value),onBlur:i[5]||(i[5]=(...t)=>e.onBlur(...t)),onFocus:i[6]||(i[6]=(...t)=>e.onFocus(...t)),style:e.computedStyles}),null,16,["maxlength","value"])),e.icon?r(p,{key:2,class:e.iconLeftClasses,clickable:e.iconClickable,icon:e.icon,pack:e.iconPack,size:e.size,onClick:i[7]||(i[7]=t=>e.iconClick("icon-click",t))},null,8,["class","clickable","icon","pack","size"]):a("v-if",!0),e.hasIconRight?r(p,{key:3,class:e.iconRightClasses,clickable:e.passwordReveal||e.clearable||e.iconRightClickable,icon:e.rightIcon,pack:e.iconPack,size:e.size,variant:e.rightIconVariant,both:"",onClick:e.rightIconClick},null,8,["class","clickable","icon","pack","size","variant","onClick"]):a("v-if",!0),e.maxlength&&e.hasCounter&&e.isFocused&&"number"!==e.type?(t(),s("small",{key:4,class:e.counterClasses},c(e.valueLength)+" / "+c(e.maxlength),3)):a("v-if",!0)],2)},de.__file="src/components/input/Input.vue";var ue=e({name:"OAutocomplete",configField:"autocomplete",components:{[de.name]:de},mixins:[ne,ce],inheritAttrs:!1,emits:["update:modelValue","select","infinite-scroll","typing","focus","blur","icon-click","icon-right-click"],props:{modelValue:[Number,String],data:{type:Array,default:()=>[]},autocomplete:String,size:String,field:{type:String,default:"value"},keepFirst:Boolean,clearOnSelect:Boolean,openOnFocus:Boolean,customFormatter:Function,checkInfiniteScroll:Boolean,keepOpen:Boolean,clearable:Boolean,maxHeight:[String,Number],menuPosition:{type:String,default:"auto"},animation:{type:String,default:()=>P(J(),"autocomplete.animation","fade")},groupField:String,groupOptions:String,debounceTyping:Number,iconRight:String,iconRightClickable:Boolean,appendToBody:Boolean,confirmKeys:{type:Array,default:()=>["Tab","Enter"]},type:{type:String,default:"text"},menuTag:{type:String,default:()=>P(J(),"autocomplete.menuTag","div")},itemTag:{type:String,default:()=>P(J(),"autocomplete.itemTag","div")},selectOnClickOutside:Boolean,selectableHeader:Boolean,selectableFooter:Boolean,rootClass:[String,Function,Array],menuClass:[String,Function,Array],expandedClass:[String,Function,Array],menuPositionClass:[String,Function,Array],itemClass:[String,Function,Array],itemHoverClass:[String,Function,Array],itemGroupTitleClass:[String,Function,Array],itemEmptyClass:[String,Function,Array],itemHeaderClass:[String,Function,Array],itemFooterClass:[String,Function,Array],inputClasses:{type:Object,default:()=>P(J(),"autocomplete.inputClasses",{})}},data(){return{selected:null,hovered:null,headerHovered:null,footerHovered:null,isActive:!1,newValue:this.modelValue,ariaAutocomplete:this.keepFirst?"both":"list",newAutocomplete:this.autocomplete||"off",isListInViewportVertically:!0,hasFocus:!1,itemRefs:[],width:void 0,bodyEl:void 0}},computed:{rootClasses(){return[this.computedClass("rootClass","o-acp"),{[this.computedClass("expandedClass","o-acp--expanded")]:this.expanded}]},menuClasses(){return[this.computedClass("menuClass","o-acp__menu"),{[this.computedClass("menuPositionClass","o-acp__menu--",this.newDropdownPosition)]:!this.appendToBody}]},itemClasses(){return[this.computedClass("itemClass","o-acp__item")]},itemEmptyClasses(){return[...this.itemClasses,this.computedClass("itemEmptyClass","o-acp__item--empty")]},itemGroupClasses(){return[...this.itemClasses,this.computedClass("itemGroupTitleClass","o-acp__item-group-title")]},itemHeaderClasses(){return[...this.itemClasses,this.computedClass("itemHeaderClass","o-acp__item-header"),{[this.computedClass("itemHoverClass","o-acp__item--hover")]:this.headerHovered}]},itemFooterClasses(){return[...this.itemClasses,this.computedClass("itemFooterClass","o-acp__item-footer"),{[this.computedClass("itemHoverClass","o-acp__item--hover")]:this.footerHovered}]},inputBind(){return{...this.$attrs,...this.inputClasses}},computedData(){if(this.groupField){if(this.groupOptions){const e=[];return this.data.forEach(t=>{const s=P(t,this.groupField),i=P(t,this.groupOptions);e.push({group:s,items:i})}),e}{const e={};this.data.forEach(t=>{const s=P(t,this.groupField);e[s]||(e[s]=[]),e[s].push(t)});const t=[];return Object.keys(this.data).forEach(e=>{t.push({group:e,items:this.data[e]})}),t}}return[{items:this.data}]},isEmpty(){return!this.computedData||!this.computedData.some(e=>e.items&&e.items.length)},whiteList(){const e=[];if(e.push(this.$refs.input.$el.querySelector("input")),e.push(this.$refs.dropdown),void 0!==this.$refs.dropdown){const t=this.$refs.dropdown.querySelectorAll("*");for(const s of t)e.push(s)}return e},newDropdownPosition(){return"top"===this.menuPosition||"auto"===this.menuPosition&&!this.isListInViewportVertically?"top":"bottom"},newIconRight(){return this.clearable&&this.newValue?"close-circle":this.iconRight},newIconRightClickable(){return!!this.clearable||this.iconRightClickable},menuStyle(){return{maxHeight:Y(this.maxHeight)}},$elementRef:()=>"input"},watch:{modelValue(e){this.newValue=e},isActive(e){"auto"===this.menuPosition&&(e?this.calcDropdownInViewportVertical():setTimeout(()=>{this.calcDropdownInViewportVertical()},100))},newValue(e){this.$emit("update:modelValue",e);const t=this.getValue(this.selected);t&&t!==e&&this.setSelected(null,!1),!this.hasFocus||this.openOnFocus&&!e||(this.isActive=!!e)},data(){if(this.keepFirst)this.$nextTick(()=>{this.isActive?this.selectFirstOption(this.computedData):this.setHovered(null)});else if(this.hovered){const e=this.getValue(this.hovered);this.computedData.map(e=>e.items).reduce((e,t)=>[...e,...t],[]).some(t=>this.getValue(t)===e)||this.setHovered(null)}},debounceTyping:{handler(e){this.debouncedEmitTyping=U(this.emitTyping,e)},immediate:!0}},methods:{itemOptionClasses(e){return[...this.itemClasses,{[this.computedClass("itemHoverClass","o-acp__item--hover")]:e===this.hovered}]},setHovered(e){void 0!==e&&(this.hovered=e)},setSelected(e,t=!0,s){if(void 0!==e){if(this.selected=e,this.$emit("select",this.selected,s),null!==this.selected){if(this.clearOnSelect){const e=this.$refs.input;e.newValue="",e.$refs.input.value=""}else this.newValue=this.getValue(this.selected);this.setHovered(null)}t&&this.$nextTick(()=>{this.isActive=!1}),this.checkValidity()}},selectFirstOption(e){this.$nextTick(()=>{const t=e.filter(e=>e.items&&e.items.length);if(t.length){const e=t[0].items[0];this.setHovered(e)}else this.setHovered(null)})},keydown(e){const{key:t}=e;if("Enter"===t&&e.preventDefault(),"Escape"!==t&&"Tab"!==t||(this.isActive=!1),this.confirmKeys.indexOf(t)>=0){","===t&&e.preventDefault();const s=!this.keepOpen||"Tab"===t;if(null===this.hovered)return void this.checkIfHeaderOrFooterSelected(e,null,s);this.setSelected(this.hovered,s,e)}},selectHeaderOrFoterByClick(e,t){this.checkIfHeaderOrFooterSelected(e,{origin:t})},checkIfHeaderOrFooterSelected(e,t,s=!0){this.selectableHeader&&(this.headerHovered||t&&"header"===t.origin)&&(this.$emit("select-header",e),this.headerHovered=!1,t&&this.setHovered(null),s&&(this.isActive=!1)),this.selectableFooter&&(this.footerHovered||t&&"header"===t.origin)&&(this.$emit("select-footer",e),this.footerHovered=!1,t&&this.setHovered(null),s&&(this.isActive=!1))},clickedOutside(e){!this.hasFocus&&this.whiteList.indexOf(e.target)<0&&(this.keepFirst&&this.hovered&&this.selectOnClickOutside?this.setSelected(this.hovered,!0):this.isActive=!1)},getValue(e){if(null!==e)return void 0!==this.customFormatter?this.customFormatter(e):"object"==typeof e?P(e,this.field):e},checkIfReachedTheEndOfScroll(){const e=this.$refs.dropdown;e.clientHeight!==e.scrollHeight&&e.scrollTop+e.clientHeight>=e.scrollHeight&&this.$emit("infinite-scroll")},calcDropdownInViewportVertical(){this.$nextTick(()=>{if(!this.$refs.dropdown)return;const e=this.$refs.dropdown.getBoundingClientRect();this.isListInViewportVertically=e.top>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight),this.appendToBody&&this.updateAppendToBody()})},keyArrows(e){const t="down"===e?1:-1;if(this.isActive){const e=this.computedData.map(e=>e.items).reduce((e,t)=>[...e,...t],[]);let s;this.$slots.header&&this.selectableHeader&&e.unshift(void 0),this.$slots.footer&&this.selectableFooter&&e.push(void 0),s=this.headerHovered?0+t:this.footerHovered?e.length-1+t:e.indexOf(this.hovered)+t,s=s>e.length-1?e.length-1:s,s=s<0?0:s,this.footerHovered=!1,this.headerHovered=!1,this.setHovered(void 0!==e[s]?e[s]:null),this.$slots.footer&&this.selectableFooter&&s===e.length-1&&(this.footerHovered=!0),this.$slots.header&&this.selectableHeader&&0===s&&(this.headerHovered=!0);const i=this.$refs.dropdown;let a=this.itemRefs||[];this.$slots.header&&this.selectableHeader&&(a=[this.$refs.header,...a]),this.$slots.footer&&this.selectableFooter&&(a=[...a,this.$refs.footer]);const n=a[s];if(!n)return;const l=i.scrollTop,o=i.scrollTop+i.clientHeight-n.clientHeight;n.offsetTop<l?i.scrollTop=n.offsetTop:n.offsetTop>=o&&(i.scrollTop=n.offsetTop-i.clientHeight+n.clientHeight)}else this.isActive=!0},focused(e){this.getValue(this.selected)===this.newValue&&this.$el.querySelector("input").select(),this.openOnFocus&&(this.isActive=!0,this.keepFirst&&this.selectFirstOption(this.computedData)),this.hasFocus=!0,this.$emit("focus",e)},onBlur(e){this.hasFocus=!1,this.$emit("blur",e)},onInput(){const e=this.getValue(this.selected);e&&e===this.newValue||(this.debounceTyping?this.debouncedEmitTyping():this.emitTyping())},emitTyping(){this.$emit("typing",this.newValue),this.checkValidity()},rightIconClick(e){this.clearable?(this.newValue="",this.setSelected(null,!1),this.openOnFocus&&this.$refs.input.$el.focus()):this.$emit("icon-right-click",e)},checkValidity(){this.useHtml5Validation&&this.$nextTick(()=>{this.checkHtml5Validity()})},setItemRef(e){e&&this.itemRefs.push(e)},updateAppendToBody(){const e=this.$refs.dropdown,t=this.$refs.input.$el;if(e&&t){const s=this.$data.bodyEl;s.classList.forEach(e=>s.classList.remove(...e.split(" "))),this.rootClasses.forEach(e=>{e&&("object"==typeof e?Object.keys(e).filter(t=>t&&e[t]).forEach(e=>s.classList.add(e)):s.classList.add(...e.split(" ")))});const i=t.getBoundingClientRect();let a=i.top+window.scrollY;const n=i.left+window.scrollX;"top"!==this.newDropdownPosition?a+=t.clientHeight:a-=e.clientHeight,e.style.position="absolute",e.style.top=a+"px",e.style.left=n+"px",e.style.width=t.clientWidth+"px",e.style.maxWidth=t.clientWidth+"px",e.style.zIndex="9999"}}},created(){"undefined"!=typeof window&&(document.addEventListener("click",this.clickedOutside),"auto"===this.menuPosition&&window.addEventListener("resize",this.calcDropdownInViewportVertical))},mounted(){const e=this.$refs.dropdown;this.checkInfiniteScroll&&e&&e.addEventListener("scroll",this.checkIfReachedTheEndOfScroll),this.appendToBody&&(this.$data.bodyEl=z(e),this.updateAppendToBody())},beforeUpdate(){this.width=this.$refs.input?this.$refs.input.$el.clientWidth:void 0,this.itemRefs=[]},beforeUnmount(){if("undefined"!=typeof window&&(document.removeEventListener("click",this.clickedOutside),"auto"===this.menuPosition&&window.removeEventListener("resize",this.calcDropdownInViewportVertical)),this.checkInfiniteScroll&&this.$refs.dropdown){this.$refs.dropdown.removeEventListener("scroll",this.checkIfReachedTheEndOfScroll)}this.appendToBody&&E(this.$data.bodyEl)}});const he={key:1},pe={key:1};ue.render=function(e,n,b,y,v,k){const S=l("o-input");return t(),s("div",{class:e.rootClasses},[r(S,o(e.inputBind,{modelValue:e.newValue,"onUpdate:modelValue":[n[1]||(n[1]=t=>e.newValue=t),e.onInput],ref:"input",type:e.type,size:e.size,rounded:e.rounded,icon:e.icon,"icon-right":e.newIconRight,"icon-right-clickable":e.newIconRightClickable,"icon-pack":e.iconPack,maxlength:e.maxlength,autocomplete:e.newAutocomplete,"use-html5-validation":!1,"aria-autocomplete":e.ariaAutocomplete,expanded:e.expanded,onFocus:e.focused,onBlur:e.onBlur,onKeydown:[e.keydown,n[2]||(n[2]=d(u(t=>e.keyArrows("up"),["prevent"]),["up"])),n[3]||(n[3]=d(u(t=>e.keyArrows("down"),["prevent"]),["down"]))],"onIcon-right-click":e.rightIconClick,"onIcon-click":n[4]||(n[4]=t=>e.$emit("icon-click",t))}),null,16,["modelValue","type","size","rounded","icon","icon-right","icon-right-clickable","icon-pack","maxlength","autocomplete","aria-autocomplete","expanded","onUpdate:modelValue","onFocus","onBlur","onKeydown","onIcon-right-click"]),r(h,{name:e.animation},{default:p(()=>[m(r("div",{class:e.menuClasses,is:e.menuTag,style:e.menuStyle,ref:"dropdown"},[e.$slots.header?(t(),s("div",{key:0,is:e.itemTag,ref:"header",role:"button",tabindex:0,onClick:n[5]||(n[5]=t=>e.selectHeaderOrFoterByClick(t,"header")),class:e.itemHeaderClasses},[g(e.$slots,"header")],10,["is"])):a("v-if",!0),(t(!0),s(i,null,C(e.computedData,(n,l)=>(t(),s(i,null,[n.group?(t(),s("div",{is:e.itemTag,key:l+"group",class:e.itemGroupClasses},[e.$slots.group?g(e.$slots,"group",{key:0,group:n.group,index:l}):(t(),s("span",he,c(n.group),1))],10,["is"])):a("v-if",!0),(t(!0),s(i,null,C(n.items,(i,a)=>(t(),s("div",{key:l+":"+a,is:e.itemTag,class:e.itemOptionClasses(i),onClick:u(t=>e.setSelected(i,!e.keepOpen,t),["stop"]),ref:e.setItemRef},[e.$slots.default?g(e.$slots,"default",{key:0,option:i,index:a}):(t(),s("span",pe,c(e.getValue(i)),1))],10,["is","onClick"]))),128))],64))),256)),e.isEmpty&&e.$slots.empty?(t(),s("div",{key:1,is:e.itemTag,class:e.itemEmptyClasses},[g(e.$slots,"empty")],10,["is"])):a("v-if",!0),e.$slots.footer?(t(),s("div",{key:2,is:e.itemTag,ref:"footer",role:"button",tabindex:0,onClick:n[6]||(n[6]=t=>e.selectHeaderOrFoterByClick(t,"footer")),class:e.itemFooterClasses},[g(e.$slots,"footer")],10,["is"])):a("v-if",!0)],14,["is"]),[[f,e.isActive&&(!e.isEmpty||e.$slots.empty||e.$slots.header||e.$slots.footer)]])]),_:1},8,["name"])],2)},ue.__file="src/components/autocomplete/Autocomplete.vue";var me=e({name:"OButton",components:{[re.name]:re},configField:"button",mixins:[ne],inheritAttrs:!1,props:{variant:String,size:String,label:String,iconPack:String,iconLeft:String,iconRight:String,rounded:{type:Boolean,default:()=>P(J(),"button.rounded",!1)},outlined:Boolean,expanded:Boolean,inverted:Boolean,nativeType:{type:String,default:"button",validator:e=>["button","submit","reset"].indexOf(e)>=0},tag:{type:String,default:"button"},disabled:Boolean,iconBoth:Boolean,elementsWrapperClass:[String,Function,Array],rootClass:[String,Function,Array],outlinedClass:[String,Function,Array],invertedClass:[String,Function,Array],expandedClass:[String,Function,Array],roundedClass:[String,Function,Array],disabledClass:[String,Function,Array],iconClass:[String,Function,Array],iconLeftClass:[String,Function,Array],iconRightClass:[String,Function,Array],labelClass:[String,Function,Array],sizeClass:[String,Function,Array],variantClass:[String,Function,Array]},computed:{rootClasses(){return[this.computedClass("rootClass","o-btn"),{[this.computedClass("sizeClass","o-btn--",this.size)]:this.size},{[this.computedClass("variantClass","o-btn--",this.variant)]:this.variant},{[this.computedClass("outlinedClass","o-btn--outlined")]:this.outlined&&!this.variant},{[this.computedClass("invertedClass","o-btn--inverted")]:this.inverted&&!this.variant},{[this.computedClass("outlinedClass","o-btn--outlined-",this.variant)]:this.outlined&&this.variant},{[this.computedClass("invertedClass","o-btn--inverted-",this.variant)]:this.inverted&&this.variant},{[this.computedClass("expandedClass","o-btn--expanded")]:this.expanded},{[this.computedClass("roundedClass","o-btn--rounded")]:this.rounded},{[this.computedClass("disabledClass","o-btn--disabled")]:this.disabled}]},labelClasses(){return[this.computedClass("labelClass","o-btn__label")]},iconClasses(){return[this.computedClass("iconClass","o-btn__icon")]},iconLeftClasses(){return[...this.iconClasses,this.computedClass("iconLeftClass","o-btn__icon-left")]},iconRightClasses(){return[...this.iconClasses,this.computedClass("iconRightClass","o-btn__icon-right")]},elementsWrapperClasses(){return[this.computedClass("elementsWrapperClass","o-btn__wrapper")]},computedTag(){return void 0!==this.disabled&&!1!==this.disabled?"button":this.tag},computedNativeType(){return"button"===this.tag||"input"===this.tag?this.nativeType:null},computedDisabled(){return!!this.disabled||null}}});me.render=function(e,i,d,u,h,m){const C=l("o-icon");return t(),s(n(e.computedTag),o(e.$attrs,{disabled:e.computedDisabled,type:e.computedNativeType,class:e.rootClasses}),{default:p(()=>[r("span",{class:e.elementsWrapperClasses},[e.iconLeft?r(C,{key:0,pack:e.iconPack,icon:e.iconLeft,size:e.size,both:e.iconBoth,class:e.iconLeftClasses},null,8,["pack","icon","size","both","class"]):a("v-if",!0),e.label||e.$slots.default?(t(),s("span",{key:1,class:e.labelClasses},[g(e.$slots,"default",{},()=>[b(c(e.label),1)])],2)):a("v-if",!0),e.iconRight?r(C,{key:2,pack:e.iconPack,icon:e.iconRight,size:e.size,both:e.iconBoth,class:e.iconRightClasses},null,8,["pack","icon","size","both","class"]):a("v-if",!0)],2)]),_:1},16,["disabled","type","class"])},me.__file="src/components/button/Button.vue";var ge=(t,s=0)=>{const i=e({provide(){return{["o"+t]:this}}});return O(s,1)&&(i.data=function(){return{childItems:[],sequence:1}},i.methods={_registerItem(e){e.index=this.childItems.length,this.childItems.push(e),this.$el&&this.$nextTick(()=>{const e=this.childItems.map(e=>`[data-id="${t}-${e.newValue}"]`).join(","),s=Array.from(this.$el.querySelectorAll(e)).map(e=>e.getAttribute("data-id").replace(t+"-",""));this.childItems.forEach(e=>e.index=s.indexOf(""+e.newValue))})},_unregisterItem(e){this.childItems=this.childItems.filter(t=>t!==e)},_nextSequence(){return this.sequence++}},O(s,3)&&(i.computed={sortedItems(){return this.childItems.slice().sort((e,t)=>e.index-t.index)}})),i},Ce=e({name:"OCarousel",components:{[re.name]:re},configField:"carousel",mixins:[ge("carousel",3),ne],emits:["update:modelValue","scroll","click"],props:{modelValue:{type:Number,default:0},interval:{type:Number,default:()=>P(J(),"carousel.interval",3500)},hasDrag:{type:Boolean,default:!0},autoplay:{type:Boolean,default:!1},pauseHover:{type:Boolean,default:!1},repeat:{type:Boolean,default:!1},indicator:{type:Boolean,default:!0},indicatorInside:{type:Boolean,default:!1},indicatorMode:{type:String,default:"click"},indicatorPosition:{type:String,default:"bottom"},indicatorStyle:{type:String,default:"dots"},overlay:Boolean,itemsToShow:{type:Number,default:1},itemsToList:{type:Number,default:1},asIndicator:Boolean,arrow:{type:Boolean,default:!0},arrowHover:{type:Boolean,default:!0},iconPack:String,iconSize:String,iconPrev:{type:String,default:()=>P(J(),"carousel.iconPrev","chevron-left")},iconNext:{type:String,default:()=>P(J(),"carousel.iconNext","chevron-right")},breakpoints:{type:Object,default:()=>({})},rootClass:[String,Function,Array],overlayClass:[String,Function,Array],sceneClass:[String,Function,Array],itemsClass:[String,Function,Array],itemsDraggingClass:[String,Function,Array],arrowIconClass:[String,Function,Array],arrowIconPrevClass:[String,Function,Array],arrowIconNextClass:[String,Function,Array],indicatorsClass:[String,Function,Array],indicatorsInsideClass:[String,Function,Array],indicatorsInsidePositionClass:[String,Function,Array],indicatorItemClass:[String,Function,Array],indicatorItemActiveClass:[String,Function,Array],indicatorItemStyleClass:[String,Function,Array]},data(){return{activeIndex:this.modelValue,scrollIndex:this.modelValue,delta:0,dragX:!1,hold:0,windowWidth:0,touch:!1,observer:null,refresh_:0,itemsHovered:!1,isPause:!1,timer:null}},computed:{rootClasses(){return[this.computedClass("rootClass","o-car"),{[this.computedClass("overlayClass","o-car__overlay")]:this.overlay}]},sceneClasses(){return[this.computedClass("sceneClass","o-car__scene")]},itemsClasses(){return[this.computedClass("itemsClass","o-car__items"),{[this.computedClass("itemsDraggingClass","o-car__items--dragging")]:this.dragging}]},arrowIconClasses(){return[this.computedClass("arrowIconClass","o-car__arrow__icon")]},arrowIconPrevClasses(){return[...this.arrowIconClasses,this.computedClass("arrowIconPrevClass","o-car__arrow__icon-prev")]},arrowIconNextClasses(){return[...this.arrowIconClasses,this.computedClass("arrowIconNextClass","o-car__arrow__icon-next")]},indicatorsClasses(){return[this.computedClass("indicatorsClass","o-car__indicators"),{[this.computedClass("indicatorsInsideClass","o-car__indicators--inside")]:this.indicatorInside},{[this.computedClass("indicatorsInsidePositionClass","o-car__indicators--inside--",this.indicatorPosition)]:this.indicatorInside&&this.indicatorPosition}]},indicatorClasses(){return[this.computedClass("indicatorClass","o-car__indicator")]},dragging(){return!1!==this.dragX},itemStyle(){return`width: ${this.itemWidth}px;`},translation(){return-T(this.delta+this.scrollIndex*this.itemWidth,0,(this.childItems.length-this.settings.itemsToShow)*this.itemWidth)},total(){return this.childItems.length-this.settings.itemsToShow},indicatorCount(){return Math.ceil(this.total/this.settings.itemsToList)+1},indicatorIndex(){return Math.ceil(this.scrollIndex/this.settings.itemsToList)},hasArrows(){return this.settings.arrowHover&&this.itemsHovered||!this.settings.arrowHover},hasPrev(){return(this.settings.repeat||this.scrollIndex>0)&&this.hasArrows},hasNext(){return(this.settings.repeat||this.scrollIndex<this.total)&&this.hasArrows},breakpointKeys(){return Object.keys(this.breakpoints).map(Number).sort((e,t)=>t-e)},settings(){let e=this.breakpointKeys.filter(e=>{if(this.windowWidth>=e)return!0})[0];return e?{...this.$props,...this.breakpoints[e]}:this.$props},itemWidth(){if(this.windowWidth){this.refresh_;return this.$el.getBoundingClientRect().width/this.settings.itemsToShow}return 0}},watch:{modelValue(e){e<=this.childItems.length-1&&(this.activeIndex=e,this.switchTo(e*this.settings.itemsToList,!0))},autoplay(e){e?this.startTimer():this.pauseTimer()},repeat(e){e&&this.startTimer()}},methods:{indicatorItemClasses(e){return[this.computedClass("indicatorItemClass","o-car__indicator__item"),{[this.computedClass("indicatorItemActiveClass","o-car__indicator__item--active")]:this.indicatorIndex===e},{[this.computedClass("indicatorItemStyleClass","o-car__indicator__item--",this.indicatorStyle)]:this.indicatorStyle}]},onMouseEnter(){this.itemsHovered=!0,this.checkPause()},onMouseLeave(){this.itemsHovered=!1,this.startTimer()},startTimer(){this.autoplay&&!this.timer&&(this.isPause=!1,this.timer=setInterval(()=>{!this.repeat&&this.activeIndex>=this.childItems.length-1?this.pauseTimer():this.next()},this.interval))},pauseTimer(){this.isPause=!0,this.timer&&(clearInterval(this.timer),this.timer=null)},restartTimer(){this.pauseTimer(),this.startTimer()},checkPause(){this.pauseHover&&this.autoplay&&this.pauseTimer()},modeChange(e,t){if(this.indicatorMode===e)return this.switchTo(t*this.settings.itemsToList)},resized(){this.windowWidth=window.innerWidth},switchTo(e,t=this.asIndicator){this.settings.repeat&&(e=I(e,this.total+1)),e=T(e,0,this.total),this.scrollIndex=e,this.$emit("scroll",this.indicatorIndex),t||(this.activeIndex=Math.ceil(e/this.settings.itemsToList),this.modelValue!==this.activeIndex&&this.$emit("update:modelValue",this.activeIndex))},next(){this.switchTo(this.scrollIndex+this.settings.itemsToList)},prev(){this.switchTo(this.scrollIndex-this.settings.itemsToList)},dragStart(e){this.dragging||!this.settings.hasDrag||0!==e.button&&"touchstart"!==e.type||(this.hold=Date.now(),this.touch=!!e.touches,this.dragX=this.touch?e.touches[0].clientX:e.clientX,this.touch&&this.pauseTimer(),window.addEventListener(this.touch?"touchmove":"mousemove",this.dragMove),window.addEventListener(this.touch?"touchend":"mouseup",this.dragEnd))},dragMove(e){if(!this.dragging)return;const t=e.touches?(e.changedTouches[0]||e.touches[0]).clientX:e.clientX;this.delta=this.dragX-t,e.touches||e.preventDefault()},dragEnd(e){if(this.dragging||this.hold){if(this.hold){const e=B(this.delta),t=Math.round(Math.abs(this.delta/this.itemWidth)+.15);this.switchTo(this.scrollIndex+e*t)}this.delta=0,this.dragX=!1,e&&e.touches&&this.startTimer(),window.removeEventListener(this.touch?"touchmove":"mousemove",this.dragMove),window.removeEventListener(this.touch?"touchend":"mouseup",this.dragEnd)}},refresh(){this.$nextTick(()=>{this.refresh_++})}},mounted(){if("undefined"!=typeof window&&(window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.refresh),this.observer.observe(this.$el)),window.addEventListener("resize",this.resized),document.addEventListener("animationend",this.refresh),document.addEventListener("transitionend",this.refresh),document.addEventListener("transitionstart",this.refresh),this.resized(),this.startTimer()),this.$attrs.config)throw new Error("The config prop was removed, you need to use v-bind instead")},beforeUnmount(){"undefined"!=typeof window&&(window.ResizeObserver&&this.observer.disconnect(),window.removeEventListener("resize",this.resized),document.removeEventListener("animationend",this.refresh),document.removeEventListener("transitionend",this.refresh),document.removeEventListener("transitionstart",this.refresh),this.dragEnd(),this.pauseTimer())}});Ce.render=function(e,n,o,c,d,h){const p=l("o-icon");return t(),s("div",{class:e.rootClasses,onMouseenter:n[3]||(n[3]=(...t)=>e.onMouseEnter(...t)),onMouseleave:n[4]||(n[4]=(...t)=>e.onMouseLeave(...t))},[r("div",{class:e.sceneClasses},[r("div",{onMousedown:n[1]||(n[1]=u((...t)=>e.dragStart(...t),["prevent"])),onTouchstart:n[2]||(n[2]=(...t)=>e.dragStart(...t)),class:e.itemsClasses,style:"transform:translateX("+e.translation+"px)"},[g(e.$slots,"default")],38),g(e.$slots,"arrow",{hasPrev:e.hasPrev,prev:e.prev,hasNext:e.hasNext,next:e.next},()=>[e.arrow?(t(),s(i,{key:0},[m(r(p,{class:e.arrowIconPrevClasses,onClick:e.prev,pack:e.iconPack,icon:e.iconPrev,size:e.iconSize,both:""},null,8,["class","onClick","pack","icon","size"]),[[f,e.hasPrev]]),m(r(p,{class:e.arrowIconNextClasses,onClick:e.next,pack:e.iconPack,icon:e.iconNext,size:e.iconSize,both:""},null,8,["class","onClick","pack","icon","size"]),[[f,e.hasNext]])],64)):a("v-if",!0)])],2),g(e.$slots,"indicators",{active:e.activeIndex,switchTo:e.switchTo,indicatorIndex:e.indicatorIndex},()=>[e.childItems.length?(t(),s(i,{key:0},[e.indicator&&!e.asIndicator?(t(),s("div",{key:0,class:e.indicatorsClasses},[(t(!0),s(i,null,C(e.indicatorCount,(i,a)=>(t(),s("a",{class:e.indicatorClasses,onMouseover:t=>e.modeChange("hover",a),onClick:t=>e.modeChange("click",a),key:a},[g(e.$slots,"indicator",{i:a},()=>[r("span",{class:e.indicatorItemClasses(a)},null,2)])],42,["onMouseover","onClick"]))),128))],2)):a("v-if",!0)],64)):a("v-if",!0)]),e.overlay?g(e.$slots,"overlay",{key:0}):a("v-if",!0)],34)},Ce.__file="src/components/carousel/Carousel.vue";var fe=(t,s=0)=>{const i=e({inject:{parent:{from:"o"+t}},created(){var e,i;if(this.newValue=(e=this.value,i=this.parent&&this.parent._nextSequence(),null!=e?e:i),this.parent)this.parent._registerItem(this);else if(!O(s,2))throw new Error("You should wrap "+this.$options.name+" in a "+t)},beforeUnmount(){this.parent&&this.parent._unregisterItem(this)}});return O(s,1)&&(i.data=()=>({index:null})),i},be=e({name:"OCarouselItem",configField:"carousel",mixins:[fe("carousel",1),ne],props:{itemClass:[String,Function,Array],itemActiveClass:[String,Function,Array]},computed:{itemClasses(){return[this.computedClass("itemClass","o-car__item"),{[this.computedClass("itemActiveClass","o-car__item--active")]:this.isActive}]},itemStyle(){return`width: ${this.parent.itemWidth}px;`},isActive(){return this.parent.activeIndex===this.index}},methods:{onClick(e){this.isActive&&this.parent.$emit("click",e),this.parent.asIndicator&&(this.parent.activeIndex=this.index,this.parent.$emit("update:modelValue",this.index))}}});be.render=function(e,i,a,n,l,o){return t(),s("div",{class:e.itemClasses,onClick:i[1]||(i[1]=(...t)=>e.onClick(...t)),style:e.itemStyle},[g(e.$slots,"default")],6)},be.__file="src/components/carousel/CarouselItem.vue";const ye={};function ve(e,t){ye[e]=t}function ke(){return{oruga:ye,addProgrammatic:ve}}const Se=(e,t)=>{e.use(t)};var we=e({emits:["update:modelValue"],props:{modelValue:[String,Number,Boolean,Array],nativeValue:[String,Number,Boolean,Array],variant:String,disabled:Boolean,required:Boolean,name:String,size:String},data(){return{newValue:this.modelValue}},computed:{computedValue:{get(){return this.newValue},set(e){this.newValue=e,this.$emit("update:modelValue",this.newValue)}}},watch:{modelValue(e){this.newValue=e}},methods:{focus(){this.$refs.input.focus()}}}),Fe=e({name:"OCheckbox",mixins:[ne,we],configField:"checkbox",emits:["input"],props:{indeterminate:{type:Boolean,default:!1},trueValue:{type:[String,Number,Boolean],default:!0},falseValue:{type:[String,Number,Boolean],default:!1},ariaLabelledby:String,autocomplete:String,rootClass:[String,Function,Array],disabledClass:[String,Function,Array],checkClass:[String,Function,Array],checkCheckedClass:[String,Function,Array],checkIndeterminateClass:[String,Function,Array],labelClass:[String,Function,Array],sizeClass:[String,Function,Array],variantClass:[String,Function,Array]},watch:{indeterminate:{handler(e){this.isIndeterminate=e},immediate:!0}},computed:{isChecked(){return this.computedValue===this.trueValue||Array.isArray(this.computedValue)&&-1!==this.computedValue.indexOf(this.nativeValue)},rootClasses(){return[this.computedClass("rootClass","o-chk"),{[this.computedClass("checkedClass","o-chk--checked")]:this.isChecked},{[this.computedClass("sizeClass","o-chk--",this.size)]:this.size},{[this.computedClass("disabledClass","o-chk--disabled")]:this.disabled},{[this.computedClass("variantClass","o-chk--",this.variant)]:this.variant}]},checkClasses(){return[this.computedClass("checkClass","o-chk__check"),{[this.computedClass("checkCheckedClass","o-chk__check--checked")]:this.isChecked},{[this.computedClass("checkIndeterminateClass","o-chk__check--indeterminate")]:this.isIndeterminate}]},labelClasses(){return[this.computedClass("labelClass","o-chk__label")]}}});Fe.render=function(e,i,a,n,l,o){return t(),s("label",{class:e.rootClasses,ref:"label",onClick:i[3]||(i[3]=u((...t)=>e.focus(...t),["stop"])),onKeydown:i[4]||(i[4]=d(u(t=>e.$refs.label.click(),["prevent"]),["enter"]))},[m(r("input",{"onUpdate:modelValue":i[1]||(i[1]=t=>e.computedValue=t),indeterminate:e.indeterminate,type:"checkbox",ref:"input",onClick:i[2]||(i[2]=u(()=>{},["stop"])),class:e.checkClasses,disabled:e.disabled,required:e.required,name:e.name,autocomplete:e.autocomplete,value:e.nativeValue,"true-value":e.trueValue,"false-value":e.falseValue,"aria-labelledby":e.ariaLabelledby},null,10,["indeterminate","disabled","required","name","autocomplete","value","true-value","false-value","aria-labelledby"]),[[y,e.computedValue]]),r("span",{id:e.ariaLabelledby,class:e.labelClasses},[g(e.$slots,"default")],10,["id"])],34)},Fe.__file="src/components/checkbox/Checkbox.vue";var De=e({name:"OCollapse",mixins:[ne],configField:"collapse",emits:["update:open","open","close"],props:{open:{type:Boolean,default:!0},animation:{type:String,default:()=>P(J(),"collapse.animation","fade")},ariaId:{type:String,default:""},position:{type:String,default:"top",validator:e=>["top","bottom"].indexOf(e)>-1},rootClass:[String,Function,Array],triggerClass:[String,Function,Array],contentClass:[String,Function,Array]},data(){return{isOpen:this.open}},watch:{open(e){this.isOpen=e}},methods:{toggle(){this.isOpen=!this.isOpen,this.$emit("update:open",this.isOpen),this.$emit(this.isOpen?"open":"close")}},render(){const e=v("div",{class:this.computedClass("triggerClass","o-clps__trigger"),onClick:this.toggle},this.$slots.trigger({open:this.isOpen})),t=v(h,{name:this.animation},()=>m(v("div",{class:this.computedClass("contentClass","o-clps__content"),id:this.ariaId},this.$slots.default()),[[f,this.isOpen]]));return v("div",{class:this.computedClass("rootClass","o-clps")},"top"===this.position?[e,t]:[t,e])}});De.__file="src/components/collapse/Collapse.vue";var Ae=e({props:{mobileBreakpoint:String},data:()=>({matchMediaRef:void 0,isMatchMedia:void 0}),methods:{onMatchMedia(e){this.isMatchMedia=e.matches}},created(){if("undefined"!=typeof window){let e=this.mobileBreakpoint;if(!e){const t=J(),s=P(t,"mobileBreakpoint","1023px");e=P(t,this.$options.configField+".mobileBreakpoint",s)}this.matchMediaRef=window.matchMedia(`(max-width: ${e})`),this.isMatchMedia=this.matchMediaRef.matches,this.matchMediaRef.addListener(this.onMatchMedia,!1)}},beforeUnmount(){"undefined"!=typeof window&&this.matchMediaRef.removeListener(this.checkMatchMedia)}});const _e=(e,t=!1)=>e?t?e.querySelectorAll('*[tabindex="-1"]'):e.querySelectorAll('a[href]:not([tabindex="-1"]),\n area[href],\n input:not([disabled]),\n select:not([disabled]),\n textarea:not([disabled]),\n button:not([disabled]),\n iframe,\n object,\n embed,\n *[tabindex]:not([tabindex="-1"]),\n *[contenteditable]'):null;let xe;const $e={beforeMount:(e,{value:t=!0})=>{if(t){let t=_e(e),s=_e(e,!0);t&&t.length>0&&(xe=i=>{t=_e(e),s=_e(e,!0);const a=t[0],n=t[t.length-1];i.target===a&&i.shiftKey&&"Tab"===i.key?(i.preventDefault(),n.focus()):(i.target===n||Array.from(s).indexOf(i.target)>=0)&&!i.shiftKey&&"Tab"===i.key&&(i.preventDefault(),a.focus())},e.addEventListener("keydown",xe))}},beforeUnmount:e=>{e.removeEventListener("keydown",xe)}};var Ve=e({name:"ODropdown",directives:{trapFocus:$e},configField:"dropdown",mixins:[ne,Ae],provide(){return{$dropdown:this}},emits:["update:modelValue","active-change","change"],props:{modelValue:{type:[String,Number,Boolean,Object,Array],default:null},disabled:Boolean,inline:Boolean,scrollable:Boolean,maxHeight:{type:[String,Number],default:()=>P(J(),"dropdown.maxHeight",200)},position:{type:String,validator:e=>["top-right","top-left","bottom-left","bottom-right"].indexOf(e)>-1},mobileModal:{type:Boolean,default:()=>P(J(),"dropdown.mobileModal",!0)},ariaRole:{type:String,validator:e=>["menu","list","dialog"].indexOf(e)>-1,default:null},animation:{type:String,default:()=>P(J(),"dropdown.animation","fade")},multiple:Boolean,trapFocus:{type:Boolean,default:()=>P(J(),"dropdown.trapFocus",!0)},closeOnClick:{type:Boolean,default:!0},canClose:{type:[Array,Boolean],default:!0},expanded:Boolean,triggers:{type:Array,default:()=>["click"]},appendToBody:Boolean,menuTag:{type:String,default:()=>P(J(),"dropdown.menuTag","div")},appendToBodyCopyParent:Boolean,rootClass:[String,Function,Array],triggerClass:[String,Function,Array],inlineClass:[String,Function,Array],menuMobileOverlayClass:[String,Function,Array],menuClass:[String,Function,Array],menuPositionClass:[String,Function,Array],menuActiveClass:[String,Function,Array],mobileClass:[String,Function,Array],disabledClass:[String,Function,Array],expandedClass:[String,Function,Array]},data(){return{selected:this.modelValue,isActive:!1,isHoverable:!1,bodyEl:void 0}},computed:{rootClasses(){return[this.computedClass("rootClass","o-drop"),{[this.computedClass("disabledClass","o-drop--disabled")]:this.disabled},{[this.computedClass("expandedClass","o-drop--expanded")]:this.expanded},{[this.computedClass("inlineClass","o-drop--inline")]:this.inline},{[this.computedClass("mobileClass","o-drop--mobile")]:this.isMobileModal&&this.isMatchMedia&&!this.hoverable}]},triggerClasses(){return[this.computedClass("triggerClass","o-drop__trigger")]},menuMobileOverlayClasses(){return[this.computedClass("menuMobileOverlayClass","o-drop__overlay")]},menuClasses(){return[this.computedClass("menuClass","o-drop__menu"),{[this.computedClass("menuPositionClass","o-drop__menu--",this.position)]:this.position},{[this.computedClass("menuActiveClass","o-drop__menu--active")]:this.isActive||this.inline}]},isMobileModal(){return this.mobileModal&&!this.inline},cancelOptions(){return"boolean"==typeof this.canClose?this.canClose?["escape","outside"]:[]:this.canClose},menuStyle(){return{maxHeight:this.scrollable?Y(this.maxHeight):null,overflow:this.scrollable?"auto":null}},hoverable(){return this.triggers.indexOf("hover")>=0}},watch:{modelValue(e){this.selected=e},isActive(e){this.$emit("active-change",e),this.appendToBody&&this.$nextTick(()=>{this.updateAppendToBody()})}},methods:{selectItem(e){t