buefy
Version:
Lightweight UI components for Vue.js (v3) based on Bulma
2 lines • 69.6 kB
JavaScript
/*! Buefy v3.0.2 | MIT License | github.com/buefy/buefy */
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Datepicker={},e.Vue)}(this,(function(e,t){"use strict";let a,s="mdi",n=null,i="chevron-left",o="chevron-right",l="on",r=null,c=null,d=null,h=!0,u=!0,m=!0,p=!0,g=!0,f=null,y=[-100,10],b=!0,D=!1,k=!1,v=!1,w=!0,B=!0,C=!0;var M=Object.getOwnPropertySymbols,F=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable,V=t.defineComponent({inheritAttrs:!1,props:{compatFallthrough:{type:Boolean,default:()=>m}},computed:{rootAttrs(){return this.compatFallthrough?{class:this.$attrs.class,style:this.$attrs.style,id:this.$attrs.id}:{}},fallthroughAttrs(){if(this.compatFallthrough){const e=this.$attrs,{style:t,class:a,id:s}=e;return((e,t)=>{var a={};for(var s in e)F.call(e,s)&&t.indexOf(s)<0&&(a[s]=e[s]);if(null!=e&&M)for(var s of M(e))t.indexOf(s)<0&&x.call(e,s)&&(a[s]=e[s]);return a})(e,["style","class","id"])}return this.$attrs}}});const S={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)||"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1)},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 S.Android()||S.BlackBerry()||S.iOS()||S.Opera()||S.Windows()}};const E=e=>void 0!==e;var A=t.defineComponent({name:"BFieldBody",inject:{parent:{from:"BField",default:null}},props:{message:{type:[String,Array]},type:{type:[String,Object]}},render(){let e=!0,a="function"==typeof this.$slots.default?this.$slots.default():this.$slots.default;return null!=a&&1===a.length&&a[0].type===t.Fragment&&(a=a[0].children),t.h("div",{class:"field-body"},{default:()=>null!=a&&a.map((a=>{if(a.type===t.Comment||a.type===t.Text)return a;let s;e&&(s=this.message,e=!1);const n=this.parent;return t.h(n?n.$.type:t.resolveComponent("b-field"),{type:this.type,message:s},(()=>a))}))})}});const N=t.defineComponent({name:"BField",components:{BFieldBody:A},provide(){return{BField:this}},inject:{parent:{from:"BField",default:!1}},props:{type:{type:[String,Object],default:void 0},label:String,labelFor:String,message:{type:[String,Array,Object],default:void 0},grouped:Boolean,groupMultiline:Boolean,position:String,expanded:Boolean,horizontal:Boolean,addons:{type:Boolean,default:!0},customClass:String,labelPosition:{type:String,default:()=>f}},data(){return{newType:this.type,newMessage:this.message,fieldLabelSize:null,numberInputClasses:[],_isField:!0}},computed:{rootClasses(){return[{"is-expanded":this.expanded,"is-horizontal":this.horizontal,"is-floating-in-label":this.hasLabel&&!this.horizontal&&"inside"===this.labelPosition,"is-floating-label":this.hasLabel&&!this.horizontal&&"on-border"===this.labelPosition},this.numberInputClasses]},innerFieldClasses(){return[this.fieldType(),this.newPosition,{"is-grouped-multiline":this.groupMultiline}]},hasInnerField(){return this.grouped||this.groupMultiline||this.hasAddons()},newPosition(){if(void 0===this.position)return;const e=this.position.split("-");if(e.length<1)return;const t=this.grouped?"is-grouped-":"has-addons-";return this.position?t+e[1]:void 0},formattedMessage(){const e=this.parent;if(e&&e.hasInnerField)return"";if("string"==typeof this.newMessage)return[this.newMessage];const t=[];if(Array.isArray(this.newMessage))this.newMessage.forEach((e=>{if("string"==typeof e)t.push(e);else for(const a in e)e[a]&&t.push(a)}));else for(const e in this.newMessage)this.newMessage[e]&&t.push(e);return t.filter((e=>!!e))},hasLabel(){return this.label||this.$slots.label},hasMessage(){const e=this.parent;return(!e||!e.hasInnerField)&&this.newMessage||this.$slots.message}},watch:{type(e){this.newType=e},message(e){JSON.stringify(e)!==JSON.stringify(this.newMessage)&&(this.newMessage=e)},newMessage(e){const t=this.parent;t&&t.hasInnerField&&(t.type||(t.newType=this.newType),t.message||(t.newMessage=e))}},methods:{fieldType(){return this.grouped?"is-grouped":this.hasAddons()?"has-addons":void 0},hasAddons(){let e=0;return this.$slots.default&&(e=this.$slots.default().reduce(((e,a)=>{return(s=a).type!==t.Comment&&s.type!==t.Text&&s.type!==t.Static?e+1:e;var s}),0)),e>1&&this.addons&&!this.horizontal},wrapNumberinput({controlsPosition:e,size:t}){const a=["has-numberinput"];e&&a.push(`has-numberinput-${e}`),t&&a.push(`has-numberinput-${t}`),this.numberInputClasses=a}},mounted(){if(this.horizontal){this.$el.querySelectorAll(".input, .select, .button, .textarea, .b-slider").length>0&&(this.fieldLabelSize="is-normal")}}});var $=(e,t)=>{const a=e.__vccOpts||e;for(const[e,s]of t)a[e]=s;return a};const O=["for"],T=["for"],z={key:3,class:"field-body"};var I=$(N,[["render",function(e,a,s,n,i,o){const l=t.resolveComponent("b-field-body"),r=t.resolveComponent("b-field");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["field",e.rootClasses])},[e.horizontal?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["field-label",[e.customClass,e.fieldLabelSize]])},[e.hasLabel?(t.openBlock(),t.createElementBlock("label",{key:0,for:e.labelFor,class:t.normalizeClass([e.customClass,"label"])},[e.$slots.label?t.renderSlot(e.$slots,"label",{key:0}):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(e.label),1)],64))],10,O)):t.createCommentVNode("v-if",!0)],2)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[e.hasLabel?(t.openBlock(),t.createElementBlock("label",{key:0,for:e.labelFor,class:t.normalizeClass([e.customClass,"label"])},[e.$slots.label?t.renderSlot(e.$slots,"label",{key:0}):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(e.label),1)],64))],10,T)):t.createCommentVNode("v-if",!0)],64)),e.horizontal?(t.openBlock(),t.createBlock(l,{key:2,message:e.newMessage?e.formattedMessage:"",type:e.newType},{default:t.withCtx((()=>[t.renderSlot(e.$slots,"default")])),_:3},8,["message","type"])):e.hasInnerField?(t.openBlock(),t.createElementBlock("div",z,[t.createVNode(r,{addons:!1,type:e.type,class:t.normalizeClass(e.innerFieldClasses)},{default:t.withCtx((()=>[t.renderSlot(e.$slots,"default")])),_:3},8,["type","class"])])):t.renderSlot(e.$slots,"default",{key:4}),e.hasMessage&&!e.horizontal?(t.openBlock(),t.createElementBlock("p",{key:5,class:t.normalizeClass(["help",e.newType])},[e.$slots.message?t.renderSlot(e.$slots,"message",{key:0,messages:e.formattedMessage}):(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:1},t.renderList(e.formattedMessage,((a,s)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createTextVNode(t.toDisplayString(a)+" ",1),s+1<e.formattedMessage.length?(t.openBlock(),t.createElementBlock("br",{key:s})):t.createCommentVNode("v-if",!0)],64)))),256))],2)):t.createCommentVNode("v-if",!0)],2)}]]);const Y=t.defineComponent({props:{size:String,expanded:Boolean,loading:Boolean,rounded:Boolean,icon:String,iconPack:String,maxlength:[Number,String],useHtml5Validation:{type:Boolean,default:()=>p},validationMessage:String,locale:{type:[String,Array],default:()=>a},statusIcon:{type:Boolean,default:()=>C}},emits:{blur:e=>!0,focus:e=>!0},data(){return{isValid:!0,isFocused:!1,newIconPack:this.iconPack||s,_elementRef:""}},computed:{parentField(){let e=this.$parent;for(let t=0;t<3;t++)e&&!e.$data._isField&&(e=e.$parent);return e},statusType(){const{newType:e}=this.parentField||{};if(e){if("string"==typeof e)return e;for(const t in e)if(e[t])return t}},statusMessage(){if(this.parentField)return this.parentField.newMessage||this.parentField.$slots.message},iconSize(){switch(this.size){case"is-small":return this.size;case"is-medium":return;case"is-large":return"mdi"===this.newIconPack?"is-medium":""}}},methods:{focus(){const e=this.getElement();void 0!==e&&this.$nextTick((()=>{e&&e.focus()}))},onBlur(e){this.isFocused=!1,this.$emit("blur",e),this.checkHtml5Validity()},onFocus(e){this.isFocused=!0,this.$emit("focus",e)},getElement(){let e=this.$refs[this.$data._elementRef];for(;null!=e&&"object"==typeof e&&"$refs"in e;){const t=e;e=t.$refs[t.$data._elementRef]}return e},setInvalid(){const e=this.validationMessage||this.getElement().validationMessage;this.setValidity("is-danger",e)},setValidity(e,t){this.$nextTick((()=>{this.parentField&&(this.parentField.type||(this.parentField.newType=e),this.parentField.message||(this.parentField.newMessage=t))}))},checkHtml5Validity(){if(!this.useHtml5Validation)return!1;const e=this.getElement();return null!=e&&(e.checkValidity()?(this.setValidity(null,null),this.isValid=!0):(this.setInvalid(),this.isValid=!1),this.isValid)}}}),P=(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 R;const W={beforeMount:(e,{value:t=!0})=>{if(t){let t=P(e),a=P(e,!0);t&&t.length>0&&(R=s=>{t=P(e),a=P(e,!0);const n=t[0],i=t[t.length-1];s.target===n&&s.shiftKey&&"Tab"===s.key?(s.preventDefault(),i.focus()):(s.target===i||Array.from(a).indexOf(s.target)>=0)&&!s.shiftKey&&"Tab"===s.key&&(s.preventDefault(),n.focus())},e.addEventListener("keydown",R))}},unmounted:e=>{e.removeEventListener("keydown",R)}},L=["escape","outside"],H=Symbol("bdropdown");var j=t.defineComponent({name:"BDropdown",directives:{trapFocus:W},provide(){return{[H]:this}},props:{modelValue:{type:[String,Number,Boolean,Object,Array,Function],default:null},disabled:Boolean,inline:Boolean,scrollable:Boolean,maxHeight:{type:[String,Number],default:200},position:{type:String,validator:e=>["is-top-right","is-top-left","is-bottom-left","is-bottom-right"].indexOf(e)>-1},triggers:{type:Array,default:()=>["click"]},mobileModal:{type:Boolean,default:()=>g},ariaRole:{type:String,validator:e=>["menu","list","dialog"].indexOf(e)>-1,default:null},animation:{type:String,default:"fade"},multiple:Boolean,trapFocus:{type:Boolean,default:()=>B},closeOnClick:{type:Boolean,default:!0},canClose:{type:[Array,Boolean],default:!0},expanded:Boolean,appendToBody:Boolean,appendToBodyCopyParent:Boolean,triggerTabindex:{type:Number,default:0}},emits:{"active-change":e=>!0,change:e=>!0,"update:modelValue":e=>!0},data(){return{selected:this.modelValue,style:{},isActive:!1,isHoverable:!1,maybeTap:!1,isTouchEnabled:!1,_bodyEl:void 0,timeOutID:void 0,timeOutID2:void 0}},computed:{rootClasses(){return[this.position,{"is-disabled":this.disabled,"is-hoverable":this.hoverable,"is-inline":this.inline,"is-active":this.isActive||this.inline,"is-mobile-modal":this.isMobileModal,"is-expanded":this.expanded,"is-touch-enabled":this.isTouchEnabled}]},isMobileModal(){return this.mobileModal&&!this.inline},cancelOptions(){return"boolean"==typeof this.canClose?this.canClose?L:[]:this.canClose},contentStyle(){var e,t;return{maxHeight:this.scrollable&&null!=(t=this.maxHeight,e=void 0===t?null:isNaN(+t)?`${t}`:t+"px")?e:void 0,overflow:this.scrollable?"auto":void 0}},hoverable(){return this.triggers.indexOf("hover")>=0}},watch:{modelValue(e){this.selected=e},isActive(e){this.$emit("active-change",e),e||(this.timeOutID=setTimeout((()=>{this.isActive||(this.isTouchEnabled=!1)}),250)),this.handleScroll(),this.appendToBody&&this.$nextTick((()=>{this.updateAppendToBody()}))},isHoverable(e){this.hoverable&&this.$emit("active-change",e)}},methods:{handleScroll(){"undefined"!=typeof window&&this.isMobileModal&&(this.isActive?document.documentElement.classList.add("is-clipped-touch"):document.documentElement.classList.remove("is-clipped-touch"))},selectItem(e){if(this.multiple){if(this.selected){const t=this.selected;-1===t.indexOf(e)?this.selected=[...t,e]:this.selected=t.filter((t=>t!==e))}else this.selected=[e];this.$emit("change",this.selected)}else this.selected!==e&&(this.selected=e,this.$emit("change",this.selected));this.$emit("update:modelValue",this.selected),this.multiple||(this.isActive=!this.closeOnClick,this.hoverable&&this.closeOnClick&&(this.isHoverable=!1))},isInWhiteList(e){if(e===this.$refs.dropdownMenu)return!0;if(e===this.$refs.trigger)return!0;if(null!=this.$refs.dropdownMenu){const t=this.$refs.dropdownMenu.querySelectorAll("*");for(const a of t)if(e===a)return!0}if(null!=this.$refs.trigger){const t=this.$refs.trigger.querySelectorAll("*");for(const a of t)if(e===a)return!0}return!1},clickedOutside(e){if(this.cancelOptions.indexOf("outside")<0)return;if(this.inline)return;const t=null!=(a=this).$root&&"shadowRoot"in a.$root.$options?e.composedPath()[0]:e.target;var a;this.isInWhiteList(t)||(this.isActive=!1)},keyPress({key:e}){if(this.isActive&&("Escape"===e||"Esc"===e)){if(this.cancelOptions.indexOf("escape")<0)return;this.isActive=!1}},onClick(){-1===this.triggers.indexOf("hover")&&(this.triggers.indexOf("click")<0||this.toggle())},onContextMenu(){this.triggers.indexOf("contextmenu")<0||this.toggle()},onHover(){this.triggers.indexOf("hover")<0||this.isTouchEnabled||(this.isHoverable=!0)},onTouchStart(){this.maybeTap=!0},onTouchMove(){this.maybeTap=!1},onTouchEnd(e){-1!==this.triggers.indexOf("hover")&&this.maybeTap&&(e.preventDefault(),this.maybeTap=!1,this.isTouchEnabled=!0,this.toggle())},onFocus(){this.triggers.indexOf("focus")<0||this.toggle()},toggle(){this.disabled||(this.isActive?this.isActive=!this.isActive:this.timeOutID2=setTimeout((()=>{const e=!this.isActive;this.isActive=e})))},updateAppendToBody(){const e=this.$refs.dropdown,t=this.$refs.dropdownMenu,a=this.$refs.trigger;if(t&&a){const s=this.$data._bodyEl.children[0];if(s.classList.forEach((e=>s.classList.remove(e))),s.classList.add("dropdown"),s.classList.add("dropdown-menu-animation"),this.rootClasses.forEach((e=>{if(e&&"object"==typeof e)for(const t in e)e[t]&&s.classList.add(t)})),this.appendToBodyCopyParent){const e=this.$refs.dropdown.parentNode,t=this.$data._bodyEl;t.classList.forEach((e=>t.classList.remove(e))),e.classList.forEach((e=>{t.classList.add(e)}))}const n=a.getBoundingClientRect();let i=n.top+window.scrollY,o=n.left+window.scrollX;!this.position||this.position.indexOf("bottom")>=0?i+=a.clientHeight:i-=t.clientHeight,this.position&&this.position.indexOf("left")>=0&&(o-=t.clientWidth-a.clientWidth),this.style={position:"absolute",top:`${i}px`,left:`${o}px`,zIndex:"99",width:this.expanded?`${e.offsetWidth}px`:void 0}}}},mounted(){this.appendToBody&&(this.$data._bodyEl=function(e){const t=document.createElement("div");t.style.position="absolute",t.style.left="0px",t.style.top="0px",t.style.width="100%";const a=document.createElement("div");return t.appendChild(a),a.appendChild(e),document.body.appendChild(t),t}(this.$refs.dropdownMenu),this.updateAppendToBody())},created(){"undefined"!=typeof window&&(document.addEventListener("click",this.clickedOutside),document.addEventListener("keyup",this.keyPress))},beforeUnmount(){var e;"undefined"!=typeof window&&(document.removeEventListener("click",this.clickedOutside),document.removeEventListener("keyup",this.keyPress)),this.appendToBody&&(void 0!==(e=this.$data._bodyEl).remove?e.remove():void 0!==e.parentNode&&null!==e.parentNode&&e.parentNode.removeChild(e)),clearTimeout(this.timeOutID),clearTimeout(this.timeOutID2)}});const U=["tabindex"],_=["aria-hidden"],K=["aria-hidden"],q=["role","aria-modal"];var J=$(j,[["render",function(e,a,s,n,i,o){const l=t.resolveDirective("trap-focus");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dropdown dropdown-menu-animation",e.rootClasses]),ref:"dropdown",onMouseleave:a[7]||(a[7]=t=>e.isHoverable=!1)},[e.inline?t.createCommentVNode("v-if",!0):(t.openBlock(),t.createElementBlock("div",{key:0,tabindex:e.disabled?void 0:e.triggerTabindex,ref:"trigger",class:"dropdown-trigger",onClick:a[0]||(a[0]=(...t)=>e.onClick&&e.onClick(...t)),onContextmenu:a[1]||(a[1]=t.withModifiers(((...t)=>e.onContextMenu&&e.onContextMenu(...t)),["prevent"])),onMouseenter:a[2]||(a[2]=(...t)=>e.onHover&&e.onHover(...t)),onFocusCapture:a[3]||(a[3]=(...t)=>e.onFocus&&e.onFocus(...t)),onTouchstart:a[4]||(a[4]=(...t)=>e.onTouchStart&&e.onTouchStart(...t)),onTouchmove:a[5]||(a[5]=(...t)=>e.onTouchMove&&e.onTouchMove(...t)),onTouchend:a[6]||(a[6]=(...t)=>e.onTouchEnd&&e.onTouchEnd(...t)),"aria-haspopup":"true"},[t.renderSlot(e.$slots,"trigger",{active:e.isActive})],40,U)),t.createVNode(t.Transition,{name:e.animation},{default:t.withCtx((()=>[e.isMobileModal?t.withDirectives((t.openBlock(),t.createElementBlock("div",{key:0,class:"background","aria-hidden":!e.isActive},null,8,_)),[[t.vShow,e.isActive]]):t.createCommentVNode("v-if",!0)])),_:1},8,["name"]),t.createVNode(t.Transition,{name:e.animation,persisted:""},{default:t.withCtx((()=>[t.withDirectives((t.openBlock(),t.createElementBlock("div",{ref:"dropdownMenu",class:"dropdown-menu",style:t.normalizeStyle(e.style),"aria-hidden":!e.isActive},[t.createElementVNode("div",{class:"dropdown-content",role:e.ariaRole,"aria-modal":!e.inline,style:t.normalizeStyle(e.contentStyle)},[t.renderSlot(e.$slots,"default")],12,q)],12,K)),[[t.vShow,!e.disabled&&(e.isActive||e.isHoverable)||e.inline],[l,e.trapFocus]])])),_:3},8,["name"])],34)}]]),X=t.defineComponent({name:"BDropdownItem",inject:{parent:{from:H,default:void 0}},props:{value:{type:[String,Number,Boolean,Object,Array,Function],default:null},separator:Boolean,disabled:Boolean,custom:Boolean,focusable:{type:Boolean,default:!0},paddingless:Boolean,hasLink:Boolean,ariaRole:{type:String,default:""}},emits:{click:()=>!0},computed:{anchorClasses(){return{"is-disabled":this.parent.disabled||this.disabled,"is-paddingless":this.paddingless,"is-active":this.isActive}},itemClasses(){return{"dropdown-item":!this.hasLink,"is-disabled":this.disabled,"is-paddingless":this.paddingless,"is-active":this.isActive,"has-link":this.hasLink}},ariaRoleItem(){return"menuitem"===this.ariaRole||"listitem"===this.ariaRole?this.ariaRole:void 0},isClickable(){return!(this.parent.disabled||this.separator||this.disabled||this.custom)},isActive(){return null!==this.parent.selected&&(this.parent.multiple?this.parent.selected.indexOf(this.value)>=0:this.value===this.parent.selected)},isFocusable(){return!this.hasLink&&this.focusable}},methods:{selectItem(){this.isClickable&&(this.parent.selectItem(this.value),this.$emit("click"))}}});const G={key:0,class:"dropdown-divider"},Q=["role","tabindex"],Z=["role","tabindex"];var ee=$(X,[["render",function(e,a,s,n,i,o){return e.separator?(t.openBlock(),t.createElementBlock("hr",G)):e.custom||e.hasLink?(t.openBlock(),t.createElementBlock("div",{key:2,class:t.normalizeClass(e.itemClasses),onClick:a[1]||(a[1]=(...t)=>e.selectItem&&e.selectItem(...t)),role:e.ariaRoleItem,tabindex:e.isFocusable?0:void 0},[t.renderSlot(e.$slots,"default")],10,Z)):(t.openBlock(),t.createElementBlock("a",{key:1,class:t.normalizeClass(["dropdown-item",e.anchorClasses]),onClick:a[0]||(a[0]=(...t)=>e.selectItem&&e.selectItem(...t)),role:e.ariaRoleItem,tabindex:e.isFocusable?0:void 0},[t.renderSlot(e.$slots,"default")],10,Q))}]]);const te={sizes:{default:"mdi-24px","is-small":null,"is-medium":"mdi-36px","is-large":"mdi-48px"},iconPrefix:"mdi-"},ae=()=>{const e="fa-";return{sizes:{default:null,"is-small":null,"is-medium":e+"lg","is-large":e+"2x"},iconPrefix:e,internalIcons:{information:"info-circle",alert:"exclamation-triangle","alert-circle":"exclamation-circle","chevron-right":"angle-right","chevron-left":"angle-left","chevron-down":"angle-down","eye-off":"eye-slash","menu-down":"caret-down","menu-up":"caret-up","close-circle":"times-circle"}}};var se=$(t.defineComponent({name:"BIcon",props:{type:[String,Object],component:String,pack:String,icon:{type:String,required:!0},size:String,customSize:String,customClass:String,both:Boolean},computed:{iconConfig(){return{mdi:te,fa:ae(),fas:ae(),far:ae(),fad:ae(),fab:ae(),fal:ae(),"fa-solid":ae(),"fa-regular":ae(),"fa-light":ae(),"fa-thin":ae(),"fa-duotone":ae(),"fa-brands":ae()}[this.newPack]},iconPrefix(){return this.iconConfig&&this.iconConfig.iconPrefix?this.iconConfig.iconPrefix:""},newIcon(){return`${this.iconPrefix}${this.getEquivalentIconOf(this.icon)}`},newPack(){return this.pack||s},newType(){if(!this.type)return;let e=[];if("string"==typeof this.type)e=this.type.split("-");else for(const t in this.type)if(this.type[t]){e=t.split("-");break}if(e.length<=1)return;const[,...t]=e;return`has-text-${t.join("-")}`},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(){return this.component||n}},methods:{getEquivalentIconOf(e){if(!this.both)return e;if(null==this.iconConfig)return e;const t=this.iconConfig;return t&&t.internalIcons&&t.internalIcons[e]?t.internalIcons[e]:e}}}),[["render",function(e,a,s,n,i,o){return t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["icon",[e.newType,e.size]])},[e.useIconComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.useIconComponent),{key:1,icon:[e.newPack,e.newIcon],size:e.newCustomSize,class:t.normalizeClass([e.customClass])},null,8,["icon","size","class"])):(t.openBlock(),t.createElementBlock("i",{key:0,class:t.normalizeClass([e.newPack,e.newIcon,e.newCustomSize,e.customClass])},null,2))],2)}]]),ne=t.defineComponent({name:"BInput",components:{BIcon:se},mixins:[V,Y],props:{modelValue:{type:[Number,String]},type:{type:String,default:"text"},lazy:{type:Boolean,default:!1},passwordReveal:Boolean,iconClickable:Boolean,hasCounter:{type:Boolean,default:()=>u},customClass:{type:String,default:""},iconRight:String,iconRightClickable:Boolean,iconRightType:String,autocomplete:String},emits:{"icon-click":e=>!0,"icon-right-click":e=>!0,"update:modelValue":e=>!0},data(){return{newValue:this.modelValue,newType:this.type,newAutocomplete:this.autocomplete||l,isPasswordVisible:!1,_elementRef:"textarea"===this.type?"textarea":"input"}},computed:{computedValue:{get(){return this.newValue},set(e){this.newValue=e,this.$emit("update:modelValue",e)}},rootClasses(){return[this.iconPosition,this.size,{"is-expanded":this.expanded,"is-loading":this.loading,"is-clearfix":!this.hasMessage}]},inputClasses(){return[this.statusType,this.size,{"is-rounded":this.rounded}]},hasIconRight(){return this.passwordReveal||this.loading||this.statusIcon&&this.statusTypeIcon||this.iconRight},rightIcon(){return this.passwordReveal?this.passwordVisibleIcon:this.iconRight?this.iconRight:this.statusTypeIcon},rightIconType(){return this.passwordReveal?"is-primary":this.iconRight?this.iconRightType||void 0:this.statusType},iconPosition(){let e="";return this.icon&&(e+="has-icons-left "),this.hasIconRight&&(e+="has-icons-right"),e},statusTypeIcon(){switch(this.statusType){case"is-success":return"check";case"is-danger":return"alert-circle";case"is-info":return"information";case"is-warning":return"alert";default:return}},hasMessage(){return!!this.statusMessage},passwordVisibleIcon(){return this.isPasswordVisible?"eye-off":"eye"},valueLength(){return"string"==typeof this.computedValue?Array.from(this.computedValue).length:"number"==typeof this.computedValue?this.computedValue.toString().length:0}},watch:{modelValue(e){const t=this.computedValue!=e;this.newValue=e,t&&this.$nextTick((()=>{!this.isValid&&this.checkHtml5Validity()}))},type(e){this.newType=e}},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.iconRightClickable&&this.iconClick("icon-right-click",e)},onInput(){this.lazy||this.revalidate()},onChange(){this.lazy&&this.revalidate()},revalidate(){!this.isValid&&this.checkHtml5Validity()}}});const ie=["type","autocomplete","maxlength"],oe=["maxlength"],le=["type","autocomplete","maxlength"],re=["maxlength"];var ce=$(ne,[["render",function(e,a,s,n,i,o){const l=t.resolveComponent("b-icon");return t.openBlock(),t.createElementBlock("div",t.mergeProps({class:["control",e.rootClasses]},e.rootAttrs),[e.lazy?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},["textarea"!==e.type?t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:0,ref:"input",class:["input",[e.inputClasses,e.customClass]],type:e.newType,autocomplete:e.newAutocomplete,maxlength:e.maxlength,"onUpdate:modelValue":a[0]||(a[0]=t=>e.computedValue=t)},e.fallthroughAttrs,{onInput:a[1]||(a[1]=(...t)=>e.onInput&&e.onInput(...t)),onChange:a[2]||(a[2]=(...t)=>e.onChange&&e.onChange(...t)),onBlur:a[3]||(a[3]=(...t)=>e.onBlur&&e.onBlur(...t)),onFocus:a[4]||(a[4]=(...t)=>e.onFocus&&e.onFocus(...t))}),null,16,ie)),[[t.vModelDynamic,e.computedValue,void 0,{lazy:!0}]]):t.withDirectives((t.openBlock(),t.createElementBlock("textarea",t.mergeProps({key:1,ref:"textarea",class:["textarea",[e.inputClasses,e.customClass]],maxlength:e.maxlength,"onUpdate:modelValue":a[5]||(a[5]=t=>e.computedValue=t)},e.fallthroughAttrs,{onInput:a[6]||(a[6]=(...t)=>e.onInput&&e.onInput(...t)),onChange:a[7]||(a[7]=(...t)=>e.onChange&&e.onChange(...t)),onBlur:a[8]||(a[8]=(...t)=>e.onBlur&&e.onBlur(...t)),onFocus:a[9]||(a[9]=(...t)=>e.onFocus&&e.onFocus(...t))}),null,16,oe)),[[t.vModelText,e.computedValue,void 0,{lazy:!0}]])],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},["textarea"!==e.type?t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:0,ref:"input",class:["input",[e.inputClasses,e.customClass]],type:e.newType,autocomplete:e.newAutocomplete,maxlength:e.maxlength,"onUpdate:modelValue":a[10]||(a[10]=t=>e.computedValue=t)},e.fallthroughAttrs,{onInput:a[11]||(a[11]=(...t)=>e.onInput&&e.onInput(...t)),onChange:a[12]||(a[12]=(...t)=>e.onChange&&e.onChange(...t)),onBlur:a[13]||(a[13]=(...t)=>e.onBlur&&e.onBlur(...t)),onFocus:a[14]||(a[14]=(...t)=>e.onFocus&&e.onFocus(...t))}),null,16,le)),[[t.vModelDynamic,e.computedValue]]):t.withDirectives((t.openBlock(),t.createElementBlock("textarea",t.mergeProps({key:1,ref:"textarea",class:["textarea",[e.inputClasses,e.customClass]],maxlength:e.maxlength,"onUpdate:modelValue":a[15]||(a[15]=t=>e.computedValue=t)},e.fallthroughAttrs,{onInput:a[16]||(a[16]=(...t)=>e.onInput&&e.onInput(...t)),onChange:a[17]||(a[17]=(...t)=>e.onChange&&e.onChange(...t)),onBlur:a[18]||(a[18]=(...t)=>e.onBlur&&e.onBlur(...t)),onFocus:a[19]||(a[19]=(...t)=>e.onFocus&&e.onFocus(...t))}),null,16,re)),[[t.vModelText,e.computedValue]])],64)),e.icon?(t.openBlock(),t.createBlock(l,{key:2,class:t.normalizeClass(["is-left",{"is-clickable":e.iconClickable}]),icon:e.icon,pack:e.iconPack,size:e.iconSize,onClick:a[20]||(a[20]=t=>e.iconClick("icon-click",t))},null,8,["class","icon","pack","size"])):t.createCommentVNode("v-if",!0),!e.loading&&e.hasIconRight&&e.rightIcon?(t.openBlock(),t.createBlock(l,{key:3,class:t.normalizeClass(["is-right",{"is-clickable":e.passwordReveal||e.iconRightClickable}]),icon:e.rightIcon,pack:e.iconPack,size:e.iconSize,type:e.rightIconType,both:"",onClick:e.rightIconClick},null,8,["class","icon","pack","size","type","onClick"])):t.createCommentVNode("v-if",!0),e.maxlength&&e.hasCounter&&"number"!==e.type?(t.openBlock(),t.createElementBlock("small",{key:4,class:t.normalizeClass(["help counter",{"is-invisible":!e.isFocused}])},t.toDisplayString(e.valueLength)+" / "+t.toDisplayString(e.maxlength),3)):t.createCommentVNode("v-if",!0)],16)}]]),de=t.defineComponent({name:"BSelect",components:{BIcon:se},mixins:[V,Y],props:{modelValue:{type:[String,Number,Boolean,Object,Array,Function,Date,null],default:null},placeholder:String,multiple:Boolean,nativeSize:[String,Number]},emits:{blur:e=>!0,focus:e=>!0,"update:modelValue":e=>!0},data(){return{selected:this.modelValue,_elementRef:"select"}},computed:{computedValue:{get(){return this.selected},set(e){this.selected=e,this.$emit("update:modelValue",e),!this.isValid&&this.checkHtml5Validity()}},spanClasses(){return[this.size,this.statusType,{"is-fullwidth":this.expanded,"is-loading":this.loading,"is-multiple":this.multiple,"is-rounded":this.rounded,"is-empty":null===this.selected}]}},watch:{modelValue(e){this.selected=e,!this.isValid&&this.checkHtml5Validity()}}});const he=["multiple","size"],ue={key:0,value:null,disabled:"",hidden:""};var me=$(de,[["render",function(e,a,s,n,i,o){const l=t.resolveComponent("b-icon");return t.openBlock(),t.createElementBlock("div",t.mergeProps({class:["control",{"is-expanded":e.expanded,"has-icons-left":e.icon}]},e.rootAttrs),[t.createElementVNode("span",{class:t.normalizeClass(["select",e.spanClasses])},[t.withDirectives(t.createElementVNode("select",t.mergeProps({"onUpdate:modelValue":a[0]||(a[0]=t=>e.computedValue=t),ref:"select",multiple:e.multiple,size:e.nativeSize},e.fallthroughAttrs,{onBlur:a[1]||(a[1]=(...t)=>e.onBlur&&e.onBlur(...t)),onFocus:a[2]||(a[2]=t=>e.$emit("focus",t))}),[e.placeholder?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[null==e.computedValue?(t.openBlock(),t.createElementBlock("option",ue,t.toDisplayString(e.placeholder),1)):t.createCommentVNode("v-if",!0)],64)):t.createCommentVNode("v-if",!0),t.renderSlot(e.$slots,"default")],16,he),[[t.vModelSelect,e.computedValue]])],2),e.icon?(t.openBlock(),t.createBlock(l,{key:0,class:"is-left",icon:e.icon,pack:e.iconPack,size:e.iconSize},null,8,["icon","pack","size"])):t.createCommentVNode("v-if",!0)],16)}]]),pe=t.defineComponent({name:"BDatepickerTableRow",inject:{$datepicker:{name:"$datepicker",default:!1}},props:{selectedDate:{type:[Date,Array]},hoveredDateRange:Array,day:{type:Number},week:{type:Array,required:!0},month:{type:Number,required:!0},minDate:[Date,null],maxDate:[Date,null],disabled:Boolean,unselectableDates:[Array,Function,null],unselectableDaysOfWeek:[Array,null],selectableDates:[Array,Function,null],events:Array,indicators:String,dateCreator:Function,nearbyMonthDays:Boolean,nearbySelectableMonthDays:Boolean,showWeekNumber:Boolean,weekNumberClickable:Boolean,range:Boolean,multiple:Boolean,rulesForFirstWeek:Number,firstDayOfWeek:[Number,null]},emits:{"change-focus":e=>!0,rangeHoverEndDate:e=>!0,select:e=>!0},watch:{day(e){const t=`day-${this.month}-${e}`;this.$nextTick((()=>{let e;e=Array.isArray(this.$refs[t])?this.$refs[t][0]:this.$refs[t],e&&e.focus()}))}},methods:{firstWeekOffset(e,t,a){const s=7+t-a;return-((7+new Date(e,0,s).getDay()-t)%7)+s-1},daysInYear(e){return this.isLeapYear(e)?366:365},isLeapYear:e=>e%4==0&&e%100!=0||e%400==0,getSetDayOfYear:e=>Math.round((+e-+new Date(e.getFullYear(),0,1))/864e5)+1,weeksInYear(e,t,a){const s=this.firstWeekOffset(e,t,a),n=this.firstWeekOffset(e+1,t,a);return(this.daysInYear(e)-s+n)/7},getWeekNumber(e){const t=this.firstDayOfWeek,a=this.rulesForFirstWeek,s=this.firstWeekOffset(e.getFullYear(),t,a),n=Math.floor((this.getSetDayOfYear(e)-s-1)/7)+1;let i,o;return n<1?(o=e.getFullYear()-1,i=n+this.weeksInYear(o,t,a)):n>this.weeksInYear(e.getFullYear(),t,a)?(i=n-this.weeksInYear(e.getFullYear(),t,a),o=e.getFullYear()+1):(o=e.getFullYear(),i=n),{week:i,year:o}},clickWeekNumber(e){this.weekNumberClickable&&this.$datepicker.$emit("week-number-click",e.week,e.year)},selectableDate(e){const t=[];if(this.minDate&&t.push(e>=this.minDate),this.maxDate&&t.push(e<=this.maxDate),this.nearbyMonthDays&&!this.nearbySelectableMonthDays&&t.push(e.getMonth()===this.month),this.selectableDates)if("function"==typeof this.selectableDates){if(this.selectableDates(e))return!0;t.push(!1)}else for(let a=0;a<this.selectableDates.length;a++){const s=this.selectableDates[a];if(e.getDate()===s.getDate()&&e.getFullYear()===s.getFullYear()&&e.getMonth()===s.getMonth())return!0;t.push(!1)}if(this.unselectableDates)if("function"==typeof this.unselectableDates)t.push(!this.unselectableDates(e));else for(let a=0;a<this.unselectableDates.length;a++){const s=this.unselectableDates[a];t.push(e.getDate()!==s.getDate()||e.getFullYear()!==s.getFullYear()||e.getMonth()!==s.getMonth())}if(this.unselectableDaysOfWeek)for(let a=0;a<this.unselectableDaysOfWeek.length;a++){const s=this.unselectableDaysOfWeek[a];t.push(e.getDay()!==s)}return t.indexOf(!1)<0},emitChosenDate(e){this.disabled||this.selectableDate(e)&&this.$emit("select",e)},eventsDateMatch(e){if(!this.events||!this.events.length)return!1;const t=[];for(let a=0;a<this.events.length;a++)this.events[a].date.getDay()===e.getDay()&&t.push(this.events[a]);return!!t.length&&t},classObject(e){function t(e,t,a){return!(!e||!t||a)&&(Array.isArray(t)?t.some((t=>e.getDate()===t.getDate()&&e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth())):e.getDate()===t.getDate()&&e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth())}function a(e,t,a){return!(!Array.isArray(t)||a)&&(e>t[0]&&e<t[1])}return{"is-selected":t(e,this.selectedDate)||a(e,this.selectedDate,this.multiple),"is-first-selected":t(e,Array.isArray(this.selectedDate)?this.selectedDate[0]:void 0,this.multiple),"is-within-selected":a(e,this.selectedDate,this.multiple),"is-last-selected":t(e,Array.isArray(this.selectedDate)?this.selectedDate[1]:void 0,this.multiple),"is-within-hovered-range":this.hoveredDateRange&&2===this.hoveredDateRange.length&&(t(e,this.hoveredDateRange)||a(e,this.hoveredDateRange)),"is-first-hovered":t(e,Array.isArray(this.hoveredDateRange)?this.hoveredDateRange[0]:void 0),"is-within-hovered":a(e,this.hoveredDateRange),"is-last-hovered":t(e,Array.isArray(this.hoveredDateRange)?this.hoveredDateRange[1]:void 0),"is-today":t(e,this.dateCreator()),"is-selectable":this.selectableDate(e)&&!this.disabled,"is-unselectable":!this.selectableDate(e)||this.disabled,"is-invisible":!this.nearbyMonthDays&&e.getMonth()!==this.month,"is-nearby":this.nearbySelectableMonthDays&&e.getMonth()!==this.month,"has-event":this.eventsDateMatch(e),[this.indicators]:this.eventsDateMatch(e)}},setRangeHoverEndDate(e){this.range&&this.$emit("rangeHoverEndDate",e)},manageKeydown(e,t){const{key:a}=e;let s=!0;switch(a){case"Tab":s=!1;break;case" ":case"Space":case"Spacebar":case"Enter":this.emitChosenDate(t);break;case"ArrowLeft":case"Left":this.changeFocus(t,-1);break;case"ArrowRight":case"Right":this.changeFocus(t,1);break;case"ArrowUp":case"Up":this.changeFocus(t,-7);break;case"ArrowDown":case"Down":this.changeFocus(t,7)}s&&e.preventDefault()},changeFocus(e,t){const a=new Date(e.getTime());for(a.setDate(e.getDate()+t);(!this.minDate||a>this.minDate)&&(!this.maxDate||a<this.maxDate)&&!this.selectableDate(a);)a.setDate(a.getDate()+Math.sign(t));this.setRangeHoverEndDate(a),this.$emit("change-focus",a)}}});const ge={class:"datepicker-row"},fe=["disabled","onClick","onMouseenter","onKeydown","tabindex"],ye={key:0,class:"events"},be={key:0,class:"events"};var De=$(pe,[["render",function(e,a,s,n,i,o){return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createCommentVNode(" eslint-disable max-len "),t.createElementVNode("div",ge,[e.showWeekNumber?(t.openBlock(),t.createElementBlock("a",{key:0,class:t.normalizeClass(["datepicker-cell is-week-number",{"is-clickable":e.weekNumberClickable}]),onClick:a[0]||(a[0]=t.withModifiers((t=>e.clickWeekNumber(e.getWeekNumber(e.week[6]))),["prevent"]))},[t.createElementVNode("span",null,t.toDisplayString(e.getWeekNumber(e.week[6]).week),1)],2)):t.createCommentVNode("v-if",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.week,((a,s)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:s},[e.selectableDate(a)&&!e.disabled?(t.openBlock(),t.createElementBlock("a",{key:0,ref_for:!0,ref:`day-${a.getMonth()}-${a.getDate()}`,class:t.normalizeClass([e.classObject(a),"datepicker-cell"]),role:"button",href:"#",disabled:e.disabled||void 0,onClick:t.withModifiers((t=>e.emitChosenDate(a)),["prevent"]),onMouseenter:t=>e.setRangeHoverEndDate(a),onKeydown:t=>e.manageKeydown(t,a),tabindex:e.day===a.getDate()&&e.month===a.getMonth()?void 0:-1},[t.createElementVNode("span",null,t.toDisplayString(a.getDate()),1),e.eventsDateMatch(a)?(t.openBlock(),t.createElementBlock("div",ye,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.eventsDateMatch(a),((e,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["event",e.type]),key:a},null,2)))),128))])):t.createCommentVNode("v-if",!0)],42,fe)):(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass([e.classObject(a),"datepicker-cell"])},[t.createElementVNode("span",null,t.toDisplayString(a.getDate()),1),e.eventsDateMatch(a)?(t.openBlock(),t.createElementBlock("div",be,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.eventsDateMatch(a),((e,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["event",e.type]),key:a},null,2)))),128))])):t.createCommentVNode("v-if",!0)],2))],64)))),128))]),t.createCommentVNode(" eslint-enable max-len ")],2112)}]]),ke=t.defineComponent({name:"BDatepickerTable",components:{BDatepickerTableRow:De},props:{modelValue:{type:[Date,Array,null]},dayNames:[Array,null],monthNames:[Array,null],firstDayOfWeek:[Number,null],events:Array,indicators:String,minDate:[Date,null],maxDate:[Date,null],focused:Object,disabled:Boolean,dateCreator:Function,unselectableDates:[Array,Function,null],unselectableDaysOfWeek:[Array,null],selectableDates:[Array,Function,null],nearbyMonthDays:Boolean,nearbySelectableMonthDays:Boolean,showWeekNumber:Boolean,weekNumberClickable:Boolean,rulesForFirstWeek:Number,range:Boolean,multiple:Boolean},emits:{"range-end":e=>!0,"range-start":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},data:()=>({selectedBeginDate:void 0,selectedEndDate:void 0,hoveredEndDate:void 0}),computed:{multipleSelectedDates:{get(){return this.multiple&&this.modelValue?this.modelValue:[]},set(e){this.$emit("update:modelValue",e)}},visibleDayNames(){const e=[];let t=this.firstDayOfWeek;for(;e.length<this.dayNames.length;){const a=this.dayNames[t%this.dayNames.length];e.push(a),t++}return this.showWeekNumber&&e.unshift(""),e},hasEvents(){return this.events&&this.events.length},eventsInThisMonth(){if(!this.events)return[];const e=[];for(let t=0;t<this.events.length;t++){let a=this.events[t];Object.prototype.hasOwnProperty.call(a,"date")||(a={date:a,type:"is-primary"}),Object.prototype.hasOwnProperty.call(a,"type")||(a.type="is-primary"),a.date.getMonth()===this.focused.month&&a.date.getFullYear()===this.focused.year&&e.push(a)}return e},weeksInThisMonth(){this.validateFocusedDay();const e=this.focused.month,t=this.focused.year,a=[];let s=1;for(;a.length<6;){const n=this.weekBuilder(s,e,t);a.push(n),s+=7}return a},hoveredDateRange(){var e,t;return this.range&&isNaN(null!=(t=null==(e=this.selectedEndDate)?void 0:e.valueOf())?t:NaN)?this.hoveredEndDate<this.selectedBeginDate?[this.hoveredEndDate,this.selectedBeginDate].filter(E):[this.selectedBeginDate,this.hoveredEndDate].filter(E):[]},disabledOrUndefined(){return this.disabled||void 0}},methods:{updateSelectedDate(e){this.range||this.multiple?this.range?this.handleSelectRangeDate(e):this.multiple&&this.handleSelectMultipleDates(e):this.$emit("update:modelValue",e)},handleSelectRangeDate(e){this.selectedBeginDate&&this.selectedEndDate?(this.selectedBeginDate=e,this.selectedEndDate=void 0,this.$emit("range-start",e)):this.selectedBeginDate&&!this.selectedEndDate?(this.selectedBeginDate>e?(this.selectedEndDate=this.selectedBeginDate,this.selectedBeginDate=e):this.selectedEndDate=e,this.$emit("range-end",e),this.$emit("update:modelValue",[this.selectedBeginDate,this.selectedEndDate])):(this.selectedBeginDate=e,this.$emit("range-start",e))},handleSelectMultipleDates(e){this.multipleSelectedDates.filter((t=>t.getDate()===e.getDate()&&t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth())).length?this.multipleSelectedDates=this.multipleSelectedDates.filter((t=>t.getDate()!==e.getDate()||t.getFullYear()!==e.getFullYear()||t.getMonth()!==e.getMonth())):this.multipleSelectedDates=[...this.multipleSelectedDates,e]},weekBuilder(e,t,a){const s=new Date(a,t),n=[],i=new Date(a,t,e).getDay(),o=i>=this.firstDayOfWeek?i-this.firstDayOfWeek:7-this.firstDayOfWeek+i;let l=1;for(let t=0;t<o;t++)n.unshift(new Date(s.getFullYear(),s.getMonth(),e-l)),l++;n.push(new Date(a,t,e));let r=1;for(;n.length<7;)n.push(new Date(a,t,e+r)),r++;return n},validateFocusedDay(){const e=new Date(this.focused.year,this.focused.month,this.focused.day);if(this.selectableDate(e))return;let t=0;const a=new Date(this.focused.year,this.focused.month+1,0).getDate();let s=null;for(;!s&&++t<a;){const a=new Date(this.focused.year,this.focused.month,t);if(this.selectableDate(a)){s=e;const t={day:a.getDate(),month:a.getMonth(),year:a.getFullYear()};this.$emit("update:focused",t)}}},selectableDate(e){const t=[];if(this.minDate&&t.push(e>=this.minDate),this.maxDate&&t.push(e<=this.maxDate),this.nearbyMonthDays&&!this.nearbySelectableMonthDays&&t.push(e.getMonth()===this.focused.month),this.selectableDates)if("function"==typeof this.selectableDates){if(this.selectableDates(e))return!0;t.push(!1)}else for(let a=0;a<this.selectableDates.length;a++){const s=this.selectableDates[a];if(e.getDate()===s.getDate()&&e.getFullYear()===s.getFullYear()&&e.getMonth()===s.getMonth())return!0;t.push(!1)}if(this.unselectableDates)if("function"==typeof this.unselectableDates)t.push(!this.unselectableDates(e));else for(let a=0;a<this.unselectableDates.length;a++){const s=this.unselectableDates[a];t.push(e.getDate()!==s.getDate()||e.getFullYear()!==s.getFullYear()||e.getMonth()!==s.getMonth())}if(this.unselectableDaysOfWeek)for(let a=0;a<this.unselectableDaysOfWeek.length;a++){const s=this.unselectableDaysOfWeek[a];t.push(e.getDay()!==s)}return t.indexOf(!1)<0},eventsInThisWeek(e){return this.eventsInThisMonth.filter((t=>{const a=new Date(Date.parse(t.date+""));a.setHours(0,0,0,0);const s=a.getTime();return e.some((e=>e.getTime()===s))}))},setRangeHoverEndDate(e){this.hoveredEndDate=e},changeFocus(e){const t={day:e.getDate(),month:e.getMonth(),year:e.getFullYear()};this.$emit("update:focused",t)}}});const ve={class:"datepicker-table"},we={class:"datepicker-header"};var Be=$(ke,[["render",function(e,a,s,n,i,o){const l=t.resolveComponent("b-datepicker-table-row");return t.openBlock(),t.createElementBlock("section",ve,[t.createElementVNode("header",we,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.visibleDayNames,((e,a)=>(t.openBlock(),t.createElementBlock("div",{key:a,class:"datepicker-cell"},[t.createElementVNode("span",null,t.toDisplayString(e),1)])))),128))]),t.createElementVNode("div",{class:t.normalizeClass(["datepicker-body",{"has-events":e.hasEvents}])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.weeksInThisMonth,((a,s)=>(t.openBlock(),t.createBlock(l,{key:s,"selected-date":e.modelValue??void 0,day:e.focused.day,week:a,month:e.focused.month,"min-date":e.minDate,"max-date":e.maxDate,disabled:e.disabledOrUndefined,"unselectable-dates":e.unselectableDates,"unselectable-days-of-week":e.unselectableDaysOfWeek,"selectable-dates":e.selectableDates,events:e.eventsInThisWeek(a),indicators:e.indicators,"date-creator":e.dateCreator,"nearby-month-days":e.nearbyMonthDays,"nearby-selectable-month-days":e.nearbySelectableMonthDays,"show-week-number":e.showWeekNumber,"week-number-clickable":e.weekNumberClickable,"first-day-of-week":e.firstDayOfWeek,"rules-for-first-week":e.rulesForFirstWeek,range:e.range,"hovered-date-range":e.hoveredDateRange,onSelect:e.updateSelectedDate,onRangeHoverEndDate:e.setRangeHoverEndDate,multiple:e.multiple,onChangeFocus:e.changeFocus},null,8,["selected-date","day","week","month","min-date","max-date","disabled","unselectable-dates","unselectable-days-of-week","selectable-dates","events","indicators","date-creator","nearby-month-days","nearby-selectable-month-days","show-week-number","week-number-clickable","first-day-of-week","rules-for-first-week","range","hovered-date-range","onSelect","onRangeHoverEndDate","multiple","onChangeFocus"])))),128))],2)])}]]),Ce=t.defineComponent({name:"BDatepickerMonth",props:{modelValue:{type:[Date,Array,null]},monthNames:[Array,null],events:Array,indicators:String,minDate:[Date,null],maxDate:[Date,null],focused:Object,disabled:Boolean,dateCreator:Function,unselectableDates:[Array,Function,null],unselectableDaysOfWeek:[Array,null],selectableDates:[Array,Function,null],range:Boolean,multiple:Boolean},emits:{"change-focus":e=>!0,"range-end":e=>!0,"range-start":e=>!0,"update:modelValue":e=>!0},data(){return{selectedBeginDate:void 0,selectedEndDate:void 0,hoveredEndDate:void 0,multipleSelectedDates:this.multiple&&this.modelValue?this.modelValue:[]}},computed:{hasEvents(){return this.events&&this.events.length},eventsInThisYear(){if(!this.events)return[];const e=[];for(let t=0;t<this.events.length;t++){let a=this.events[t];Object.prototype.hasOwnProperty.call(a,"date")||(a={date:a,type:"is-primary"}),Object.prototype.hasOwnProperty.call(a,"type")||(a.type="is-primary"),a.date.getFullYear()===this.focused.year&&e.push(a)}return e},monthDates(){const e=this.focused.year,t=[];for(let a=0;a<12;a++){const s=new Date(e,a,1);s.setHours(0,0,0,0),t.push(s)}return t},focusedMonth(){return this.focused.month},hoveredDateRange(){var e,t;return this.range&&isNaN(null!=(t=null==(e=this.selectedEndDate)?void 0:e.valueOf())?t:NaN)?this.hoveredEndDate<this.selectedBeginDate?[this.hoveredEndDate,this.selectedBeginDate].filter(E):[this.selectedBeginDate,this.hoveredEndDate].filter(E):[]},disabledOrUndefined(){return this.disabled||void 0}},watch:{focusedMonth(e){const t=`month-${e}`;this.$nextTick((()=>{let e;e=Array.isArray(this.$refs[t])?this.$refs[t][0]:this.$refs[t],e&&e.focus()}))}},methods:{selectMultipleDates(e){this.multipleSelectedDates.filter((t=>t.getDate()===e.getDate()&&t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth())).length?this.multipleSelectedDates=this.multipleSelectedDates.filter((t=>t.getDate()!==e.getDate()||t.getFullYear()!==e.getFullYear()||t.getMonth()!==e.getMonth())):this.multipleSelectedDates.push(e),this.$emit("update:modelValue",this.multipleSelectedDates)},selectableDate(e){const t=[];if(this.minDate&&t.push(e>=this.minDate),this.maxDate&&t.push(e<=this.maxDate),t.push(e.getFullYear()===this.focused.year),this.selectableDates)if("function"==typeof this.selectableDates){if(this.selectableDates(e))return!0;t.push(!1)}else for(let a=0;a<this.selectableDates.length;a++){const s=this.selectableDates[a];if(e.getFullYear()===s.getFullYear()&&e.getMonth()===s.getMonth())return!0;t.push(!1)}if(this.unselectableDates)if("function"==typeof this.unselectableDates)t.push(!this.unselectableDates(e));else for(let a=0;a<this.unselectableDates.length;a++){const s=this.unselectableDates[a];t.push(e.getFullYear()!==s.getFullYear()||e.getMonth()!==s.getMonth())}if(this.unselectableDaysOfWeek)for(let a=0;a<this.unselectableDaysOfWeek.length;a++){const s=this.unselectableDaysOfWeek[a];t.push(e.getDay()!==s)}return t.indexOf(!1)<0},eventsDateMatch(e){if(!this.eventsInThisYear.length)return!1;const t=[];for(let a=0;a<this.eventsInThisYear.length;a++)this.eventsInThisYear[a].date.getMonth()===e.getMonth()&&t.push(this.events[a]);return!!t.length&&t},classObject(e){function t(e,t,a){return!(!e||!t||a)&&(Array.isArray(t)?t.some((t=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth())):e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth())}function a(e,t,a){return!(!Array.isArray(t)||a)&&(e>t[0]&&e<t[1])}return{"is-selected":t(e,this.modelValue,this.multiple)||a(e,this.modelValue,this.multiple)||(s=e,n=this.multipleSelectedDates,i=this.multiple,!(!Array.isArray(n)||!i)&&n.some((e=>s.getDate()===e.getDate()&&s.getFullYear()===e.getFullYear()&&s.getMonth()===e.getMonth()))),"is-first-selected":t(e,Array.isArray(this.modelValue)?this.modelValue[0]:void 0,this.multiple),"is-within-selected":a(e,this.modelValue,this.multiple),"is-last-selected":t(e,Array.isArray(this.modelValue)?this.modelValue[1]:void 0,this.multiple),"is-within-hovered-range":this.hoveredDateRange&&2===this.hoveredDateRange.length&&(t(e,this.hoveredDateRange)||a(e,this.hoveredDateRange)),"is-first-hovered":t(e,Array.isArray(this.hoveredDateRange)?this.hoveredDateRange[0]:void 0),"is-within-hovered":a(e,this.hoveredDateRange),"is-last-hovered":t(e,Array.isArray(this.hoveredDateRange)?this.hoveredDateRange[1]:void 0),"is-today":t(e,this.dateCreator()),"is-selectable":this.selectableDate(e)&&!this.disabled,"is-unselectable":!this.selectableDate(e)||this.disabled};var s,n,i},manageKeydown({key:e},t){switch(e){case" ":case"Space":case"Spacebar":case"Enter":this.updateSelectedDate(t);break;case"ArrowLeft":case"Left":this.changeFocus(t,-1);break;case"ArrowRight":case"Right":this.changeFocus(t,1);break;case"ArrowUp":case"Up":this.changeFocus(t,-3);break;case"ArrowDown":case"Down":this.changeFocus(t,3)}},updateSelectedDate(e){this.range||this.multiple?this.range?this.handleSelectRangeDate(e):this.multiple&&this.selectMultipleDates(e):this.emitChosenDate(e)},emitChosenDate(e){this.disabled||(this.multiple?this.selectMultipleDates(e):this.selectableDate(e)&&this.$emit("update:modelValue",e))},handleSelectRangeDat