@volverjs/ui-vue 0.0.10-beta.53 → 0.0.10-beta.54
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/components/VvCheckboxGroup/VvCheckboxGroup.es.js +13 -1
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +9 -0
- package/dist/components/VvCheckboxGroup/index.d.ts +4 -0
- package/dist/components/VvInputFile/VvInputFile.es.js +17 -3
- package/dist/components/VvInputFile/VvInputFile.umd.js +1 -1
- package/dist/components/VvInputFile/VvInputFile.vue.d.ts +9 -0
- package/dist/components/VvInputFile/index.d.ts +4 -0
- package/dist/components/VvInputText/VvInputText.es.js +1 -1
- package/dist/components/VvInputText/VvInputText.umd.js +1 -1
- package/dist/components/VvRadioGroup/VvRadioGroup.es.js +13 -1
- package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
- package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +9 -0
- package/dist/components/VvRadioGroup/index.d.ts +4 -0
- package/dist/components/VvTextarea/VvTextarea.es.js +290 -290
- package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
- package/dist/components/index.es.js +16 -6
- package/dist/components/index.umd.js +1 -1
- package/dist/icons.es.js +3 -3
- package/dist/icons.umd.js +1 -1
- package/dist/props/index.d.ts +8 -1
- package/dist/stories/InputText/InputText.stories.d.ts +2 -0
- package/dist/stories/InputText/InputText.test.d.ts +2 -0
- package/package.json +3 -3
- package/src/assets/icons/detailed.json +1 -1
- package/src/assets/icons/normal.json +1 -1
- package/src/assets/icons/simple.json +1 -1
- package/src/components/VvCheckbox/VvCheckbox.vue +2 -2
- package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +2 -0
- package/src/components/VvInputFile/VvInputFile.vue +12 -8
- package/src/components/VvInputFile/index.ts +2 -0
- package/src/components/VvInputText/VvInputText.vue +2 -2
- package/src/components/VvRadio/VvRadio.vue +2 -2
- package/src/components/VvRadioGroup/VvRadioGroup.vue +2 -0
- package/src/components/VvTextarea/VvTextarea.vue +1 -1
- package/src/props/index.ts +2 -1
- package/src/stories/InputText/InputText.stories.ts +37 -1
- package/src/stories/InputText/InputText.test.ts +18 -0
- package/src/stories/Textarea/Textarea.stories.ts +1 -1
|
@@ -123,6 +123,15 @@ const DisabledProps = {
|
|
|
123
123
|
default: false
|
|
124
124
|
}
|
|
125
125
|
};
|
|
126
|
+
const RequiredProps = {
|
|
127
|
+
/**
|
|
128
|
+
* Whether the form control is required
|
|
129
|
+
*/
|
|
130
|
+
required: {
|
|
131
|
+
type: Boolean,
|
|
132
|
+
default: false
|
|
133
|
+
}
|
|
134
|
+
};
|
|
126
135
|
const ActiveProps = {
|
|
127
136
|
/**
|
|
128
137
|
* Whether the item is active
|
|
@@ -373,6 +382,7 @@ const CheckboxRadioGroupProps = {
|
|
|
373
382
|
...ModifiersProps,
|
|
374
383
|
...LabelProps,
|
|
375
384
|
...LoadingProps,
|
|
385
|
+
...RequiredProps,
|
|
376
386
|
/**
|
|
377
387
|
* Input value
|
|
378
388
|
*/
|
|
@@ -1059,6 +1069,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1059
1069
|
computed(() => ({
|
|
1060
1070
|
disabled: disabled.value,
|
|
1061
1071
|
readonly: readonly.value,
|
|
1072
|
+
required: props.required,
|
|
1062
1073
|
horizontal: !vertical.value,
|
|
1063
1074
|
valid: valid.value,
|
|
1064
1075
|
invalid: invalid.value
|
|
@@ -1069,7 +1080,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1069
1080
|
id: `${props.name}_opt${index}`,
|
|
1070
1081
|
name: props.name,
|
|
1071
1082
|
label: getOptionLabel(option),
|
|
1072
|
-
value: getOptionValue(option)
|
|
1083
|
+
value: getOptionValue(option),
|
|
1084
|
+
required: props.required
|
|
1073
1085
|
};
|
|
1074
1086
|
}
|
|
1075
1087
|
const { HintSlot, hintSlotScope } = HintSlotFactory(propsDefaults, slots);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@vueuse/core"),require("ts-dot-prop")):"function"==typeof define&&define.amd?define(["vue","@vueuse/core","ts-dot-prop"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvCheckboxGroup=t(e.vue,e.core,e.tsDotProp)}(this,(function(e,t,l){"use strict";var a=(e=>(e.local="local",e.session="session",e))(a||{}),o=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(o||{}),n=(e=>(e.before="before",e.after="after",e))(n||{}),i=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(i||{}),r=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(r||{});const u=Symbol.for("volver"),d=Symbol.for("checkGroup"),s={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},v={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},c={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},f={disabled:{type:Boolean,default:!1}},p=(Boolean,Boolean,Boolean,{label:{type:[String,Number],default:void 0}}),m={readonly:{type:Boolean,default:!1}},b={modifiers:{type:[String,Array],default:void 0}},h={hintLabel:{type:String,default:""}},y={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"},disabledKey:{type:[String,Function],default:"disabled"}};n.before;const g={tabindex:{type:[String,Number],default:0}},S={id:[String,Number]};o.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const k={...{...S,name:{type:String,required:!0}},...g,...s,...v,...h,...f,...m,...b,...p,...c,value:{type:[String,Number,Boolean],default:void 0},modelValue:{type:[Object,Number,Boolean,String],default:void 0}},L={...s,...v,...y,...h,...f,...m,...b,...p,...c,modelValue:{type:[String,Array,Boolean,Number,Symbol],default:void 0},name:{type:String,required:!0},vertical:{type:Boolean,default:!1}};i.button,r.button,a.local;const B=L;function V(e,t,l){return x(e,t)}function x(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){const l=Array.isArray(e),a=Array.isArray(t);let o,n,i;if(l&&a){if(n=e.length,n!==t.length)return!1;for(o=n;0!=o--;)if(!x(e[o],t[o]))return!1;return!0}if(l!==a)return!1;const r=e instanceof Date,u=t instanceof Date;if(r!==u)return!1;if(r&&u)return e.getTime()===t.getTime();const d=e instanceof RegExp,s=t instanceof RegExp;if(d!==s)return!1;if(d&&s)return e.toString()===t.toString();const v=Object.keys(e);if(n=v.length,n!==Object.keys(t).length)return!1;for(o=n;0!=o--;)if(!Object.prototype.hasOwnProperty.call(t,v[o]))return!1;for(o=n;0!=o--;)if(i=v[o],!x(e[i],t[i]))return!1;return!0}return Number.isNaN(e)&&Number.isNaN(t)}function O(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(t=e)||t instanceof String;var t})).join(" "):e}function $(t,l){const a=e.computed((()=>e.isRef(t)?t.value:t)),o=e.computed((()=>O(a.value.invalidLabel))),n=e.computed((()=>O(a.value.validLabel))),i=e.computed((()=>a.value.loadingLabel)),r=e.computed((()=>a.value.hintLabel)),u=e.computed((()=>Boolean(a.value.loading&&(l.loading||i.value)))),d=e.computed((()=>!u.value&&Boolean(a.value.invalid&&(l.invalid||o.value)))),s=e.computed((()=>!u.value&&!d.value&&Boolean(a.value.valid&&(l.valid||n.value)))),v=e.computed((()=>!u.value&&!d.value&&!s.value&&Boolean(l.hint||r.value))),c=e.computed((()=>d.value||s.value||u.value||v.value)),f=e.computed((()=>({modelValue:a.value.modelValue,valid:a.value.valid,invalid:a.value.invalid,loading:a.value.loading}))),p=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:c,invalidLabel:o,validLabel:n,loadingLabel:i,hintLabel:r,hasInvalidLabelOrSlot:d,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:v}),render(){var t,l,a,o,n,i,r,u;if(this.isVisible){let d;return this.hasInvalidLabelOrSlot&&(d="alert"),this.hasValidLabelOrSlot&&(d="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:d},(null==(l=(t=this.$slots).loading)?void 0:l.call(t))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:d},(null==(o=(a=this.$slots).invalid)?void 0:o.call(a))??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:d},(null==(i=(n=this.$slots).valid)?void 0:i.call(n))??this.validLabel):e.h(this.tag,{role:d},(null==(u=(r=this.$slots).hint)?void 0:u.call(r))??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:d,hasHintLabelOrSlot:v,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hintSlotScope:f,HintSlot:p}}const A={...k,...b,indeterminate:Boolean,uncheckedValue:[String,Number,Boolean],switch:Boolean};function C(t,l){const{group:a,isInGroup:o,getGroupOrLocalRef:n}=function(t){const l=e.inject(t,void 0),a=e.computed((()=>void 0!==l));return{group:l,isInGroup:a,getGroupOrLocalRef:function(t,a,o){const n=null==l?void 0:l[t];if(n)return e.computed({get:()=>n.value,set(e){n.value=e}});const i=e.toRef(a,t);return e.computed({get:()=>i.value,set(e){o&&o(`update:${t}`,e)}})}}}(d),{id:i,switch:r,indeterminate:u}=e.toRefs(t),s=n("modelValue",t,l),v=n("valid",t),c=n("invalid",t),f=e.computed((()=>Boolean(t.readonly||(null==a?void 0:a.readonly.value)))),p=e.computed((()=>Boolean(t.disabled||(null==a?void 0:a.disabled.value))));return{id:i,propsSwitch:r,indeterminate:u,group:a,isInGroup:o,modelValue:s,valid:v,invalid:c,readonly:f,disabled:p}}function N(t,l,a){const o=e.inject(u),n=e.computed((()=>{var e;if(o&&(null==(e=o.defaults.value)?void 0:e[t]))return o.defaults.value[t]}));return e.computed((()=>{if(void 0===n.value)return a;const e=n.value,t=l,o=a;return Object.keys(t).reduce(((l,a)=>{const n=o[a];if(l[a]=n,a in e){if(Array.isArray(t[a])){const o=t[a];if(o.length){o[0]===n&&(l[a]=e[a])}}if("function"==typeof t[a]){(0,t[a])()===n&&(l[a]=e[a])}if("object"==typeof t[a]){let o=t[a].default;"function"==typeof o&&(o=o()),"object"==typeof o?JSON.stringify(o)===JSON.stringify(n)&&(l[a]=e[a]):o===n&&(l[a]=e[a])}}return l}),{})}))}function w(t,l,a){return e.computed((()=>{const o={[t]:!0},n="string"==typeof(null==l?void 0:l.value)?l.value.split(" "):null==l?void 0:l.value;return n&&Array.isArray(n)&&n.forEach((e=>{e&&(o[`${t}--${e}`]=!0)})),a&&Object.keys(a.value).forEach((l=>{o[`${t}--${l}`]=e.unref(a.value[l])})),o}))}const P=["for"],R=["id","name","disabled","value","tabindex","aria-invalid","aria-describedby","aria-errormessage"],j=e.defineComponent({name:"VvCheckbox",props:A,emits:["click","update:modelValue","change","blur"],setup(t,{emit:l}){const a=t,o=l,n=e.useSlots(),i=N("VvCheckbox",A,a),{id:r,disabled:u,readonly:d,valid:s,invalid:v,propsSwitch:c,modelValue:f,indeterminate:p,isInGroup:m}=C(a,o),b=function(t){return e.computed((()=>String((null==t?void 0:t.value)||e.useId())))}(r),h=e.computed((()=>`${b.value}-hint`)),y=e.computed((()=>k.value?-1:a.tabindex)),g=e.ref(),S=e.computed((()=>void 0!==a.uncheckedValue&&!m.value)),k=e.computed((()=>u.value||d.value)),L=e.computed((()=>!0===v.value||!0!==s.value&&void 0)),B=e.computed((()=>S.value?f.value===a.value:Array.isArray(f.value)?function(e,t){if(null!=e&&t&&t.length)for(const l of t)if(V(e,l))return!0;return!1}(a.value,f.value):V(a.value,f.value))),x=e.computed((()=>!!p.value||!(B.value||!S.value||a.uncheckedValue===f.value))),O=e.computed((()=>{if(!S.value)return!["string","number","boolean"].includes(typeof a.value)||a.value})),j=e.computed({get:()=>B.value,set(e){if(S.value)f.value=e?a.value:a.uncheckedValue;else if(Array.isArray(f.value)||m.value){const t=f.value??[],l=new Set(Array.isArray(t)?t:[t]);e?l.add(a.value):l.delete(a.value),f.value=[...l]}else f.value=e?a.value:void 0;o("change",e)}}),{modifiers:_}=e.toRefs(a),z=w("vv-checkbox",_,e.computed((()=>({switch:c.value,valid:s.value,invalid:v.value,disabled:u.value,readonly:d.value,indeterminate:p.value}))));e.watchEffect((()=>{S.value&&Array.isArray(f.value)&&console.warn("[VvCheckbox] The model value is an array but the component is in binary mode.")})),e.watch((()=>x.value),(e=>{g.value.indeterminate=!!e})),e.onMounted((()=>{x.value&&(g.value.indeterminate=!0)}));const{HintSlot:E,hasHintLabelOrSlot:G,hasInvalidLabelOrSlot:I,hintSlotScope:D}=$(i,n);return(t,l)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(z)),for:e.unref(b)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(b),ref_key:"input",ref:g,"onUpdate:modelValue":l[0]||(l[0]=t=>e.isRef(j)?j.value=t:null),type:"checkbox",class:"vv-checkbox__input",name:t.name,disabled:e.unref(k),value:e.unref(O),tabindex:e.unref(y),"aria-invalid":e.unref(L),"aria-describedby":e.unref(G)?e.unref(h):void 0,"aria-errormessage":e.unref(I)?e.unref(h):void 0},null,8,R),[[e.vModelCheckbox,e.unref(j)]]),e.renderSlot(t.$slots,"default",{value:e.unref(f)},(()=>[e.createTextVNode(e.toDisplayString(t.label),1)])),e.createVNode(e.unref(E),{id:e.unref(h),class:"vv-checkbox__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(D))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(D))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(D))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(D))))])),key:"3"}:void 0]),1032,["id"])],10,P))}});const _=["textContent"],z={class:"vv-checkbox-group__wrapper"};return e.defineComponent({name:"VvCheckboxGroup",props:B,emits:["update:modelValue","change"],setup(a,{emit:o}){const n=a,i=o,r=e.useSlots(),u=N("VvCheckboxGroup",B,n),s=t.useVModel(n,"modelValue",i),{disabled:v,readonly:c,vertical:f,valid:p,invalid:m,modifiers:b}=e.toRefs(n);var h,y;h=d,y={modelValue:s,disabled:v,readonly:c,valid:p,invalid:m},e.provide(h,y);const{getOptionLabel:g,getOptionValue:S}=function(t){const{options:a,labelKey:o,valueKey:n,disabledKey:i}=e.toRefs(t);return{options:a,getOptionLabel:e=>"string"==typeof e?e:"function"==typeof o.value?o.value(e):String(o.value?l.get(e,o.value):e),getOptionValue:e=>"string"==typeof e?e:"function"==typeof n.value?n.value(e):n.value?l.get(e,n.value):e,isOptionDisabled:e=>"string"!=typeof e&&("function"==typeof i.value?i.value(e):!!i.value&&l.get(e,i.value)),getOptionGrouped:e=>"string"==typeof e?[]:"object"==typeof e&&e&&"options"in e?e.options:[]}}(n),k=w("vv-checkbox-group",b,e.computed((()=>({disabled:v.value,readonly:c.value,horizontal:!f.value,valid:p.value,invalid:m.value}))));const{HintSlot:L,hintSlotScope:V}=$(u,r);return(t,l)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(k))},[t.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(t.label)},null,8,_)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",z,[t.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.options,((t,l)=>(e.openBlock(),e.createBlock(j,e.mergeProps({key:l,ref_for:!0},function(e,t){return{id:`${n.name}_opt${t}`,name:n.name,label:g(e),value:S(e)}}(t,l)),null,16)))),128)):e.renderSlot(t.$slots,"default",{key:1})]),e.createVNode(e.unref(L),{class:"vv-checkbox-group__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(V))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(V))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(V))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(V))))])),key:"3"}:void 0]),1024)],2))}})}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@vueuse/core"),require("ts-dot-prop")):"function"==typeof define&&define.amd?define(["vue","@vueuse/core","ts-dot-prop"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvCheckboxGroup=t(e.vue,e.core,e.tsDotProp)}(this,(function(e,t,l){"use strict";var a=(e=>(e.local="local",e.session="session",e))(a||{}),o=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(o||{}),n=(e=>(e.before="before",e.after="after",e))(n||{}),i=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(i||{}),r=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(r||{});const u=Symbol.for("volver"),d=Symbol.for("checkGroup"),s={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},v={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},c={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},f={disabled:{type:Boolean,default:!1}},p={required:{type:Boolean,default:!1}},m=(Boolean,Boolean,Boolean,{label:{type:[String,Number],default:void 0}}),b={readonly:{type:Boolean,default:!1}},h={modifiers:{type:[String,Array],default:void 0}},y={hintLabel:{type:String,default:""}},g={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"},disabledKey:{type:[String,Function],default:"disabled"}};n.before;const S={tabindex:{type:[String,Number],default:0}},k={id:[String,Number]};o.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const L={...{...k,name:{type:String,required:!0}},...S,...s,...v,...y,...f,...b,...h,...m,...c,value:{type:[String,Number,Boolean],default:void 0},modelValue:{type:[Object,Number,Boolean,String],default:void 0}},B={...s,...v,...g,...y,...f,...b,...h,...m,...c,...p,modelValue:{type:[String,Array,Boolean,Number,Symbol],default:void 0},name:{type:String,required:!0},vertical:{type:Boolean,default:!1}};i.button,r.button,a.local;const V=B;function x(e,t,l){return O(e,t)}function O(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){const l=Array.isArray(e),a=Array.isArray(t);let o,n,i;if(l&&a){if(n=e.length,n!==t.length)return!1;for(o=n;0!=o--;)if(!O(e[o],t[o]))return!1;return!0}if(l!==a)return!1;const r=e instanceof Date,u=t instanceof Date;if(r!==u)return!1;if(r&&u)return e.getTime()===t.getTime();const d=e instanceof RegExp,s=t instanceof RegExp;if(d!==s)return!1;if(d&&s)return e.toString()===t.toString();const v=Object.keys(e);if(n=v.length,n!==Object.keys(t).length)return!1;for(o=n;0!=o--;)if(!Object.prototype.hasOwnProperty.call(t,v[o]))return!1;for(o=n;0!=o--;)if(i=v[o],!O(e[i],t[i]))return!1;return!0}return Number.isNaN(e)&&Number.isNaN(t)}function $(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(t=e)||t instanceof String;var t})).join(" "):e}function A(t,l){const a=e.computed((()=>e.isRef(t)?t.value:t)),o=e.computed((()=>$(a.value.invalidLabel))),n=e.computed((()=>$(a.value.validLabel))),i=e.computed((()=>a.value.loadingLabel)),r=e.computed((()=>a.value.hintLabel)),u=e.computed((()=>Boolean(a.value.loading&&(l.loading||i.value)))),d=e.computed((()=>!u.value&&Boolean(a.value.invalid&&(l.invalid||o.value)))),s=e.computed((()=>!u.value&&!d.value&&Boolean(a.value.valid&&(l.valid||n.value)))),v=e.computed((()=>!u.value&&!d.value&&!s.value&&Boolean(l.hint||r.value))),c=e.computed((()=>d.value||s.value||u.value||v.value)),f=e.computed((()=>({modelValue:a.value.modelValue,valid:a.value.valid,invalid:a.value.invalid,loading:a.value.loading}))),p=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:c,invalidLabel:o,validLabel:n,loadingLabel:i,hintLabel:r,hasInvalidLabelOrSlot:d,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:v}),render(){var t,l,a,o,n,i,r,u;if(this.isVisible){let d;return this.hasInvalidLabelOrSlot&&(d="alert"),this.hasValidLabelOrSlot&&(d="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:d},(null==(l=(t=this.$slots).loading)?void 0:l.call(t))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:d},(null==(o=(a=this.$slots).invalid)?void 0:o.call(a))??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:d},(null==(i=(n=this.$slots).valid)?void 0:i.call(n))??this.validLabel):e.h(this.tag,{role:d},(null==(u=(r=this.$slots).hint)?void 0:u.call(r))??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:d,hasHintLabelOrSlot:v,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hintSlotScope:f,HintSlot:p}}const C={...L,...h,indeterminate:Boolean,uncheckedValue:[String,Number,Boolean],switch:Boolean};function N(t,l){const{group:a,isInGroup:o,getGroupOrLocalRef:n}=function(t){const l=e.inject(t,void 0),a=e.computed((()=>void 0!==l));return{group:l,isInGroup:a,getGroupOrLocalRef:function(t,a,o){const n=null==l?void 0:l[t];if(n)return e.computed({get:()=>n.value,set(e){n.value=e}});const i=e.toRef(a,t);return e.computed({get:()=>i.value,set(e){o&&o(`update:${t}`,e)}})}}}(d),{id:i,switch:r,indeterminate:u}=e.toRefs(t),s=n("modelValue",t,l),v=n("valid",t),c=n("invalid",t),f=e.computed((()=>Boolean(t.readonly||(null==a?void 0:a.readonly.value)))),p=e.computed((()=>Boolean(t.disabled||(null==a?void 0:a.disabled.value))));return{id:i,propsSwitch:r,indeterminate:u,group:a,isInGroup:o,modelValue:s,valid:v,invalid:c,readonly:f,disabled:p}}function w(t,l,a){const o=e.inject(u),n=e.computed((()=>{var e;if(o&&(null==(e=o.defaults.value)?void 0:e[t]))return o.defaults.value[t]}));return e.computed((()=>{if(void 0===n.value)return a;const e=n.value,t=l,o=a;return Object.keys(t).reduce(((l,a)=>{const n=o[a];if(l[a]=n,a in e){if(Array.isArray(t[a])){const o=t[a];if(o.length){o[0]===n&&(l[a]=e[a])}}if("function"==typeof t[a]){(0,t[a])()===n&&(l[a]=e[a])}if("object"==typeof t[a]){let o=t[a].default;"function"==typeof o&&(o=o()),"object"==typeof o?JSON.stringify(o)===JSON.stringify(n)&&(l[a]=e[a]):o===n&&(l[a]=e[a])}}return l}),{})}))}function P(t,l,a){return e.computed((()=>{const o={[t]:!0},n="string"==typeof(null==l?void 0:l.value)?l.value.split(" "):null==l?void 0:l.value;return n&&Array.isArray(n)&&n.forEach((e=>{e&&(o[`${t}--${e}`]=!0)})),a&&Object.keys(a.value).forEach((l=>{o[`${t}--${l}`]=e.unref(a.value[l])})),o}))}const R=["for"],j=["id","name","disabled","value","tabindex","aria-invalid","aria-describedby","aria-errormessage"],_=e.defineComponent({name:"VvCheckbox",props:C,emits:["click","update:modelValue","change","blur"],setup(t,{emit:l}){const a=t,o=l,n=e.useSlots(),i=w("VvCheckbox",C,a),{id:r,disabled:u,readonly:d,valid:s,invalid:v,propsSwitch:c,modelValue:f,indeterminate:p,isInGroup:m}=N(a,o),b=function(t){return e.computed((()=>String((null==t?void 0:t.value)||e.useId())))}(r),h=e.computed((()=>`${b.value}-hint`)),y=e.computed((()=>k.value?-1:a.tabindex)),g=e.ref(),S=e.computed((()=>void 0!==a.uncheckedValue&&!m.value)),k=e.computed((()=>u.value||d.value)),L=e.computed((()=>!0===v.value||!0!==s.value&&void 0)),B=e.computed((()=>S.value?f.value===a.value:Array.isArray(f.value)?function(e,t){if(null!=e&&t&&t.length)for(const l of t)if(x(e,l))return!0;return!1}(a.value,f.value):x(a.value,f.value))),V=e.computed((()=>!!p.value||!(B.value||!S.value||a.uncheckedValue===f.value))),O=e.computed((()=>{if(!S.value)return!["string","number","boolean"].includes(typeof a.value)||a.value})),$=e.computed({get:()=>B.value,set(e){if(S.value)f.value=e?a.value:a.uncheckedValue;else if(Array.isArray(f.value)||m.value){const t=f.value??[],l=new Set(Array.isArray(t)?t:[t]);e?l.add(a.value):l.delete(a.value),f.value=[...l]}else f.value=e?a.value:void 0;o("change",e)}}),{modifiers:_}=e.toRefs(a),z=P("vv-checkbox",_,e.computed((()=>({switch:c.value,valid:s.value,invalid:v.value,disabled:u.value,readonly:d.value,indeterminate:p.value}))));e.watchEffect((()=>{S.value&&Array.isArray(f.value)&&console.warn("[VvCheckbox] The model value is an array but the component is in binary mode.")})),e.watch((()=>V.value),(e=>{g.value.indeterminate=!!e})),e.onMounted((()=>{V.value&&(g.value.indeterminate=!0)}));const{HintSlot:E,hasHintLabelOrSlot:G,hasInvalidLabelOrSlot:q,hintSlotScope:I}=A(i,n);return(t,l)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(z)),for:e.unref(b)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(b),ref_key:"input",ref:g,"onUpdate:modelValue":l[0]||(l[0]=t=>e.isRef($)?$.value=t:null),type:"checkbox",class:"vv-checkbox__input",name:t.name,disabled:e.unref(k),value:e.unref(O),tabindex:e.unref(y),"aria-invalid":e.unref(L),"aria-describedby":e.unref(G)?e.unref(h):void 0,"aria-errormessage":e.unref(q)?e.unref(h):void 0},null,8,j),[[e.vModelCheckbox,e.unref($)]]),e.renderSlot(t.$slots,"default",{value:e.unref(f)},(()=>[e.createTextVNode(e.toDisplayString(t.label),1)])),e.createVNode(e.unref(E),{id:e.unref(h),class:"vv-checkbox__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(I))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(I))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(I))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(I))))])),key:"3"}:void 0]),1032,["id"])],10,R))}});const z=["textContent"],E={class:"vv-checkbox-group__wrapper"};return e.defineComponent({name:"VvCheckboxGroup",props:V,emits:["update:modelValue","change"],setup(a,{emit:o}){const n=a,i=o,r=e.useSlots(),u=w("VvCheckboxGroup",V,n),s=t.useVModel(n,"modelValue",i),{disabled:v,readonly:c,vertical:f,valid:p,invalid:m,modifiers:b}=e.toRefs(n);var h,y;h=d,y={modelValue:s,disabled:v,readonly:c,valid:p,invalid:m},e.provide(h,y);const{getOptionLabel:g,getOptionValue:S}=function(t){const{options:a,labelKey:o,valueKey:n,disabledKey:i}=e.toRefs(t);return{options:a,getOptionLabel:e=>"string"==typeof e?e:"function"==typeof o.value?o.value(e):String(o.value?l.get(e,o.value):e),getOptionValue:e=>"string"==typeof e?e:"function"==typeof n.value?n.value(e):n.value?l.get(e,n.value):e,isOptionDisabled:e=>"string"!=typeof e&&("function"==typeof i.value?i.value(e):!!i.value&&l.get(e,i.value)),getOptionGrouped:e=>"string"==typeof e?[]:"object"==typeof e&&e&&"options"in e?e.options:[]}}(n),k=P("vv-checkbox-group",b,e.computed((()=>({disabled:v.value,readonly:c.value,required:n.required,horizontal:!f.value,valid:p.value,invalid:m.value}))));const{HintSlot:L,hintSlotScope:B}=A(u,r);return(t,l)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(k))},[t.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(t.label)},null,8,z)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",E,[t.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.options,((t,l)=>(e.openBlock(),e.createBlock(_,e.mergeProps({key:l,ref_for:!0},function(e,t){return{id:`${n.name}_opt${t}`,name:n.name,label:g(e),value:S(e),required:n.required}}(t,l)),null,16)))),128)):e.renderSlot(t.$slots,"default",{key:1})]),e.createVNode(e.unref(L),{class:"vv-checkbox-group__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(B))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(B))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(B))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(B))))])),key:"3"}:void 0]),1024)],2))}})}));
|
|
@@ -12,6 +12,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<gl
|
|
|
12
12
|
type: BooleanConstructor;
|
|
13
13
|
default: boolean;
|
|
14
14
|
};
|
|
15
|
+
required: {
|
|
16
|
+
type: BooleanConstructor;
|
|
17
|
+
default: boolean;
|
|
18
|
+
};
|
|
15
19
|
loading: {
|
|
16
20
|
type: BooleanConstructor;
|
|
17
21
|
default: boolean;
|
|
@@ -85,6 +89,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<gl
|
|
|
85
89
|
type: BooleanConstructor;
|
|
86
90
|
default: boolean;
|
|
87
91
|
};
|
|
92
|
+
required: {
|
|
93
|
+
type: BooleanConstructor;
|
|
94
|
+
default: boolean;
|
|
95
|
+
};
|
|
88
96
|
loading: {
|
|
89
97
|
type: BooleanConstructor;
|
|
90
98
|
default: boolean;
|
|
@@ -150,6 +158,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<gl
|
|
|
150
158
|
disabled: boolean;
|
|
151
159
|
modelValue: string | number | boolean | symbol | unknown[];
|
|
152
160
|
modifiers: string | string[];
|
|
161
|
+
required: boolean;
|
|
153
162
|
loading: boolean;
|
|
154
163
|
loadingLabel: string;
|
|
155
164
|
readonly: boolean;
|
|
@@ -130,6 +130,15 @@ const DisabledProps = {
|
|
|
130
130
|
default: false
|
|
131
131
|
}
|
|
132
132
|
};
|
|
133
|
+
const RequiredProps = {
|
|
134
|
+
/**
|
|
135
|
+
* Whether the form control is required
|
|
136
|
+
*/
|
|
137
|
+
required: {
|
|
138
|
+
type: Boolean,
|
|
139
|
+
default: false
|
|
140
|
+
}
|
|
141
|
+
};
|
|
133
142
|
const ActiveProps = {
|
|
134
143
|
/**
|
|
135
144
|
* Whether the item is active
|
|
@@ -385,6 +394,7 @@ const VvInputFileProps = {
|
|
|
385
394
|
...LoadingProps,
|
|
386
395
|
...ReadonlyProps,
|
|
387
396
|
...DisabledProps,
|
|
397
|
+
...RequiredProps,
|
|
388
398
|
...IconProps,
|
|
389
399
|
/**
|
|
390
400
|
* Input value
|
|
@@ -1341,7 +1351,7 @@ const _hoisted_1 = ["for"];
|
|
|
1341
1351
|
const _hoisted_2 = { class: "vv-input-file__preview" };
|
|
1342
1352
|
const _hoisted_3 = ["src", "alt"];
|
|
1343
1353
|
const _hoisted_4 = { class: "vv-input-file__wrapper" };
|
|
1344
|
-
const _hoisted_5 = ["id", "readonly", "disabled", "placeholder", "aria-describedby", "aria-invalid", "aria-errormessage", "multiple", "accept", "capture", "name"];
|
|
1354
|
+
const _hoisted_5 = ["id", "readonly", "disabled", "required", "placeholder", "aria-describedby", "aria-invalid", "aria-errormessage", "multiple", "accept", "capture", "name"];
|
|
1345
1355
|
const _hoisted_6 = ["value"];
|
|
1346
1356
|
const _hoisted_7 = ["onClick"];
|
|
1347
1357
|
const _hoisted_8 = ["title", "onClick"];
|
|
@@ -1380,10 +1390,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1380
1390
|
"vv-input-file",
|
|
1381
1391
|
modifiers,
|
|
1382
1392
|
computed(() => ({
|
|
1383
|
-
"dragging": isDragging.value,
|
|
1384
|
-
"loading": props.loading && !hasProgress.value,
|
|
1385
1393
|
"valid": props.valid === true,
|
|
1386
1394
|
"invalid": props.invalid === true,
|
|
1395
|
+
"loading": props.loading && !hasProgress.value,
|
|
1396
|
+
"disabled": props.disabled,
|
|
1397
|
+
"required": props.required,
|
|
1398
|
+
"readonly": props.readonly,
|
|
1399
|
+
"dragging": isDragging.value,
|
|
1387
1400
|
"icon-before": !!hasIconBefore.value,
|
|
1388
1401
|
"icon-after": !!hasIconAfter.value,
|
|
1389
1402
|
"drop-area": hasDropArea.value
|
|
@@ -1646,6 +1659,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1646
1659
|
type: "file",
|
|
1647
1660
|
readonly: unref(readonly),
|
|
1648
1661
|
disabled: unref(disabled),
|
|
1662
|
+
required: _ctx.required,
|
|
1649
1663
|
placeholder: _ctx.placeholder,
|
|
1650
1664
|
"aria-describedby": unref(hasHintLabelOrSlot) ? hasHintId.value : void 0,
|
|
1651
1665
|
"aria-invalid": _ctx.invalid,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,l){"object"==typeof exports&&"undefined"!=typeof module?module.exports=l(require("vue"),require("@vueuse/core"),require("vuedraggable"),require("@iconify/vue")):"function"==typeof define&&define.amd?define(["vue","@vueuse/core","vuedraggable","@iconify/vue"],l):(e="undefined"!=typeof globalThis?globalThis:e||self).VvInputFile=l(e.vue,e.core,e.Sortable,e.vue$1)}(this,(function(e,l,t,o){"use strict";var a=(e=>(e.local="local",e.session="session",e))(a||{}),n=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(n||{}),i=(e=>(e.before="before",e.after="after",e))(i||{}),r=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(r||{}),u=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(u||{});const d=Symbol.for("volver"),s=Symbol.for("buttonGroup"),v=Symbol.for("dropdownTrigger"),c=Symbol.for("dropdownAction"),f={to:{type:[String,Object]},href:String,target:String,rel:{type:String,default:"noopener noreferrer"}},p={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},m={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},g={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},b={disabled:{type:Boolean,default:!1}},y={active:{type:Boolean,default:!1}},h={current:{type:Boolean,default:!1}},k={pressed:{type:Boolean,default:!1}},S={label:{type:[String,Number],default:void 0}},B={readonly:{type:Boolean,default:!1}},L={modifiers:{type:[String,Array],default:void 0}},V={hintLabel:{type:String,default:""}},w={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:i.before,validation:e=>Object.values(i).includes(e)}},A={unselectable:{type:Boolean,default:!0}},$={id:[String,Number]};n.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const C={...$,name:{type:String,required:!0}},N={...b,...S,...k,...y,...h,...f,type:{type:String,default:r.button,validator:e=>Object.values(r).includes(e)},ariaLabel:{type:String,default:void 0},defaultTag:{type:String,default:u.button}};a.local;const x="add",O="edit",_="download",I={prefix:"normal"},P={...C,...L,...p,...m,...V,...S,...g,...B,...b,...w,modelValue:{type:Object},progress:{type:[Number,String],default:void 0},placeholder:{type:String,default:void 0},accept:{type:String,default:"*"},multiple:{type:Boolean,default:!1},capture:{type:String,default:void 0,validation:e=>void 0===e||["user","environment"].includes(e)},max:{type:[Number,String],default:void 0},dropArea:{type:Boolean,default:!1},sortable:{type:Boolean,default:!1},labelAdd:{type:String,default:"Add file"},iconAdd:{type:[String,Object],default:x},labelReplace:{type:String,default:"Replace file"},iconReplace:{type:[String,Object],default:O},labelDownload:{type:String,default:"Downlaod file"},iconDownload:{type:[String,Object],default:_},labelRemove:{type:String,default:"Remove file"}};function R(e,l,t){return j(e,l)}function j(e,l){if(e===l)return!0;if(e&&l&&"object"==typeof e&&"object"==typeof l){const t=Array.isArray(e),o=Array.isArray(l);let a,n,i;if(t&&o){if(n=e.length,n!==l.length)return!1;for(a=n;0!=a--;)if(!j(e[a],l[a]))return!1;return!0}if(t!==o)return!1;const r=e instanceof Date,u=l instanceof Date;if(r!==u)return!1;if(r&&u)return e.getTime()===l.getTime();const d=e instanceof RegExp,s=l instanceof RegExp;if(d!==s)return!1;if(d&&s)return e.toString()===l.toString();const v=Object.keys(e);if(n=v.length,n!==Object.keys(l).length)return!1;for(a=n;0!=a--;)if(!Object.prototype.hasOwnProperty.call(l,v[a]))return!1;for(a=n;0!=a--;)if(i=v[a],!j(e[i],l[i]))return!1;return!0}return Number.isNaN(e)&&Number.isNaN(l)}function E(e,l){if(null!=e&&l&&l.length)for(const t of l)if(R(e,t))return!0;return!1}function D(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(l=e)||l instanceof String;var l})).join(" "):e}const M={...N,...$,...L,...A,...g,...w,iconPosition:{type:String,default:n.left,validator:e=>Object.values(n).includes(e)},loadingIcon:{type:String,default:"eos-icons:bubble-loading"},toggle:{type:Boolean,default:!1},value:{type:[String,Number,Boolean],default:void 0},uncheckedValue:{type:[String,Number,Boolean],default:void 0},modelValue:{type:[String,Number,Boolean],default:void 0}};function F(l,t){const{group:o,isInGroup:a,getGroupOrLocalRef:n}=function(l){const t=e.inject(l,void 0),o=e.computed((()=>void 0!==t));return{group:t,isInGroup:o,getGroupOrLocalRef:function(l,o,a){const n=null==t?void 0:t[l];if(n)return e.computed({get:()=>n.value,set(e){n.value=e}});const i=e.toRef(o,l);return e.computed({get:()=>i.value,set(e){a&&a(`update:${l}`,e)}})}}}(s),{id:i,iconPosition:r,icon:u,label:d,pressed:v}=e.toRefs(l),c=n("modelValue",l,t),f=n("toggle",l),p=n("unselectable",l),m=e.computed((()=>(null==o?void 0:o.multiple.value)??!1)),g=e.computed((()=>{let e=l.modifiers,t=null==o?void 0:o.modifiers.value;const a=new Set;return e&&(Array.isArray(e)||(e=e.split(" ")),e.forEach((e=>a.add(e)))),t&&(Array.isArray(t)||(t=t.split(" ")),t.forEach((e=>a.add(e)))),Array.from(a)})),b=e.computed((()=>Boolean(l.disabled||(null==o?void 0:o.disabled.value))));return{group:o,isInGroup:a,modelValue:c,toggle:f,unselectable:p,multiple:m,modifiers:g,disabled:b,id:i,pressed:v,iconPosition:r,icon:u,label:d}}const z=N;function T(){return e.inject(d)}const U=e.defineComponent({name:"VvAction",props:z,emits:["click","mouseover","mouseleave"],setup(l,{expose:t,emit:o}){const a=l,n=o,i=e.getCurrentInstance(),r=T(),d=e.ref(null);t({$el:d});const{reference:s,bus:f,aria:p,expanded:m}=e.inject(v,{});e.watch((()=>d.value),(e=>{s&&(s.value=e)}));const g=e.computed((()=>a.pressed||(null==m?void 0:m.value))),{role:b}=e.inject(c,{}),y=e.computed((()=>{switch(!0){case a.disabled:return u.button;case void 0!==a.to:return(null==r?void 0:r.nuxt)?u.nuxtLink:u.routerLink;case void 0!==a.href:return u.a;default:return a.defaultTag}})),h=e.computed((()=>{const e={...null==p?void 0:p.value,ariaPressed:!!g.value||void 0,ariaLabel:a.ariaLabel,role:null==b?void 0:b.value};switch(y.value){case u.a:return{...e,href:a.href,target:a.target,rel:a.rel};case u.routerLink:case u.nuxtLink:return{...e,to:a.to,target:a.target};case u.button:return{...e,type:a.type,disabled:a.disabled};default:return e}}));function k(e){var l;a.disabled?e.preventDefault():(null==(l=null==i?void 0:i.vnode.props)?void 0:l.onClick)?n("click",e):null==f||f.emit("click",e)}function S(e){var l;(null==(l=null==i?void 0:i.vnode.props)?void 0:l.onMouseover)?n("mouseover",e):null==f||f.emit("mouseover",e)}function B(e){var l;(null==(l=null==i?void 0:i.vnode.props)?void 0:l.onMouseleave)?n("mouseleave",e):null==f||f.emit("mouseleave",e)}return(l,t)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(y)),e.mergeProps(e.unref(h),{ref_key:"element",ref:d,class:{active:l.active,pressed:e.unref(g),disabled:l.disabled,current:l.current},onClickPassive:k,onMouseoverPassive:S,onMouseleavePassive:B}),{default:e.withCtx((()=>[e.renderSlot(l.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(l.label),1)]))])),_:3},16,["class"]))}});function q(l,t,o){return e.computed((()=>{const a={[l]:!0},n="string"==typeof(null==t?void 0:t.value)?t.value.split(" "):null==t?void 0:t.value;return n&&Array.isArray(n)&&n.forEach((e=>{e&&(a[`${l}--${e}`]=!0)})),o&&Object.keys(o.value).forEach((t=>{a[`${l}--${t}`]=e.unref(o.value[t])})),a}))}const G=e.defineComponent({name:"VvIcon",props:e.mergeDefaults({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},I),setup(l){const t=l,a=e.computed((()=>"string"==typeof t.rotate?Number.parseFloat(t.rotate):t.rotate)),n=e.ref(!0),i=T(),{modifiers:r}=e.toRefs(t),u=q("vv-icon",r),d=e.computed((()=>t.provider||(null==i?void 0:i.iconsProvider))),s=e.computed((()=>{const e=t.name??"",l=`@${d.value}:${t.prefix}:${e}`;if(o.iconExists(l))return l;const a=null==i?void 0:i.iconsCollections.find((l=>{const t=`@${d.value}:${l.prefix}:${e}`;return o.iconExists(t)}));return a?`@${d.value}:${a.prefix}:${e}`:e}));function v(e){const l=function(e){let l;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");l=(new e).window}return(l?new l.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),a=(null==l?void 0:l.innerHTML.trim())||"";l&&a&&o.addIcon(`@${d.value}:${t.prefix}:${t.name}`,{body:a,height:l.viewBox.baseVal.height,width:l.viewBox.baseVal.width})}return i&&t.src&&!o.iconExists(`@${d.value}:${t.prefix}:${t.name}`)&&(n.value=!1,i.fetchIcon(t.src).then((e=>{e&&(v(e),n.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),t.svg&&v(t.svg),(l,t)=>e.unref(n)?(e.openBlock(),e.createBlock(e.unref(o.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:l.inline,width:l.width,height:l.height,horizontalFlip:l.horizontalFlip,verticalFlip:l.verticalFlip,flip:l.flip,rotate:e.unref(a),color:l.color,onLoad:l.onLoad,icon:e.unref(s)}),null,16,["class"])):e.createCommentVNode("v-if",!0)}});function H(l){return e.computed((()=>String((null==l?void 0:l.value)||e.useId())))}function J(l,t){const o=e.computed((()=>"string"==typeof(null==l?void 0:l.value)?{name:null==l?void 0:l.value}:null==l?void 0:l.value)),a=e.computed((()=>(null==t?void 0:t.value)===i.before?o.value:void 0)),r=e.computed((()=>(null==t?void 0:t.value)===i.after?o.value:void 0)),u=e.computed((()=>(null==t?void 0:t.value)===n.left?o.value:void 0)),d=e.computed((()=>(null==t?void 0:t.value)===n.right?o.value:void 0)),s=e.computed((()=>(null==t?void 0:t.value)===n.top?o.value:void 0)),v=e.computed((()=>(null==t?void 0:t.value)===n.bottom?o.value:void 0));return{hasIcon:o,hasIconLeft:u,hasIconRight:d,hasIconTop:s,hasIconBottom:v,hasIconBefore:a,hasIconAfter:r}}const K={key:1,class:"vv-button__label"},Y={key:1,class:"vv-button__label"},Z=e.defineComponent({name:"VvButton",inheritAttrs:!1,props:M,emits:["update:modelValue"],setup(l,{expose:t,emit:o}){const a=l,i=o,r=e.useAttrs(),u=e.useSlots(),{id:d,modifiers:s,iconPosition:v,icon:c,label:f,modelValue:p,disabled:m,toggle:g,unselectable:b}=F(a,i),y=H(d),h=e.computed((()=>(null==r?void 0:r.name)||y.value)),k=e.ref(null);t({$el:e.computed((()=>{var e;return null==(e=k.value)?void 0:e.$el}))});const S=e.computed((()=>g.value?Array.isArray(p.value)?E(h.value,p.value):R(h.value,p.value):a.pressed)),B=q("vv-button",s,e.computed((()=>({reverse:[n.right,n.bottom].includes(v.value),column:[n.top,n.bottom].includes(v.value),"icon-only":Boolean((null==c?void 0:c.value)&&!(null==f?void 0:f.value)&&!u.default)})))),{hasIcon:L}=J(c),V=e.computed((()=>void 0!==a.value?a.value:h.value)),w=e.computed((()=>{if(g.value)return{onClick:A}}));function A(){if(g.value){if(Array.isArray(p.value))return E(V.value,p.value)?void(b.value&&(p.value=p.value.filter((e=>e!==V.value)))):void p.value.push(V.value);if(V.value===p.value&&b.value)return void(p.value=a.uncheckedValue);p.value=V.value}}return(l,t)=>(e.openBlock(),e.createBlock(U,e.mergeProps({...e.unref(r),...e.unref(w),disabled:e.unref(m),pressed:e.unref(S),active:l.active,type:l.type,to:l.to,href:l.href,target:l.target,rel:l.rel,ariaLabel:l.ariaLabel},{id:e.unref(y),ref_key:"element",ref:k,class:e.unref(B)}),{default:e.withCtx((()=>[e.renderSlot(l.$slots,"default",{},(()=>[l.loading?e.renderSlot(l.$slots,"loading",{key:0},(()=>[l.loadingIcon?(e.openBlock(),e.createBlock(G,{key:0,class:"vv-button__loading-icon",name:l.loadingIcon},null,8,["name"])):e.createCommentVNode("v-if",!0),l.loadingLabel?(e.openBlock(),e.createElementBlock("span",K,e.toDisplayString(l.loadingLabel),1)):e.createCommentVNode("v-if",!0)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(l.$slots,"before"),e.unref(L)?(e.openBlock(),e.createBlock(G,e.mergeProps({key:0},e.unref(L),{class:"vv-button__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.unref(f)?(e.openBlock(),e.createElementBlock("span",Y,[e.renderSlot(l.$slots,"label",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(f)),1)]))])):e.createCommentVNode("v-if",!0),e.renderSlot(l.$slots,"after")],64))]))])),_:3},16,["id","class"]))}});const Q=["for"],W={class:"vv-input-file__preview"},X=["src","alt"],ee={class:"vv-input-file__wrapper"},le=["id","readonly","disabled","placeholder","aria-describedby","aria-invalid","aria-errormessage","multiple","accept","capture","name"],te=["value"],oe=["onClick"],ae=["title","onClick"],ne={class:"vv-input-file__item-name"},ie={class:"vv-input-file__item-info"},re=["title","disabled","onClick"];return e.defineComponent({name:"VvInputFile",props:P,emits:["remove","download","update:modelValue"],setup(o,{emit:a}){const n=o,i=a,r=e.useSlots(),u=function(l,t,o){const a=T(),n=e.computed((()=>{var e;if(a&&(null==(e=a.defaults.value)?void 0:e[l]))return a.defaults.value[l]}));return e.computed((()=>{if(void 0===n.value)return o;const e=n.value,l=t,a=o;return Object.keys(l).reduce(((t,o)=>{const n=a[o];if(t[o]=n,o in e){if(Array.isArray(l[o])){const a=l[o];a.length&&a[0]===n&&(t[o]=e[o])}if("function"==typeof l[o]&&(0,l[o])()===n&&(t[o]=e[o]),"object"==typeof l[o]){let a=l[o].default;"function"==typeof a&&(a=a()),"object"==typeof a?JSON.stringify(a)===JSON.stringify(n)&&(t[o]=e[o]):a===n&&(t[o]=e[o])}}return t}),{})}))}("VvInputFile",P,n),{modifiers:d,id:s,readonly:v,disabled:c,icon:f,iconPosition:p,iconDownload:m}=e.toRefs(n),g=H(s),b=e.computed((()=>`${g.value}-hint`)),y=e.computed((()=>{if(!n.progress)return!1;const e="string"==typeof n.progress?Number.parseInt(n.progress):n.progress;return e>0&&e<100})),{hasIconBefore:h,hasIconAfter:k}=J(f,p),{hasIcon:S}=J(m),B=q("vv-input-file",d,e.computed((()=>({dragging:I.value,loading:n.loading&&!y.value,valid:!0===n.valid,invalid:!0===n.invalid,"icon-before":!!h.value,"icon-after":!!k.value,"drop-area":O.value})))),{HintSlot:L,hasHintLabelOrSlot:V,hasInvalidLabelOrSlot:w,hintSlotScope:A}=function(l,t){const o=e.computed((()=>e.isRef(l)?l.value:l)),a=e.computed((()=>D(o.value.invalidLabel))),n=e.computed((()=>D(o.value.validLabel))),i=e.computed((()=>o.value.loadingLabel)),r=e.computed((()=>o.value.hintLabel)),u=e.computed((()=>Boolean(o.value.loading&&(t.loading||i.value)))),d=e.computed((()=>!u.value&&Boolean(o.value.invalid&&(t.invalid||a.value)))),s=e.computed((()=>!u.value&&!d.value&&Boolean(o.value.valid&&(t.valid||n.value)))),v=e.computed((()=>!u.value&&!d.value&&!s.value&&Boolean(t.hint||r.value))),c=e.computed((()=>d.value||s.value||u.value||v.value)),f=e.computed((()=>({modelValue:o.value.modelValue,valid:o.value.valid,invalid:o.value.invalid,loading:o.value.loading}))),p=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:c,invalidLabel:a,validLabel:n,loadingLabel:i,hintLabel:r,hasInvalidLabelOrSlot:d,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:v}),render(){var l,t,o,a,n,i,r,u;if(this.isVisible){let d;return this.hasInvalidLabelOrSlot&&(d="alert"),this.hasValidLabelOrSlot&&(d="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:d},(null==(t=(l=this.$slots).loading)?void 0:t.call(l))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:d},(null==(a=(o=this.$slots).invalid)?void 0:a.call(o))??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:d},(null==(i=(n=this.$slots).valid)?void 0:i.call(n))??this.validLabel):e.h(this.tag,{role:d},(null==(u=(r=this.$slots).hint)?void 0:u.call(r))??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:d,hasHintLabelOrSlot:v,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hintSlotScope:f,HintSlot:p}}(u,r),$=l.useVModel(n,"modelValue",i),C=e.computed({get:()=>{var e;return $.value&&(Array.isArray($.value)||(null==(e=$.value)?void 0:e.name))?Array.isArray($.value)?$.value:[$.value]:[]},set:e=>{_.value?$.value=e:$.value=null==e?void 0:e[0]}}),N=e.computed((()=>n.disabled||n.readonly)),x=e.computed((()=>"string"==typeof n.max?Number.parseInt(n.max):n.max)),O=e.computed((()=>n.dropArea&&!N.value)),_=e.computed((()=>!!n.multiple&&(!x.value||x.value-C.value.length>1))),I=e.ref(!1),R=e.ref();function j(){I.value=!0}function E(){I.value=!1}function M(e){var l,t;(null==(l=e.dataTransfer)?void 0:l.files)&&(I.value=!1,z(null==(t=e.dataTransfer)?void 0:t.files))}function F(){var e;(null==(e=R.value)?void 0:e.files)&&(z(R.value.files),R.value.value="")}function z(e){if(!n.multiple)return Array.isArray($.value)?void($.value=[...e]):void($.value=e[0]);let l=[];l=!Array.isArray($.value)&&$.value?[$.value]:$.value&&Array.isArray($.value)?[...$.value]:l;for(const t of e){if(x.value&&l.length>=x.value)break;l.push(t)}$.value=l,K.value=l.length-1}function U(){R.value&&(N.value||R.value.click())}const K=e.ref(0),Y=["image/jpeg","image/png"],ue=e.computed((()=>{if(0===C.value.length)return;if(!C.value[K.value])return;if(C.value[K.value]instanceof File){const e=C.value[K.value];if(!Y.includes(e.type))return;return URL.createObjectURL(e)}const e=C.value[K.value];return e.thumbnailUrl?e.thumbnailUrl:Y.includes(e.type)?e.url:void 0}));function de(e,l){if(!e)return;if(0===e)return"0 Bytes";const t=Math.floor(Math.log(e)/Math.log(1024));return`${Number.parseFloat((e/1024**t).toFixed(2))} ${["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][t]}`}e.watch(ue,((e,l)=>{l&&URL.revokeObjectURL(l)})),e.onBeforeUnmount((()=>{ue.value&&URL.revokeObjectURL(ue.value)}));const se=e.computed((()=>0===C.value.length||_.value?n.labelAdd:n.labelReplace)),ve=e.computed((()=>0===C.value.length||_.value?n.iconAdd:n.iconReplace));function ce({newIndex:e}){null!==e&&(K.value=e)}return(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(B))},[l.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(g)},e.toDisplayString(l.label),9,Q)):e.createCommentVNode("v-if",!0),O.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"vv-input-file__drop-area",onDragenter:e.withModifiers(j,["prevent","stop"]),onDragleave:e.withModifiers(E,["prevent","stop"]),onDrop:e.withModifiers(M,["prevent","stop"]),onDragover:o[0]||(o[0]=e.withModifiers((()=>{}),["prevent","stop"])),onClick:e.withModifiers(U,["stop"])},[e.renderSlot(l.$slots,"drop-area",{},(()=>[e.createElementVNode("picture",W,[ue.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:ue.value,alt:C.value[K.value].name},null,8,X)):e.createCommentVNode("v-if",!0)]),e.unref(v)?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(Z,{key:0,modifiers:"action",label:ue.value?void 0:se.value,title:ue.value?se.value:void 0,disabled:e.unref(c),class:e.normalizeClass({"vv-input-file__drop-area-action":ue.value}),icon:ve.value,onClick:e.withModifiers(U,["stop"])},null,8,["label","title","disabled","class","icon"]))]))],32)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",ee,[e.unref(h)?(e.openBlock(),e.createBlock(G,e.normalizeProps(e.mergeProps({key:0},e.unref(h))),null,16)):e.createCommentVNode("v-if",!0),e.createElementVNode("input",{id:e.unref(g),ref_key:"inputEl",ref:R,type:"file",readonly:e.unref(v),disabled:e.unref(c),placeholder:l.placeholder,"aria-describedby":e.unref(V)?b.value:void 0,"aria-invalid":l.invalid,"aria-errormessage":e.unref(w)?b.value:void 0,multiple:_.value,accept:l.accept,capture:l.capture,name:l.name,onChange:F},null,40,le),y.value?(e.openBlock(),e.createElementBlock("progress",{key:1,class:"vv-input-file__progress",value:l.progress,max:"100"},e.toDisplayString(l.progress)+"% ",9,te)):e.createCommentVNode("v-if",!0),e.unref(k)?(e.openBlock(),e.createBlock(G,e.normalizeProps(e.mergeProps({key:2},e.unref(k))),null,16)):e.createCommentVNode("v-if",!0)]),e.createVNode(e.unref(t),{modelValue:C.value,"onUpdate:modelValue":o[1]||(o[1]=e=>C.value=e),tag:"ul",class:"vv-input-file__list","item-key":"name",move:()=>l.sortable,onEnd:ce},{item:e.withCtx((({element:t,index:o})=>[e.createElementVNode("li",{class:e.normalizeClass(["vv-input-file__item",{active:o===K.value&&O.value&&C.value.length>1,"cursor-move":l.sortable}]),onClick:e.withModifiers((e=>function(e){K.value=e}(o)),["stop"])},[e.unref(S)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"vv-input-file__item-action",title:l.labelDownload,onClick:e.withModifiers((e=>function(e){i("download",e);const l=e instanceof File?URL.createObjectURL(e):e.url;if(!l)return;const t=document.createElement("a");t.href=l,t.setAttribute("download",e.name),document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(t.href)}(t)),["stop"])},[e.createVNode(G,e.normalizeProps(e.guardReactiveProps(e.unref(S))),null,16)],8,ae)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",ne,e.toDisplayString(t.name),1),e.createElementVNode("small",ie,e.toDisplayString(de(t.size)),1),e.unref(v)?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"vv-input-file__item-remove",title:l.labelRemove,disabled:e.unref(c),onClick:e.withModifiers((e=>function(e){const l=Array.isArray($.value)?$.value[e]:$.value;if(!l)return;if(i("remove",l),!Array.isArray($.value))return void($.value=void 0);K.value===e&&(K.value=0);const t=[...$.value];t.splice(e,1),$.value=t}(o)),["stop"])},null,8,re))],10,oe)])),_:1},8,["modelValue","move"]),e.createVNode(e.unref(L),{id:b.value,class:"vv-input-file__hint"},e.createSlots({_:2},[l.$slots.hint?{name:"hint",fn:e.withCtx((()=>[e.renderSlot(l.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(A))))])),key:"0"}:void 0,l.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(l.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(A))))])),key:"1"}:void 0,l.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(l.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(A))))])),key:"2"}:void 0,l.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(l.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(A))))])),key:"3"}:void 0]),1032,["id"])],2))}})}));
|
|
1
|
+
!function(e,l){"object"==typeof exports&&"undefined"!=typeof module?module.exports=l(require("vue"),require("@vueuse/core"),require("vuedraggable"),require("@iconify/vue")):"function"==typeof define&&define.amd?define(["vue","@vueuse/core","vuedraggable","@iconify/vue"],l):(e="undefined"!=typeof globalThis?globalThis:e||self).VvInputFile=l(e.vue,e.core,e.Sortable,e.vue$1)}(this,(function(e,l,t,o){"use strict";var a=(e=>(e.local="local",e.session="session",e))(a||{}),n=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(n||{}),r=(e=>(e.before="before",e.after="after",e))(r||{}),i=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(i||{}),u=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(u||{});const d=Symbol.for("volver"),s=Symbol.for("buttonGroup"),v=Symbol.for("dropdownTrigger"),c=Symbol.for("dropdownAction"),f={to:{type:[String,Object]},href:String,target:String,rel:{type:String,default:"noopener noreferrer"}},p={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},m={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},g={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},b={disabled:{type:Boolean,default:!1}},y={required:{type:Boolean,default:!1}},h={active:{type:Boolean,default:!1}},k={current:{type:Boolean,default:!1}},S={pressed:{type:Boolean,default:!1}},B={label:{type:[String,Number],default:void 0}},L={readonly:{type:Boolean,default:!1}},V={modifiers:{type:[String,Array],default:void 0}},w={hintLabel:{type:String,default:""}},A={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:r.before,validation:e=>Object.values(r).includes(e)}},$={unselectable:{type:Boolean,default:!0}},C={id:[String,Number]};n.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const N={...C,name:{type:String,required:!0}},x={...b,...B,...S,...h,...k,...f,type:{type:String,default:i.button,validator:e=>Object.values(i).includes(e)},ariaLabel:{type:String,default:void 0},defaultTag:{type:String,default:u.button}};a.local;const O="add",_="edit",I="download",P={prefix:"normal"},R={...N,...V,...p,...m,...w,...B,...g,...L,...b,...y,...A,modelValue:{type:Object},progress:{type:[Number,String],default:void 0},placeholder:{type:String,default:void 0},accept:{type:String,default:"*"},multiple:{type:Boolean,default:!1},capture:{type:String,default:void 0,validation:e=>void 0===e||["user","environment"].includes(e)},max:{type:[Number,String],default:void 0},dropArea:{type:Boolean,default:!1},sortable:{type:Boolean,default:!1},labelAdd:{type:String,default:"Add file"},iconAdd:{type:[String,Object],default:O},labelReplace:{type:String,default:"Replace file"},iconReplace:{type:[String,Object],default:_},labelDownload:{type:String,default:"Downlaod file"},iconDownload:{type:[String,Object],default:I},labelRemove:{type:String,default:"Remove file"}};function j(e,l,t){return E(e,l)}function E(e,l){if(e===l)return!0;if(e&&l&&"object"==typeof e&&"object"==typeof l){const t=Array.isArray(e),o=Array.isArray(l);let a,n,r;if(t&&o){if(n=e.length,n!==l.length)return!1;for(a=n;0!=a--;)if(!E(e[a],l[a]))return!1;return!0}if(t!==o)return!1;const i=e instanceof Date,u=l instanceof Date;if(i!==u)return!1;if(i&&u)return e.getTime()===l.getTime();const d=e instanceof RegExp,s=l instanceof RegExp;if(d!==s)return!1;if(d&&s)return e.toString()===l.toString();const v=Object.keys(e);if(n=v.length,n!==Object.keys(l).length)return!1;for(a=n;0!=a--;)if(!Object.prototype.hasOwnProperty.call(l,v[a]))return!1;for(a=n;0!=a--;)if(r=v[a],!E(e[r],l[r]))return!1;return!0}return Number.isNaN(e)&&Number.isNaN(l)}function D(e,l){if(null!=e&&l&&l.length)for(const t of l)if(j(e,t))return!0;return!1}function M(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(l=e)||l instanceof String;var l})).join(" "):e}const F={...x,...C,...V,...$,...g,...A,iconPosition:{type:String,default:n.left,validator:e=>Object.values(n).includes(e)},loadingIcon:{type:String,default:"eos-icons:bubble-loading"},toggle:{type:Boolean,default:!1},value:{type:[String,Number,Boolean],default:void 0},uncheckedValue:{type:[String,Number,Boolean],default:void 0},modelValue:{type:[String,Number,Boolean],default:void 0}};function z(l,t){const{group:o,isInGroup:a,getGroupOrLocalRef:n}=function(l){const t=e.inject(l,void 0),o=e.computed((()=>void 0!==t));return{group:t,isInGroup:o,getGroupOrLocalRef:function(l,o,a){const n=null==t?void 0:t[l];if(n)return e.computed({get:()=>n.value,set(e){n.value=e}});const r=e.toRef(o,l);return e.computed({get:()=>r.value,set(e){a&&a(`update:${l}`,e)}})}}}(s),{id:r,iconPosition:i,icon:u,label:d,pressed:v}=e.toRefs(l),c=n("modelValue",l,t),f=n("toggle",l),p=n("unselectable",l),m=e.computed((()=>(null==o?void 0:o.multiple.value)??!1)),g=e.computed((()=>{let e=l.modifiers,t=null==o?void 0:o.modifiers.value;const a=new Set;return e&&(Array.isArray(e)||(e=e.split(" ")),e.forEach((e=>a.add(e)))),t&&(Array.isArray(t)||(t=t.split(" ")),t.forEach((e=>a.add(e)))),Array.from(a)})),b=e.computed((()=>Boolean(l.disabled||(null==o?void 0:o.disabled.value))));return{group:o,isInGroup:a,modelValue:c,toggle:f,unselectable:p,multiple:m,modifiers:g,disabled:b,id:r,pressed:v,iconPosition:i,icon:u,label:d}}const T=x;function U(){return e.inject(d)}const q=e.defineComponent({name:"VvAction",props:T,emits:["click","mouseover","mouseleave"],setup(l,{expose:t,emit:o}){const a=l,n=o,r=e.getCurrentInstance(),i=U(),d=e.ref(null);t({$el:d});const{reference:s,bus:f,aria:p,expanded:m}=e.inject(v,{});e.watch((()=>d.value),(e=>{s&&(s.value=e)}));const g=e.computed((()=>a.pressed||(null==m?void 0:m.value))),{role:b}=e.inject(c,{}),y=e.computed((()=>{switch(!0){case a.disabled:return u.button;case void 0!==a.to:return(null==i?void 0:i.nuxt)?u.nuxtLink:u.routerLink;case void 0!==a.href:return u.a;default:return a.defaultTag}})),h=e.computed((()=>{const e={...null==p?void 0:p.value,ariaPressed:!!g.value||void 0,ariaLabel:a.ariaLabel,role:null==b?void 0:b.value};switch(y.value){case u.a:return{...e,href:a.href,target:a.target,rel:a.rel};case u.routerLink:case u.nuxtLink:return{...e,to:a.to,target:a.target};case u.button:return{...e,type:a.type,disabled:a.disabled};default:return e}}));function k(e){var l;a.disabled?e.preventDefault():(null==(l=null==r?void 0:r.vnode.props)?void 0:l.onClick)?n("click",e):null==f||f.emit("click",e)}function S(e){var l;(null==(l=null==r?void 0:r.vnode.props)?void 0:l.onMouseover)?n("mouseover",e):null==f||f.emit("mouseover",e)}function B(e){var l;(null==(l=null==r?void 0:r.vnode.props)?void 0:l.onMouseleave)?n("mouseleave",e):null==f||f.emit("mouseleave",e)}return(l,t)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(y)),e.mergeProps(e.unref(h),{ref_key:"element",ref:d,class:{active:l.active,pressed:e.unref(g),disabled:l.disabled,current:l.current},onClickPassive:k,onMouseoverPassive:S,onMouseleavePassive:B}),{default:e.withCtx((()=>[e.renderSlot(l.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(l.label),1)]))])),_:3},16,["class"]))}});function G(l,t,o){return e.computed((()=>{const a={[l]:!0},n="string"==typeof(null==t?void 0:t.value)?t.value.split(" "):null==t?void 0:t.value;return n&&Array.isArray(n)&&n.forEach((e=>{e&&(a[`${l}--${e}`]=!0)})),o&&Object.keys(o.value).forEach((t=>{a[`${l}--${t}`]=e.unref(o.value[t])})),a}))}const H=e.defineComponent({name:"VvIcon",props:e.mergeDefaults({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},P),setup(l){const t=l,a=e.computed((()=>"string"==typeof t.rotate?Number.parseFloat(t.rotate):t.rotate)),n=e.ref(!0),r=U(),{modifiers:i}=e.toRefs(t),u=G("vv-icon",i),d=e.computed((()=>t.provider||(null==r?void 0:r.iconsProvider))),s=e.computed((()=>{const e=t.name??"",l=`@${d.value}:${t.prefix}:${e}`;if(o.iconExists(l))return l;const a=null==r?void 0:r.iconsCollections.find((l=>{const t=`@${d.value}:${l.prefix}:${e}`;return o.iconExists(t)}));return a?`@${d.value}:${a.prefix}:${e}`:e}));function v(e){const l=function(e){let l;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");l=(new e).window}return(l?new l.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),a=(null==l?void 0:l.innerHTML.trim())||"";l&&a&&o.addIcon(`@${d.value}:${t.prefix}:${t.name}`,{body:a,height:l.viewBox.baseVal.height,width:l.viewBox.baseVal.width})}return r&&t.src&&!o.iconExists(`@${d.value}:${t.prefix}:${t.name}`)&&(n.value=!1,r.fetchIcon(t.src).then((e=>{e&&(v(e),n.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),t.svg&&v(t.svg),(l,t)=>e.unref(n)?(e.openBlock(),e.createBlock(e.unref(o.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:l.inline,width:l.width,height:l.height,horizontalFlip:l.horizontalFlip,verticalFlip:l.verticalFlip,flip:l.flip,rotate:e.unref(a),color:l.color,onLoad:l.onLoad,icon:e.unref(s)}),null,16,["class"])):e.createCommentVNode("v-if",!0)}});function J(l){return e.computed((()=>String((null==l?void 0:l.value)||e.useId())))}function K(l,t){const o=e.computed((()=>"string"==typeof(null==l?void 0:l.value)?{name:null==l?void 0:l.value}:null==l?void 0:l.value)),a=e.computed((()=>(null==t?void 0:t.value)===r.before?o.value:void 0)),i=e.computed((()=>(null==t?void 0:t.value)===r.after?o.value:void 0)),u=e.computed((()=>(null==t?void 0:t.value)===n.left?o.value:void 0)),d=e.computed((()=>(null==t?void 0:t.value)===n.right?o.value:void 0)),s=e.computed((()=>(null==t?void 0:t.value)===n.top?o.value:void 0)),v=e.computed((()=>(null==t?void 0:t.value)===n.bottom?o.value:void 0));return{hasIcon:o,hasIconLeft:u,hasIconRight:d,hasIconTop:s,hasIconBottom:v,hasIconBefore:a,hasIconAfter:i}}const Y={key:1,class:"vv-button__label"},Z={key:1,class:"vv-button__label"},Q=e.defineComponent({name:"VvButton",inheritAttrs:!1,props:F,emits:["update:modelValue"],setup(l,{expose:t,emit:o}){const a=l,r=o,i=e.useAttrs(),u=e.useSlots(),{id:d,modifiers:s,iconPosition:v,icon:c,label:f,modelValue:p,disabled:m,toggle:g,unselectable:b}=z(a,r),y=J(d),h=e.computed((()=>(null==i?void 0:i.name)||y.value)),k=e.ref(null);t({$el:e.computed((()=>{var e;return null==(e=k.value)?void 0:e.$el}))});const S=e.computed((()=>g.value?Array.isArray(p.value)?D(h.value,p.value):j(h.value,p.value):a.pressed)),B=G("vv-button",s,e.computed((()=>({reverse:[n.right,n.bottom].includes(v.value),column:[n.top,n.bottom].includes(v.value),"icon-only":Boolean((null==c?void 0:c.value)&&!(null==f?void 0:f.value)&&!u.default)})))),{hasIcon:L}=K(c),V=e.computed((()=>void 0!==a.value?a.value:h.value)),w=e.computed((()=>{if(g.value)return{onClick:A}}));function A(){if(g.value){if(Array.isArray(p.value))return D(V.value,p.value)?void(b.value&&(p.value=p.value.filter((e=>e!==V.value)))):void p.value.push(V.value);if(V.value===p.value&&b.value)return void(p.value=a.uncheckedValue);p.value=V.value}}return(l,t)=>(e.openBlock(),e.createBlock(q,e.mergeProps({...e.unref(i),...e.unref(w),disabled:e.unref(m),pressed:e.unref(S),active:l.active,type:l.type,to:l.to,href:l.href,target:l.target,rel:l.rel,ariaLabel:l.ariaLabel},{id:e.unref(y),ref_key:"element",ref:k,class:e.unref(B)}),{default:e.withCtx((()=>[e.renderSlot(l.$slots,"default",{},(()=>[l.loading?e.renderSlot(l.$slots,"loading",{key:0},(()=>[l.loadingIcon?(e.openBlock(),e.createBlock(H,{key:0,class:"vv-button__loading-icon",name:l.loadingIcon},null,8,["name"])):e.createCommentVNode("v-if",!0),l.loadingLabel?(e.openBlock(),e.createElementBlock("span",Y,e.toDisplayString(l.loadingLabel),1)):e.createCommentVNode("v-if",!0)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(l.$slots,"before"),e.unref(L)?(e.openBlock(),e.createBlock(H,e.mergeProps({key:0},e.unref(L),{class:"vv-button__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.unref(f)?(e.openBlock(),e.createElementBlock("span",Z,[e.renderSlot(l.$slots,"label",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(f)),1)]))])):e.createCommentVNode("v-if",!0),e.renderSlot(l.$slots,"after")],64))]))])),_:3},16,["id","class"]))}});const W=["for"],X={class:"vv-input-file__preview"},ee=["src","alt"],le={class:"vv-input-file__wrapper"},te=["id","readonly","disabled","required","placeholder","aria-describedby","aria-invalid","aria-errormessage","multiple","accept","capture","name"],oe=["value"],ae=["onClick"],ne=["title","onClick"],re={class:"vv-input-file__item-name"},ie={class:"vv-input-file__item-info"},ue=["title","disabled","onClick"];return e.defineComponent({name:"VvInputFile",props:R,emits:["remove","download","update:modelValue"],setup(o,{emit:a}){const n=o,r=a,i=e.useSlots(),u=function(l,t,o){const a=U(),n=e.computed((()=>{var e;if(a&&(null==(e=a.defaults.value)?void 0:e[l]))return a.defaults.value[l]}));return e.computed((()=>{if(void 0===n.value)return o;const e=n.value,l=t,a=o;return Object.keys(l).reduce(((t,o)=>{const n=a[o];if(t[o]=n,o in e){if(Array.isArray(l[o])){const a=l[o];a.length&&a[0]===n&&(t[o]=e[o])}if("function"==typeof l[o]&&(0,l[o])()===n&&(t[o]=e[o]),"object"==typeof l[o]){let a=l[o].default;"function"==typeof a&&(a=a()),"object"==typeof a?JSON.stringify(a)===JSON.stringify(n)&&(t[o]=e[o]):a===n&&(t[o]=e[o])}}return t}),{})}))}("VvInputFile",R,n),{modifiers:d,id:s,readonly:v,disabled:c,icon:f,iconPosition:p,iconDownload:m}=e.toRefs(n),g=J(s),b=e.computed((()=>`${g.value}-hint`)),y=e.computed((()=>{if(!n.progress)return!1;const e="string"==typeof n.progress?Number.parseInt(n.progress):n.progress;return e>0&&e<100})),{hasIconBefore:h,hasIconAfter:k}=K(f,p),{hasIcon:S}=K(m),B=G("vv-input-file",d,e.computed((()=>({valid:!0===n.valid,invalid:!0===n.invalid,loading:n.loading&&!y.value,disabled:n.disabled,required:n.required,readonly:n.readonly,dragging:I.value,"icon-before":!!h.value,"icon-after":!!k.value,"drop-area":O.value})))),{HintSlot:L,hasHintLabelOrSlot:V,hasInvalidLabelOrSlot:w,hintSlotScope:A}=function(l,t){const o=e.computed((()=>e.isRef(l)?l.value:l)),a=e.computed((()=>M(o.value.invalidLabel))),n=e.computed((()=>M(o.value.validLabel))),r=e.computed((()=>o.value.loadingLabel)),i=e.computed((()=>o.value.hintLabel)),u=e.computed((()=>Boolean(o.value.loading&&(t.loading||r.value)))),d=e.computed((()=>!u.value&&Boolean(o.value.invalid&&(t.invalid||a.value)))),s=e.computed((()=>!u.value&&!d.value&&Boolean(o.value.valid&&(t.valid||n.value)))),v=e.computed((()=>!u.value&&!d.value&&!s.value&&Boolean(t.hint||i.value))),c=e.computed((()=>d.value||s.value||u.value||v.value)),f=e.computed((()=>({modelValue:o.value.modelValue,valid:o.value.valid,invalid:o.value.invalid,loading:o.value.loading}))),p=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:c,invalidLabel:a,validLabel:n,loadingLabel:r,hintLabel:i,hasInvalidLabelOrSlot:d,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:v}),render(){var l,t,o,a,n,r,i,u;if(this.isVisible){let d;return this.hasInvalidLabelOrSlot&&(d="alert"),this.hasValidLabelOrSlot&&(d="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:d},(null==(t=(l=this.$slots).loading)?void 0:t.call(l))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:d},(null==(a=(o=this.$slots).invalid)?void 0:a.call(o))??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:d},(null==(r=(n=this.$slots).valid)?void 0:r.call(n))??this.validLabel):e.h(this.tag,{role:d},(null==(u=(i=this.$slots).hint)?void 0:u.call(i))??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:d,hasHintLabelOrSlot:v,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hintSlotScope:f,HintSlot:p}}(u,i),$=l.useVModel(n,"modelValue",r),C=e.computed({get:()=>{var e;return $.value&&(Array.isArray($.value)||(null==(e=$.value)?void 0:e.name))?Array.isArray($.value)?$.value:[$.value]:[]},set:e=>{_.value?$.value=e:$.value=null==e?void 0:e[0]}}),N=e.computed((()=>n.disabled||n.readonly)),x=e.computed((()=>"string"==typeof n.max?Number.parseInt(n.max):n.max)),O=e.computed((()=>n.dropArea&&!N.value)),_=e.computed((()=>!!n.multiple&&(!x.value||x.value-C.value.length>1))),I=e.ref(!1),P=e.ref();function j(){I.value=!0}function E(){I.value=!1}function D(e){var l,t;(null==(l=e.dataTransfer)?void 0:l.files)&&(I.value=!1,z(null==(t=e.dataTransfer)?void 0:t.files))}function F(){var e;(null==(e=P.value)?void 0:e.files)&&(z(P.value.files),P.value.value="")}function z(e){if(!n.multiple)return Array.isArray($.value)?void($.value=[...e]):void($.value=e[0]);let l=[];l=!Array.isArray($.value)&&$.value?[$.value]:$.value&&Array.isArray($.value)?[...$.value]:l;for(const t of e){if(x.value&&l.length>=x.value)break;l.push(t)}$.value=l,q.value=l.length-1}function T(){P.value&&(N.value||P.value.click())}const q=e.ref(0),Y=["image/jpeg","image/png"],Z=e.computed((()=>{if(0===C.value.length)return;if(!C.value[q.value])return;if(C.value[q.value]instanceof File){const e=C.value[q.value];if(!Y.includes(e.type))return;return URL.createObjectURL(e)}const e=C.value[q.value];return e.thumbnailUrl?e.thumbnailUrl:Y.includes(e.type)?e.url:void 0}));function de(e,l){if(!e)return;if(0===e)return"0 Bytes";const t=Math.floor(Math.log(e)/Math.log(1024));return`${Number.parseFloat((e/1024**t).toFixed(2))} ${["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][t]}`}e.watch(Z,((e,l)=>{l&&URL.revokeObjectURL(l)})),e.onBeforeUnmount((()=>{Z.value&&URL.revokeObjectURL(Z.value)}));const se=e.computed((()=>0===C.value.length||_.value?n.labelAdd:n.labelReplace)),ve=e.computed((()=>0===C.value.length||_.value?n.iconAdd:n.iconReplace));function ce({newIndex:e}){null!==e&&(q.value=e)}return(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(B))},[l.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(g)},e.toDisplayString(l.label),9,W)):e.createCommentVNode("v-if",!0),O.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"vv-input-file__drop-area",onDragenter:e.withModifiers(j,["prevent","stop"]),onDragleave:e.withModifiers(E,["prevent","stop"]),onDrop:e.withModifiers(D,["prevent","stop"]),onDragover:o[0]||(o[0]=e.withModifiers((()=>{}),["prevent","stop"])),onClick:e.withModifiers(T,["stop"])},[e.renderSlot(l.$slots,"drop-area",{},(()=>[e.createElementVNode("picture",X,[Z.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:Z.value,alt:C.value[q.value].name},null,8,ee)):e.createCommentVNode("v-if",!0)]),e.unref(v)?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(Q,{key:0,modifiers:"action",label:Z.value?void 0:se.value,title:Z.value?se.value:void 0,disabled:e.unref(c),class:e.normalizeClass({"vv-input-file__drop-area-action":Z.value}),icon:ve.value,onClick:e.withModifiers(T,["stop"])},null,8,["label","title","disabled","class","icon"]))]))],32)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",le,[e.unref(h)?(e.openBlock(),e.createBlock(H,e.normalizeProps(e.mergeProps({key:0},e.unref(h))),null,16)):e.createCommentVNode("v-if",!0),e.createElementVNode("input",{id:e.unref(g),ref_key:"inputEl",ref:P,type:"file",readonly:e.unref(v),disabled:e.unref(c),required:l.required,placeholder:l.placeholder,"aria-describedby":e.unref(V)?b.value:void 0,"aria-invalid":l.invalid,"aria-errormessage":e.unref(w)?b.value:void 0,multiple:_.value,accept:l.accept,capture:l.capture,name:l.name,onChange:F},null,40,te),y.value?(e.openBlock(),e.createElementBlock("progress",{key:1,class:"vv-input-file__progress",value:l.progress,max:"100"},e.toDisplayString(l.progress)+"% ",9,oe)):e.createCommentVNode("v-if",!0),e.unref(k)?(e.openBlock(),e.createBlock(H,e.normalizeProps(e.mergeProps({key:2},e.unref(k))),null,16)):e.createCommentVNode("v-if",!0)]),e.createVNode(e.unref(t),{modelValue:C.value,"onUpdate:modelValue":o[1]||(o[1]=e=>C.value=e),tag:"ul",class:"vv-input-file__list","item-key":"name",move:()=>l.sortable,onEnd:ce},{item:e.withCtx((({element:t,index:o})=>[e.createElementVNode("li",{class:e.normalizeClass(["vv-input-file__item",{active:o===q.value&&O.value&&C.value.length>1,"cursor-move":l.sortable}]),onClick:e.withModifiers((e=>function(e){q.value=e}(o)),["stop"])},[e.unref(S)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"vv-input-file__item-action",title:l.labelDownload,onClick:e.withModifiers((e=>function(e){r("download",e);const l=e instanceof File?URL.createObjectURL(e):e.url;if(!l)return;const t=document.createElement("a");t.href=l,t.setAttribute("download",e.name),document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(t.href)}(t)),["stop"])},[e.createVNode(H,e.normalizeProps(e.guardReactiveProps(e.unref(S))),null,16)],8,ne)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",re,e.toDisplayString(t.name),1),e.createElementVNode("small",ie,e.toDisplayString(de(t.size)),1),e.unref(v)?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"vv-input-file__item-remove",title:l.labelRemove,disabled:e.unref(c),onClick:e.withModifiers((e=>function(e){const l=Array.isArray($.value)?$.value[e]:$.value;if(!l)return;if(r("remove",l),!Array.isArray($.value))return void($.value=void 0);q.value===e&&(q.value=0);const t=[...$.value];t.splice(e,1),$.value=t}(o)),["stop"])},null,8,ue))],10,ae)])),_:1},8,["modelValue","move"]),e.createVNode(e.unref(L),{id:b.value,class:"vv-input-file__hint"},e.createSlots({_:2},[l.$slots.hint?{name:"hint",fn:e.withCtx((()=>[e.renderSlot(l.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(A))))])),key:"0"}:void 0,l.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(l.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(A))))])),key:"1"}:void 0,l.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(l.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(A))))])),key:"2"}:void 0,l.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(l.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(A))))])),key:"3"}:void 0]),1032,["id"])],2))}})}));
|
|
@@ -73,6 +73,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<gl
|
|
|
73
73
|
default: import("../../constants").Position;
|
|
74
74
|
validation: (value: import("../../constants").Position) => boolean;
|
|
75
75
|
};
|
|
76
|
+
required: {
|
|
77
|
+
type: BooleanConstructor;
|
|
78
|
+
default: boolean;
|
|
79
|
+
};
|
|
76
80
|
disabled: {
|
|
77
81
|
type: BooleanConstructor;
|
|
78
82
|
default: boolean;
|
|
@@ -200,6 +204,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<gl
|
|
|
200
204
|
default: import("../../constants").Position;
|
|
201
205
|
validation: (value: import("../../constants").Position) => boolean;
|
|
202
206
|
};
|
|
207
|
+
required: {
|
|
208
|
+
type: BooleanConstructor;
|
|
209
|
+
default: boolean;
|
|
210
|
+
};
|
|
203
211
|
disabled: {
|
|
204
212
|
type: BooleanConstructor;
|
|
205
213
|
default: boolean;
|
|
@@ -260,6 +268,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<gl
|
|
|
260
268
|
progress: string | number;
|
|
261
269
|
icon: string | import("../VvIcon").VvIconProps;
|
|
262
270
|
iconPosition: "before" | "after";
|
|
271
|
+
required: boolean;
|
|
263
272
|
loading: boolean;
|
|
264
273
|
loadingLabel: string;
|
|
265
274
|
multiple: boolean;
|
|
@@ -141,6 +141,10 @@ export declare const VvInputFileProps: {
|
|
|
141
141
|
default: import("../../constants").Position;
|
|
142
142
|
validation: (value: import("../../constants").Position) => boolean;
|
|
143
143
|
};
|
|
144
|
+
required: {
|
|
145
|
+
type: BooleanConstructor;
|
|
146
|
+
default: boolean;
|
|
147
|
+
};
|
|
144
148
|
disabled: {
|
|
145
149
|
type: BooleanConstructor;
|
|
146
150
|
default: boolean;
|
|
@@ -2223,7 +2223,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2223
2223
|
);
|
|
2224
2224
|
function updateMaskValue(newValue) {
|
|
2225
2225
|
var _a;
|
|
2226
|
-
if (newValue === void 0) {
|
|
2226
|
+
if (newValue === void 0 || newValue === null) {
|
|
2227
2227
|
typed.value = "";
|
|
2228
2228
|
unmasked.value = "";
|
|
2229
2229
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("vue-imask"),require("@floating-ui/vue"),require("@vueuse/core"),require("mitt"),require("@iconify/vue")):"function"==typeof define&&define.amd?define(["vue","vue-imask","@floating-ui/vue","@vueuse/core","mitt","@iconify/vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvInputText=t(e.vue,e.vueImask,e.vue$1,e.core,e.mitt,e.vue$2)}(this,(function(e,t,o,l,a,n){"use strict";function i(t){return null==(o=e.unref(t))||""===o||Array.isArray(o)&&0===o.length||!(o instanceof Date)&&"object"==typeof o&&0===Object.keys(o).length;var o}function r(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(t=e)||t instanceof String;var t})).join(" "):e}var u=(e=>(e.local="local",e.session="session",e))(u||{}),s=(e=>(e.absolute="absolute",e.fixed="fixed",e))(s||{}),d=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(d||{}),c=(e=>(e.topStart="top-start",e.topEnd="top-end",e.bottomStart="bottom-start",e.bottomEnd="bottom-end",e.leftStart="left-start",e.leftEnd="left-end",e.rightStart="right-start",e.rightEnd="right-end",e))(c||{}),v=(e=>(e.before="before",e.after="after",e))(v||{}),p=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(p||{}),f=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(f||{}),m=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(m||{}),b=(e=>(e.listbox="listbox",e.menu="menu",e))(b||{}),h=(e=>(e.option="option",e.presentation="presentation",e))(h||{});const g=Symbol.for("volver"),y=Symbol.for("dropdownTrigger"),S=Symbol.for("dropdownItem"),w=Symbol.for("dropdownAction"),k={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},x={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},E={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},L={disabled:{type:Boolean,default:!1}},B={required:{type:Boolean,default:!1}},$={selected:{type:Boolean,default:!1}},C=(Boolean,Boolean,Boolean,{label:{type:[String,Number],default:void 0}}),P={readonly:{type:Boolean,default:!1}},O={modifiers:{type:[String,Array],default:void 0}},N={hintLabel:{type:String,default:""}},T={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},V={debounce:{type:[Number,String],default:void 0}},A={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:v.before,validation:e=>Object.values(v).includes(e)}},_={tabindex:{type:[String,Number],default:0}},D={floating:{type:Boolean,default:!1}},I={unselectable:{type:Boolean,default:!0}},R={id:[String,Number]},M={placement:{type:String,default:d.bottom,validator:e=>Object.values(d).includes(e)||Object.values(c).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(s).includes(e)},transitionName:{type:String,default:void 0},offset:{type:[Number,String,Object],default:0},shift:{type:[Boolean,Object],default:!1},flip:{type:[Boolean,Object],default:!0},size:{type:[Boolean,Object],default:()=>({padding:10})},autoPlacement:{type:[Boolean,Object],default:!1},arrow:{type:Boolean,default:!1},keepOpen:{type:Boolean,default:!1},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean,default:!1}},H={...{...R,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},..._,...L,...P,...k,...x,...N,...E,...O,...T,...V,...A,...D,...C,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},...B};p.button,f.button;const j={storageType:{type:String,default:u.local,validator:e=>Object.values(u).includes(e)},storageKey:String},z={...R,...M,...O,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:b.menu,validator:e=>Object.values(b).includes(e)}},U={focusOnHover:{type:Boolean,default:!1}},F={...L,...$,...I,...O,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};function W(t){return e.computed((()=>String((null==t?void 0:t.value)||e.useId())))}function q(t,o,l){return e.computed((()=>{const a={[t]:!0},n="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return n&&Array.isArray(n)&&n.forEach((e=>{e&&(a[`${t}--${e}`]=!0)})),l&&Object.keys(l.value).forEach((o=>{a[`${t}--${o}`]=e.unref(l.value[o])})),a}))}const K=["id","tabindex","role","aria-labelledby"],X=e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:z,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(t,{expose:n,emit:i}){const r=t,u=i,{id:c}=e.toRefs(r),v=W(c),p=e.useAttrs(),f=e.ref("auto"),m=e.ref("auto"),g=e.ref(),w=e.ref(),k=e.ref(),x=e.ref(),E=e.computed({get:()=>r.reference??g.value,set:e=>{g.value=e}}),L=e.ref(!1);e.onMounted((()=>{l.useMutationObserver(w.value,(()=>{var e;L.value="true"===(null==(e=window.getComputedStyle(w.value).getPropertyValue("--dropdown-custom-position"))?void 0:e.trim())}),{attributeFilter:["style"],window:window})}));const B=e.computed((()=>{const e=[];if(r.autoPlacement?"boolean"==typeof r.autoPlacement?e.push(o.autoPlacement()):e.push(o.autoPlacement(r.autoPlacement)):r.flip&&("boolean"==typeof r.flip?e.push(o.flip({fallbackStrategy:"initialPlacement"})):e.push(o.flip(r.flip))),r.shift&&("boolean"==typeof r.shift?e.push(o.shift()):e.push(o.shift(r.shift))),r.size){const t=({availableWidth:e,availableHeight:t})=>{f.value=`${e}px`,m.value=`${t}px`};"boolean"==typeof r.size?e.push(o.size({apply:t})):e.push(o.size({...r.size,apply:t}))}return r.offset&&(e.push(o.offset(Number(r.offset))),["string","number"].includes(typeof r.offset)?e.push(o.offset(Number(r.offset))):e.push(o.offset(r.offset))),r.arrow&&e.push(o.arrow({element:k})),e})),{x:$,y:C,middlewareData:P,placement:O,strategy:N}=o.useFloating(E,w,{whileElementsMounted:(...e)=>o.autoUpdate(...e,{animationFrame:r.strategy===s.fixed}),placement:e.computed((()=>r.placement)),strategy:e.computed((()=>r.strategy)),middleware:B}),T=e.computed((()=>{var e;if(L.value)return;const t=r.triggerWidth&&E.value?`${null==(e=E.value)?void 0:e.offsetWidth}px`:void 0;return{position:N.value,top:`${C.value??0}px`,left:`${$.value??0}px`,maxWidth:t?void 0:f.value,maxHeight:m.value,width:t}})),V=e.computed((()=>O.value.split("-")[0])),A=e.computed((()=>{var e,t,o,l,a;if(L.value)return;const n={[d.top]:d.bottom,[d.right]:d.left,[d.bottom]:d.top,[d.left]:d.right}[V.value];return{left:void 0!==(null==(e=P.value.arrow)?void 0:e.x)?`${null==(t=P.value.arrow)?void 0:t.x}px`:void 0,top:void 0!==(null==(o=P.value.arrow)?void 0:o.y)?`${null==(l=P.value.arrow)?void 0:l.y}px`:void 0,[n]:-((null==(a=k.value)?void 0:a.offsetWidth)??0)/2+"px"}})),_=l.useVModel(r,"modelValue",u),D=e.ref(!1),I=e.computed({get:()=>_.value??D.value,set:e=>{void 0!==_.value?_.value=e:D.value=e}});function R(){I.value=!0}function M(){I.value=!1}function H(){I.value=!I.value}function j(e){E.value=e}n({toggle:H,show:R,hide:M,init:j,customPosition:L}),e.watch(I,(t=>{t&&r.autofocusFirst&&e.nextTick((()=>{const e=Z(w.value);e.length>0&&e[0].focus({preventScroll:!0})}))})),l.onClickOutside(w,(()=>{!r.keepOpen&&I.value&&(I.value=!1)}),{ignore:[E]});const z=e.computed((()=>{var e,t;return(null==(t=null==(e=E.value)?void 0:e.getAttribute)?void 0:t.call(e,"id"))??void 0})),U=e.computed((()=>({"aria-controls":v.value,"aria-haspopup":!0,"aria-expanded":I.value}))),{component:F,bus:X}=function({reference:t,id:o,expanded:l,aria:n}){const i=a(),r=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(y,{reference:t,id:o,expanded:l,aria:n,bus:i})},render(){var t,o;return e.h(e.Fragment,{},null==(o=(t=this.$slots).default)?void 0:o.call(t))}});return{bus:i,component:r}}({reference:E,id:v,expanded:I,aria:U});X.on("click",H);const{role:J,modifiers:Y}=e.toRefs(r),G=q("vv-dropdown",Y,e.computed((()=>({arrow:r.arrow})))),{focused:Q}=l.useFocusWithin(w);function Z(e){return e?[...e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')].filter((e=>!e.hasAttribute("disabled")&&!e.getAttribute("aria-hidden"))):[]}const ee=l.useElementHover(w),{itemRole:te}=function({role:t,...o}){const l=e.computed((()=>t.value===b.listbox?h.option:h.presentation));return e.provide(S,{role:l,...o}),{itemRole:l}}({role:J,expanded:I,focused:Q,hovered:ee});l.onKeyStroke("Escape",(e=>{I.value&&(e.preventDefault(),M())})),l.onKeyStroke("ArrowDown",(t=>{I.value&&Q.value&&(t.preventDefault(),e.nextTick((()=>{if(Q.value){const e=Z(w.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t<e.length-1?e[t+1].focus({preventScroll:!0}):e[0].focus({preventScroll:!0})}})))})),l.onKeyStroke("ArrowUp",(t=>{I.value&&Q.value&&(t.preventDefault(),e.nextTick((()=>{if(Q.value){const e=Z(w.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t>0?e[t-1].focus({preventScroll:!0}):e[e.length-1].focus({preventScroll:!0})}})))})),l.onKeyStroke([" ","Enter"],(e=>{const t=e.target;I.value&&Q.value&&t&&(null==t||t.click())}));const oe={"before-enter":()=>{u(I.value?"beforeExpand":"beforeCollapse"),u("beforeEnter")},"after-leave":()=>{u(I.value?"afterExpand":"afterCollapse"),u("afterLeave")},enter:()=>{u("enter")},"after-enter":()=>{u("afterEnter")},"enter-cancelled":()=>{u("enterCancelled")},"before-leave":()=>{u("beforeLeave")},leave:()=>{u("leave")},"leave-cancelled":()=>{u("leaveCancelled")}};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(F),null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:j,show:R,hide:M,toggle:H,expanded:e.unref(I),aria:e.unref(U)})))])),_:3}),e.createVNode(e.Transition,e.mergeProps({name:t.transitionName},e.toHandlers(oe),{persisted:""}),{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:w,style:e.normalizeStyle(e.unref(T)),class:e.normalizeClass(e.unref(G))},[r.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:k,style:e.normalizeStyle(e.unref(A)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(I)}))),e.createElementVNode("div",e.mergeProps(e.unref(p),{id:e.unref(v),ref_key:"listEl",ref:x,tabindex:e.unref(I)?void 0:-1,role:e.unref(J),"aria-labelledby":e.unref(z),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(te)})))],16,K),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(I)})))],6),[[e.vShow,e.unref(I)]])])),_:3},16,["name"])],64))}});const J=e.defineComponent({name:"VvDropdownItem",props:U,setup(t){const o=t,{role:a,expanded:n}=e.inject(S,{}),i=e.ref(null);!function({expanded:t}){e.provide(w,{role:e.ref(m.menuitem),expanded:t})}({expanded:n});const r=l.useElementHover(i),{focused:u}=l.useFocus(i),{focused:s}=l.useFocusWithin(i);return e.watch(r,(e=>{e&&o.focusOnHover&&(u.value=!0)})),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(a)},{ref_key:"element",ref:i,class:["vv-dropdown__item",{"focus-visible":e.unref(u)||e.unref(s)}]}),[e.renderSlot(t.$slots,"default")],16))}}),Y=["title"],G=e.defineComponent({name:"VvDropdownOption",props:F,setup(t){const o=t,{modifiers:l}=e.toRefs(o),a=q("vv-dropdown-option",l,e.computed((()=>({disabled:o.disabled,selected:o.selected,unselectable:o.unselectable&&o.selected})))),n=e.computed((()=>o.selected?o.unselectable?o.deselectHintLabel:o.selectedHintLabel:o.disabled?"":o.selectHintLabel));return(t,o)=>(e.openBlock(),e.createBlock(J,{class:e.normalizeClass(e.unref(a)),tabindex:t.disabled?-1:0,"aria-selected":t.selected,"aria-disabled":t.disabled,"focus-on-hover":t.focusOnHover},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default"),e.createElementVNode("span",{class:"vv-dropdown-option__hint",title:e.unref(n)},[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps({disabled:t.disabled,selected:t.selected,unselectable:t.unselectable})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)),1)]))],8,Y)])),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}}),Q="eye-on",Z="eye-off",ee="calendar",te="time",oe="color",le="close",ae="trash",ne={prefix:"normal"};function ie(){return e.inject(g)}const re=e.defineComponent({name:"VvIcon",props:e.mergeDefaults({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},ne),setup(t){const o=t,l=e.computed((()=>"string"==typeof o.rotate?Number.parseFloat(o.rotate):o.rotate)),a=e.ref(!0),i=ie(),{modifiers:r}=e.toRefs(o),u=q("vv-icon",r),s=e.computed((()=>o.provider||(null==i?void 0:i.iconsProvider))),d=e.computed((()=>{const e=o.name??"",t=`@${s.value}:${o.prefix}:${e}`;if(n.iconExists(t))return t;const l=null==i?void 0:i.iconsCollections.find((t=>{const o=`@${s.value}:${t.prefix}:${e}`;return n.iconExists(o)}));return l?`@${s.value}:${l.prefix}:${e}`:e}));function c(e){const t=function(e){let t;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");t=(new e).window}return(t?new t.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),l=(null==t?void 0:t.innerHTML.trim())||"";t&&l&&n.addIcon(`@${s.value}:${o.prefix}:${o.name}`,{body:l,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return i&&o.src&&!n.iconExists(`@${s.value}:${o.prefix}:${o.name}`)&&(a.value=!1,i.fetchIcon(o.src).then((e=>{e&&(c(e),a.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),o.svg&&c(o.svg),(t,o)=>e.unref(a)?(e.openBlock(),e.createBlock(e.unref(n.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:t.inline,width:t.width,height:t.height,horizontalFlip:t.horizontalFlip,verticalFlip:t.verticalFlip,flip:t.flip,rotate:e.unref(l),color:t.color,onLoad:t.onLoad,icon:e.unref(d)}),null,16,["class"])):e.createCommentVNode("v-if",!0)}}),ue={TEXT:"text",PASSWORD:"password",NUMBER:"number",EMAIL:"email",TEL:"tel",URL:"url",COLOR:"color",SEARCH:"search",DATE:"date",TIME:"time",DATETIME_LOCAL:"datetime-local",MONTH:"month",WEEK:"week"},se={...H,...j,modelValue:[String,Number],type:{type:String,default:ue.TEXT,validator:e=>Object.values(ue).includes(e)},min:[Number,Date,String],max:[Number,Date,String],step:{type:[String,Number],default:1},pattern:String,multiple:Boolean,iconShowPassword:{type:[String,Object],default:Q},iconHidePassword:{type:[String,Object],default:Z},iconClear:{type:[String,Object],default:le},iconRemoveSuggestion:{type:[String,Object],default:ae},labelStepUp:{type:String,default:"Increase value"},labelStepDown:{type:String,default:"Decrease value"},labelShowPassword:{type:String,default:"Show password"},labelHidePassword:{type:String,default:"Hide password"},labelClear:{type:String,default:"Clear"},labelRemoveSuggestion:{type:String,default:"Remove suggestion"},iMask:{type:Object,default:void 0},masked:{type:String,default:void 0},autoWidth:{type:Boolean,default:!1},hideActions:{type:Boolean,default:!1},unit:{type:String},selectOnFocus:{type:Boolean,default:!1},maxSuggestions:{type:Number,default:5}};function de(t,o){const l=e.computed((()=>"string"==typeof(null==t?void 0:t.value)?{name:null==t?void 0:t.value}:null==t?void 0:t.value)),a=e.computed((()=>(null==o?void 0:o.value)===v.before?l.value:void 0)),n=e.computed((()=>(null==o?void 0:o.value)===v.after?l.value:void 0)),i=e.computed((()=>(null==o?void 0:o.value)===d.left?l.value:void 0)),r=e.computed((()=>(null==o?void 0:o.value)===d.right?l.value:void 0)),u=e.computed((()=>(null==o?void 0:o.value)===d.top?l.value:void 0)),s=e.computed((()=>(null==o?void 0:o.value)===d.bottom?l.value:void 0));return{hasIcon:l,hasIconLeft:i,hasIconRight:r,hasIconTop:u,hasIconBottom:s,hasIconBefore:a,hasIconAfter:n}}const ce=e.defineComponent({components:{VvIcon:re},props:{disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:[String,Object],default:"close"}},emits:["clear"],setup(t,{emit:o}){const{hasIcon:l}=de(e.computed((()=>t.icon)));return{hasIcon:l,onClick:function(e){null==e||e.stopPropagation(),t.disabled||o("clear")}}},render(){const t=this.hasIcon?e.h(re,{...this.hasIcon,class:"vv-input-text__icon"}):void 0;return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.label,type:"button",onClick:this.onClick},t)}}),ve=e.defineComponent({components:{VvIcon:re},props:{disabled:{type:Boolean,default:!1},labelShow:{type:String,default:"Show password"},labelHide:{type:String,default:"Hide password"},iconShow:{type:[String,Object],default:Q},iconHide:{type:[String,Object],default:Z}},emits:["toggle-password"],setup(t,{emit:o}){const l=e.ref(!1),a=e.computed((()=>l.value?t.iconHide:t.iconShow)),{hasIcon:n}=de(a);return{active:l,activeIcon:a,hasIcon:n,onClick:function(e){null==e||e.stopPropagation(),t.disabled||(l.value=!l.value,o("toggle-password",l.value))}}},render(){const t=this.hasIcon?e.h(re,{...this.hasIcon,class:"vv-input-text__icon"}):void 0;return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.active?this.labelHide:this.labelShow,type:"button",onClick:this.onClick},t)}}),pe=e.defineComponent({components:{VvIcon:re},props:{disabled:{type:Boolean,default:!1},label:{type:String},mode:{type:String,validator:e=>["up","down"].includes(e),default:"up"}},emits:["step-up","step-down"],setup(t,{emit:o}){const l=e.computed((()=>"up"===t.mode));return{isUp:l,onClick:e=>{null==e||e.stopPropagation(),t.disabled||o(l.value?"step-up":"step-down")}}},render(){return e.h("button",{class:["vv-input-text__action vv-input-text__action-chevron",this.isUp&&"vv-input-text__action-chevron-up"],disabled:this.disabled,ariaLabel:this.label,type:"button",onClick:this.onClick})}});function fe(t,o){return{name:"VvInputTextActions",components:{VvIcon:re,VvInputPasswordAction:ve,VvInputStepAction:pe,VvInputClearAction:ce},setup:()=>({isDisabled:e.computed((()=>o.disabled||o.readonly)),labelStepUp:o.labelStepUp,labelStepDown:o.labelStepDown,labelShowPassword:o.labelShowPassword,labelHidePassword:o.labelHidePassword,labelClear:o.labelClear,iconShowPassword:o.iconShowPassword,iconHidePassword:o.iconHidePassword}),render(){let l=null;switch(t){case ue.SEARCH:{const{onClear:t}=this.$attrs;l=[e.h(ce,{disabled:this.isDisabled,label:this.labelShowPassword,onClear:t})];break}case ue.PASSWORD:{const{onTogglePassword:t}=this.$attrs;l=[e.h(ve,{disabled:this.isDisabled,onTogglePassword:t,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case ue.NUMBER:{const{onStepUp:t,onStepDown:a}=this.$attrs;l=[e.h(pe,{mode:"up",disabled:this.isDisabled||void 0!==o.max&&o.modelValue===o.max,label:this.labelStepUp,onStepUp:t,onStepDown:a}),e.h(pe,{mode:"down",disabled:this.isDisabled||void 0!==o.min&&o.modelValue===o.min,label:this.labelStepDown,onStepUp:t,onStepDown:a})];break}}return Array.isArray(l)?e.h("div",{class:"vv-input-text__actions-group"},l):l}}}const me=["for"],be={key:0,class:"vv-input-text__input-before"},he=["id"],ge={key:1,class:"vv-input-text__unit"},ye={key:5,class:"vv-input-text__input-after"},Se={key:6,class:"vv-input-text__limit"},we={class:"flex-1"},ke=["title","onClick"];return e.defineComponent({name:"VvInputText",props:se,emits:["update:modelValue","update:masked","accept","accept:typed","accept:masked","accept:unmasked","complete","complete:typed","complete:masked","complete:unmasked","focus","blur","keyup","keydown","keypress"],setup(o,{expose:a,emit:n}){const s=o,d=n,c=e.useSlots(),v=function(t,o,l){const a=ie(),n=e.computed((()=>{var e;if(a&&(null==(e=a.defaults.value)?void 0:e[t]))return a.defaults.value[t]}));return e.computed((()=>{if(void 0===n.value)return l;const e=n.value,t=o,a=l;return Object.keys(t).reduce(((o,l)=>{const n=a[l];if(o[l]=n,l in e){if(Array.isArray(t[l])){const a=t[l];a.length&&a[0]===n&&(o[l]=e[l])}if("function"==typeof t[l]&&(0,t[l])()===n&&(o[l]=e[l]),"object"==typeof t[l]){let a=t[l].default;"function"==typeof a&&(a=a()),"object"==typeof a?JSON.stringify(a)===JSON.stringify(n)&&(o[l]=e[l]):a===n&&(o[l]=e[l])}}return o}),{})}))}("VvInputText",se,s),{count:p,debounce:f,icon:m,iconPosition:b,iconRemoveSuggestion:h,id:g,invalid:y,label:S,loading:w,maxlength:k,minlength:x,modelValue:E,step:L,storageKey:B,storageType:$,type:C,valid:P}=e.toRefs(s),O=W(g),N=e.computed((()=>`${O.value}-hint`)),T=e.computed((()=>s.floating&&i(s.placeholder)?" ":s.placeholder)),V=function(t,o,l=0,{getter:a=e=>e,setter:n=e=>e}={}){let i;return"string"==typeof l&&(l=Number.parseInt(l)),e.computed({get:()=>a(null==t?void 0:t.value),set:e=>{i&&clearTimeout(i),i=setTimeout((()=>{o("update:modelValue",n(e))}),l)}})}(E,d,(null==f?void 0:f.value)??0),A=/^-0?[.,]?[0*]?$/,_=e.ref(!1),{el:D,mask:I,typed:R,masked:M,unmasked:H}=t.useIMask(e.computed((()=>{if(!s.iMask)return{mask:/./};if(s.iMask.mask===Number){const e={...s.iMask};return s.min&&(e.min=Number(s.min)),s.max&&(e.max=Number(s.max)),e}return s.iMask})),{emit:d,onAccept:()=>{if(_.value){if(d("update:masked",M.value),C.value===ue.NUMBER){if(/^-$|^$/.test(H.value)){if(null===V.value||void 0===V.value)return;return void(V.value=void 0)}return A.test(H.value)?void(V.value=0):"number"!=typeof R.value?void(V.value=Number(R.value)):void(V.value=R.value)}if(C.value===ue.DATE){if(D.value instanceof HTMLInputElement&&"date"===D.value.type)return void(V.value=D.value.value);let e=R.value;if(null===e||""===e){if(!V.value)return;return void(V.value="")}return e instanceof Date||(e=new Date(e)),void(V.value=`${e.getFullYear()}-${`0${e.getMonth()+1}`.slice(-2)}-${`0${e.getDate()}`.slice(-2)}`)}if(C.value===ue.DATETIME_LOCAL){if(D.value instanceof HTMLInputElement&&"datetime-local"===D.value.type)return void(V.value=D.value.value);let e=R.value;if(null===e||""===e){if(!V.value)return;return void(V.value="")}return R.value instanceof Date||(e=new Date(e)),void(V.value=`${e.getFullYear()}-${`0${e.getMonth()+1}`.slice(-2)}-${`0${e.getDate()}`.slice(-2)}T${`0${e.getHours()}`.slice(-2)}:${`0${e.getMinutes()}`.slice(-2)}`)}(V.value||H.value)&&(V.value=H.value)}}});function j(e){var t;if(void 0===e)return R.value="",void(H.value="");(null==(t=s.iMask)?void 0:t.mask)!==Date?C.value===ue.NUMBER&&A.test(H.value)&&0===e||(R.value=e,H.value=`${R.value}`):R.value=new Date(e)}e.onMounted((()=>{I.value&&(_.value=!0,j(s.modelValue))})),e.watch((()=>s.modelValue),(e=>{I.value&&j(e)})),e.watch((()=>s.masked),(e=>{M.value=e??""}));const z=D,U=e.ref(),F=e.ref(),K=e.ref();a({$inner:U});const{focused:J}=function(t,o){const{focused:a}=l.useFocus(t);return e.watch(a,(l=>{o(l?"focus":"blur",e.unref(t))})),{focused:a}}(z,d),Y=e.computed((()=>J.value&&!s.disabled&&!s.readonly));e.watch(Y,(e=>{var t;e&&v.value.selectOnFocus&&z.value&&z.value.select(),e?null==(t=K.value)||t.show():setTimeout((()=>{if(Te.value&&Ae.value){const e=s.maxSuggestions-1;Ae.value.size>e&&!Ae.value.has(V.value)&&(Ae.value=new Set([...Ae.value].slice(Ae.value.size-e))),Ae.value.add(V.value)}}),300)}));const Q=l.useElementVisibility(z);e.watch(Q,(e=>{e&&s.autofocus&&!s.disabled&&!s.readonly&&(J.value=!0)}));const Z=e.ref(!1),le=e.computed((()=>s.type===ue.PASSWORD));function ae(){Z.value=!Z.value}const ne=e.computed((()=>s.type===ue.TIME||s.type===ue.DATETIME_LOCAL||s.type===ue.DATE||s.type===ue.WEEK||s.type===ue.MONTH)),ce=e.computed((()=>s.type===ue.NUMBER));function ve(){if(Oe.value){if(s.iMask)return void(R.value=Number(R.value)+Number((null==L?void 0:L.value)??1));z.value.stepUp(),V.value=Number(e.unref(z).value)}}function pe(){if(Oe.value){if(s.iMask)return void(R.value=Number(R.value)-Number((null==L?void 0:L.value)??1));z.value.stepDown(),V.value=Number(e.unref(z).value)}}const xe=e.computed((()=>s.type===ue.SEARCH));function Ee(){V.value=""}const{hasIconBefore:Le,hasIconAfter:Be}=de(m,b),$e=e.computed((()=>{if(void 0!==Be.value)return Be.value;switch(s.type){case ue.COLOR:return{name:oe};case ue.DATE:case ue.DATETIME_LOCAL:case ue.WEEK:case ue.MONTH:return{name:ee};case ue.TIME:return{name:te}}})),{hasIcon:Ce}=de(h),{formatted:Pe}=function(t,o){const l=e.computed((()=>(e.unref(t)??"").length)),a=e.computed((()=>void 0!==(null==o?void 0:o.lowerLimit)&&l.value<(null==o?void 0:o.lowerLimit)?l.value-o.lowerLimit:void 0!==(null==o?void 0:o.upperLimit)&&l.value<(null==o?void 0:o.upperLimit)?o.upperLimit-l.value:0)),n=e.computed((()=>{if(!1===(null==o?void 0:o.mode))return"";if("limit"===(null==o?void 0:o.mode)&&(null==o?void 0:o.upperLimit))return`${l.value} / ${o.lowerLimit?`${o.lowerLimit}-`:""}${o.upperLimit}`;if("countdown"===(null==o?void 0:o.mode)){if(0===a.value)return;return a}return l.value}));return{length:l,gap:a,formatted:n}}(V,{mode:p.value,upperLimit:Number(null==k?void 0:k.value),lowerLimit:Number(null==x?void 0:x.value)}),Oe=e.computed((()=>!s.disabled&&!s.readonly)),Ne=e.computed((()=>Oe.value?s.tabindex:-1)),Te=e.computed((()=>!i(E))),Ve=e.computed((()=>!0===y.value||!0!==P.value&&void 0)),Ae=function(t,o=u.local,a){const n=e.ref();let i;return a&&(n.value=a),t&&e.watch(t,((t,a)=>{const r=e.unref(o)===u.session?sessionStorage:localStorage;a&&a!==t&&r.removeItem(a),i=t?l.useStorage(t,(null==i?void 0:i.value)??n.value,r):void 0}),{immediate:!0}),e.isRef(o)&&e.watch(o,((e,o)=>{if(null==t?void 0:t.value){if(e){const o=e===u.session?sessionStorage:localStorage;i=l.useStorage(t.value,(null==i?void 0:i.value)??n.value,o)}o&&o!==e&&(o===u.session?sessionStorage:localStorage).removeItem(t.value)}})),e.computed({get:()=>(null==i?void 0:i.value)??n.value,set:e=>{i?i.value=e:n.value=e}})}(B,$,new Set),_e=e.computed((()=>Ae.value?[...Ae.value].filter((e=>i(V.value)||`${e}`.toLowerCase().includes(`${V.value}`.toLowerCase())&&e!==V.value)).reverse():[])),De=e.computed((()=>(null==B?void 0:B.value)&&Ae.value&&Ae.value.size>0));const{modifiers:Ie}=e.toRefs(s),Re=q("vv-input-text",Ie,e.computed((()=>({valid:P.value,invalid:y.value,loading:w.value,disabled:s.disabled,required:s.required,readonly:s.readonly,"icon-before":!!Le.value,"icon-after":!!$e.value,floating:s.floating&&!i(s.label),dirty:Te.value,focus:Y.value,"auto-width":s.autoWidth})))),Me=e.computed((()=>{const e=le.value&&Z.value?ue.TEXT:!ne.value||Te.value||J.value?s.iMask?ue.TEXT:s.type:ue.TEXT,t={type:e,name:s.name,tabindex:Ne.value,disabled:s.disabled,readonly:s.readonly,required:s.required,autocomplete:s.autocomplete,"aria-invalid":Ve.value,"aria-describedby":ze.value?N.value:void 0,"aria-errormessage":Ue.value?N.value:void 0};if(e===ue.DATE||e===ue.MONTH||e===ue.WEEK||e===ue.TIME||e===ue.DATETIME_LOCAL||e===ue.NUMBER){let o=s.max;e!==ue.DATE||o||(o="9999-12-31"),t.step=s.step,t.max=void 0!==o?String(o):void 0,t.min=void 0!==s.min?String(s.min):void 0}return e!==ue.TEXT&&e!==ue.SEARCH&&e!==ue.URL&&e!==ue.TEL&&e!==ue.EMAIL&&e!==ue.PASSWORD&&e!==ue.NUMBER||(t.placeholder=T.value),e!==ue.TEXT&&e!==ue.SEARCH&&e!==ue.URL&&e!==ue.TEL&&e!==ue.EMAIL&&e!==ue.PASSWORD||(t.minlength=s.minlength,t.maxlength=s.maxlength,t.pattern=s.pattern),e===ue.EMAIL&&(t.multiple=s.multiple),t})),He=e.computed((()=>({valid:s.valid,invalid:s.invalid,modelValue:s.modelValue,togglePassword:ae,stepUp:ve,stepDown:pe,clear:Ee}))),{HintSlot:je,hasHintLabelOrSlot:ze,hasInvalidLabelOrSlot:Ue,hintSlotScope:Fe}=function(t,o){const l=e.computed((()=>e.isRef(t)?t.value:t)),a=e.computed((()=>r(l.value.invalidLabel))),n=e.computed((()=>r(l.value.validLabel))),i=e.computed((()=>l.value.loadingLabel)),u=e.computed((()=>l.value.hintLabel)),s=e.computed((()=>Boolean(l.value.loading&&(o.loading||i.value)))),d=e.computed((()=>!s.value&&Boolean(l.value.invalid&&(o.invalid||a.value)))),c=e.computed((()=>!s.value&&!d.value&&Boolean(l.value.valid&&(o.valid||n.value)))),v=e.computed((()=>!s.value&&!d.value&&!c.value&&Boolean(o.hint||u.value))),p=e.computed((()=>d.value||c.value||s.value||v.value)),f=e.computed((()=>({modelValue:l.value.modelValue,valid:l.value.valid,invalid:l.value.invalid,loading:l.value.loading}))),m=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:p,invalidLabel:a,validLabel:n,loadingLabel:i,hintLabel:u,hasInvalidLabelOrSlot:d,hasValidLabelOrSlot:c,hasLoadingLabelOrSlot:s,hasHintLabelOrSlot:v}),render(){var t,o,l,a,n,i,r,u;if(this.isVisible){let s;return this.hasInvalidLabelOrSlot&&(s="alert"),this.hasValidLabelOrSlot&&(s="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:s},(null==(o=(t=this.$slots).loading)?void 0:o.call(t))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:s},(null==(a=(l=this.$slots).invalid)?void 0:a.call(l))??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:s},(null==(i=(n=this.$slots).valid)?void 0:i.call(n))??this.validLabel):e.h(this.tag,{role:s},(null==(u=(r=this.$slots).hint)?void 0:u.call(r))??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:d,hasHintLabelOrSlot:v,hasValidLabelOrSlot:c,hasLoadingLabelOrSlot:s,hintSlotScope:f,HintSlot:m}}(v,c),We=fe(ue.PASSWORD,s),qe=fe(ue.NUMBER,s),Ke=fe(ue.SEARCH,s);function Xe(){Oe.value&&(J.value=!0)}const Je=e.computed((()=>{if(s.autoWidth)return{width:void 0!==V.value?`${String(V.value).length+1}ch`:void 0}}));function Ye(e){switch(e.code){case"ArrowUp":ce.value&&(ve(),e.preventDefault());break;case"ArrowDown":ce.value&&(pe(),e.preventDefault())}d("keydown",e)}return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(Re))},[e.unref(S)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(O),class:"vv-input-text__label"},e.toDisplayString(e.unref(S)),9,me)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"wrapperEl",ref:F,class:"vv-input-text__wrapper"},[t.$slots.before?(e.openBlock(),e.createElementBlock("div",be,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(He))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"innerEl",ref:U,class:"vv-input-text__inner",onClick:e.withModifiers(Xe,["stop"])},[e.unref(Le)?(e.openBlock(),e.createBlock(re,e.mergeProps({key:0},e.unref(Le),{class:"vv-input-text__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(O),ref_key:"inputEl",ref:z},e.unref(Me),{style:e.unref(Je),onKeyup:o[0]||(o[0]=e=>d("keyup",e)),onKeydown:Ye,onKeypress:o[1]||(o[1]=e=>d("keypress",e))}),null,16,he),(t.unit||t.$slots.unit)&&e.unref(Te)?(e.openBlock(),e.createElementBlock("div",ge,[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps(e.unref(He))),(()=>[e.createTextVNode(e.toDisplayString(t.unit),1)]))])):e.createCommentVNode("v-if",!0)],512),e.unref($e)?(e.openBlock(),e.createBlock(re,e.mergeProps({key:1},e.unref($e),{class:"vv-input-text__icon vv-input-text__icon-after"}),null,16)):e.unref(le)&&!t.hideActions&&e.unref(Oe)?(e.openBlock(),e.createBlock(e.unref(We),{key:2,onTogglePassword:ae})):e.unref(ce)&&!t.hideActions&&e.unref(Oe)?(e.openBlock(),e.createBlock(e.unref(qe),{key:3,onStepUp:ve,onStepDown:pe})):e.unref(xe)&&!t.hideActions&&e.unref(Oe)?(e.openBlock(),e.createBlock(e.unref(Ke),{key:4,onClear:Ee})):e.createCommentVNode("v-if",!0),t.$slots.after?(e.openBlock(),e.createElementBlock("div",ye,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(He))))])):e.createCommentVNode("v-if",!0),e.unref(p)?(e.openBlock(),e.createElementBlock("span",Se,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(He))),(()=>[e.createTextVNode(e.toDisplayString(e.unref(Pe)),1)]))])):e.createCommentVNode("v-if",!0)],512),e.createVNode(e.unref(je),{id:e.unref(N),class:"vv-input-text__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"3"}:void 0]),1032,["id"]),e.unref(De)?(e.openBlock(),e.createBlock(X,{key:1,ref_key:"dropdownEl",ref:K,reference:e.unref(F),"autofocus-first":!1,"trigger-width":!0},{items:e.withCtx((()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(_e),(o=>(e.openBlock(),e.createBlock(G,{key:o,onClick:e.withModifiers((e=>{return t=o,V.value=t,void(null==(l=K.value)||l.hide());var t,l}),["stop"])},{default:e.withCtx((()=>[e.createElementVNode("div",we,[e.renderSlot(t.$slots,"suggestion",e.mergeProps({ref_for:!0},{value:o}),(()=>[e.createTextVNode(e.toDisplayString(o),1)]))]),e.unref(Ae)&&e.unref(Ce)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",tabindex:"-1",class:"cursor-pointer",title:t.labelRemoveSuggestion,onClick:e.withModifiers((e=>{return t=o,void(null==(l=Ae.value)||l.delete(t));var t,l}),["stop"])},[e.createVNode(re,e.mergeProps({ref_for:!0},e.unref(Ce)),null,16)],8,ke)):e.createCommentVNode("v-if",!0)])),_:2},1032,["onClick"])))),128))])),_:3},8,["reference"])):e.createCommentVNode("v-if",!0)],2))}})}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("vue-imask"),require("@floating-ui/vue"),require("@vueuse/core"),require("mitt"),require("@iconify/vue")):"function"==typeof define&&define.amd?define(["vue","vue-imask","@floating-ui/vue","@vueuse/core","mitt","@iconify/vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvInputText=t(e.vue,e.vueImask,e.vue$1,e.core,e.mitt,e.vue$2)}(this,(function(e,t,o,l,a,n){"use strict";function i(t){return null==(o=e.unref(t))||""===o||Array.isArray(o)&&0===o.length||!(o instanceof Date)&&"object"==typeof o&&0===Object.keys(o).length;var o}function r(e){return Array.isArray(e)?e.filter((e=>{return"string"==typeof(t=e)||t instanceof String;var t})).join(" "):e}var u=(e=>(e.local="local",e.session="session",e))(u||{}),s=(e=>(e.absolute="absolute",e.fixed="fixed",e))(s||{}),d=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(d||{}),c=(e=>(e.topStart="top-start",e.topEnd="top-end",e.bottomStart="bottom-start",e.bottomEnd="bottom-end",e.leftStart="left-start",e.leftEnd="left-end",e.rightStart="right-start",e.rightEnd="right-end",e))(c||{}),v=(e=>(e.before="before",e.after="after",e))(v||{}),p=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(p||{}),f=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(f||{}),m=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(m||{}),b=(e=>(e.listbox="listbox",e.menu="menu",e))(b||{}),h=(e=>(e.option="option",e.presentation="presentation",e))(h||{});const g=Symbol.for("volver"),y=Symbol.for("dropdownTrigger"),S=Symbol.for("dropdownItem"),w=Symbol.for("dropdownAction"),k={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},x={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},E={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},L={disabled:{type:Boolean,default:!1}},B={required:{type:Boolean,default:!1}},$={selected:{type:Boolean,default:!1}},C=(Boolean,Boolean,Boolean,{label:{type:[String,Number],default:void 0}}),P={readonly:{type:Boolean,default:!1}},O={modifiers:{type:[String,Array],default:void 0}},N={hintLabel:{type:String,default:""}},T={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},V={debounce:{type:[Number,String],default:void 0}},A={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:v.before,validation:e=>Object.values(v).includes(e)}},_={tabindex:{type:[String,Number],default:0}},D={floating:{type:Boolean,default:!1}},I={unselectable:{type:Boolean,default:!0}},R={id:[String,Number]},M={placement:{type:String,default:d.bottom,validator:e=>Object.values(d).includes(e)||Object.values(c).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(s).includes(e)},transitionName:{type:String,default:void 0},offset:{type:[Number,String,Object],default:0},shift:{type:[Boolean,Object],default:!1},flip:{type:[Boolean,Object],default:!0},size:{type:[Boolean,Object],default:()=>({padding:10})},autoPlacement:{type:[Boolean,Object],default:!1},arrow:{type:Boolean,default:!1},keepOpen:{type:Boolean,default:!1},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean,default:!1}},H={...{...R,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},..._,...L,...P,...k,...x,...N,...E,...O,...T,...V,...A,...D,...C,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},...B};p.button,f.button;const j={storageType:{type:String,default:u.local,validator:e=>Object.values(u).includes(e)},storageKey:String},z={...R,...M,...O,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:b.menu,validator:e=>Object.values(b).includes(e)}},U={focusOnHover:{type:Boolean,default:!1}},F={...L,...$,...I,...O,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};function W(t){return e.computed((()=>String((null==t?void 0:t.value)||e.useId())))}function q(t,o,l){return e.computed((()=>{const a={[t]:!0},n="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return n&&Array.isArray(n)&&n.forEach((e=>{e&&(a[`${t}--${e}`]=!0)})),l&&Object.keys(l.value).forEach((o=>{a[`${t}--${o}`]=e.unref(l.value[o])})),a}))}const K=["id","tabindex","role","aria-labelledby"],X=e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:z,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(t,{expose:n,emit:i}){const r=t,u=i,{id:c}=e.toRefs(r),v=W(c),p=e.useAttrs(),f=e.ref("auto"),m=e.ref("auto"),g=e.ref(),w=e.ref(),k=e.ref(),x=e.ref(),E=e.computed({get:()=>r.reference??g.value,set:e=>{g.value=e}}),L=e.ref(!1);e.onMounted((()=>{l.useMutationObserver(w.value,(()=>{var e;L.value="true"===(null==(e=window.getComputedStyle(w.value).getPropertyValue("--dropdown-custom-position"))?void 0:e.trim())}),{attributeFilter:["style"],window:window})}));const B=e.computed((()=>{const e=[];if(r.autoPlacement?"boolean"==typeof r.autoPlacement?e.push(o.autoPlacement()):e.push(o.autoPlacement(r.autoPlacement)):r.flip&&("boolean"==typeof r.flip?e.push(o.flip({fallbackStrategy:"initialPlacement"})):e.push(o.flip(r.flip))),r.shift&&("boolean"==typeof r.shift?e.push(o.shift()):e.push(o.shift(r.shift))),r.size){const t=({availableWidth:e,availableHeight:t})=>{f.value=`${e}px`,m.value=`${t}px`};"boolean"==typeof r.size?e.push(o.size({apply:t})):e.push(o.size({...r.size,apply:t}))}return r.offset&&(e.push(o.offset(Number(r.offset))),["string","number"].includes(typeof r.offset)?e.push(o.offset(Number(r.offset))):e.push(o.offset(r.offset))),r.arrow&&e.push(o.arrow({element:k})),e})),{x:$,y:C,middlewareData:P,placement:O,strategy:N}=o.useFloating(E,w,{whileElementsMounted:(...e)=>o.autoUpdate(...e,{animationFrame:r.strategy===s.fixed}),placement:e.computed((()=>r.placement)),strategy:e.computed((()=>r.strategy)),middleware:B}),T=e.computed((()=>{var e;if(L.value)return;const t=r.triggerWidth&&E.value?`${null==(e=E.value)?void 0:e.offsetWidth}px`:void 0;return{position:N.value,top:`${C.value??0}px`,left:`${$.value??0}px`,maxWidth:t?void 0:f.value,maxHeight:m.value,width:t}})),V=e.computed((()=>O.value.split("-")[0])),A=e.computed((()=>{var e,t,o,l,a;if(L.value)return;const n={[d.top]:d.bottom,[d.right]:d.left,[d.bottom]:d.top,[d.left]:d.right}[V.value];return{left:void 0!==(null==(e=P.value.arrow)?void 0:e.x)?`${null==(t=P.value.arrow)?void 0:t.x}px`:void 0,top:void 0!==(null==(o=P.value.arrow)?void 0:o.y)?`${null==(l=P.value.arrow)?void 0:l.y}px`:void 0,[n]:-((null==(a=k.value)?void 0:a.offsetWidth)??0)/2+"px"}})),_=l.useVModel(r,"modelValue",u),D=e.ref(!1),I=e.computed({get:()=>_.value??D.value,set:e=>{void 0!==_.value?_.value=e:D.value=e}});function R(){I.value=!0}function M(){I.value=!1}function H(){I.value=!I.value}function j(e){E.value=e}n({toggle:H,show:R,hide:M,init:j,customPosition:L}),e.watch(I,(t=>{t&&r.autofocusFirst&&e.nextTick((()=>{const e=Z(w.value);e.length>0&&e[0].focus({preventScroll:!0})}))})),l.onClickOutside(w,(()=>{!r.keepOpen&&I.value&&(I.value=!1)}),{ignore:[E]});const z=e.computed((()=>{var e,t;return(null==(t=null==(e=E.value)?void 0:e.getAttribute)?void 0:t.call(e,"id"))??void 0})),U=e.computed((()=>({"aria-controls":v.value,"aria-haspopup":!0,"aria-expanded":I.value}))),{component:F,bus:X}=function({reference:t,id:o,expanded:l,aria:n}){const i=a(),r=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(y,{reference:t,id:o,expanded:l,aria:n,bus:i})},render(){var t,o;return e.h(e.Fragment,{},null==(o=(t=this.$slots).default)?void 0:o.call(t))}});return{bus:i,component:r}}({reference:E,id:v,expanded:I,aria:U});X.on("click",H);const{role:J,modifiers:Y}=e.toRefs(r),G=q("vv-dropdown",Y,e.computed((()=>({arrow:r.arrow})))),{focused:Q}=l.useFocusWithin(w);function Z(e){return e?[...e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')].filter((e=>!e.hasAttribute("disabled")&&!e.getAttribute("aria-hidden"))):[]}const ee=l.useElementHover(w),{itemRole:te}=function({role:t,...o}){const l=e.computed((()=>t.value===b.listbox?h.option:h.presentation));return e.provide(S,{role:l,...o}),{itemRole:l}}({role:J,expanded:I,focused:Q,hovered:ee});l.onKeyStroke("Escape",(e=>{I.value&&(e.preventDefault(),M())})),l.onKeyStroke("ArrowDown",(t=>{I.value&&Q.value&&(t.preventDefault(),e.nextTick((()=>{if(Q.value){const e=Z(w.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t<e.length-1?e[t+1].focus({preventScroll:!0}):e[0].focus({preventScroll:!0})}})))})),l.onKeyStroke("ArrowUp",(t=>{I.value&&Q.value&&(t.preventDefault(),e.nextTick((()=>{if(Q.value){const e=Z(w.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t>0?e[t-1].focus({preventScroll:!0}):e[e.length-1].focus({preventScroll:!0})}})))})),l.onKeyStroke([" ","Enter"],(e=>{const t=e.target;I.value&&Q.value&&t&&(null==t||t.click())}));const oe={"before-enter":()=>{u(I.value?"beforeExpand":"beforeCollapse"),u("beforeEnter")},"after-leave":()=>{u(I.value?"afterExpand":"afterCollapse"),u("afterLeave")},enter:()=>{u("enter")},"after-enter":()=>{u("afterEnter")},"enter-cancelled":()=>{u("enterCancelled")},"before-leave":()=>{u("beforeLeave")},leave:()=>{u("leave")},"leave-cancelled":()=>{u("leaveCancelled")}};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(F),null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:j,show:R,hide:M,toggle:H,expanded:e.unref(I),aria:e.unref(U)})))])),_:3}),e.createVNode(e.Transition,e.mergeProps({name:t.transitionName},e.toHandlers(oe),{persisted:""}),{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:w,style:e.normalizeStyle(e.unref(T)),class:e.normalizeClass(e.unref(G))},[r.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:k,style:e.normalizeStyle(e.unref(A)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(I)}))),e.createElementVNode("div",e.mergeProps(e.unref(p),{id:e.unref(v),ref_key:"listEl",ref:x,tabindex:e.unref(I)?void 0:-1,role:e.unref(J),"aria-labelledby":e.unref(z),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(te)})))],16,K),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(I)})))],6),[[e.vShow,e.unref(I)]])])),_:3},16,["name"])],64))}});const J=e.defineComponent({name:"VvDropdownItem",props:U,setup(t){const o=t,{role:a,expanded:n}=e.inject(S,{}),i=e.ref(null);!function({expanded:t}){e.provide(w,{role:e.ref(m.menuitem),expanded:t})}({expanded:n});const r=l.useElementHover(i),{focused:u}=l.useFocus(i),{focused:s}=l.useFocusWithin(i);return e.watch(r,(e=>{e&&o.focusOnHover&&(u.value=!0)})),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(a)},{ref_key:"element",ref:i,class:["vv-dropdown__item",{"focus-visible":e.unref(u)||e.unref(s)}]}),[e.renderSlot(t.$slots,"default")],16))}}),Y=["title"],G=e.defineComponent({name:"VvDropdownOption",props:F,setup(t){const o=t,{modifiers:l}=e.toRefs(o),a=q("vv-dropdown-option",l,e.computed((()=>({disabled:o.disabled,selected:o.selected,unselectable:o.unselectable&&o.selected})))),n=e.computed((()=>o.selected?o.unselectable?o.deselectHintLabel:o.selectedHintLabel:o.disabled?"":o.selectHintLabel));return(t,o)=>(e.openBlock(),e.createBlock(J,{class:e.normalizeClass(e.unref(a)),tabindex:t.disabled?-1:0,"aria-selected":t.selected,"aria-disabled":t.disabled,"focus-on-hover":t.focusOnHover},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default"),e.createElementVNode("span",{class:"vv-dropdown-option__hint",title:e.unref(n)},[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps({disabled:t.disabled,selected:t.selected,unselectable:t.unselectable})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)),1)]))],8,Y)])),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}}),Q="eye-on",Z="eye-off",ee="calendar",te="time",oe="color",le="close",ae="trash",ne={prefix:"normal"};function ie(){return e.inject(g)}const re=e.defineComponent({name:"VvIcon",props:e.mergeDefaults({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},ne),setup(t){const o=t,l=e.computed((()=>"string"==typeof o.rotate?Number.parseFloat(o.rotate):o.rotate)),a=e.ref(!0),i=ie(),{modifiers:r}=e.toRefs(o),u=q("vv-icon",r),s=e.computed((()=>o.provider||(null==i?void 0:i.iconsProvider))),d=e.computed((()=>{const e=o.name??"",t=`@${s.value}:${o.prefix}:${e}`;if(n.iconExists(t))return t;const l=null==i?void 0:i.iconsCollections.find((t=>{const o=`@${s.value}:${t.prefix}:${e}`;return n.iconExists(o)}));return l?`@${s.value}:${l.prefix}:${e}`:e}));function c(e){const t=function(e){let t;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");t=(new e).window}return(t?new t.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),l=(null==t?void 0:t.innerHTML.trim())||"";t&&l&&n.addIcon(`@${s.value}:${o.prefix}:${o.name}`,{body:l,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return i&&o.src&&!n.iconExists(`@${s.value}:${o.prefix}:${o.name}`)&&(a.value=!1,i.fetchIcon(o.src).then((e=>{e&&(c(e),a.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),o.svg&&c(o.svg),(t,o)=>e.unref(a)?(e.openBlock(),e.createBlock(e.unref(n.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:t.inline,width:t.width,height:t.height,horizontalFlip:t.horizontalFlip,verticalFlip:t.verticalFlip,flip:t.flip,rotate:e.unref(l),color:t.color,onLoad:t.onLoad,icon:e.unref(d)}),null,16,["class"])):e.createCommentVNode("v-if",!0)}}),ue={TEXT:"text",PASSWORD:"password",NUMBER:"number",EMAIL:"email",TEL:"tel",URL:"url",COLOR:"color",SEARCH:"search",DATE:"date",TIME:"time",DATETIME_LOCAL:"datetime-local",MONTH:"month",WEEK:"week"},se={...H,...j,modelValue:[String,Number],type:{type:String,default:ue.TEXT,validator:e=>Object.values(ue).includes(e)},min:[Number,Date,String],max:[Number,Date,String],step:{type:[String,Number],default:1},pattern:String,multiple:Boolean,iconShowPassword:{type:[String,Object],default:Q},iconHidePassword:{type:[String,Object],default:Z},iconClear:{type:[String,Object],default:le},iconRemoveSuggestion:{type:[String,Object],default:ae},labelStepUp:{type:String,default:"Increase value"},labelStepDown:{type:String,default:"Decrease value"},labelShowPassword:{type:String,default:"Show password"},labelHidePassword:{type:String,default:"Hide password"},labelClear:{type:String,default:"Clear"},labelRemoveSuggestion:{type:String,default:"Remove suggestion"},iMask:{type:Object,default:void 0},masked:{type:String,default:void 0},autoWidth:{type:Boolean,default:!1},hideActions:{type:Boolean,default:!1},unit:{type:String},selectOnFocus:{type:Boolean,default:!1},maxSuggestions:{type:Number,default:5}};function de(t,o){const l=e.computed((()=>"string"==typeof(null==t?void 0:t.value)?{name:null==t?void 0:t.value}:null==t?void 0:t.value)),a=e.computed((()=>(null==o?void 0:o.value)===v.before?l.value:void 0)),n=e.computed((()=>(null==o?void 0:o.value)===v.after?l.value:void 0)),i=e.computed((()=>(null==o?void 0:o.value)===d.left?l.value:void 0)),r=e.computed((()=>(null==o?void 0:o.value)===d.right?l.value:void 0)),u=e.computed((()=>(null==o?void 0:o.value)===d.top?l.value:void 0)),s=e.computed((()=>(null==o?void 0:o.value)===d.bottom?l.value:void 0));return{hasIcon:l,hasIconLeft:i,hasIconRight:r,hasIconTop:u,hasIconBottom:s,hasIconBefore:a,hasIconAfter:n}}const ce=e.defineComponent({components:{VvIcon:re},props:{disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:[String,Object],default:"close"}},emits:["clear"],setup(t,{emit:o}){const{hasIcon:l}=de(e.computed((()=>t.icon)));return{hasIcon:l,onClick:function(e){null==e||e.stopPropagation(),t.disabled||o("clear")}}},render(){const t=this.hasIcon?e.h(re,{...this.hasIcon,class:"vv-input-text__icon"}):void 0;return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.label,type:"button",onClick:this.onClick},t)}}),ve=e.defineComponent({components:{VvIcon:re},props:{disabled:{type:Boolean,default:!1},labelShow:{type:String,default:"Show password"},labelHide:{type:String,default:"Hide password"},iconShow:{type:[String,Object],default:Q},iconHide:{type:[String,Object],default:Z}},emits:["toggle-password"],setup(t,{emit:o}){const l=e.ref(!1),a=e.computed((()=>l.value?t.iconHide:t.iconShow)),{hasIcon:n}=de(a);return{active:l,activeIcon:a,hasIcon:n,onClick:function(e){null==e||e.stopPropagation(),t.disabled||(l.value=!l.value,o("toggle-password",l.value))}}},render(){const t=this.hasIcon?e.h(re,{...this.hasIcon,class:"vv-input-text__icon"}):void 0;return e.h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.active?this.labelHide:this.labelShow,type:"button",onClick:this.onClick},t)}}),pe=e.defineComponent({components:{VvIcon:re},props:{disabled:{type:Boolean,default:!1},label:{type:String},mode:{type:String,validator:e=>["up","down"].includes(e),default:"up"}},emits:["step-up","step-down"],setup(t,{emit:o}){const l=e.computed((()=>"up"===t.mode));return{isUp:l,onClick:e=>{null==e||e.stopPropagation(),t.disabled||o(l.value?"step-up":"step-down")}}},render(){return e.h("button",{class:["vv-input-text__action vv-input-text__action-chevron",this.isUp&&"vv-input-text__action-chevron-up"],disabled:this.disabled,ariaLabel:this.label,type:"button",onClick:this.onClick})}});function fe(t,o){return{name:"VvInputTextActions",components:{VvIcon:re,VvInputPasswordAction:ve,VvInputStepAction:pe,VvInputClearAction:ce},setup:()=>({isDisabled:e.computed((()=>o.disabled||o.readonly)),labelStepUp:o.labelStepUp,labelStepDown:o.labelStepDown,labelShowPassword:o.labelShowPassword,labelHidePassword:o.labelHidePassword,labelClear:o.labelClear,iconShowPassword:o.iconShowPassword,iconHidePassword:o.iconHidePassword}),render(){let l=null;switch(t){case ue.SEARCH:{const{onClear:t}=this.$attrs;l=[e.h(ce,{disabled:this.isDisabled,label:this.labelShowPassword,onClear:t})];break}case ue.PASSWORD:{const{onTogglePassword:t}=this.$attrs;l=[e.h(ve,{disabled:this.isDisabled,onTogglePassword:t,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case ue.NUMBER:{const{onStepUp:t,onStepDown:a}=this.$attrs;l=[e.h(pe,{mode:"up",disabled:this.isDisabled||void 0!==o.max&&o.modelValue===o.max,label:this.labelStepUp,onStepUp:t,onStepDown:a}),e.h(pe,{mode:"down",disabled:this.isDisabled||void 0!==o.min&&o.modelValue===o.min,label:this.labelStepDown,onStepUp:t,onStepDown:a})];break}}return Array.isArray(l)?e.h("div",{class:"vv-input-text__actions-group"},l):l}}}const me=["for"],be={key:0,class:"vv-input-text__input-before"},he=["id"],ge={key:1,class:"vv-input-text__unit"},ye={key:5,class:"vv-input-text__input-after"},Se={key:6,class:"vv-input-text__limit"},we={class:"flex-1"},ke=["title","onClick"];return e.defineComponent({name:"VvInputText",props:se,emits:["update:modelValue","update:masked","accept","accept:typed","accept:masked","accept:unmasked","complete","complete:typed","complete:masked","complete:unmasked","focus","blur","keyup","keydown","keypress"],setup(o,{expose:a,emit:n}){const s=o,d=n,c=e.useSlots(),v=function(t,o,l){const a=ie(),n=e.computed((()=>{var e;if(a&&(null==(e=a.defaults.value)?void 0:e[t]))return a.defaults.value[t]}));return e.computed((()=>{if(void 0===n.value)return l;const e=n.value,t=o,a=l;return Object.keys(t).reduce(((o,l)=>{const n=a[l];if(o[l]=n,l in e){if(Array.isArray(t[l])){const a=t[l];a.length&&a[0]===n&&(o[l]=e[l])}if("function"==typeof t[l]&&(0,t[l])()===n&&(o[l]=e[l]),"object"==typeof t[l]){let a=t[l].default;"function"==typeof a&&(a=a()),"object"==typeof a?JSON.stringify(a)===JSON.stringify(n)&&(o[l]=e[l]):a===n&&(o[l]=e[l])}}return o}),{})}))}("VvInputText",se,s),{count:p,debounce:f,icon:m,iconPosition:b,iconRemoveSuggestion:h,id:g,invalid:y,label:S,loading:w,maxlength:k,minlength:x,modelValue:E,step:L,storageKey:B,storageType:$,type:C,valid:P}=e.toRefs(s),O=W(g),N=e.computed((()=>`${O.value}-hint`)),T=e.computed((()=>s.floating&&i(s.placeholder)?" ":s.placeholder)),V=function(t,o,l=0,{getter:a=e=>e,setter:n=e=>e}={}){let i;return"string"==typeof l&&(l=Number.parseInt(l)),e.computed({get:()=>a(null==t?void 0:t.value),set:e=>{i&&clearTimeout(i),i=setTimeout((()=>{o("update:modelValue",n(e))}),l)}})}(E,d,(null==f?void 0:f.value)??0),A=/^-0?[.,]?[0*]?$/,_=e.ref(!1),{el:D,mask:I,typed:R,masked:M,unmasked:H}=t.useIMask(e.computed((()=>{if(!s.iMask)return{mask:/./};if(s.iMask.mask===Number){const e={...s.iMask};return s.min&&(e.min=Number(s.min)),s.max&&(e.max=Number(s.max)),e}return s.iMask})),{emit:d,onAccept:()=>{if(_.value){if(d("update:masked",M.value),C.value===ue.NUMBER){if(/^-$|^$/.test(H.value)){if(null===V.value||void 0===V.value)return;return void(V.value=void 0)}return A.test(H.value)?void(V.value=0):"number"!=typeof R.value?void(V.value=Number(R.value)):void(V.value=R.value)}if(C.value===ue.DATE){if(D.value instanceof HTMLInputElement&&"date"===D.value.type)return void(V.value=D.value.value);let e=R.value;if(null===e||""===e){if(!V.value)return;return void(V.value="")}return e instanceof Date||(e=new Date(e)),void(V.value=`${e.getFullYear()}-${`0${e.getMonth()+1}`.slice(-2)}-${`0${e.getDate()}`.slice(-2)}`)}if(C.value===ue.DATETIME_LOCAL){if(D.value instanceof HTMLInputElement&&"datetime-local"===D.value.type)return void(V.value=D.value.value);let e=R.value;if(null===e||""===e){if(!V.value)return;return void(V.value="")}return R.value instanceof Date||(e=new Date(e)),void(V.value=`${e.getFullYear()}-${`0${e.getMonth()+1}`.slice(-2)}-${`0${e.getDate()}`.slice(-2)}T${`0${e.getHours()}`.slice(-2)}:${`0${e.getMinutes()}`.slice(-2)}`)}(V.value||H.value)&&(V.value=H.value)}}});function j(e){var t;if(null==e)return R.value="",void(H.value="");(null==(t=s.iMask)?void 0:t.mask)!==Date?C.value===ue.NUMBER&&A.test(H.value)&&0===e||(R.value=e,H.value=`${R.value}`):R.value=new Date(e)}e.onMounted((()=>{I.value&&(_.value=!0,j(s.modelValue))})),e.watch((()=>s.modelValue),(e=>{I.value&&j(e)})),e.watch((()=>s.masked),(e=>{M.value=e??""}));const z=D,U=e.ref(),F=e.ref(),K=e.ref();a({$inner:U});const{focused:J}=function(t,o){const{focused:a}=l.useFocus(t);return e.watch(a,(l=>{o(l?"focus":"blur",e.unref(t))})),{focused:a}}(z,d),Y=e.computed((()=>J.value&&!s.disabled&&!s.readonly));e.watch(Y,(e=>{var t;e&&v.value.selectOnFocus&&z.value&&z.value.select(),e?null==(t=K.value)||t.show():setTimeout((()=>{if(Te.value&&Ae.value){const e=s.maxSuggestions-1;Ae.value.size>e&&!Ae.value.has(V.value)&&(Ae.value=new Set([...Ae.value].slice(Ae.value.size-e))),Ae.value.add(V.value)}}),300)}));const Q=l.useElementVisibility(z);e.watch(Q,(e=>{e&&s.autofocus&&!s.disabled&&!s.readonly&&(J.value=!0)}));const Z=e.ref(!1),le=e.computed((()=>s.type===ue.PASSWORD));function ae(){Z.value=!Z.value}const ne=e.computed((()=>s.type===ue.TIME||s.type===ue.DATETIME_LOCAL||s.type===ue.DATE||s.type===ue.WEEK||s.type===ue.MONTH)),ce=e.computed((()=>s.type===ue.NUMBER));function ve(){if(Oe.value){if(s.iMask)return void(R.value=Number(R.value)+Number((null==L?void 0:L.value)??1));z.value.stepUp(),V.value=Number(e.unref(z).value)}}function pe(){if(Oe.value){if(s.iMask)return void(R.value=Number(R.value)-Number((null==L?void 0:L.value)??1));z.value.stepDown(),V.value=Number(e.unref(z).value)}}const xe=e.computed((()=>s.type===ue.SEARCH));function Ee(){V.value=""}const{hasIconBefore:Le,hasIconAfter:Be}=de(m,b),$e=e.computed((()=>{if(void 0!==Be.value)return Be.value;switch(s.type){case ue.COLOR:return{name:oe};case ue.DATE:case ue.DATETIME_LOCAL:case ue.WEEK:case ue.MONTH:return{name:ee};case ue.TIME:return{name:te}}})),{hasIcon:Ce}=de(h),{formatted:Pe}=function(t,o){const l=e.computed((()=>(e.unref(t)??"").length)),a=e.computed((()=>void 0!==(null==o?void 0:o.lowerLimit)&&l.value<(null==o?void 0:o.lowerLimit)?l.value-o.lowerLimit:void 0!==(null==o?void 0:o.upperLimit)&&l.value<(null==o?void 0:o.upperLimit)?o.upperLimit-l.value:0)),n=e.computed((()=>{if(!1===(null==o?void 0:o.mode))return"";if("limit"===(null==o?void 0:o.mode)&&(null==o?void 0:o.upperLimit))return`${l.value} / ${o.lowerLimit?`${o.lowerLimit}-`:""}${o.upperLimit}`;if("countdown"===(null==o?void 0:o.mode)){if(0===a.value)return;return a}return l.value}));return{length:l,gap:a,formatted:n}}(V,{mode:p.value,upperLimit:Number(null==k?void 0:k.value),lowerLimit:Number(null==x?void 0:x.value)}),Oe=e.computed((()=>!s.disabled&&!s.readonly)),Ne=e.computed((()=>Oe.value?s.tabindex:-1)),Te=e.computed((()=>!i(E))),Ve=e.computed((()=>!0===y.value||!0!==P.value&&void 0)),Ae=function(t,o=u.local,a){const n=e.ref();let i;return a&&(n.value=a),t&&e.watch(t,((t,a)=>{const r=e.unref(o)===u.session?sessionStorage:localStorage;a&&a!==t&&r.removeItem(a),i=t?l.useStorage(t,(null==i?void 0:i.value)??n.value,r):void 0}),{immediate:!0}),e.isRef(o)&&e.watch(o,((e,o)=>{if(null==t?void 0:t.value){if(e){const o=e===u.session?sessionStorage:localStorage;i=l.useStorage(t.value,(null==i?void 0:i.value)??n.value,o)}o&&o!==e&&(o===u.session?sessionStorage:localStorage).removeItem(t.value)}})),e.computed({get:()=>(null==i?void 0:i.value)??n.value,set:e=>{i?i.value=e:n.value=e}})}(B,$,new Set),_e=e.computed((()=>Ae.value?[...Ae.value].filter((e=>i(V.value)||`${e}`.toLowerCase().includes(`${V.value}`.toLowerCase())&&e!==V.value)).reverse():[])),De=e.computed((()=>(null==B?void 0:B.value)&&Ae.value&&Ae.value.size>0));const{modifiers:Ie}=e.toRefs(s),Re=q("vv-input-text",Ie,e.computed((()=>({valid:P.value,invalid:y.value,loading:w.value,disabled:s.disabled,required:s.required,readonly:s.readonly,"icon-before":!!Le.value,"icon-after":!!$e.value,floating:s.floating&&!i(s.label),dirty:Te.value,focus:Y.value,"auto-width":s.autoWidth})))),Me=e.computed((()=>{const e=le.value&&Z.value?ue.TEXT:!ne.value||Te.value||J.value?s.iMask?ue.TEXT:s.type:ue.TEXT,t={type:e,name:s.name,tabindex:Ne.value,disabled:s.disabled,readonly:s.readonly,required:s.required,autocomplete:s.autocomplete,"aria-invalid":Ve.value,"aria-describedby":ze.value?N.value:void 0,"aria-errormessage":Ue.value?N.value:void 0};if(e===ue.DATE||e===ue.MONTH||e===ue.WEEK||e===ue.TIME||e===ue.DATETIME_LOCAL||e===ue.NUMBER){let o=s.max;e!==ue.DATE||o||(o="9999-12-31"),t.step=s.step,t.max=void 0!==o?String(o):void 0,t.min=void 0!==s.min?String(s.min):void 0}return e!==ue.TEXT&&e!==ue.SEARCH&&e!==ue.URL&&e!==ue.TEL&&e!==ue.EMAIL&&e!==ue.PASSWORD&&e!==ue.NUMBER||(t.placeholder=T.value),e!==ue.TEXT&&e!==ue.SEARCH&&e!==ue.URL&&e!==ue.TEL&&e!==ue.EMAIL&&e!==ue.PASSWORD||(t.minlength=s.minlength,t.maxlength=s.maxlength,t.pattern=s.pattern),e===ue.EMAIL&&(t.multiple=s.multiple),t})),He=e.computed((()=>({valid:s.valid,invalid:s.invalid,modelValue:s.modelValue,togglePassword:ae,stepUp:ve,stepDown:pe,clear:Ee}))),{HintSlot:je,hasHintLabelOrSlot:ze,hasInvalidLabelOrSlot:Ue,hintSlotScope:Fe}=function(t,o){const l=e.computed((()=>e.isRef(t)?t.value:t)),a=e.computed((()=>r(l.value.invalidLabel))),n=e.computed((()=>r(l.value.validLabel))),i=e.computed((()=>l.value.loadingLabel)),u=e.computed((()=>l.value.hintLabel)),s=e.computed((()=>Boolean(l.value.loading&&(o.loading||i.value)))),d=e.computed((()=>!s.value&&Boolean(l.value.invalid&&(o.invalid||a.value)))),c=e.computed((()=>!s.value&&!d.value&&Boolean(l.value.valid&&(o.valid||n.value)))),v=e.computed((()=>!s.value&&!d.value&&!c.value&&Boolean(o.hint||u.value))),p=e.computed((()=>d.value||c.value||s.value||v.value)),f=e.computed((()=>({modelValue:l.value.modelValue,valid:l.value.valid,invalid:l.value.invalid,loading:l.value.loading}))),m=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:p,invalidLabel:a,validLabel:n,loadingLabel:i,hintLabel:u,hasInvalidLabelOrSlot:d,hasValidLabelOrSlot:c,hasLoadingLabelOrSlot:s,hasHintLabelOrSlot:v}),render(){var t,o,l,a,n,i,r,u;if(this.isVisible){let s;return this.hasInvalidLabelOrSlot&&(s="alert"),this.hasValidLabelOrSlot&&(s="status"),this.hasLoadingLabelOrSlot?e.h(this.tag,{role:s},(null==(o=(t=this.$slots).loading)?void 0:o.call(t))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:s},(null==(a=(l=this.$slots).invalid)?void 0:a.call(l))??this.$slots.invalid??this.invalidLabel):this.hasValidLabelOrSlot?e.h(this.tag,{role:s},(null==(i=(n=this.$slots).valid)?void 0:i.call(n))??this.validLabel):e.h(this.tag,{role:s},(null==(u=(r=this.$slots).hint)?void 0:u.call(r))??this.$slots.hint??this.hintLabel)}return null}});return{hasInvalidLabelOrSlot:d,hasHintLabelOrSlot:v,hasValidLabelOrSlot:c,hasLoadingLabelOrSlot:s,hintSlotScope:f,HintSlot:m}}(v,c),We=fe(ue.PASSWORD,s),qe=fe(ue.NUMBER,s),Ke=fe(ue.SEARCH,s);function Xe(){Oe.value&&(J.value=!0)}const Je=e.computed((()=>{if(s.autoWidth)return{width:void 0!==V.value?`${String(V.value).length+1}ch`:void 0}}));function Ye(e){switch(e.code){case"ArrowUp":ce.value&&(ve(),e.preventDefault());break;case"ArrowDown":ce.value&&(pe(),e.preventDefault())}d("keydown",e)}return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(Re))},[e.unref(S)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(O),class:"vv-input-text__label"},e.toDisplayString(e.unref(S)),9,me)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"wrapperEl",ref:F,class:"vv-input-text__wrapper"},[t.$slots.before?(e.openBlock(),e.createElementBlock("div",be,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(He))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"innerEl",ref:U,class:"vv-input-text__inner",onClick:e.withModifiers(Xe,["stop"])},[e.unref(Le)?(e.openBlock(),e.createBlock(re,e.mergeProps({key:0},e.unref(Le),{class:"vv-input-text__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(O),ref_key:"inputEl",ref:z},e.unref(Me),{style:e.unref(Je),onKeyup:o[0]||(o[0]=e=>d("keyup",e)),onKeydown:Ye,onKeypress:o[1]||(o[1]=e=>d("keypress",e))}),null,16,he),(t.unit||t.$slots.unit)&&e.unref(Te)?(e.openBlock(),e.createElementBlock("div",ge,[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps(e.unref(He))),(()=>[e.createTextVNode(e.toDisplayString(t.unit),1)]))])):e.createCommentVNode("v-if",!0)],512),e.unref($e)?(e.openBlock(),e.createBlock(re,e.mergeProps({key:1},e.unref($e),{class:"vv-input-text__icon vv-input-text__icon-after"}),null,16)):e.unref(le)&&!t.hideActions&&e.unref(Oe)?(e.openBlock(),e.createBlock(e.unref(We),{key:2,onTogglePassword:ae})):e.unref(ce)&&!t.hideActions&&e.unref(Oe)?(e.openBlock(),e.createBlock(e.unref(qe),{key:3,onStepUp:ve,onStepDown:pe})):e.unref(xe)&&!t.hideActions&&e.unref(Oe)?(e.openBlock(),e.createBlock(e.unref(Ke),{key:4,onClear:Ee})):e.createCommentVNode("v-if",!0),t.$slots.after?(e.openBlock(),e.createElementBlock("div",ye,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(He))))])):e.createCommentVNode("v-if",!0),e.unref(p)?(e.openBlock(),e.createElementBlock("span",Se,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(He))),(()=>[e.createTextVNode(e.toDisplayString(e.unref(Pe)),1)]))])):e.createCommentVNode("v-if",!0)],512),e.createVNode(e.unref(je),{id:e.unref(N),class:"vv-input-text__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(Fe))))])),key:"3"}:void 0]),1032,["id"]),e.unref(De)?(e.openBlock(),e.createBlock(X,{key:1,ref_key:"dropdownEl",ref:K,reference:e.unref(F),"autofocus-first":!1,"trigger-width":!0},{items:e.withCtx((()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(_e),(o=>(e.openBlock(),e.createBlock(G,{key:o,onClick:e.withModifiers((e=>{return t=o,V.value=t,void(null==(l=K.value)||l.hide());var t,l}),["stop"])},{default:e.withCtx((()=>[e.createElementVNode("div",we,[e.renderSlot(t.$slots,"suggestion",e.mergeProps({ref_for:!0},{value:o}),(()=>[e.createTextVNode(e.toDisplayString(o),1)]))]),e.unref(Ae)&&e.unref(Ce)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",tabindex:"-1",class:"cursor-pointer",title:t.labelRemoveSuggestion,onClick:e.withModifiers((e=>{return t=o,void(null==(l=Ae.value)||l.delete(t));var t,l}),["stop"])},[e.createVNode(re,e.mergeProps({ref_for:!0},e.unref(Ce)),null,16)],8,ke)):e.createCommentVNode("v-if",!0)])),_:2},1032,["onClick"])))),128))])),_:3},8,["reference"])):e.createCommentVNode("v-if",!0)],2))}})}));
|
|
@@ -123,6 +123,15 @@ const DisabledProps = {
|
|
|
123
123
|
default: false
|
|
124
124
|
}
|
|
125
125
|
};
|
|
126
|
+
const RequiredProps = {
|
|
127
|
+
/**
|
|
128
|
+
* Whether the form control is required
|
|
129
|
+
*/
|
|
130
|
+
required: {
|
|
131
|
+
type: Boolean,
|
|
132
|
+
default: false
|
|
133
|
+
}
|
|
134
|
+
};
|
|
126
135
|
const ActiveProps = {
|
|
127
136
|
/**
|
|
128
137
|
* Whether the item is active
|
|
@@ -373,6 +382,7 @@ const CheckboxRadioGroupProps = {
|
|
|
373
382
|
...ModifiersProps,
|
|
374
383
|
...LabelProps,
|
|
375
384
|
...LoadingProps,
|
|
385
|
+
...RequiredProps,
|
|
376
386
|
/**
|
|
377
387
|
* Input value
|
|
378
388
|
*/
|
|
@@ -979,6 +989,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
979
989
|
computed(() => ({
|
|
980
990
|
disabled: disabled.value,
|
|
981
991
|
readonly: readonly.value,
|
|
992
|
+
required: props.required,
|
|
982
993
|
horizontal: !vertical.value,
|
|
983
994
|
valid: valid.value,
|
|
984
995
|
invalid: invalid.value
|
|
@@ -989,7 +1000,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
989
1000
|
id: `${props.name}_opt${index}`,
|
|
990
1001
|
name: props.name,
|
|
991
1002
|
label: getOptionLabel(option),
|
|
992
|
-
value: getOptionValue(option)
|
|
1003
|
+
value: getOptionValue(option),
|
|
1004
|
+
required: props.required
|
|
993
1005
|
};
|
|
994
1006
|
}
|
|
995
1007
|
const { HintSlot, hintSlotScope } = HintSlotFactory(propsDefaults, slots);
|