vuiii 1.0.0-beta.5 → 1.0.0-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/vuiii.umd.js CHANGED
@@ -1 +1 @@
1
- (function(a,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router"],e):(a=typeof globalThis!="undefined"?globalThis:a||self,e(a.vui={},a.Vue,a.VueRouter))})(this,function(a,e,h){"use strict";var En=Object.defineProperty,Mn=Object.defineProperties;var Nn=Object.getOwnPropertyDescriptors;var V=Object.getOwnPropertySymbols;var P=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable;var T=(a,e,h)=>e in a?En(a,e,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[e]=h,$=(a,e)=>{for(var h in e||(e={}))P.call(e,h)&&T(a,h,e[h]);if(V)for(var h of V(e))v.call(e,h)&&T(a,h,e[h]);return a},B=(a,e)=>Mn(a,Nn(e));var R=(a,e)=>{var h={};for(var g in a)P.call(a,g)&&e.indexOf(g)<0&&(h[g]=a[g]);if(a!=null&&V)for(var g of V(a))e.indexOf(g)<0&&v.call(a,g)&&(h[g]=a[g]);return h};var g="",_=(t,o)=>{const n=t.__vccOpts||t;for(const[s,i]of o)n[s]=i;return n};const q={},K={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},G=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M16 17l-4 4m0 0l-4-4m4 4V3"},null,-1)];function U(t,o){return e.openBlock(),e.createElementBlock("svg",K,G)}var H=_(q,[["render",U]]),W=Object.freeze(Object.defineProperty({__proto__:null,default:H},Symbol.toStringTag,{value:"Module"}));const X={},Y={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},J=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M7 16l-4-4m0 0l4-4m-4 4h18"},null,-1)];function Q(t,o){return e.openBlock(),e.createElementBlock("svg",Y,J)}var Z=_(X,[["render",Q]]),x=Object.freeze(Object.defineProperty({__proto__:null,default:Z},Symbol.toStringTag,{value:"Module"}));const ee={},te={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},oe=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M17 8l4 4m0 0l-4 4m4-4H3"},null,-1)];function ne(t,o){return e.openBlock(),e.createElementBlock("svg",te,oe)}var re=_(ee,[["render",ne]]),le=Object.freeze(Object.defineProperty({__proto__:null,default:re},Symbol.toStringTag,{value:"Module"}));const se={},ae={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},ie=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M8 7l4-4m0 0l4 4m-4-4v18"},null,-1)];function ce(t,o){return e.openBlock(),e.createElementBlock("svg",ae,ie)}var de=_(se,[["render",ce]]),_e=Object.freeze(Object.defineProperty({__proto__:null,default:de},Symbol.toStringTag,{value:"Module"}));const me={},pe={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},ue=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)];function fe(t,o){return e.openBlock(),e.createElementBlock("svg",pe,ue)}var he=_(me,[["render",fe]]),ke=Object.freeze(Object.defineProperty({__proto__:null,default:he},Symbol.toStringTag,{value:"Module"}));const ge={},be={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},$e=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M5 13l4 4L19 7"},null,-1)];function ye(t,o){return e.openBlock(),e.createElementBlock("svg",be,$e)}var Be=_(ge,[["render",ye]]),we=Object.freeze(Object.defineProperty({__proto__:null,default:Be},Symbol.toStringTag,{value:"Module"}));const Se={},Ce={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},Ve=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 19l-7-7 7-7"},null,-1)];function Ee(t,o){return e.openBlock(),e.createElementBlock("svg",Ce,Ve)}var Me=_(Se,[["render",Ee]]),Ne=Object.freeze(Object.defineProperty({__proto__:null,default:Me},Symbol.toStringTag,{value:"Module"}));const Ie={},je={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},ze=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9 5l7 7-7 7"},null,-1)];function Fe(t,o){return e.openBlock(),e.createElementBlock("svg",je,ze)}var Oe=_(Ie,[["render",Fe]]),Le=Object.freeze(Object.defineProperty({__proto__:null,default:Oe},Symbol.toStringTag,{value:"Module"}));const Ae={},De={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},Te=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)];function Pe(t,o){return e.openBlock(),e.createElementBlock("svg",De,Te)}var ve=_(Ae,[["render",Pe]]),Re=Object.freeze(Object.defineProperty({__proto__:null,default:ve},Symbol.toStringTag,{value:"Module"}));const qe={},Ke={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},Ge=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"},null,-1)];function Ue(t,o){return e.openBlock(),e.createElementBlock("svg",Ke,Ge)}var He=_(qe,[["render",Ue]]),We=Object.freeze(Object.defineProperty({__proto__:null,default:He},Symbol.toStringTag,{value:"Module"}));const Xe={},Ye={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},Je=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19.5 12h-15"},null,-1)];function Qe(t,o){return e.openBlock(),e.createElementBlock("svg",Ye,Je)}var Ze=_(Xe,[["render",Qe]]),xe=Object.freeze(Object.defineProperty({__proto__:null,default:Ze},Symbol.toStringTag,{value:"Module"}));const et={},tt={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},ot=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4v16m8-8H4"},null,-1)];function nt(t,o){return e.openBlock(),e.createElementBlock("svg",tt,ot)}var rt=_(et,[["render",nt]]),lt=Object.freeze(Object.defineProperty({__proto__:null,default:rt},Symbol.toStringTag,{value:"Module"}));const st={},at={fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},it=[e.createElementVNode("path",{d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},null,-1)];function ct(t,o){return e.openBlock(),e.createElementBlock("svg",at,it)}var dt=_(st,[["render",ct]]),_t=Object.freeze(Object.defineProperty({__proto__:null,default:dt},Symbol.toStringTag,{value:"Module"})),Kn="";const mt={},pt=t=>(e.pushScopeId("data-v-683816b2"),t=t(),e.popScopeId(),t),ut={class:"IconSpinner",fill:"none",stroke:"currentColor",viewBox:"0 0 25 25",xmlns:"http://www.w3.org/2000/svg"},ft=[pt(()=>e.createElementVNode("path",{d:"M23.5 12.5c0 6.1-4.9 11-11 11s-11-4.9-11-11 4.9-11 11-11","shape-rendering":"geometricPrecision",style:{"stroke-width":"2","stroke-miterlimit":"10",stroke:"currentColor",fill:"none"},"vector-effect":"non-scaling-stroke"},null,-1))];function ht(t,o){return e.openBlock(),e.createElementBlock("svg",ut,ft)}var kt=_(mt,[["render",ht],["__scopeId","data-v-683816b2"]]),gt=Object.freeze(Object.defineProperty({__proto__:null,default:kt},Symbol.toStringTag,{value:"Module"}));const bt={},$t={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},yt=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"},null,-1)];function Bt(t,o){return e.openBlock(),e.createElementBlock("svg",$t,yt)}var wt=_(bt,[["render",Bt]]),St=Object.freeze(Object.defineProperty({__proto__:null,default:wt},Symbol.toStringTag,{value:"Module"}));const Ct={},Vt={"aria-hidden":"true",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Et=[e.createElementVNode("path",{d:"M6 18L18 6M6 6l12 12","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},null,-1)];function Mt(t,o){return e.openBlock(),e.createElementBlock("svg",Vt,Et)}var Nt=_(Ct,[["render",Mt]]),It=Object.freeze(Object.defineProperty({__proto__:null,default:Nt},Symbol.toStringTag,{value:"Module"}));function jt(t,o){var n;return(n=Object.entries(t).map(([s,i])=>({path:s,source:i})).find(s=>s.path.endsWith(`/${o}`)))==null?void 0:n.source.default}var Wn="";let E;function zt(t){E=t}function Ft(t){let o;return E&&(o=E(t)),o||(o=jt(Ot,`${t}.vue`)),o}const Ot={"../icons/arrow-narrow-down.vue":W,"../icons/arrow-narrow-left.vue":x,"../icons/arrow-narrow-right.vue":le,"../icons/arrow-narrow-up.vue":_e,"../icons/check-circle.vue":ke,"../icons/check.vue":we,"../icons/chevron-left.vue":Ne,"../icons/chevron-right.vue":Le,"../icons/exclamation-circle.vue":Re,"../icons/exclamation.vue":We,"../icons/minus.vue":xe,"../icons/plus.vue":lt,"../icons/search.vue":_t,"../icons/spinner.vue":gt,"../icons/trash.vue":St,"../icons/x.vue":It};var y=_(e.defineComponent({name:"Icon",props:{name:{type:String,required:!0}},setup(t){const o=t,n=e.shallowRef(void 0);return e.watch(()=>o.name,()=>n.value=Ft(o.name),{immediate:!0}),(s,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(n)),{class:"Icon"}))}}),[["__scopeId","data-v-cc79c81e"]]),Yn="";const Lt=e.defineComponent({components:{Icon:y},props:{breadcrumbs:{type:Object,default:()=>({})}}}),At={class:"Breadcrumbs"};function Dt(t,o,n,s,i,m){const r=e.resolveComponent("router-link"),l=e.resolveComponent("Icon");return e.openBlock(),e.createElementBlock("div",At,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.breadcrumbs,(c,d,f)=>(e.openBlock(),e.createElementBlock("div",{key:f,class:"Breadcrumbs__breadcrumb"},[e.createVNode(r,{to:c,class:"Breadcrumbs__link"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d),1)]),_:2},1032,["to"]),e.createVNode(l,{name:"chevron-right",class:"Breadcrumbs__arrow"})]))),128))])}var Tt=_(Lt,[["render",Dt],["__scopeId","data-v-357000f6"]]),Jn="";const Pt=["normal","small"],vt=["default","primary","secondary","danger"];var Qn="";const Rt=e.defineComponent({components:{Icon:y},inheritAttrs:!1,props:{size:{type:String,default:"normal",validator:t=>Pt.includes(t)},variant:{type:String,default:"default",validator:t=>vt.includes(t)},prefixIcon:{type:String,default:""},suffixIcon:{type:String,default:""},label:{type:String,default:""},active:Boolean,loading:Boolean,block:Boolean,disabled:Boolean},computed:{component(){return this.$attrs.to?"router-link":this.$attrs.href?"a":"button"},classModifiers(){const t=[this.size,this.variant];return this.active&&t.push("active"),this.loading&&t.push("loading"),this.disabled&&t.push("disabled"),t.map(o=>`vuiii-button--${o}`)}}}),qt={key:1};function Kt(t,o,n,s,i,m){const r=e.resolveComponent("Icon");return e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.component),e.mergeProps({class:["Button vuiii-button",[t.classModifiers,{"Button--block":t.block},{"vuiii-button--disabled":t.$attrs.disabled}]]},t.$attrs,{type:t.$attrs.type||(t.component==="button"?"button":void 0)}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"prefix",{},()=>[t.prefixIcon&&!t.loading?(e.openBlock(),e.createBlock(r,{key:0,class:e.normalizeClass(["Button__icon Button__icon--prefix",[`Button__icon--${t.size}`]]),name:t.prefixIcon},null,8,["class","name"])):e.createCommentVNode("",!0)],!0),t.loading?(e.openBlock(),e.createBlock(r,{key:0,class:e.normalizeClass(["Button__icon Button__icon--prefix",[`Button__icon--${t.size}`]]),name:"spinner"},null,8,["class"])):e.createCommentVNode("",!0),t.$slots.default||t.label?(e.openBlock(),e.createElementBlock("span",qt,[e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.label),1)],!0)])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"suffix",{},()=>[t.suffixIcon?(e.openBlock(),e.createBlock(r,{key:0,class:e.normalizeClass(["Button__icon Button__icon--suffix",[`Button__icon--${t.size}`]]),name:t.suffixIcon},null,8,["class","name"])):e.createCommentVNode("",!0)],!0)]),_:3},16,["class","type"])}var M=_(Rt,[["render",Kt],["__scopeId","data-v-0e7d2036"]]),Zn="";const Gt=t=>t.target.getAttribute("type")==="number"?t.target.valueAsNumber:t.target.getAttribute("type")==="checkbox"?t.target.checked:t.target.value,w=e.defineComponent({emits:["update:modelValue"],computed:{normalizedAttrs(){const n=this.$attrs,{class:t}=n,o=R(n,["class"]);return B($({},o),{onInput:s=>this.$emit("update:modelValue",Gt(s))})}}});var xn="";const Ut=e.defineComponent({mixins:[w],inheritAttrs:!1,props:{modelValue:Boolean,required:Boolean,switch:Boolean,caption:{type:String,default:""}}}),Ht=t=>(e.pushScopeId("data-v-18ef5cd1"),t=t(),e.popScopeId(),t),Wt=["checked","required"],Xt=[Ht(()=>e.createElementVNode("div",{class:"Checkbox__switchDot"},null,-1))],Yt={key:1,class:"Checkbox__label"},Jt={key:0,class:"Checkbox__required"};function Qt(t,o,n,s,i,m){return e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["Checkbox",[t.$attrs.class,{"Checkbox--disabled":t.$attrs.disabled}]])},[e.withDirectives(e.createElementVNode("input",e.mergeProps(t.normalizedAttrs,{checked:t.modelValue,class:"Checkbox__input vuiii-input",required:t.required,type:"checkbox"}),null,16,Wt),[[e.vShow,!t.$props.switch]]),t.$props.switch?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["Checkbox__switch",{"Checkbox__switch--active":t.modelValue}])},Xt,2)):e.createCommentVNode("",!0),t.$slots.default||t.caption?(e.openBlock(),e.createElementBlock("div",Yt,[t.required?(e.openBlock(),e.createElementBlock("span",Jt,"*")):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.caption),1)],!0)])):e.createCommentVNode("",!0)],2)}var j=_(Ut,[["render",Qt],["__scopeId","data-v-18ef5cd1"]]);function C(t,o){return typeof o=="function"?o(t):o||o===0?t[o]:t}function N(t,o={}){return Array.isArray(t)?t.map(n=>({value:C(n,o.value),label:C(n,o.label),description:o.description&&C(n,o.description),disabled:o.disabled&&C(n,o.disabled)})):Object.entries(t||{}).reduce((n,[s,i])=>n.concat({value:s,label:i}),[])}var tr="";const Zt=e.defineComponent({components:{Checkbox:j},props:{modelValue:{type:Array,default:()=>[]},options:{type:[Array,Object],required:!0},optionLabelKey:{type:[Function,String,Number],default:void 0},optionValueKey:{type:[Function,String,Number],default:void 0},optionDisabledKey:{type:[Function,String,Number],default:void 0}},emits:["update:modelValue"],computed:{normalizedOptions(){return N(this.options,{value:this.optionValueKey,label:this.optionLabelKey,disabled:this.optionDisabledKey})},checkedValues(){return this.modelValue.reduce((t,o)=>B($({},t),{[o]:!0}),{})}},methods:{toggleCheckedValue(t){const o=B($({},this.checkedValues),{[t]:!this.checkedValues[t]}),n=Object.entries(o).filter(([s,i])=>i).map(([s])=>s);this.$emit("update:modelValue",n)}}}),xt={class:"CheckboxGroup"};function eo(t,o,n,s,i,m){const r=e.resolveComponent("Checkbox");return e.openBlock(),e.createElementBlock("div",xt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.normalizedOptions,l=>(e.openBlock(),e.createElementBlock("div",{key:l.value},[e.createVNode(r,{disabled:l.disabled,"model-value":t.checkedValues[l.value],caption:l.label,"onUpdate:modelValue":c=>t.toggleCheckedValue(l.value)},null,8,["disabled","model-value","caption","onUpdate:modelValue"])]))),128))])}var to=_(Zt,[["render",eo],["__scopeId","data-v-1a9cd604"]]),or="";const oo=e.defineComponent({props:{label:{type:String,default:""},error:{type:[String,Array,Boolean],default:""},description:{type:String,default:""},hint:{type:String,default:""},required:Boolean},computed:{errorMessage(){return Array.isArray(this.error)?this.error.filter(Boolean).join(" "):typeof this.error=="string"?this.error:""}}}),no={key:0,class:"FormGroup__header"},ro={class:"FormGroup__label"},lo={key:0,class:"FormGroup__required"},so={key:1,class:"FormGroup__description"},ao={key:2,class:"FormGroup__hint"},io={key:3,class:"FormGroup__error"};function co(t,o,n,s,i,m){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["FormGroup",{"FormGroup--invalid":t.error}])},[t.label?(e.openBlock(),e.createElementBlock("div",no,[e.createElementVNode("label",ro,e.toDisplayString(t.label),1),t.required?(e.openBlock(),e.createElementBlock("div",lo,"*")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),t.$slots.description||t.description?(e.openBlock(),e.createElementBlock("div",so,[e.renderSlot(t.$slots,"description",{},()=>[e.createTextVNode(e.toDisplayString(t.description),1)],!0)])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default",{},void 0,!0),t.$slots.hint||t.hint?(e.openBlock(),e.createElementBlock("div",ao,[e.renderSlot(t.$slots,"hint",{},()=>[e.createTextVNode(e.toDisplayString(t.hint),1)],!0)])):e.createCommentVNode("",!0),t.errorMessage?(e.openBlock(),e.createElementBlock("div",io,e.toDisplayString(t.errorMessage),1)):e.createCommentVNode("",!0)],2)}var z=_(oo,[["render",co],["__scopeId","data-v-2a74e30e"]]),nr="";const _o=e.defineComponent({components:{FormGroup:z},props:{fields:{type:Object,default:()=>({})},modelValue:{type:Object,default:()=>({})},errors:{type:Object,default:()=>({})}},emits:["update:modelValue"],methods:{getFieldValue(t){var n;return(((n=this.fields[t].value)==null?void 0:n.getter)||(s=>s[t]))(this.modelValue)},setFieldValue(t,o){var i;const s=(((i=this.fields[t].value)==null?void 0:i.setter)||((m,r)=>B($({},r),{[t]:m})))(o,this.modelValue);this.$emit("update:modelValue",s)}}}),mo={class:"FormFields"};function po(t,o,n,s,i,m){const r=e.resolveComponent("FormGroup");return e.openBlock(),e.createElementBlock("div",mo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,(l,c)=>{var d;return e.openBlock(),e.createBlock(r,{key:c,label:l.label,description:l.description,hint:l.hint,required:l.required,error:(d=t.errors)==null?void 0:d[c]},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.component),e.mergeProps({"model-value":t.getFieldValue(String(c))},l.props,{"onUpdate:modelValue":f=>t.setFieldValue(String(c),f)}),null,16,["model-value","onUpdate:modelValue"]))]),_:2},1032,["label","description","hint","required","error"])}),128))])}var F=_(_o,[["render",po],["__scopeId","data-v-7f82ddf3"]]),rr="";const uo=e.defineComponent({components:{Button:M,FormFields:F,Icon:y},props:{structure:{type:Object,default:()=>({})},modelValue:{type:Object,default:()=>{}},errors:{type:Object,default:()=>({})},submit:{type:Function,default:void 0},submitLabel:{type:String,default:"Submit"},cancel:{type:[Function,Object],default:void 0},cancelLabel:{type:String,default:"Cancel"},submitting:Boolean},emits:["update:modelValue","change","submit","cancel"],methods:{handleSubmit(){var t;(t=this.submit)==null||t.call(this,this.modelValue)},handleCancel(){var t;typeof this.cancel=="function"?(t=this.cancel)==null||t.call(this):this.cancel&&this.$router.push(this.cancel)}}}),fo={class:"Form"},ho=["disabled"],ko={key:0,class:"Form__title"},go={key:0,class:"Form__buttons"};function bo(t,o,n,s,i,m){const r=e.resolveComponent("FormFields"),l=e.resolveComponent("Button"),c=e.resolveComponent("Icon");return e.openBlock(),e.createElementBlock("div",fo,[t.modelValue?(e.openBlock(),e.createElementBlock("form",{key:0,disabled:t.submitting,onSubmit:o[3]||(o[3]=e.withModifiers(d=>{var f;return(f=t.handleSubmit)==null?void 0:f.call(t)},["prevent"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.structure,(d,f)=>(e.openBlock(),e.createElementBlock("div",{key:f},[d.title?(e.openBlock(),e.createElementBlock("div",ko,e.toDisplayString(d.title),1)):e.createCommentVNode("",!0),e.createVNode(r,{fields:d.fields,"model-value":t.modelValue,errors:t.errors,"onUpdate:modelValue":o[0]||(o[0]=p=>t.$emit("update:modelValue",p)),onChange:o[1]||(o[1]=p=>t.$emit("change",p))},null,8,["fields","model-value","errors"])]))),128)),e.renderSlot(t.$slots,"buttons",e.normalizeProps(e.guardReactiveProps({cancel:t.cancel,submit:t.submit})),()=>[t.submit||t.cancel?(e.openBlock(),e.createElementBlock("div",go,[t.submit?(e.openBlock(),e.createBlock(l,{key:0,variant:"primary",type:"submit",label:t.submitLabel,disabled:t.submitting,"prefix-icon":t.submitting?"spinner":void 0},null,8,["label","disabled","prefix-icon"])):e.createCommentVNode("",!0),t.cancel?(e.openBlock(),e.createBlock(l,{key:1,label:t.cancelLabel,disabled:t.submitting,onClick:o[2]||(o[2]=d=>t.handleCancel())},null,8,["label","disabled"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],!0)],40,ho)):(e.openBlock(),e.createBlock(c,{key:1,name:"spinner"}))])}var $o=_(uo,[["render",bo],["__scopeId","data-v-4a2acd7e"]]),lr="";const yo=["normal","small"],Bo=e.defineComponent({components:{Icon:y},mixins:[w],inheritAttrs:!1,props:{modelValue:{type:[Number,String],default:""},prefixIcon:{type:String,default:""},suffixIcon:{type:String,default:""},size:{type:String,default:"normal",validator:t=>yo.includes(t)},invalid:Boolean},computed:{hasPrefix(){return Boolean(this.$slots.prefix||this.prefixIcon)},hasSuffix(){return Boolean(this.$slots.suffix||this.suffixIcon)}}}),wo={class:"Input__icon Input__icon--left"},So=["aria-label","value"],Co={class:"Input__icon Input__icon--right"};function Vo(t,o,n,s,i,m){const r=e.resolveComponent("Icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["Input vuiii-input",[t.$attrs.class,{"vuiii-input--invalid":t.invalid,"vuiii-input--disabled":t.$attrs.disabled,"vuiii-input--small":t.size==="small"}]]),onClick:o[0]||(o[0]=l=>t.$refs.input.focus())},[t.hasPrefix?e.renderSlot(t.$slots,"prefix",{key:0},()=>[e.createElementVNode("div",wo,[e.createVNode(r,{name:t.prefixIcon},null,8,["name"])])],!0):e.createCommentVNode("",!0),e.createElementVNode("input",e.mergeProps({ref:"input","aria-label":t.$attrs.placeholder||"input"},t.normalizedAttrs,{class:"Input__nestedInput vuiii-input__nested",value:t.modelValue}),null,16,So),t.hasSuffix?e.renderSlot(t.$slots,"suffix",{key:1},()=>[e.createElementVNode("div",Co,[e.createVNode(r,{name:t.suffixIcon},null,8,["name"])])],!0):e.createCommentVNode("",!0)],2)}var Eo=_(Bo,[["render",Vo],["__scopeId","data-v-6a6438b5"]]),sr="";const Mo=e.defineComponent({components:{Icon:y},props:{title:{type:String,default:""},width:{type:[Number,String],default:600},hideCloser:Boolean,scroll:Boolean,plain:Boolean},computed:{hasHeader(){return Boolean(this.$slots.header||this.title)},hasFooter(){return Boolean(this.$slots.footer)},computedStyle(){const t=this.width+(Number(this.width)?"px":"");return t&&t!=="auto"?{width:"100%",maxWidth:t}:{}}},methods:{close(){window.dispatchEvent(new KeyboardEvent("keydown",{key:"Escape"}))}}}),No={key:1,class:"ModalLayout__header"},Io={class:"ModalLayout__title"},jo={class:"ModalLayout__body"},zo={key:2,class:"ModalLayout__footer"};function Fo(t,o,n,s,i,m){const r=e.resolveComponent("Icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["ModalLayout",{hasHeader:t.hasHeader,hasFooter:t.hasFooter,isScrollable:t.scroll,isPlain:t.plain}]),style:e.normalizeStyle(t.computedStyle)},[t.hideCloser?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:"ModalLayout__close",onClick:o[0]||(o[0]=l=>t.close())},[e.createVNode(r,{name:"x",class:"ModalLayout__closeIcon"})])),t.hasHeader?(e.openBlock(),e.createElementBlock("div",No,[e.renderSlot(t.$slots,"header",{},()=>[e.createElementVNode("div",Io,e.toDisplayString(t.title),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",jo,[e.renderSlot(t.$slots,"default",{},void 0,!0)]),t.hasFooter?(e.openBlock(),e.createElementBlock("div",zo,[e.renderSlot(t.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],6)}var O=_(Mo,[["render",Fo],["__scopeId","data-v-386279ac"]]),ar="";let Oo=1;const Lo=e.defineComponent({mixins:[w],inheritAttrs:!1,props:{modelValue:{type:[String,Number],default:void 0},options:{type:[Array,Object],required:!0},optionLabelKey:{type:[Function,String,Number],default:void 0},optionValueKey:{type:[Function,String,Number],default:void 0},optionDisabledKey:{type:[Function,String,Number],default:void 0},required:Boolean},emits:["update:modelValue"],data(){return{inputName:"vuiii-radio-input-"+Oo++}},computed:{normalizedOptions(){return N(this.options,{value:this.optionValueKey,label:this.optionLabelKey,disabled:this.optionDisabledKey})}}}),Ao={class:"Radio"},Do=["value","checked","required","name","disabled"],To={class:"Radio__label"};function Po(t,o,n,s,i,m){return e.openBlock(),e.createElementBlock("div",Ao,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.normalizedOptions,r=>(e.openBlock(),e.createElementBlock("label",{key:r.value,class:e.normalizeClass(["Radio__option",{"Radio--disabled":r.disabled}])},[e.createElementVNode("input",e.mergeProps(t.normalizedAttrs,{value:r.value,checked:t.modelValue===r.value,class:"Radio__input vuiii-input",required:t.required,type:"Radio",name:t.inputName,disabled:r.disabled}),null,16,Do),e.createElementVNode("div",To,[e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(r.label),1)],!0)])],2))),128))])}var vo=_(Lo,[["render",Po],["__scopeId","data-v-0251715f"]]);const Ro=["normal","small"],qo=e.defineComponent({mixins:[w],props:{modelValue:{type:[String,Number,Object],default:""},options:{type:[Array,Object],default:()=>[]},optionLabelKey:{type:[Function,String,Number],default:void 0},optionValueKey:{type:[Function,String,Number],default:void 0},optionDisabledKey:{type:[Function,String,Number],default:void 0},placeholder:{type:String,default:""},size:{type:String,default:"normal",validator:t=>Ro.includes(t)},allowEmpty:Boolean},computed:{normalizedOptions(){return N(this.options,{value:this.optionValueKey,label:this.optionLabelKey,disabled:this.optionDisabledKey})}}}),Ko=["value"],Go=["disabled"],Uo=["disabled","value"];function Ho(t,o,n,s,i,m){return e.openBlock(),e.createElementBlock("select",e.mergeProps({class:"Select vuiii-input"},t.normalizedAttrs,{class:[t.$attrs.class,{"vuiii-input--small":t.size==="small"}],value:t.modelValue}),[t.placeholder?(e.openBlock(),e.createElementBlock("option",{key:0,disabled:!t.allowEmpty,selected:"",value:""},e.toDisplayString(t.placeholder),9,Go)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.normalizedOptions,r=>(e.openBlock(),e.createElementBlock("option",{key:r.value,disabled:r.disabled,value:r.value},e.toDisplayString(r.label),9,Uo))),128))],16,Ko)}var Wo=_(qo,[["render",Ho]]),ir="",cr="";const Xo=e.defineComponent({props:{items:{type:Array,default:()=>[]},columns:{type:Object,default:null},rowClass:{type:[String,Function],default:null}},computed:{normalizedColumns(){return Object.entries(this.columns).reduce((t,[o,n])=>B($({},t),{[o]:typeof n=="string"?{label:n}:n}),{})}},methods:{formatValue(t,o){const n=this.normalizedColumns[o],s=typeof n.value=="function"?n.value(t):t[o];return n.format?n.format(s):s},resolveRowClass(t){return typeof this.rowClass=="function"?this.rowClass(t):this.rowClass}}}),Yo={class:"vuiii-table vuiii-table--hover"},Jo=["width"];function Qo(t,o,n,s,i,m){const r=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("table",Yo,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.normalizedColumns,(l,c)=>(e.openBlock(),e.createElementBlock("th",{key:c,style:e.normalizeStyle({textAlign:l.align||"left"}),width:l.width},e.toDisplayString(l.label),13,Jo))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(l,c)=>(e.openBlock(),e.createElementBlock("tr",{key:c,class:e.normalizeClass(t.resolveRowClass(l))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.normalizedColumns,(d,f)=>(e.openBlock(),e.createElementBlock("td",{key:f,style:e.normalizeStyle({textAlign:d.align||"left"})},[e.renderSlot(t.$slots,f,e.normalizeProps(e.guardReactiveProps({item:l})),()=>[d.href?(e.openBlock(),e.createBlock(r,{key:0,class:"vuiii-link",to:d.href(l)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.formatValue(l,f)),1)]),_:2},1032,["to"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(t.formatValue(l,f)),1)],64))])],4))),128))],2))),128))])])}var Zo=_(Xo,[["render",Qo]]);const xo=e.defineComponent({mixins:[w],props:{modelValue:{type:String,default:""}}});function en(t,o,n,s,i,m){return e.openBlock(),e.createElementBlock("textarea",e.mergeProps({class:"Textarea vuiii-input"},t.normalizedAttrs),null,16)}var tn=_(xo,[["render",en]]),dr="";const on=e.defineComponent({components:{ModalLayout:O,Button:M},props:{title:{type:String,default:""},message:{type:String,default:""},buttons:{type:Array,default:()=>[]}},emits:["close"]}),nn={class:"ModalLayoutDialog__buttons"};function rn(t,o,n,s,i,m){var c;const r=e.resolveComponent("Button"),l=e.resolveComponent("ModalLayout");return e.openBlock(),e.createBlock(l,{class:"ModalLayoutDialog",width:"480",title:t.title},e.createSlots({default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["ModalLayoutDialog__message",{"ModalLayoutDialog__message--offset":!t.title}])},e.toDisplayString(t.message),3)]),_:2},[(c=t.buttons)!=null&&c.length?{name:"footer",fn:e.withCtx(()=>[e.createElementVNode("div",nn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.buttons,(d,f)=>(e.openBlock(),e.createElementBlock("span",{key:f,class:"ModalLayoutDialog__buttonWrapper"},[e.createVNode(r,{type:"button",variant:d.variant,"prefix-icon":d.icon,autofocus:"",onClick:p=>t.$emit("close",d.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.label),1)]),_:2},1032,["variant","prefix-icon","onClick"])]))),128))])])}:void 0]),1032,["title"])}var ln=_(on,[["render",rn],["__scopeId","data-v-612c6cb9"]]),_r="";const sn=e.defineComponent({props:{modals:{type:Array,default:()=>[]}},emits:["closeModal"],data(){return{modalInstances:{},registerReference(t){return o=>this.modalInstances[t]=o}}},computed:{activeModal(){return this.modals.length?this.modals[this.modals.length-1]:null}},mounted(){window.addEventListener("keydown",this.closeActiveModalByEscapeKey)},beforeUnmount(){window.removeEventListener("keydown",this.closeActiveModalByEscapeKey)},methods:{closeModal(t,o){var i;const n=()=>{this.$emit("closeModal",{modal:t,result:o})},s=this.modalInstances[t.id].$el;(i=s.$attrs)!=null&&i.onBeforeClose?s.$attrs.onBeforeClose(n):n()},closeActiveModal(){this.activeModal&&this.closeModal(this.activeModal)},closeActiveModalByEscapeKey(t){this.activeModal&&t.key==="Escape"&&!t.defaultPrevented&&(t.preventDefault(),this.closeActiveModal())},closeModalByBackdropClick(t,o){t.target===t.currentTarget&&this.closeModal(o)}}}),an={class:"ModalStack"},cn={key:0,class:"ModalStack__backdrop"},dn=["onClick"];function _n(t,o,n,s,i,m){return e.openBlock(),e.createElementBlock("div",an,[e.createVNode(e.Transition,{name:"ModalStack__backdrop"},{default:e.withCtx(()=>[t.modals.length?(e.openBlock(),e.createElementBlock("div",cn)):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.TransitionGroup,{name:"ModalStack__modal"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.modals,r=>{var l;return e.openBlock(),e.createElementBlock("div",{key:r.id,class:"ModalStack__modalWrapper",onClick:c=>t.closeModalByBackdropClick(c,r)},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.component),e.mergeProps(r.props,{ref_for:!0,ref:t.registerReference(r.id),class:["ModalStack__modal",{isActive:((l=t.activeModal)==null?void 0:l.id)===r.id}],onClose:c=>t.closeModal(r,c)}),null,16,["class","onClose"]))],8,dn)}),128))]),_:1})])}var mn=_(sn,[["render",_n],["__scopeId","data-v-2f4ee2c2"]]);const pn={cancelLabel:"Cancel",confirmLabel:"OK"},un=(t,o={})=>{let n=1;o=$($({},pn),o);const s=e.reactive({modals:[]}),i=(p,u)=>{var k;s.modals=s.modals.filter(({id:b})=>b!==p.id),p.resolve(u),(k=p.focusElement)==null||k.focus()},m=e.createApp({parent:t,data(){return s},render(){return e.h(mn,{modals:s.modals,onCloseModal:({modal:p,result:u})=>i(p,u)})}}),r=document.createElement("div");document.body.appendChild(r),m.mount(r);const l=(p,u)=>{var b;const k=document.activeElement;return(b=k.blur)==null||b.call(k),new Promise(S=>{s.modals.push({id:n++,component:p,props:u,resolve:S,focusElement:k})})},c=p=>l(ln,p),d=p=>{typeof p=="string"&&(p={message:p});const{title:u,message:k,confirmVariant:b,confirmLabel:S=o.confirmLabel,confirmIcon:I}=p;return c({title:u,message:k,buttons:[{variant:b||"primary",label:S||"",icon:I}]})},f=p=>{typeof p=="string"&&(p={message:p});const{title:u,message:k,cancelLabel:b=o.cancelLabel,cancelVariant:S,cancelIcon:I,confirmLabel:Sn=o.confirmLabel,confirmVariant:Cn,confirmIcon:Vn}=p;return c({title:u,message:k,buttons:[{variant:S,label:b||"",icon:I,value:!1},{variant:Cn||"primary",label:Sn||"",icon:Vn,value:!0}]})};t.config.globalProperties.$modal={open:l,dialog:c,alert:d,confirm:f}};function L(){var t;return(t=e.getCurrentInstance())==null?void 0:t.appContext.config.globalProperties.$modal}var mr="";const fn=e.defineComponent({components:{Icon:y},props:{messages:{type:Array,default:()=>[]}},emits:["remove-message"],computed:{messagesInReverse(){return[...this.messages].reverse()}}}),hn={class:"Snackbar"},kn=["onClick"];function gn(t,o,n,s,i,m){const r=e.resolveComponent("Icon");return e.openBlock(),e.createElementBlock("div",hn,[e.createVNode(e.TransitionGroup,{name:"Snackbar__transition"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.messagesInReverse,(l,c)=>(e.openBlock(),e.createElementBlock("div",{key:l.id,class:"Snackbar__message"},[e.createElementVNode("div",{class:"Snackbar__messageWrapper",style:e.normalizeStyle({transform:`translateY(-${100*c}%)`})},[e.createElementVNode("div",{class:e.normalizeClass(["Snackbar__messageBlock",`Snackbar__messageBlock--${l.type}`])},[e.createElementVNode("div",null,e.toDisplayString(l.text),1),e.createElementVNode("div",{class:"Snackbar__messageClose",onClick:d=>t.$emit("remove-message",l.id)},[e.createVNode(r,{class:"Snackbar__messageCloseIcon",name:"x"})],8,kn)],2)],4)]))),128))]),_:1})])}var bn=_(fn,[["render",gn],["__scopeId","data-v-272e7ab3"]]);const $n=1e4,yn=5,Bn=t=>{let o=1;const n=e.reactive({messages:[]}),s=l=>{n.messages=n.messages.filter(({id:c})=>c!==l)},i=e.createApp({parent:t,data(){return n},render(){return e.h(bn,{messages:this.messages,onRemoveMessage:s})}}),m=document.createElement("div");document.body.appendChild(m),i.mount(m);const r=(l,c="success",d=$n)=>{const f=o++;n.messages.push({text:l,type:c,id:f}),n.messages.length>yn&&n.messages.shift(),d>0&&setTimeout(()=>s(f),d)};t.config.globalProperties.$snackbar={success:l=>r(l,"success"),error:l=>r(l,"error",0)}};function A(){var t;return(t=e.getCurrentInstance())==null?void 0:t.appContext.config.globalProperties.$snackbar}function D(t,o={}){const n=A(),s=L(),i=h.useRouter(),m=e.ref(!1),r=e.ref(),l=e.ref(Object.freeze({})),c=async d=>{var f,p;if(!(o.confirm&&s&&!await s.confirm(typeof o.confirm=="function"?o.confirm(d):o.confirm))){if(o.validator){const u=await o.validator(d);if((f=o.onValidationResults)==null||f.call(o,u),!u||typeof u=="object"&&(l.value=(u==null?void 0:u.errors)||{},!(u!=null&&u.isValid)))return}m.value=!0;try{r.value=await t(d)}catch(u){if(o.errorMessage&&n&&n.error(typeof o.errorMessage=="function"?o.errorMessage(u,d):o.errorMessage||u.message),m.value=!1,o.onError&&o.onError({error:u,data:d,router:i,snackbar:n}))return;throw u}return m.value=!1,o.successMessage&&n&&n.success(typeof o.successMessage=="function"?o.successMessage(r.value,d):o.successMessage),(p=o.onSuccess)==null||p.call(o,{result:r.value,data:d,router:i,snackbar:n}),o.redirectOnSuccess&&i.push(typeof o.redirectOnSuccess=="function"?o.redirectOnSuccess(r.value,d):o.redirectOnSuccess),r.value}};return o.immediate&&e.onMounted(c),{submit:c,errors:l,result:r,isSubmitting:m}}const wn=(t,o={})=>{const{isSubmitting:n,submit:s,result:i}=D(t,{onSuccess:({router:m,data:r,result:l})=>{var c;return(c=o.onSuccess)==null?void 0:c.call(o,{data:l,params:r,router:m})},onError:({router:m,error:r,data:l})=>{var c;return(c=o.onError)==null?void 0:c.call(o,{error:r,params:l,router:m})},successMessage:o.successMessage,errorMessage:o.errorMessage,immediate:o.immediate});return{load:s,isLoading:n,data:i}};a.Breadcrumbs=Tt,a.Button=M,a.Checkbox=j,a.CheckboxGroup=to,a.Form=$o,a.FormFields=F,a.FormGroup=z,a.Icon=y,a.Input=Eo,a.ModalLayout=O,a.Radio=vo,a.Select=Wo,a.Table=Zo,a.Textarea=tn,a.modal=un,a.registerCustomIconResolver=zt,a.snackbar=Bn,a.useLoadData=wn,a.useModal=L,a.useSnackbar=A,a.useSubmitAction=D,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(m,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router"],e):(m=typeof globalThis<"u"?globalThis:m||self,e(m.vui={},m.Vue,m.VueRouter))})(this,function(m,e,y){"use strict";const Uo="",f=(t,o)=>{const r=t.__vccOpts||t;for(const[n,c]of o)r[n]=c;return r},F={},D={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},P=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M16 17l-4 4m0 0l-4-4m4 4V3"},null,-1)];function A(t,o){return e.openBlock(),e.createElementBlock("svg",D,P)}const T=Object.freeze(Object.defineProperty({__proto__:null,default:f(F,[["render",A]])},Symbol.toStringTag,{value:"Module"})),R={},G={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},q=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M7 16l-4-4m0 0l4-4m-4 4h18"},null,-1)];function x(t,o){return e.openBlock(),e.createElementBlock("svg",G,q)}const K=Object.freeze(Object.defineProperty({__proto__:null,default:f(R,[["render",x]])},Symbol.toStringTag,{value:"Module"})),U={},H={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},Q=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M17 8l4 4m0 0l-4 4m4-4H3"},null,-1)];function W(t,o){return e.openBlock(),e.createElementBlock("svg",H,Q)}const X=Object.freeze(Object.defineProperty({__proto__:null,default:f(U,[["render",W]])},Symbol.toStringTag,{value:"Module"})),Y={},J={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},Z=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M8 7l4-4m0 0l4 4m-4-4v18"},null,-1)];function v(t,o){return e.openBlock(),e.createElementBlock("svg",J,Z)}const ee=Object.freeze(Object.defineProperty({__proto__:null,default:f(Y,[["render",v]])},Symbol.toStringTag,{value:"Module"})),te={},oe={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},ne=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)];function re(t,o){return e.openBlock(),e.createElementBlock("svg",oe,ne)}const le=Object.freeze(Object.defineProperty({__proto__:null,default:f(te,[["render",re]])},Symbol.toStringTag,{value:"Module"})),se={},ae={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},ce=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M5 13l4 4L19 7"},null,-1)];function ie(t,o){return e.openBlock(),e.createElementBlock("svg",ae,ce)}const de=Object.freeze(Object.defineProperty({__proto__:null,default:f(se,[["render",ie]])},Symbol.toStringTag,{value:"Module"})),pe={},_e={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},me=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 19l-7-7 7-7"},null,-1)];function ue(t,o){return e.openBlock(),e.createElementBlock("svg",_e,me)}const fe=Object.freeze(Object.defineProperty({__proto__:null,default:f(pe,[["render",ue]])},Symbol.toStringTag,{value:"Module"})),he={},ke={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},be=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9 5l7 7-7 7"},null,-1)];function ge(t,o){return e.openBlock(),e.createElementBlock("svg",ke,be)}const $e=Object.freeze(Object.defineProperty({__proto__:null,default:f(he,[["render",ge]])},Symbol.toStringTag,{value:"Module"})),ye={},Be={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},we=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)];function Ce(t,o){return e.openBlock(),e.createElementBlock("svg",Be,we)}const Ve=Object.freeze(Object.defineProperty({__proto__:null,default:f(ye,[["render",Ce]])},Symbol.toStringTag,{value:"Module"})),Se={},Ee={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},Me=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"},null,-1)];function Ne(t,o){return e.openBlock(),e.createElementBlock("svg",Ee,Me)}const Ie=Object.freeze(Object.defineProperty({__proto__:null,default:f(Se,[["render",Ne]])},Symbol.toStringTag,{value:"Module"})),je={},Oe={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor"},Le=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19.5 12h-15"},null,-1)];function ze(t,o){return e.openBlock(),e.createElementBlock("svg",Oe,Le)}const Fe=Object.freeze(Object.defineProperty({__proto__:null,default:f(je,[["render",ze]])},Symbol.toStringTag,{value:"Module"})),De={},Pe={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},Ae=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 4v16m8-8H4"},null,-1)];function Te(t,o){return e.openBlock(),e.createElementBlock("svg",Pe,Ae)}const Re=Object.freeze(Object.defineProperty({__proto__:null,default:f(De,[["render",Te]])},Symbol.toStringTag,{value:"Module"})),Ge={},qe={fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},xe=[e.createElementVNode("path",{d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},null,-1)];function Ke(t,o){return e.openBlock(),e.createElementBlock("svg",qe,xe)}const Ue=Object.freeze(Object.defineProperty({__proto__:null,default:f(Ge,[["render",Ke]])},Symbol.toStringTag,{value:"Module"})),gn="",He={},Qe=t=>(e.pushScopeId("data-v-74889b0a"),t=t(),e.popScopeId(),t),We={class:"IconSpinner",fill:"none",stroke:"currentColor",viewBox:"0 0 25 25",xmlns:"http://www.w3.org/2000/svg"},Xe=[Qe(()=>e.createElementVNode("path",{d:"M23.5 12.5c0 6.1-4.9 11-11 11s-11-4.9-11-11 4.9-11 11-11","shape-rendering":"geometricPrecision",style:{"stroke-width":"2","stroke-miterlimit":"10",stroke:"currentColor",fill:"none"},"vector-effect":"non-scaling-stroke"},null,-1))];function Ye(t,o){return e.openBlock(),e.createElementBlock("svg",We,Xe)}const Je=Object.freeze(Object.defineProperty({__proto__:null,default:f(He,[["render",Ye],["__scopeId","data-v-74889b0a"]])},Symbol.toStringTag,{value:"Module"})),Ze={},ve={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},et=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"},null,-1)];function tt(t,o){return e.openBlock(),e.createElementBlock("svg",ve,et)}const ot=Object.freeze(Object.defineProperty({__proto__:null,default:f(Ze,[["render",tt]])},Symbol.toStringTag,{value:"Module"})),nt={},rt={"aria-hidden":"true",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},lt=[e.createElementVNode("path",{d:"M6 18L18 6M6 6l12 12","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},null,-1)];function st(t,o){return e.openBlock(),e.createElementBlock("svg",rt,lt)}const at=Object.freeze(Object.defineProperty({__proto__:null,default:f(nt,[["render",st]])},Symbol.toStringTag,{value:"Module"}));function ct(t,o){var r;return(r=Object.entries(t).map(([n,c])=>({path:n,source:c})).find(n=>n.path.endsWith(`/${o}`)))==null?void 0:r.source.default}let B;const it=Object.assign({"../icons/arrow-narrow-down.vue":T,"../icons/arrow-narrow-left.vue":K,"../icons/arrow-narrow-right.vue":X,"../icons/arrow-narrow-up.vue":ee,"../icons/check-circle.vue":le,"../icons/check.vue":de,"../icons/chevron-left.vue":fe,"../icons/chevron-right.vue":$e,"../icons/exclamation-circle.vue":Ve,"../icons/exclamation.vue":Ie,"../icons/minus.vue":Fe,"../icons/plus.vue":Re,"../icons/search.vue":Ue,"../icons/spinner.vue":Je,"../icons/trash.vue":ot,"../icons/x.vue":at});function dt(t){B=t}function pt(t){let o;return B&&(o=B(t)),o||(o=ct(it,`${t}.vue`)),o}const Sn="",k=f(e.defineComponent({__name:"Icon",props:{name:null},setup(t){const o=t,r=e.shallowRef(void 0);return e.watch(()=>o.name,()=>r.value=pt(o.name),{immediate:!0}),(n,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(r)),{class:"Icon"}))}}),[["__scopeId","data-v-6151c333"]]),Mn="",_t={class:"Breadcrumbs"},mt=f(e.defineComponent({__name:"Breadcrumbs",props:{breadcrumbs:{default:()=>({})}},setup(t){return(o,r)=>{const n=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("div",_t,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.breadcrumbs,(c,i,l)=>(e.openBlock(),e.createElementBlock("div",{key:l,class:"Breadcrumbs__breadcrumb"},[e.createVNode(n,{to:c,class:"Breadcrumbs__link"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i),1)]),_:2},1032,["to"]),e.createVNode(k,{name:"chevron-right",class:"Breadcrumbs__arrow"})]))),128))])}}}),[["__scopeId","data-v-36e0aab2"]]),In="",ut={key:1},w=e.defineComponent({__name:"Button",props:{size:null,variant:null,prefixIcon:null,suffixIcon:null,label:null,block:{type:Boolean},loading:{type:Boolean},active:{type:Boolean}},setup(t){const o=e.useAttrs(),r=e.computed(()=>o.to?"router-link":o.href?"a":"button");return(n,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(r)),e.mergeProps({class:["Button vuiii-button",{[`vuiii-button--${n.$props.variant}`]:n.$props.variant,[`vuiii-button--${n.$props.size}`]:n.$props.size,"vuiii-button--disabled":n.$props.loading||n.$attrs.disabled,"vuiii-button--loading":n.$props.loading,"vuiii-button--active":n.$props.active,"vuiii-button--block":n.$props.block}]},n.$attrs,{type:n.$attrs.type||(e.unref(r)==="button"?"button":void 0)}),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"prefix",{},()=>[n.$props.prefixIcon&&!n.$props.loading?(e.openBlock(),e.createBlock(k,{key:0,class:"vuiii-button__icon vuiii-button__icon--prefix",name:n.$props.prefixIcon},null,8,["name"])):e.createCommentVNode("",!0)]),n.$props.loading?(e.openBlock(),e.createBlock(k,{key:0,class:"vuiii-button__icon vuiii-button__icon--prefix",name:"spinner"})):e.createCommentVNode("",!0),n.$slots.default||n.$props.label?(e.openBlock(),e.createElementBlock("span",ut,[e.renderSlot(n.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(n.$props.label),1)])])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"suffix",{},()=>[n.$props.suffixIcon?(e.openBlock(),e.createBlock(k,{key:0,class:"vuiii-button__icon vuiii-button__icon--suffix",name:n.$props.suffixIcon},null,8,["name"])):e.createCommentVNode("",!0)])]),_:3},16,["class","type"]))}}),jn="",ft=t=>t.target.getAttribute("type")==="number"?t.target.valueAsNumber:t.target.getAttribute("type")==="checkbox"?t.target.checked:t.target.value,ht=e.defineComponent({emits:["update:modelValue"],computed:{normalizedAttrs(){const{class:t,...o}=this.$attrs;return{...o,onInput:r=>this.$emit("update:modelValue",ft(r))}}}}),On="",kt=e.defineComponent({mixins:[ht],inheritAttrs:!1,props:{modelValue:Boolean,required:Boolean,switch:Boolean,caption:{type:String,default:""}}}),bt=t=>(e.pushScopeId("data-v-18ef5cd1"),t=t(),e.popScopeId(),t),gt=["checked","required"],$t=[bt(()=>e.createElementVNode("div",{class:"Checkbox__switchDot"},null,-1))],yt={key:1,class:"Checkbox__label"},Bt={key:0,class:"Checkbox__required"};function wt(t,o,r,n,c,i){return e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(["Checkbox",[t.$attrs.class,{"Checkbox--disabled":t.$attrs.disabled}]])},[e.withDirectives(e.createElementVNode("input",e.mergeProps(t.normalizedAttrs,{checked:t.modelValue,class:"Checkbox__input vuiii-input",required:t.required,type:"checkbox"}),null,16,gt),[[e.vShow,!t.$props.switch]]),t.$props.switch?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["Checkbox__switch",{"Checkbox__switch--active":t.modelValue}])},$t,2)):e.createCommentVNode("",!0),t.$slots.default||t.caption?(e.openBlock(),e.createElementBlock("div",yt,[t.required?(e.openBlock(),e.createElementBlock("span",Bt,"*")):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.caption),1)],!0)])):e.createCommentVNode("",!0)],2)}const E=f(kt,[["render",wt],["__scopeId","data-v-18ef5cd1"]]);function $(t,o){return typeof o=="function"?o(t):o?t[o]:t}function Ct(t,o={}){return{value:$(t,o.value),label:$(t,o.label),disabled:o.disabled&&$(t,o.disabled),description:o.description&&$(t,o.description),data:t}}function C(t,o={}){return Array.isArray(t)?t.map(r=>Ct(r,o)):typeof t=="object"&&t!==null?Object.entries(t||{}).reduce((r,[n,c])=>r.concat({value:n,label:c,data:n}),[]):[]}const zn="",Vt=e.defineComponent({components:{Checkbox:E},props:{modelValue:{type:Array,default:()=>[]},options:{type:[Array,Object],required:!0},optionLabelKey:{type:[Function,String,Number],default:void 0},optionValueKey:{type:[Function,String,Number],default:void 0},optionDisabledKey:{type:[Function,String,Number],default:void 0}},emits:["update:modelValue"],computed:{normalizedOptions(){return C(this.options,{value:this.optionValueKey,label:this.optionLabelKey,disabled:this.optionDisabledKey})},checkedValues(){return this.modelValue.reduce((t,o)=>({...t,[o]:!0}),{})}},methods:{toggleCheckedValue(t){const o={...this.checkedValues,[t]:!this.checkedValues[t]},r=Object.entries(o).filter(([n,c])=>c).map(([n])=>n);this.$emit("update:modelValue",r)}}}),St={class:"CheckboxGroup"};function Et(t,o,r,n,c,i){const l=e.resolveComponent("Checkbox");return e.openBlock(),e.createElementBlock("div",St,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.normalizedOptions,s=>(e.openBlock(),e.createElementBlock("div",{key:s.value},[e.createVNode(l,{disabled:s.disabled,"model-value":t.checkedValues[s.value],caption:s.label,"onUpdate:modelValue":a=>t.toggleCheckedValue(s.value)},null,8,["disabled","model-value","caption","onUpdate:modelValue"])]))),128))])}const Mt=f(Vt,[["render",Et],["__scopeId","data-v-b33477ce"]]),Fn="",Nt={key:0,class:"FormGroup__header"},It=["for"],jt={key:0,class:"FormGroup__required"},Ot={key:1,class:"FormGroup__description"},Lt={key:2,class:"FormGroup__hint"},zt={key:3,class:"FormGroup__error"},M=f(e.defineComponent({__name:"FormGroup",props:{label:null,for:null,required:{type:Boolean},error:{type:[String,Boolean]},description:null,hint:null},setup(t){return(o,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["FormGroup",{"FormGroup--invalid":o.$props.error}])},[o.$props.label?(e.openBlock(),e.createElementBlock("div",Nt,[e.createElementVNode("label",{class:"FormGroup__label",for:o.$props.for},e.toDisplayString(o.$props.label),9,It),o.$props.required?(e.openBlock(),e.createElementBlock("div",jt,"*")):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),o.$slots.description||o.$props.description?(e.openBlock(),e.createElementBlock("div",Ot,[e.renderSlot(o.$slots,"description",{},()=>[e.createTextVNode(e.toDisplayString(o.$props.description),1)],!0)])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default",{},void 0,!0),o.$slots.hint||o.$props.hint?(e.openBlock(),e.createElementBlock("div",Lt,[e.renderSlot(o.$slots,"hint",{},()=>[e.createTextVNode(e.toDisplayString(o.$props.hint),1)],!0)])):e.createCommentVNode("",!0),o.$props.error&&typeof o.$props.error=="string"?(e.openBlock(),e.createElementBlock("div",zt,e.toDisplayString(o.$props.error),1)):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-3281da9f"]]),Pn="",Ft=e.defineComponent({components:{FormGroup:M},props:{fields:{type:Object,default:()=>({})},modelValue:{type:Object,default:()=>({})},errors:{type:Object,default:()=>({})}},emits:["update:modelValue"],methods:{getFieldValue(t){var r;return(((r=this.fields[t].value)==null?void 0:r.getter)||(n=>n[t]))(this.modelValue)},setFieldValue(t,o){var c;const n=(((c=this.fields[t].value)==null?void 0:c.setter)||((i,l)=>({...l,[t]:i})))(o,this.modelValue);this.$emit("update:modelValue",n)}}}),Dt={class:"FormFields"};function Pt(t,o,r,n,c,i){const l=e.resolveComponent("FormGroup");return e.openBlock(),e.createElementBlock("div",Dt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,(s,a)=>{var p;return e.openBlock(),e.createBlock(l,{key:a,label:s.label,description:s.description,hint:s.hint,required:s.required,error:(p=t.errors)==null?void 0:p[a]},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.component),e.mergeProps({"model-value":t.getFieldValue(String(a))},s.props,{"onUpdate:modelValue":_=>t.setFieldValue(String(a),_)}),null,16,["model-value","onUpdate:modelValue"]))]),_:2},1032,["label","description","hint","required","error"])}),128))])}const N=f(Ft,[["render",Pt],["__scopeId","data-v-e0fd8fc8"]]),An="",At=e.defineComponent({components:{Button:w,FormFields:N,Icon:k},props:{structure:{type:Object,default:()=>({})},modelValue:{type:Object,default:()=>{}},errors:{type:Object,default:()=>({})},submit:{type:Function,default:void 0},submitLabel:{type:String,default:"Submit"},cancel:{type:[Function,Object],default:void 0},cancelLabel:{type:String,default:"Cancel"},submitting:Boolean},emits:["update:modelValue","change","submit","cancel"],methods:{handleSubmit(){var t;(t=this.submit)==null||t.call(this,this.modelValue)},handleCancel(){var t;typeof this.cancel=="function"?(t=this.cancel)==null||t.call(this):this.cancel&&this.$router.push(this.cancel)}}}),Tt={class:"Form"},Rt=["disabled"],Gt={key:0,class:"Form__title"},qt={key:0,class:"Form__buttons"};function xt(t,o,r,n,c,i){const l=e.resolveComponent("FormFields"),s=e.resolveComponent("Button"),a=e.resolveComponent("Icon");return e.openBlock(),e.createElementBlock("div",Tt,[t.modelValue?(e.openBlock(),e.createElementBlock("form",{key:0,disabled:t.submitting,onSubmit:o[3]||(o[3]=e.withModifiers(p=>{var _;return(_=t.handleSubmit)==null?void 0:_.call(t)},["prevent"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.structure,(p,_)=>(e.openBlock(),e.createElementBlock("div",{key:_},[p.title?(e.openBlock(),e.createElementBlock("div",Gt,e.toDisplayString(p.title),1)):e.createCommentVNode("",!0),e.createVNode(l,{fields:p.fields,"model-value":t.modelValue,errors:t.errors,"onUpdate:modelValue":o[0]||(o[0]=d=>t.$emit("update:modelValue",d)),onChange:o[1]||(o[1]=d=>t.$emit("change",d))},null,8,["fields","model-value","errors"])]))),128)),e.renderSlot(t.$slots,"buttons",e.normalizeProps(e.guardReactiveProps({cancel:t.cancel,submit:t.submit})),()=>[t.submit||t.cancel?(e.openBlock(),e.createElementBlock("div",qt,[t.submit?(e.openBlock(),e.createBlock(s,{key:0,variant:"primary",type:"submit",label:t.submitLabel,disabled:t.submitting,"prefix-icon":t.submitting?"spinner":void 0},null,8,["label","disabled","prefix-icon"])):e.createCommentVNode("",!0),t.cancel?(e.openBlock(),e.createBlock(s,{key:1,label:t.cancelLabel,disabled:t.submitting,onClick:o[2]||(o[2]=p=>t.handleCancel())},null,8,["label","disabled"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],!0)],40,Rt)):(e.openBlock(),e.createBlock(a,{key:1,name:"spinner"}))])}const Kt=f(At,[["render",xt],["__scopeId","data-v-4a2acd7e"]]),Tn="",Ut=["aria-label","type","value"],Ht={inheritAttrs:!1},Qt=e.defineComponent({...Ht,__name:"Input",props:{modelValue:null,prefixIcon:null,suffixIcon:null,size:null,invalid:{type:Boolean}},emits:["update:modelValue","prefix-click","suffix-click"],setup(t){const o=t,r=e.useAttrs(),n=e.useSlots(),c=e.ref(),i=e.computed(()=>Boolean(n.prefix||o.prefixIcon)),l=e.computed(()=>Boolean(n.suffix||o.suffixIcon)),s=e.computed(()=>Boolean(r.onPrefixIconClick)),a=e.computed(()=>Boolean(r.onSuffixIconClick)),p=_=>{const d=_.target;return r.type==="number"?d.valueAsNumber:r.type==="date"?d.valueAsDate:d.value};return(_,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["Input vuiii-input",{"vuiii-input--invalid":_.$props.invalid,"vuiii-input--disabled":_.$attrs.disabled,[`vuiii-input--${_.$props.size}`]:_.$props.size}]),onClick:d[3]||(d[3]=u=>c.value.focus())},[e.unref(i)?e.renderSlot(_.$slots,"prefix",{key:0},()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(s)?"button":"div"),{class:e.normalizeClass(["Input__prefix",{"Input__prefix--clickable":e.unref(s)}]),tabindex:"-1",onClick:d[0]||(d[0]=e.withModifiers(u=>_.$emit("prefix-click"),["prevent"]))},{default:e.withCtx(()=>[e.createVNode(k,{class:"Input__icon",name:_.$props.prefixIcon||""},null,8,["name"])]),_:1},8,["class"]))]):e.createCommentVNode("",!0),e.createElementVNode("input",e.mergeProps({ref_key:"input",ref:c,"aria-label":_.$attrs.placeholder||"input"},_.$attrs,{class:["vuiii-input__nested Input__input",{"Input__input--withPrefixIcon":_.$props.prefixIcon,"Input__input--withSuffixIcon":_.$props.suffixIcon}],type:_.$attrs.type||"text",value:_.$props.modelValue,onInput:d[1]||(d[1]=u=>_.$emit("update:modelValue",p(u)))}),null,16,Ut),e.unref(l)?e.renderSlot(_.$slots,"suffix",{key:1},()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(a)?"button":"div"),{class:e.normalizeClass(["Input__suffix",{"Input__suffix--clickable":e.unref(a)}]),tabindex:"-1",onClick:d[2]||(d[2]=e.withModifiers(u=>_.$emit("suffix-click"),["prevent"]))},{default:e.withCtx(()=>[e.createVNode(k,{class:"Input__icon",name:_.$props.suffixIcon||""},null,8,["name"])]),_:1},8,["class"]))]):e.createCommentVNode("",!0)],2))}}),Rn="",Wt=e.defineComponent({components:{Icon:k},props:{title:{type:String,default:""},width:{type:[Number,String],default:600},hideCloser:Boolean,scroll:Boolean,plain:Boolean},computed:{hasHeader(){return Boolean(this.$slots.header||this.title)},hasFooter(){return Boolean(this.$slots.footer)},computedStyle(){const t=this.width+(Number(this.width)?"px":"");return t&&t!=="auto"?{width:"100%",maxWidth:t}:{}}},methods:{close(){window.dispatchEvent(new KeyboardEvent("keydown",{key:"Escape"}))}}}),Xt={key:1,class:"ModalLayout__header"},Yt={class:"ModalLayout__title"},Jt={class:"ModalLayout__body"},Zt={key:2,class:"ModalLayout__footer"};function vt(t,o,r,n,c,i){const l=e.resolveComponent("Icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["ModalLayout",{hasHeader:t.hasHeader,hasFooter:t.hasFooter,isScrollable:t.scroll,isPlain:t.plain}]),style:e.normalizeStyle(t.computedStyle)},[t.hideCloser?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:"ModalLayout__close",onClick:o[0]||(o[0]=s=>t.close())},[e.createVNode(l,{name:"x",class:"ModalLayout__closeIcon"})])),t.hasHeader?(e.openBlock(),e.createElementBlock("div",Xt,[e.renderSlot(t.$slots,"header",{},()=>[e.createElementVNode("div",Yt,e.toDisplayString(t.title),1)],!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",Jt,[e.renderSlot(t.$slots,"default",{},void 0,!0)]),t.hasFooter?(e.openBlock(),e.createElementBlock("div",Zt,[e.renderSlot(t.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],6)}const I=f(Wt,[["render",vt],["__scopeId","data-v-386279ac"]]);let eo=1;function to(){return eo++}const Gn="",oo={class:"Radio"},no=["value","checked","disabled","onInput"],ro={class:"Radio__label"},lo={inheritAttrs:!1},so=e.defineComponent({...lo,__name:"Radio",props:{modelValue:null,options:null,optionLabel:null,optionValue:null,optionDisabled:null},emits:["update:modelValue"],setup(t){const o=t,r="Radio-input-"+to(),n=e.computed(()=>C(o.options,{value:o.optionValue,label:o.optionLabel,disabled:o.optionDisabled}));return(c,i)=>(e.openBlock(),e.createElementBlock("div",oo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n),l=>(e.openBlock(),e.createElementBlock("label",{key:l.value,class:e.normalizeClass(["Radio__option",{"Radio--disabled":l.disabled}])},[e.createElementVNode("input",e.mergeProps(c.$attrs,{value:l.value,checked:c.$props.modelValue===l.value,class:"Radio__input vuiii-input",type:"radio",name:r,disabled:l.disabled,onInput:s=>c.$emit("update:modelValue",l.value)}),null,16,no),e.createElementVNode("div",ro,[e.renderSlot(c.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(l.label),1)],!0)])],2))),128))]))}}),ao=f(so,[["__scopeId","data-v-fc28702a"]]),co=["value"],io=["disabled"],po=["disabled","value"],_o=e.defineComponent({__name:"Select",props:{value:null,options:null,optionLabel:{default:void 0},optionValue:{default:void 0},optionDisabled:{default:void 0},placeholder:{default:void 0},size:{default:"normal"},allowEmpty:{type:Boolean}},setup(t){const o=t,r=e.computed(()=>C(o.options,{value:o.optionValue,label:o.optionLabel,disabled:o.optionDisabled}));return(n,c)=>(e.openBlock(),e.createElementBlock("select",{class:e.normalizeClass(["Select vuiii-input",{[`vuiii-input--${n.$props.size}`]:n.$props.size}]),value:n.$props.value},[n.$props.placeholder?(e.openBlock(),e.createElementBlock("option",{key:0,disabled:!n.$props.allowEmpty,selected:"",value:void 0},e.toDisplayString(n.$props.placeholder),9,io)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),i=>(e.openBlock(),e.createElementBlock("option",{key:i.value,disabled:i.disabled,value:i.value},e.toDisplayString(i.label),9,po))),128))],10,co))}}),qn="",xn="",mo={class:"vuiii-table vuiii-table--hover"},uo=["width"],fo=e.defineComponent({__name:"Table",props:{items:null,columns:null,rowClass:null},setup(t){const o=t,r=e.computed(()=>Object.entries(o.columns).reduce((i,[l,s])=>({...i,[l]:typeof s=="string"?{label:s}:s}),{})),n=(i,l)=>{const s=r.value[l],a=typeof s.value=="function"?s.value(i):i[l];return s.format?s.format(a):a},c=i=>typeof o.rowClass=="function"?o.rowClass(i):o.rowClass;return(i,l)=>{const s=e.resolveComponent("router-link");return e.openBlock(),e.createElementBlock("table",mo,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),(a,p)=>(e.openBlock(),e.createElementBlock("th",{key:p,style:e.normalizeStyle({textAlign:a.align||"left"}),width:a.width},e.toDisplayString(a.label),13,uo))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(a,p)=>(e.openBlock(),e.createElementBlock("tr",{key:p,class:e.normalizeClass(c(a))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),(_,d)=>(e.openBlock(),e.createElementBlock("td",{key:d,style:e.normalizeStyle({textAlign:_.align||"left"})},[e.renderSlot(i.$slots,d,e.normalizeProps(e.guardReactiveProps({item:a})),()=>[_.href?(e.openBlock(),e.createBlock(s,{key:0,class:"vuiii-link",to:_.href(a)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n(a,d)),1)]),_:2},1032,["to"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(n(a,d)),1)],64))])],4))),128))],2))),128))])])}}}),ho=["value"],ko=e.defineComponent({__name:"Textarea",props:{modelValue:null,size:null},emits:["update:modelValue"],setup(t){return(o,r)=>(e.openBlock(),e.createElementBlock("textarea",e.mergeProps(o.$attrs,{class:["Textarea vuiii-input",{[`vuiii-input--${o.$props.size}`]:o.$props.size}],value:o.$props.modelValue,onInput:r[0]||(r[0]=n=>o.$emit("update:modelValue",n.target.value))}),null,16,ho))}}),Kn="",bo=e.defineComponent({components:{ModalLayout:I,Button:w},props:{title:{type:String,default:""},message:{type:String,default:""},buttons:{type:Array,default:()=>[]}},emits:["close"]}),go={class:"ModalLayoutDialog__buttons"};function $o(t,o,r,n,c,i){var a;const l=e.resolveComponent("Button"),s=e.resolveComponent("ModalLayout");return e.openBlock(),e.createBlock(s,{class:"ModalLayoutDialog",width:"480",title:t.title},e.createSlots({default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["ModalLayoutDialog__message",{"ModalLayoutDialog__message--offset":!t.title}])},e.toDisplayString(t.message),3)]),_:2},[(a=t.buttons)!=null&&a.length?{name:"footer",fn:e.withCtx(()=>[e.createElementVNode("div",go,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.buttons,(p,_)=>(e.openBlock(),e.createElementBlock("span",{key:_,class:"ModalLayoutDialog__buttonWrapper"},[e.createVNode(l,{type:"button",variant:p.variant,"prefix-icon":p.icon,autofocus:"",onClick:d=>t.$emit("close",p.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.label),1)]),_:2},1032,["variant","prefix-icon","onClick"])]))),128))])]),key:"0"}:void 0]),1032,["title"])}const yo=f(bo,[["render",$o],["__scopeId","data-v-612c6cb9"]]),Un="",Bo=e.defineComponent({props:{modals:{type:Array,default:()=>[]}},emits:["closeModal"],data(){return{modalInstances:{},registerReference(t){return o=>this.modalInstances[t]=o}}},computed:{activeModal(){return this.modals.length?this.modals[this.modals.length-1]:null}},mounted(){window.addEventListener("keydown",this.closeActiveModalByEscapeKey)},beforeUnmount(){window.removeEventListener("keydown",this.closeActiveModalByEscapeKey)},methods:{closeModal(t,o){var c;const r=()=>{this.$emit("closeModal",{modal:t,result:o})},n=this.modalInstances[t.id].$el;(c=n.$attrs)!=null&&c.onBeforeClose?n.$attrs.onBeforeClose(r):r()},closeActiveModal(){this.activeModal&&this.closeModal(this.activeModal)},closeActiveModalByEscapeKey(t){this.activeModal&&t.key==="Escape"&&!t.defaultPrevented&&(t.preventDefault(),this.closeActiveModal())},closeModalByBackdropClick(t,o){t.target===t.currentTarget&&this.closeModal(o)}}}),wo={class:"ModalStack"},Co={key:0,class:"ModalStack__backdrop"},Vo=["onClick"];function So(t,o,r,n,c,i){return e.openBlock(),e.createElementBlock("div",wo,[e.createVNode(e.Transition,{name:"ModalStack__backdrop"},{default:e.withCtx(()=>[t.modals.length?(e.openBlock(),e.createElementBlock("div",Co)):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.TransitionGroup,{name:"ModalStack__modal"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.modals,l=>{var s;return e.openBlock(),e.createElementBlock("div",{key:l.id,class:"ModalStack__modalWrapper",onClick:a=>t.closeModalByBackdropClick(a,l)},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.component),e.mergeProps(l.props,{ref_for:!0,ref:t.registerReference(l.id),class:["ModalStack__modal",{isActive:((s=t.activeModal)==null?void 0:s.id)===l.id}],onClose:a=>t.closeModal(l,a)}),null,16,["class","onClose"]))],8,Vo)}),128))]),_:1})])}const Eo=f(Bo,[["render",So],["__scopeId","data-v-2f4ee2c2"]]),Mo={cancelLabel:"Cancel",confirmLabel:"OK"},No=(t,o={})=>{let r=1;o={...Mo,...o};const n=e.reactive({modals:[]}),c=(d,u)=>{var h;n.modals=n.modals.filter(({id:b})=>b!==d.id),d.resolve(u),(h=d.focusElement)==null||h.focus()},i=e.createApp({parent:t,data(){return n},render(){return e.h(Eo,{modals:n.modals,onCloseModal:({modal:d,result:u})=>c(d,u)})}}),l=document.createElement("div");document.body.appendChild(l),i.mount(l);const s=(d,u)=>{var b;const h=document.activeElement;return(b=h.blur)==null||b.call(h),new Promise(g=>{n.modals.push({id:r++,component:d,props:u,resolve:g,focusElement:h})})},a=d=>s(yo,d),p=d=>{typeof d=="string"&&(d={message:d});const{title:u,message:h,confirmVariant:b,confirmLabel:g=o.confirmLabel,confirmIcon:S}=d;return a({title:u,message:h,buttons:[{variant:b||"primary",label:g||"",icon:S}]})},_=d=>{typeof d=="string"&&(d={message:d});const{title:u,message:h,cancelLabel:b=o.cancelLabel,cancelVariant:g,cancelIcon:S,confirmLabel:qo=o.confirmLabel,confirmVariant:xo,confirmIcon:Ko}=d;return a({title:u,message:h,buttons:[{variant:g,label:b||"",icon:S,value:!1},{variant:xo||"primary",label:qo||"",icon:Ko,value:!0}]})};t.config.globalProperties.$modal={open:s,dialog:a,alert:p,confirm:_}};function j(){var t;return(t=e.getCurrentInstance())==null?void 0:t.appContext.config.globalProperties.$modal}const Hn="",Io=e.defineComponent({components:{Icon:k},props:{messages:{type:Array,default:()=>[]}},emits:["remove-message"],computed:{messagesInReverse(){return[...this.messages].reverse()}}}),jo={class:"Snackbar"},Oo=["onClick"];function Lo(t,o,r,n,c,i){const l=e.resolveComponent("Icon");return e.openBlock(),e.createElementBlock("div",jo,[e.createVNode(e.TransitionGroup,{name:"Snackbar__transition"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.messagesInReverse,(s,a)=>(e.openBlock(),e.createElementBlock("div",{key:s.id,class:"Snackbar__message"},[e.createElementVNode("div",{class:"Snackbar__messageWrapper",style:e.normalizeStyle({transform:`translateY(-${100*a}%)`})},[e.createElementVNode("div",{class:e.normalizeClass(["Snackbar__messageBlock",`Snackbar__messageBlock--${s.type}`])},[e.createElementVNode("div",null,e.toDisplayString(s.text),1),e.createElementVNode("div",{class:"Snackbar__messageClose",onClick:p=>t.$emit("remove-message",s.id)},[e.createVNode(l,{class:"Snackbar__messageCloseIcon",name:"x"})],8,Oo)],2)],4)]))),128))]),_:1})])}const zo=f(Io,[["render",Lo],["__scopeId","data-v-272e7ab3"]]),Fo=1e4,Do=5,Po=t=>{let o=1;const r=e.reactive({messages:[]}),n=s=>{r.messages=r.messages.filter(({id:a})=>a!==s)},c=e.createApp({parent:t,data(){return r},render(){return e.h(zo,{messages:this.messages,onRemoveMessage:n})}}),i=document.createElement("div");document.body.appendChild(i),c.mount(i);const l=(s,a="success",p=Fo)=>{const _=o++;r.messages.push({text:s,type:a,id:_}),r.messages.length>Do&&r.messages.shift(),p>0&&setTimeout(()=>n(_),p)};t.config.globalProperties.$snackbar={success:s=>l(s,"success"),error:s=>l(s,"error",0)}};function O(){var t;return(t=e.getCurrentInstance())==null?void 0:t.appContext.config.globalProperties.$snackbar}class V extends Error{}function L(t,o={}){const r=O(),n=j(),c=y.useRouter(),i=e.ref(!1),l=e.ref(),s=e.ref(Object.freeze({})),a=async p=>{var _,d;if(!(o.confirm&&n&&!await n.confirm(typeof o.confirm=="function"?o.confirm(p):o.confirm))){try{if(i.value=!0,o.validator){const u=await o.validator(p);if((_=o.onValidationResults)==null||_.call(o,u),!u)throw new V;if(typeof u=="object"&&(s.value=(u==null?void 0:u.errors)||{},!(u!=null&&u.isValid)))throw new V}l.value=await t(p)}catch(u){if(o.errorMessage&&r&&r.error(typeof o.errorMessage=="function"?o.errorMessage(u,p):o.errorMessage||u.message),i.value=!1,o.onError&&o.onError({error:u,data:p,router:c,snackbar:r}))return;throw u}return i.value=!1,o.successMessage&&r&&r.success(typeof o.successMessage=="function"?o.successMessage(l.value,p):o.successMessage),(d=o.onSuccess)==null||d.call(o,{result:l.value,data:p,router:c,snackbar:r}),o.redirectOnSuccess&&c.push(typeof o.redirectOnSuccess=="function"?o.redirectOnSuccess(l.value,p):o.redirectOnSuccess),l.value}};return o.immediate&&e.onMounted(a),{submit:a,errors:s,result:l,isSubmitting:i}}const Ao=(t,o={})=>{const{isSubmitting:r,submit:n,result:c}=L(t,{onSuccess:({router:i,data:l,result:s})=>{var a;return(a=o.onSuccess)==null?void 0:a.call(o,{data:s,params:l,router:i})},onError:({router:i,error:l,data:s})=>{var a;return(a=o.onError)==null?void 0:a.call(o,{error:l,params:s,router:i})},successMessage:o.successMessage,errorMessage:o.errorMessage,immediate:o.immediate});return{load:n,isLoading:r,data:c}};function To(t,o){const r=n=>{var c;(c=t.value)!=null&&c.contains(n.target)||o()};window.addEventListener("mousedown",r),e.onUnmounted(()=>{window.removeEventListener("mousedown",r)})}function Ro(t,o){const r=n=>{n.key===t&&o(n)};e.onMounted(()=>{window.addEventListener("keydown",r)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",r)})}function z(t,o={}){const r=y.useRoute(),n=y.useRouter(),c=e.computed(()=>{var s;let l=r.query;return(s=o.filter)!=null&&s.length&&(l=Object.fromEntries(Object.entries(l).filter(([a])=>{var p;return(p=o.filter)==null?void 0:p.includes(a)}))),o.parse&&(l=Object.fromEntries(Object.entries(l).map(([a,p])=>{var _;return[a,(_=o.parse)!=null&&_[a]?o.parse[a](p):p]}))),l}),i=l=>(o.serialize&&(l=Object.fromEntries(Object.entries(l).map(([s,a])=>{var p;return[s,(p=o.serialize)!=null&&p[s]?o.serialize[s](a):a]}))),n.push({query:l}));return e.watch(c,()=>t(c.value),{immediate:o.immediate}),{params:c,setQuery:i}}function Go(t,o={}){const{params:r,setQuery:n}=z(l=>t(l.page),{filter:["page"],parse:{page:l=>Number(l)||1},immediate:o.immediate});return{page:e.computed(()=>r.value.page),setPage:l=>n({page:String(l)})}}m.Breadcrumbs=mt,m.Button=w,m.Checkbox=E,m.CheckboxGroup=Mt,m.Form=Kt,m.FormFields=N,m.FormGroup=M,m.Icon=k,m.Input=Qt,m.ModalLayout=I,m.Radio=ao,m.Select=_o,m.Table=fo,m.Textarea=ko,m.ValidationError=V,m.modal=No,m.registerCustomIconResolver=dt,m.snackbar=Po,m.useLoadData=Ao,m.useModal=j,m.useOnClickOutside=To,m.useOnKeyPress=Ro,m.usePageFromRouteQuery=Go,m.useRouteQuery=z,m.useSnackbar=O,m.useSubmitAction=L,Object.defineProperties(m,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json CHANGED
@@ -1,19 +1,21 @@
1
1
  {
2
2
  "name": "vuiii",
3
- "version": "1.0.0-beta.5",
3
+ "version": "1.0.0-beta.7",
4
4
  "scripts": {
5
5
  "dev": "vite",
6
6
  "build": "vite build && vue-tsc --emitDeclarationOnly --declaration",
7
- "preview": "vite preview"
7
+ "preview": "vite preview",
8
+ "storybook": "start-storybook -p 6006",
9
+ "build-storybook": "build-storybook"
8
10
  },
9
11
  "files": [
10
12
  "dist"
11
13
  ],
12
14
  "main": "./dist/vuiii.umd.js",
13
- "module": "./dist/vuiii.es.js",
15
+ "module": "./dist/vuiii.mjs",
14
16
  "exports": {
15
17
  ".": {
16
- "import": "./dist/vuiii.es.js",
18
+ "import": "./dist/vuiii.mjs",
17
19
  "require": "./dist/vuiii.umd.js"
18
20
  },
19
21
  "./style.css": "./dist/style.css"
@@ -23,24 +25,35 @@
23
25
  "types": "./dist/index.d.ts",
24
26
  "dependencies": {},
25
27
  "devDependencies": {
28
+ "@babel/core": "^7.20.2",
26
29
  "@babel/runtime": "^7.18.3",
30
+ "@storybook/addon-actions": "^6.5.13",
31
+ "@storybook/addon-essentials": "^6.5.13",
32
+ "@storybook/addon-interactions": "^6.5.13",
33
+ "@storybook/addon-links": "^6.5.13",
34
+ "@storybook/builder-vite": "^0.2.5",
35
+ "@storybook/testing-library": "^0.0.13",
36
+ "@storybook/vue3": "^6.5.13",
27
37
  "@types/node": "^17.0.35",
28
38
  "@typescript-eslint/parser": "^5.25.0",
29
39
  "@vitejs/plugin-vue": "^2.3.3",
30
40
  "autoprefixer": "^10.4.7",
41
+ "babel-loader": "^8.3.0",
31
42
  "eslint": "^8.16.0",
32
43
  "eslint-config-prettier": "^8.5.0",
33
44
  "eslint-plugin-prettier": "^4.0.0",
34
45
  "eslint-plugin-simple-import-sort": "^7.0.0",
46
+ "eslint-plugin-storybook": "^0.6.7",
35
47
  "eslint-plugin-vue": "^9.0.1",
36
48
  "postcss": "^8.4.14",
37
49
  "postcss-import": "^14.1.0",
38
50
  "postcss-nesting": "^10.1.7",
39
51
  "prettier": "^2.6.2",
40
52
  "typescript": "^4.5.4",
41
- "vite": "^2.9.9",
42
- "vue": "^3.2.36",
43
- "vue-router": "^4.0.15",
44
- "vue-tsc": "^0.34.16"
53
+ "vite": "^3.2.3",
54
+ "vue": "^3.2.44",
55
+ "vue-loader": "^16.8.3",
56
+ "vue-router": "^4.1.6",
57
+ "vue-tsc": "^1.0.9"
45
58
  }
46
59
  }