@volverjs/ui-vue 0.0.10-beta.66 → 0.0.10-beta.68
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/Volver.d.ts +13 -1
- package/dist/components/VvInputText/VvInputText.es.js +6 -1
- package/dist/components/VvInputText/VvInputText.umd.js +1 -1
- package/dist/components/VvTextarea/VvTextarea.es.js +5 -2
- package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
- package/dist/components/index.es.js +11 -3
- package/dist/components/index.umd.js +1 -1
- package/dist/composables/useComponentFocus.d.ts +1 -1
- package/dist/icons.es.js +3 -3
- package/dist/icons.umd.js +1 -1
- package/dist/index.es.js +9 -1
- package/dist/index.umd.js +1 -1
- package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +2 -27
- package/package.json +31 -31
package/dist/Volver.d.ts
CHANGED
|
@@ -2,6 +2,12 @@ import type { IconifyIcon, IconifyJSON, PartialIconifyAPIConfig } from '@iconify
|
|
|
2
2
|
import type { Component, Directive, Plugin, Ref } from 'vue';
|
|
3
3
|
export declare function useDefaultProps(component: Component, defaults?: Record<string, unknown>, name?: string): Component;
|
|
4
4
|
export type DefaultOptions = Record<string, Record<string, unknown>>;
|
|
5
|
+
export type VolverExperimentalFeatures = {
|
|
6
|
+
/**
|
|
7
|
+
* Force suggestions in `VvInputText` and `VvTextarea` component
|
|
8
|
+
*/
|
|
9
|
+
forceInputSuggestions?: boolean;
|
|
10
|
+
};
|
|
5
11
|
export type VolverOptions = {
|
|
6
12
|
/**
|
|
7
13
|
* If true set "fetchOptions" with credentials: 'include'
|
|
@@ -42,6 +48,10 @@ export type VolverOptions = {
|
|
|
42
48
|
* Default props for components
|
|
43
49
|
*/
|
|
44
50
|
defaults?: DefaultOptions;
|
|
51
|
+
/**
|
|
52
|
+
* Experimental features
|
|
53
|
+
*/
|
|
54
|
+
experimentalFeatures?: VolverExperimentalFeatures;
|
|
45
55
|
};
|
|
46
56
|
export interface VolverInterface {
|
|
47
57
|
/**
|
|
@@ -95,11 +105,13 @@ export declare class Volver implements VolverInterface {
|
|
|
95
105
|
private _iconsCollections;
|
|
96
106
|
private _iconsProvider;
|
|
97
107
|
private _nuxt;
|
|
108
|
+
private _experimentalFeatures;
|
|
98
109
|
defaults: Ref<DefaultOptions>;
|
|
99
|
-
constructor({ fetchWithCredentials, fetchOptions, iconsProvider, nuxt, iconsCollections, defaults, }?: VolverOptions);
|
|
110
|
+
constructor({ fetchWithCredentials, fetchOptions, iconsProvider, nuxt, iconsCollections, defaults, experimentalFeatures, }?: VolverOptions);
|
|
100
111
|
get nuxt(): boolean;
|
|
101
112
|
get iconsProvider(): string;
|
|
102
113
|
get iconsCollections(): IconifyJSON[];
|
|
114
|
+
get experimentalFeatures(): VolverExperimentalFeatures;
|
|
103
115
|
addCollection(collection: IconifyJSON, providerName?: string): boolean;
|
|
104
116
|
addIcon(name: string, data: IconifyIcon): boolean;
|
|
105
117
|
addIconsAPIProvider(provider: string, customConfig: PartialIconifyAPIConfig): boolean;
|
|
@@ -1439,6 +1439,8 @@ const VvInputTextEvents = [
|
|
|
1439
1439
|
"complete:typed",
|
|
1440
1440
|
"complete:masked",
|
|
1441
1441
|
"complete:unmasked",
|
|
1442
|
+
"suggestion:selected",
|
|
1443
|
+
"suggestion:removed",
|
|
1442
1444
|
"focus",
|
|
1443
1445
|
"blur",
|
|
1444
1446
|
"keyup",
|
|
@@ -2098,6 +2100,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2098
2100
|
const props = __props;
|
|
2099
2101
|
const emit = __emit;
|
|
2100
2102
|
const slots = useSlots();
|
|
2103
|
+
const volver = useVolver();
|
|
2101
2104
|
const propsDefaults = useDefaults(
|
|
2102
2105
|
"VvInputText",
|
|
2103
2106
|
VvInputTextProps,
|
|
@@ -2117,7 +2120,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2117
2120
|
minlength,
|
|
2118
2121
|
modelValue,
|
|
2119
2122
|
step,
|
|
2120
|
-
storageKey,
|
|
2121
2123
|
storageType,
|
|
2122
2124
|
type,
|
|
2123
2125
|
valid
|
|
@@ -2407,6 +2409,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2407
2409
|
}
|
|
2408
2410
|
return void 0;
|
|
2409
2411
|
});
|
|
2412
|
+
const storageKey = computed(() => props.storageKey ?? ((volver == null ? void 0 : volver.experimentalFeatures.forceInputSuggestions) ? props.name : void 0));
|
|
2410
2413
|
const suggestions = usePersistence(
|
|
2411
2414
|
storageKey,
|
|
2412
2415
|
storageType,
|
|
@@ -2427,10 +2430,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2427
2430
|
var _a;
|
|
2428
2431
|
localModelValue.value = suggestion;
|
|
2429
2432
|
(_a = suggestionsDropdownEl.value) == null ? void 0 : _a.hide();
|
|
2433
|
+
emit("suggestion:selected", suggestion);
|
|
2430
2434
|
}
|
|
2431
2435
|
function onSuggestionRemove(suggestion) {
|
|
2432
2436
|
var _a;
|
|
2433
2437
|
(_a = suggestions.value) == null ? void 0 : _a.delete(suggestion);
|
|
2438
|
+
emit("suggestion:removed", suggestion);
|
|
2434
2439
|
}
|
|
2435
2440
|
const { modifiers } = toRefs(props);
|
|
2436
2441
|
const bemCssClasses = useModifiers(
|
|
@@ -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";const i=e=>e.toString().padStart(2,"0");function r(e){if("string"!=typeof e)return!1;if(!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?(?:Z|[+-]\d{2}:?\d{2})?$/.test(e))return!1;const t=new Date(e);return!Number.isNaN(t.getTime())&&t.toISOString()===e}function u(e,t="date",o){if("string"==typeof e&&!r(e))return"";const l=new Date(e);if(Number.isNaN(l.getTime()))return"";let a=`${l.getFullYear()}-${i(l.getMonth()+1)}`;if("month"===t)return a;if(a+=`-${i(l.getDate())}`,"date"===t)return a;const n=o?`${i(l.getHours())}:${i(l.getMinutes())}:${i(l.getSeconds())}`:`${i(l.getHours())}:${i(l.getMinutes())}`;return"time"===t?n:`${a}T${n}`}function s(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 d(e){return Array.isArray(e)?e.filter((e=>"string"==typeof e)).join(" "):e}var v=(e=>(e.local="local",e.session="session",e))(v||{}),c=(e=>(e.absolute="absolute",e.fixed="fixed",e))(c||{}),p=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(p||{}),f=(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))(f||{}),m=(e=>(e.before="before",e.after="after",e))(m||{}),h=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(h||{}),b=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(b||{}),g=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(g||{}),y=(e=>(e.listbox="listbox",e.menu="menu",e))(y||{}),S=(e=>(e.option="option",e.presentation="presentation",e))(S||{});const w=Symbol.for("volver"),k=Symbol.for("dropdownTrigger"),E=Symbol.for("dropdownItem"),x=Symbol.for("dropdownAction"),$={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},L={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},D={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},T={disabled:{type:Boolean,default:!1}},B={required:{type:Boolean,default:!1}},C={selected:{type:Boolean,default:!1}},O={label:{type:[String,Number],default:void 0}},N={readonly:{type:Boolean,default:!1}},P={modifiers:{type:[String,Array],default:void 0}},A={hintLabel:{type:String,default:""}},I={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},M={debounce:{type:[Number,String],default:void 0}},_={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:m.before,validation:e=>Object.values(m).includes(e)}},V={tabindex:{type:[String,Number],default:0}},H={floating:{type:Boolean,default:!1}},R={unselectable:{type:Boolean,default:!0}},j={id:[String,Number]},z={placement:{type:String,default:p.bottom,validator:e=>Object.values(p).includes(e)||Object.values(f).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(c).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}},F={...{...j,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},...V,...T,...N,...$,...L,...A,...D,...P,...I,...M,..._,...H,...O,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},...B};h.button,b.button;const U={storageType:{type:String,default:v.local,validator:e=>Object.values(v).includes(e)},storageKey:String},W={...j,...z,...P,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:y.menu,validator:e=>Object.values(y).includes(e)}},Y={focusOnHover:{type:Boolean,default:!1}},q={...T,...C,...R,...P,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};function K(t){return e.computed((()=>String((null==t?void 0:t.value)||e.useId())))}function X(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 J=["id","tabindex","role","aria-labelledby"],Z=e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:W,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:s}=e.toRefs(r),d=K(s),v=e.useAttrs(),f=e.ref("auto"),m=e.ref("auto"),h=e.ref(),b=e.ref(),g=e.ref(),w=e.ref(),x=e.computed({get:()=>r.reference??h.value,set:e=>{h.value=e}}),$=e.ref(!1);e.onMounted((()=>{l.useMutationObserver(b.value,(()=>{var e;$.value="true"===(null==(e=window.getComputedStyle(b.value).getPropertyValue("--dropdown-custom-position"))?void 0:e.trim())}),{attributeFilter:["style"],window:window})}));const L=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:g})),e})),{x:D,y:T,middlewareData:B,placement:C,strategy:O}=o.useFloating(x,b,{whileElementsMounted:(...e)=>o.autoUpdate(...e,{animationFrame:r.strategy===c.fixed}),placement:e.computed((()=>r.placement)),strategy:e.computed((()=>r.strategy)),middleware:L}),N=e.computed((()=>{var e;if($.value)return;const t=r.triggerWidth&&x.value?`${null==(e=x.value)?void 0:e.offsetWidth}px`:void 0;return{position:O.value,top:`${T.value??0}px`,left:`${D.value??0}px`,maxWidth:t?void 0:f.value,maxHeight:m.value,width:t}})),P=e.computed((()=>C.value.split("-")[0])),A=e.computed((()=>{var e,t,o,l,a;if($.value)return;const n={[p.top]:p.bottom,[p.right]:p.left,[p.bottom]:p.top,[p.left]:p.right}[P.value];return{left:void 0!==(null==(e=B.value.arrow)?void 0:e.x)?`${null==(t=B.value.arrow)?void 0:t.x}px`:void 0,top:void 0!==(null==(o=B.value.arrow)?void 0:o.y)?`${null==(l=B.value.arrow)?void 0:l.y}px`:void 0,[n]:-((null==(a=g.value)?void 0:a.offsetWidth)??0)/2+"px"}})),I=l.useVModel(r,"modelValue",u),M=e.ref(!1),_=e.computed({get:()=>I.value??M.value,set:e=>{void 0!==I.value?I.value=e:M.value=e}});function V(){_.value=!0}function H(){_.value=!1}function R(){_.value=!_.value}function j(e){x.value=e}n({toggle:R,show:V,hide:H,init:j,customPosition:$}),e.watch(_,(t=>{t&&r.autofocusFirst&&e.nextTick((()=>{const e=Q(b.value);e.length>0&&e[0].focus({preventScroll:!0})}))})),l.onClickOutside(b,(()=>{!r.keepOpen&&_.value&&(_.value=!1)}),{ignore:[x]});const z=e.computed((()=>{var e,t;return(null==(t=null==(e=x.value)?void 0:e.getAttribute)?void 0:t.call(e,"id"))??void 0})),F=e.computed((()=>({"aria-controls":d.value,"aria-haspopup":!0,"aria-expanded":_.value}))),{component:U,bus:W}=function({reference:t,id:o,expanded:l,aria:n}){const i=a(),r=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(k,{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:x,id:d,expanded:_,aria:F});W.on("click",R);const{role:Y,modifiers:q}=e.toRefs(r),Z=X("vv-dropdown",q,e.computed((()=>({arrow:r.arrow})))),{focused:G}=l.useFocusWithin(b);function Q(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(b),{itemRole:te}=function({role:t,...o}){const l=e.computed((()=>t.value===y.listbox?S.option:S.presentation));return e.provide(E,{role:l,...o}),{itemRole:l}}({role:Y,expanded:_,focused:G,hovered:ee});l.onKeyStroke("Escape",(e=>{_.value&&(e.preventDefault(),H())})),l.onKeyStroke("ArrowDown",(t=>{_.value&&G.value&&(t.preventDefault(),e.nextTick((()=>{if(G.value){const e=Q(b.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=>{_.value&&G.value&&(t.preventDefault(),e.nextTick((()=>{if(G.value){const e=Q(b.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;_.value&&G.value&&t&&(null==t||t.click())}));const oe={"before-enter":()=>{u(_.value?"beforeExpand":"beforeCollapse"),u("beforeEnter")},"after-leave":()=>{u(_.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(U),null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:j,show:V,hide:H,toggle:R,expanded:e.unref(_),aria:e.unref(F)})))])),_: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:b,style:e.normalizeStyle(e.unref(N)),class:e.normalizeClass(e.unref(Z))},[r.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:g,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(_)}))),e.createElementVNode("div",e.mergeProps(e.unref(v),{id:e.unref(d),ref_key:"listEl",ref:w,tabindex:e.unref(_)?void 0:-1,role:e.unref(Y),"aria-labelledby":e.unref(z),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(te)})))],16,J),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(_)})))],6),[[e.vShow,e.unref(_)]])])),_:3},16,["name"])],64))}});const G=e.defineComponent({name:"VvDropdownItem",props:Y,setup(t){const o=t,{role:a,expanded:n}=e.inject(E,{}),i=e.ref(null);!function({expanded:t}){e.provide(x,{role:e.ref(g.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))}}),Q=["title"],ee=e.defineComponent({name:"VvDropdownOption",props:q,setup(t){const o=t,{modifiers:l}=e.toRefs(o),a=X("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(G,{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,Q)])),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}}),te="eye-on",oe="eye-off",le="calendar",ae="time",ne="color",ie="close",re="trash",ue={prefix:"normal"};function se(){return e.inject(w,void 0)}const de=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:{}},ue),setup(t){const o=t,l=e.computed((()=>"string"==typeof o.rotate?Number.parseFloat(o.rotate):o.rotate)),a=e.ref(!0),i=se(),{modifiers:r}=e.toRefs(o),u=X("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 v(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&&(v(e),a.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),o.svg&&v(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)}}),ve={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"},ce={...F,...U,modelValue:[String,Number,Date],type:{type:String,default:ve.TEXT,validator:e=>Object.values(ve).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:te},iconHidePassword:{type:[String,Object],default:oe},iconClear:{type:[String,Object],default:ie},iconRemoveSuggestion:{type:[String,Object],default:re},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 pe(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)===m.before?l.value:void 0)),n=e.computed((()=>(null==o?void 0:o.value)===m.after?l.value:void 0)),i=e.computed((()=>(null==o?void 0:o.value)===p.left?l.value:void 0)),r=e.computed((()=>(null==o?void 0:o.value)===p.right?l.value:void 0)),u=e.computed((()=>(null==o?void 0:o.value)===p.top?l.value:void 0)),s=e.computed((()=>(null==o?void 0:o.value)===p.bottom?l.value:void 0));return{hasIcon:l,hasIconLeft:i,hasIconRight:r,hasIconTop:u,hasIconBottom:s,hasIconBefore:a,hasIconAfter:n}}const fe=e.defineComponent({components:{VvIcon:de},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}=pe(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(de,{...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)}}),me=e.defineComponent({components:{VvIcon:de},props:{disabled:{type:Boolean,default:!1},labelShow:{type:String,default:"Show password"},labelHide:{type:String,default:"Hide password"},iconShow:{type:[String,Object],default:te},iconHide:{type:[String,Object],default:oe}},emits:["toggle-password"],setup(t,{emit:o}){const l=e.ref(!1),a=e.computed((()=>l.value?t.iconHide:t.iconShow)),{hasIcon:n}=pe(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(de,{...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)}}),he=e.defineComponent({components:{VvIcon:de},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 be(t,o){return{name:"VvInputTextActions",components:{VvIcon:de,VvInputPasswordAction:me,VvInputStepAction:he,VvInputClearAction:fe},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 ve.SEARCH:{const{onClear:t}=this.$attrs;l=[e.h(fe,{disabled:this.isDisabled,label:this.labelClear,onClear:t})];break}case ve.PASSWORD:{const{onTogglePassword:t}=this.$attrs;l=[e.h(me,{disabled:this.isDisabled,onTogglePassword:t,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case ve.NUMBER:{const{onStepUp:t,onStepDown:a}=this.$attrs;l=[e.h(he,{mode:"up",disabled:this.isDisabled||void 0!==o.max&&o.modelValue===o.max,label:this.labelStepUp,onStepUp:t,onStepDown:a}),e.h(he,{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 ge=["for"],ye={key:0,class:"vv-input-text__input-before"},Se=["id"],we={key:1,class:"vv-input-text__unit"},ke={key:5,class:"vv-input-text__input-after"},Ee={key:6,class:"vv-input-text__limit"},xe={class:"flex-1"},$e=["title","onClick"];return e.defineComponent({name:"VvInputText",props:ce,emits:["update:modelValue","update:masked","accept","accept:typed","accept:masked","accept:unmasked","complete","complete:typed","complete:masked","complete:unmasked","focus","blur","keyup","keydown","keypress","clear"],setup(o,{expose:a,emit:n}){const c=o,p=n,f=e.useSlots(),m=function(t,o,l){const a=se(),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",ce,c),{count:h,debounce:b,icon:g,iconPosition:y,iconRemoveSuggestion:S,id:w,invalid:k,label:E,loading:x,maxlength:$,minlength:L,modelValue:D,step:T,storageKey:B,storageType:C,type:O,valid:N}=e.toRefs(c),P=K(w),A=e.computed((()=>`${P.value}-hint`)),I=e.computed((()=>c.floating&&s(c.placeholder)?" ":c.placeholder)),M=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)}})}(D,p,(null==b?void 0:b.value)??0),_=e.computed((()=>{const e="number"==typeof T.value?T.value:Number.parseInt(T.value);return!Number.isNaN(e)&&e%60!=0})),V=/^-0?[.,]?[0*]?$/,H=e.ref(!1),R=e.ref(),j=e.ref(),{el:z,mask:F,typed:U,masked:W,unmasked:Y}=t.useIMask(e.computed((()=>{if(!c.iMask)return{mask:/./};if(c.iMask.mask===Number){const e={...c.iMask};return c.min&&(e.min=Number(c.min)),c.max&&(e.max=Number(c.max)),e}return c.iMask})),{emit:p,onAccept:()=>{var e;if(H.value){if(p("update:masked",W.value),O.value===ve.NUMBER){if(/^-$|^$/.test(Y.value)){if(null===M.value||void 0===M.value)return;return void(M.value=void 0)}return V.test(Y.value)?void(M.value=0):"number"!=typeof U.value?void(M.value=Number(U.value)):void(M.value=U.value)}if(O.value!==ve.DATETIME_LOCAL&&O.value!==ve.DATE&&O.value!==ve.TIME&&O.value!==ve.MONTH)(M.value||Y.value)&&(M.value=Y.value);else{if(!U.value){if(!M.value)return;return R.value?void(M.value=void 0):void(M.value="")}if(!(U.value instanceof Date||R.value||j.value))return void(M.value=U.value);let t=U.value;if(t instanceof Date||(t=function(e,t="date"){if(!(null==e?void 0:e.trim()))return null;const o=new Date,l=o.getFullYear(),a=o.getMonth(),n=o.getDate();if("date"===t){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))throw new Error("Invalid date format. Expected: YYYY-MM-DD");return new Date(`${e}T00:00:00`)}if("month"===t){if(!/^\d{4}-\d{2}$/.test(e))throw new Error("Invalid month format. Expected: YYYY-MM");return new Date(`${e}-01T00:00:00`)}if("time"===t){if(!/^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/.test(e))throw new Error("Invalid time format. Expected: HH:mm or HH:mm:ss");return 8===e.length?new Date(`${l}-${i(a+1)}-${i(n)}T${e}`):new Date(`${l}-${i(a+1)}-${i(n)}T${e}:00`)}if(!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2})?$/.test(e))throw new Error("Invalid datetime format. Expected: YYYY-MM-DDThh:mm or YYYY-MM-DDThh:mm:ss");return 16===e.length?new Date(`${e}:00`):new Date(`${e}`)}(U.value,O.value)),R.value||j.value){const o=new Date(R.value||j.value);if(O.value!==ve.DATETIME_LOCAL&&O.value!==ve.DATE&&O.value!==ve.MONTH||(o.setFullYear(t.getFullYear()),o.setMonth(t.getMonth())),O.value!==ve.DATETIME_LOCAL&&O.value!==ve.DATE||o.setDate(t.getDate()),O.value!==ve.DATETIME_LOCAL&&O.value!==ve.TIME||(o.setHours(t.getHours()),o.setMinutes(t.getMinutes()),o.setSeconds(t.getSeconds())),R.value instanceof Date){if((null==(e=M.value)?void 0:e.getTime())===o.getTime())return;return void(M.value=o)}return void(M.value=o.toISOString())}M.value=u(t,O.value,_.value)}}}});function q(e){var t;if(null==e)return U.value="",void(Y.value="");if((null==(t=c.iMask)?void 0:t.mask)!==Date){if(O.value!==ve.NUMBER||!V.test(Y.value)||0!==e){if(O.value===ve.DATE||O.value===ve.MONTH||O.value===ve.DATETIME_LOCAL||O.value===ve.TIME){if(e instanceof Date||r(e)){e instanceof Date?(R.value=e,j.value=void 0):(j.value=e,R.value=void 0);const t=new Date(e);return U.value=u(t,O.value,_.value),void(Y.value=U.value)}R.value=void 0,j.value=void 0}U.value=e,Y.value=`${U.value}`}}else U.value=e instanceof Date?e:new Date(e)}e.onMounted((()=>{F.value&&(H.value=!0,q(c.modelValue))})),e.watch((()=>c.modelValue),(e=>{F.value&&q(e)})),e.watch((()=>c.masked),(e=>{W.value=e??""}));const J=z,G=e.ref(),Q=e.ref(),te=e.ref();a({$inner:G});const{focused:oe}=function(t,o){const{focused:a}=l.useFocus(t);return e.watch(a,(l=>{o(l?"focus":"blur",e.unref(t))})),{focused:a}}(J,p),ie=e.computed((()=>oe.value&&!c.disabled&&!c.readonly));e.watch(ie,(e=>{var t,o;if(e&&m.value.selectOnFocus&&J.value&&J.value.select(),e&&(null==(t=Re.value)?void 0:t.size))null==(o=te.value)||o.show();else if(Ve.value&&Re.value){const e=c.maxSuggestions;Re.value.size>=e&&!Re.value.has(M.value)&&(Re.value=new Set([...Re.value].slice(Re.value.size-e+1))),Re.value.add(M.value)}}));const re=l.useElementVisibility(J);e.watch(re,(e=>{e&&c.autofocus&&!c.disabled&&!c.readonly&&(oe.value=!0)}));const ue=e.ref(!1),fe=e.computed((()=>c.type===ve.PASSWORD));function me(){ue.value=!ue.value}const he=e.computed((()=>c.type===ve.TIME||c.type===ve.DATETIME_LOCAL||c.type===ve.DATE||c.type===ve.WEEK||c.type===ve.MONTH)),Le=e.computed((()=>c.type===ve.NUMBER));function De(){if(!Me.value){if(c.iMask)return void(U.value=Number(U.value)+Number((null==T?void 0:T.value)??1));J.value.stepUp(),M.value=Number(e.unref(J).value)}}function Te(){if(!Me.value){if(c.iMask)return void(U.value=Number(U.value)-Number((null==T?void 0:T.value)??1));J.value.stepDown(),M.value=Number(e.unref(J).value)}}const Be=e.computed((()=>c.type===ve.SEARCH));function Ce(){M.value="",p("clear")}const{hasIconBefore:Oe,hasIconAfter:Ne}=pe(g,y),Pe=e.computed((()=>{if(void 0!==Ne.value)return Ne.value;switch(c.type){case ve.COLOR:return{name:ne};case ve.DATE:case ve.DATETIME_LOCAL:case ve.WEEK:case ve.MONTH:return{name:le};case ve.TIME:return{name:ae}}})),{hasIcon:Ae}=pe(S),{formatted:Ie}=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}}(M,{mode:h.value,upperLimit:Number(null==$?void 0:$.value),lowerLimit:Number(null==L?void 0:L.value)}),Me=e.computed((()=>c.disabled||c.readonly)),_e=e.computed((()=>Me.value?-1:c.tabindex)),Ve=e.computed((()=>!s(D))),He=e.computed((()=>!0===k.value||!0!==N.value&&void 0)),Re=function(t,o=v.local,a){const n=e.ref();let i;return a&&(n.value=a),e.onMounted((()=>{t&&e.watch(t,((t,a)=>{const r=e.unref(o)===v.session?sessionStorage:localStorage;if(a&&a!==t&&r.removeItem(a),t)return i=l.useStorage(t,(null==i?void 0:i.value)??n.value,r),void(i.value&&(n.value=i.value));i=void 0}),{immediate:!0}),e.isRef(o)&&e.watch(o,((e,o)=>{if(null==t?void 0:t.value){if(e){const o=e===v.session?sessionStorage:localStorage;i=l.useStorage(t.value,(null==i?void 0:i.value)??n.value,o)}o&&o!==e&&(o===v.session?sessionStorage:localStorage).removeItem(t.value)}}))})),e.watch(n,(e=>{i&&(i.value=e)}),{deep:!0,immediate:!0}),n}(B,C,new Set),je=e.computed((()=>Re.value?[...Re.value].filter((e=>s(M.value)||`${e}`.toLowerCase().includes(`${M.value}`.toLowerCase())&&e!==M.value)).reverse():[])),ze=e.computed((()=>(null==B?void 0:B.value)&&Re.value&&Re.value.size>0));const{modifiers:Fe}=e.toRefs(c),Ue=X("vv-input-text",Fe,e.computed((()=>({valid:N.value,invalid:k.value,loading:x.value,disabled:c.disabled,required:c.required,readonly:c.readonly,"icon-before":!!Oe.value,"icon-after":!!Pe.value,floating:c.floating&&!s(c.label),dirty:Ve.value,focus:ie.value&&!Me.value,"auto-width":c.autoWidth})))),We=e.computed((()=>{const e=fe.value&&ue.value?ve.TEXT:!he.value||Ve.value||oe.value?c.iMask?ve.TEXT:c.type:ve.TEXT,t={type:e,name:c.name,tabindex:_e.value,disabled:c.disabled,readonly:c.readonly,required:c.required,autocomplete:c.autocomplete,"aria-invalid":He.value,"aria-describedby":Ke.value?A.value:void 0,"aria-errormessage":Xe.value?A.value:void 0};if(e===ve.DATE||e===ve.MONTH||e===ve.WEEK||e===ve.TIME||e===ve.DATETIME_LOCAL||e===ve.NUMBER){let o=c.max;e!==ve.DATE||o||(o="9999-12-31"),t.step=c.step,t.max=void 0!==o?String(o):void 0,t.min=void 0!==c.min?String(c.min):void 0}return e!==ve.TEXT&&e!==ve.SEARCH&&e!==ve.URL&&e!==ve.TEL&&e!==ve.EMAIL&&e!==ve.PASSWORD&&e!==ve.NUMBER||(t.placeholder=I.value),e!==ve.TEXT&&e!==ve.SEARCH&&e!==ve.URL&&e!==ve.TEL&&e!==ve.EMAIL&&e!==ve.PASSWORD||(t.minlength=c.minlength,t.maxlength=c.maxlength,t.pattern=c.pattern),e===ve.EMAIL&&(t.multiple=c.multiple),t})),Ye=e.computed((()=>({valid:c.valid,invalid:c.invalid,modelValue:c.modelValue,togglePassword:me,stepUp:De,stepDown:Te,clear:Ce}))),{HintSlot:qe,hasHintLabelOrSlot:Ke,hasInvalidLabelOrSlot:Xe,hintSlotScope:Je}=function(t,o){const l=e.computed((()=>e.isRef(t)?t.value:t)),a=e.computed((()=>d(l.value.invalidLabel))),n=e.computed((()=>d(l.value.validLabel))),i=e.computed((()=>l.value.loadingLabel)),r=e.computed((()=>l.value.hintLabel)),u=e.computed((()=>Boolean(l.value.loading&&(o.loading||i.value)))),s=e.computed((()=>!u.value&&Boolean(l.value.invalid&&(o.invalid||a.value)))),v=e.computed((()=>!u.value&&!s.value&&Boolean(l.value.valid&&(o.valid||n.value)))),c=e.computed((()=>!u.value&&!s.value&&!v.value&&Boolean(o.hint||r.value))),p=e.computed((()=>s.value||v.value||u.value||c.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:r,hasInvalidLabelOrSlot:s,hasValidLabelOrSlot:v,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:c}),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:s,hasHintLabelOrSlot:c,hasValidLabelOrSlot:v,hasLoadingLabelOrSlot:u,hintSlotScope:f,HintSlot:m}}(m,f),Ze=be(ve.PASSWORD,c),Ge=be(ve.NUMBER,c),Qe=be(ve.SEARCH,c);function et(){Me.value||(oe.value=!0)}const tt=e.computed((()=>{if(c.autoWidth)return{width:void 0!==M.value?`${String(M.value).length+1}ch`:void 0}}));function ot(e){switch(e.code){case"ArrowUp":Le.value&&(De(),e.preventDefault());break;case"ArrowDown":Le.value&&(Te(),e.preventDefault())}p("keydown",e)}return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(Ue))},[e.unref(E)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(P),class:"vv-input-text__label"},e.toDisplayString(e.unref(E)),9,ge)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"wrapperEl",ref:Q,class:"vv-input-text__wrapper"},[t.$slots.before?(e.openBlock(),e.createElementBlock("div",ye,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(Ye))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"innerEl",ref:G,class:"vv-input-text__inner",onClick:e.withModifiers(et,["stop"])},[e.unref(Oe)?(e.openBlock(),e.createBlock(de,e.mergeProps({key:0},e.unref(Oe),{class:"vv-input-text__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(P),ref_key:"inputEl",ref:J},e.unref(We),{style:e.unref(tt),onKeyup:o[0]||(o[0]=e=>p("keyup",e)),onKeydown:ot,onKeypress:o[1]||(o[1]=e=>p("keypress",e))}),null,16,Se),(t.unit||t.$slots.unit)&&e.unref(Ve)?(e.openBlock(),e.createElementBlock("div",we,[e.renderSlot(t.$slots,"unit",e.normalizeProps(e.guardReactiveProps(e.unref(Ye))),(()=>[e.createTextVNode(e.toDisplayString(t.unit),1)]))])):e.createCommentVNode("v-if",!0)],512),e.unref(Pe)?(e.openBlock(),e.createBlock(de,e.mergeProps({key:1},e.unref(Pe),{class:"vv-input-text__icon vv-input-text__icon-after"}),null,16)):!e.unref(fe)||t.hideActions||e.unref(Me)?!e.unref(Le)||t.hideActions||e.unref(Me)?!e.unref(Be)||t.hideActions||e.unref(Me)?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(e.unref(Qe),{key:4,onClear:Ce})):(e.openBlock(),e.createBlock(e.unref(Ge),{key:3,onStepUp:De,onStepDown:Te})):(e.openBlock(),e.createBlock(e.unref(Ze),{key:2,onTogglePassword:me})),t.$slots.after?(e.openBlock(),e.createElementBlock("div",ke,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(Ye))))])):e.createCommentVNode("v-if",!0),e.unref(h)?(e.openBlock(),e.createElementBlock("span",Ee,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(Ye))),(()=>[e.createTextVNode(e.toDisplayString(e.unref(Ie)),1)]))])):e.createCommentVNode("v-if",!0)],512),e.createVNode(e.unref(qe),{id:e.unref(A),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(Je))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(Je))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(Je))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(Je))))])),key:"3"}:void 0]),1032,["id"]),e.unref(ze)?(e.openBlock(),e.createBlock(Z,{key:1,ref_key:"suggestionsDropdownEl",ref:te,reference:e.unref(Q),"autofocus-first":!1,"trigger-width":!0},{items:e.withCtx((()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(je),(o=>(e.openBlock(),e.createBlock(ee,{key:o,onClick:e.withModifiers((e=>{return t=o,M.value=t,void(null==(l=te.value)||l.hide());var t,l}),["stop"])},{default:e.withCtx((()=>[e.createElementVNode("div",xe,[e.renderSlot(t.$slots,"suggestion",e.mergeProps({ref_for:!0},{value:o}),(()=>[e.createTextVNode(e.toDisplayString(o),1)]))]),e.unref(Re)&&e.unref(Ae)?(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=Re.value)||l.delete(t));var t,l}),["stop"])},[e.createVNode(de,e.mergeProps({ref_for:!0},e.unref(Ae)),null,16)],8,$e)):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";const i=e=>e.toString().padStart(2,"0");function r(e){if("string"!=typeof e)return!1;if(!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?(?:Z|[+-]\d{2}:?\d{2})?$/.test(e))return!1;const t=new Date(e);return!Number.isNaN(t.getTime())&&t.toISOString()===e}function u(e,t="date",o){if("string"==typeof e&&!r(e))return"";const l=new Date(e);if(Number.isNaN(l.getTime()))return"";let a=`${l.getFullYear()}-${i(l.getMonth()+1)}`;if("month"===t)return a;if(a+=`-${i(l.getDate())}`,"date"===t)return a;const n=o?`${i(l.getHours())}:${i(l.getMinutes())}:${i(l.getSeconds())}`:`${i(l.getHours())}:${i(l.getMinutes())}`;return"time"===t?n:`${a}T${n}`}function s(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 d(e){return Array.isArray(e)?e.filter((e=>"string"==typeof e)).join(" "):e}var v=(e=>(e.local="local",e.session="session",e))(v||{}),c=(e=>(e.absolute="absolute",e.fixed="fixed",e))(c||{}),p=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(p||{}),f=(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))(f||{}),m=(e=>(e.before="before",e.after="after",e))(m||{}),h=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(h||{}),b=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(b||{}),g=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(g||{}),y=(e=>(e.listbox="listbox",e.menu="menu",e))(y||{}),S=(e=>(e.option="option",e.presentation="presentation",e))(S||{});const w=Symbol.for("volver"),k=Symbol.for("dropdownTrigger"),E=Symbol.for("dropdownItem"),x=Symbol.for("dropdownAction"),$={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},L={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},D={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},T={disabled:{type:Boolean,default:!1}},B={required:{type:Boolean,default:!1}},C={selected:{type:Boolean,default:!1}},O={label:{type:[String,Number],default:void 0}},N={readonly:{type:Boolean,default:!1}},P={modifiers:{type:[String,Array],default:void 0}},A={hintLabel:{type:String,default:""}},I={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},M={debounce:{type:[Number,String],default:void 0}},_={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:m.before,validation:e=>Object.values(m).includes(e)}},V={tabindex:{type:[String,Number],default:0}},H={floating:{type:Boolean,default:!1}},R={unselectable:{type:Boolean,default:!0}},j={id:[String,Number]},z={placement:{type:String,default:p.bottom,validator:e=>Object.values(p).includes(e)||Object.values(f).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(c).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}},F={...{...j,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},...V,...T,...N,...$,...L,...A,...D,...P,...I,...M,..._,...H,...O,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},...B};h.button,b.button;const U={storageType:{type:String,default:v.local,validator:e=>Object.values(v).includes(e)},storageKey:String},W={...j,...z,...P,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:y.menu,validator:e=>Object.values(y).includes(e)}},Y={focusOnHover:{type:Boolean,default:!1}},q={...T,...C,...R,...P,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};function K(t){return e.computed((()=>String((null==t?void 0:t.value)||e.useId())))}function X(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 J=["id","tabindex","role","aria-labelledby"],Z=e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:W,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:s}=e.toRefs(r),d=K(s),v=e.useAttrs(),f=e.ref("auto"),m=e.ref("auto"),h=e.ref(),b=e.ref(),g=e.ref(),w=e.ref(),x=e.computed({get:()=>r.reference??h.value,set:e=>{h.value=e}}),$=e.ref(!1);e.onMounted((()=>{l.useMutationObserver(b.value,(()=>{var e;$.value="true"===(null==(e=window.getComputedStyle(b.value).getPropertyValue("--dropdown-custom-position"))?void 0:e.trim())}),{attributeFilter:["style"],window:window})}));const L=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:g})),e})),{x:D,y:T,middlewareData:B,placement:C,strategy:O}=o.useFloating(x,b,{whileElementsMounted:(...e)=>o.autoUpdate(...e,{animationFrame:r.strategy===c.fixed}),placement:e.computed((()=>r.placement)),strategy:e.computed((()=>r.strategy)),middleware:L}),N=e.computed((()=>{var e;if($.value)return;const t=r.triggerWidth&&x.value?`${null==(e=x.value)?void 0:e.offsetWidth}px`:void 0;return{position:O.value,top:`${T.value??0}px`,left:`${D.value??0}px`,maxWidth:t?void 0:f.value,maxHeight:m.value,width:t}})),P=e.computed((()=>C.value.split("-")[0])),A=e.computed((()=>{var e,t,o,l,a;if($.value)return;const n={[p.top]:p.bottom,[p.right]:p.left,[p.bottom]:p.top,[p.left]:p.right}[P.value];return{left:void 0!==(null==(e=B.value.arrow)?void 0:e.x)?`${null==(t=B.value.arrow)?void 0:t.x}px`:void 0,top:void 0!==(null==(o=B.value.arrow)?void 0:o.y)?`${null==(l=B.value.arrow)?void 0:l.y}px`:void 0,[n]:-((null==(a=g.value)?void 0:a.offsetWidth)??0)/2+"px"}})),I=l.useVModel(r,"modelValue",u),M=e.ref(!1),_=e.computed({get:()=>I.value??M.value,set:e=>{void 0!==I.value?I.value=e:M.value=e}});function V(){_.value=!0}function H(){_.value=!1}function R(){_.value=!_.value}function j(e){x.value=e}n({toggle:R,show:V,hide:H,init:j,customPosition:$}),e.watch(_,(t=>{t&&r.autofocusFirst&&e.nextTick((()=>{const e=Q(b.value);e.length>0&&e[0].focus({preventScroll:!0})}))})),l.onClickOutside(b,(()=>{!r.keepOpen&&_.value&&(_.value=!1)}),{ignore:[x]});const z=e.computed((()=>{var e,t;return(null==(t=null==(e=x.value)?void 0:e.getAttribute)?void 0:t.call(e,"id"))??void 0})),F=e.computed((()=>({"aria-controls":d.value,"aria-haspopup":!0,"aria-expanded":_.value}))),{component:U,bus:W}=function({reference:t,id:o,expanded:l,aria:n}){const i=a(),r=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(k,{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:x,id:d,expanded:_,aria:F});W.on("click",R);const{role:Y,modifiers:q}=e.toRefs(r),Z=X("vv-dropdown",q,e.computed((()=>({arrow:r.arrow})))),{focused:G}=l.useFocusWithin(b);function Q(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(b),{itemRole:te}=function({role:t,...o}){const l=e.computed((()=>t.value===y.listbox?S.option:S.presentation));return e.provide(E,{role:l,...o}),{itemRole:l}}({role:Y,expanded:_,focused:G,hovered:ee});l.onKeyStroke("Escape",(e=>{_.value&&(e.preventDefault(),H())})),l.onKeyStroke("ArrowDown",(t=>{_.value&&G.value&&(t.preventDefault(),e.nextTick((()=>{if(G.value){const e=Q(b.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=>{_.value&&G.value&&(t.preventDefault(),e.nextTick((()=>{if(G.value){const e=Q(b.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;_.value&&G.value&&t&&(null==t||t.click())}));const oe={"before-enter":()=>{u(_.value?"beforeExpand":"beforeCollapse"),u("beforeEnter")},"after-leave":()=>{u(_.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(U),null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:j,show:V,hide:H,toggle:R,expanded:e.unref(_),aria:e.unref(F)})))])),_: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:b,style:e.normalizeStyle(e.unref(N)),class:e.normalizeClass(e.unref(Z))},[r.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:g,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(_)}))),e.createElementVNode("div",e.mergeProps(e.unref(v),{id:e.unref(d),ref_key:"listEl",ref:w,tabindex:e.unref(_)?void 0:-1,role:e.unref(Y),"aria-labelledby":e.unref(z),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(te)})))],16,J),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(_)})))],6),[[e.vShow,e.unref(_)]])])),_:3},16,["name"])],64))}});const G=e.defineComponent({name:"VvDropdownItem",props:Y,setup(t){const o=t,{role:a,expanded:n}=e.inject(E,{}),i=e.ref(null);!function({expanded:t}){e.provide(x,{role:e.ref(g.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))}}),Q=["title"],ee=e.defineComponent({name:"VvDropdownOption",props:q,setup(t){const o=t,{modifiers:l}=e.toRefs(o),a=X("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(G,{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,Q)])),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}}),te="eye-on",oe="eye-off",le="calendar",ae="time",ne="color",ie="close",re="trash",ue={prefix:"normal"};function se(){return e.inject(w,void 0)}const de=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:{}},ue),setup(t){const o=t,l=e.computed((()=>"string"==typeof o.rotate?Number.parseFloat(o.rotate):o.rotate)),a=e.ref(!0),i=se(),{modifiers:r}=e.toRefs(o),u=X("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 v(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&&(v(e),a.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),o.svg&&v(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)}}),ve={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"},ce={...F,...U,modelValue:[String,Number,Date],type:{type:String,default:ve.TEXT,validator:e=>Object.values(ve).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:te},iconHidePassword:{type:[String,Object],default:oe},iconClear:{type:[String,Object],default:ie},iconRemoveSuggestion:{type:[String,Object],default:re},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 pe(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)===m.before?l.value:void 0)),n=e.computed((()=>(null==o?void 0:o.value)===m.after?l.value:void 0)),i=e.computed((()=>(null==o?void 0:o.value)===p.left?l.value:void 0)),r=e.computed((()=>(null==o?void 0:o.value)===p.right?l.value:void 0)),u=e.computed((()=>(null==o?void 0:o.value)===p.top?l.value:void 0)),s=e.computed((()=>(null==o?void 0:o.value)===p.bottom?l.value:void 0));return{hasIcon:l,hasIconLeft:i,hasIconRight:r,hasIconTop:u,hasIconBottom:s,hasIconBefore:a,hasIconAfter:n}}const fe=e.defineComponent({components:{VvIcon:de},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}=pe(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(de,{...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)}}),me=e.defineComponent({components:{VvIcon:de},props:{disabled:{type:Boolean,default:!1},labelShow:{type:String,default:"Show password"},labelHide:{type:String,default:"Hide password"},iconShow:{type:[String,Object],default:te},iconHide:{type:[String,Object],default:oe}},emits:["toggle-password"],setup(t,{emit:o}){const l=e.ref(!1),a=e.computed((()=>l.value?t.iconHide:t.iconShow)),{hasIcon:n}=pe(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(de,{...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)}}),he=e.defineComponent({components:{VvIcon:de},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 be(t,o){return{name:"VvInputTextActions",components:{VvIcon:de,VvInputPasswordAction:me,VvInputStepAction:he,VvInputClearAction:fe},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 ve.SEARCH:{const{onClear:t}=this.$attrs;l=[e.h(fe,{disabled:this.isDisabled,label:this.labelClear,onClear:t})];break}case ve.PASSWORD:{const{onTogglePassword:t}=this.$attrs;l=[e.h(me,{disabled:this.isDisabled,onTogglePassword:t,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case ve.NUMBER:{const{onStepUp:t,onStepDown:a}=this.$attrs;l=[e.h(he,{mode:"up",disabled:this.isDisabled||void 0!==o.max&&o.modelValue===o.max,label:this.labelStepUp,onStepUp:t,onStepDown:a}),e.h(he,{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 ge=["for"],ye={key:0,class:"vv-input-text__input-before"},Se=["id"],we={key:1,class:"vv-input-text__unit"},ke={key:5,class:"vv-input-text__input-after"},Ee={key:6,class:"vv-input-text__limit"},xe={class:"flex-1"},$e=["title","onClick"];return e.defineComponent({name:"VvInputText",props:ce,emits:["update:modelValue","update:masked","accept","accept:typed","accept:masked","accept:unmasked","complete","complete:typed","complete:masked","complete:unmasked","suggestion:selected","suggestion:removed","focus","blur","keyup","keydown","keypress","clear"],setup(o,{expose:a,emit:n}){const c=o,p=n,f=e.useSlots(),m=se(),h=function(t,o,l){const a=se(),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",ce,c),{count:b,debounce:g,icon:y,iconPosition:S,iconRemoveSuggestion:w,id:k,invalid:E,label:x,loading:$,maxlength:L,minlength:D,modelValue:T,step:B,storageType:C,type:O,valid:N}=e.toRefs(c),P=K(k),A=e.computed((()=>`${P.value}-hint`)),I=e.computed((()=>c.floating&&s(c.placeholder)?" ":c.placeholder)),M=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)}})}(T,p,(null==g?void 0:g.value)??0),_=e.computed((()=>{const e="number"==typeof B.value?B.value:Number.parseInt(B.value);return!Number.isNaN(e)&&e%60!=0})),V=/^-0?[.,]?[0*]?$/,H=e.ref(!1),R=e.ref(),j=e.ref(),{el:z,mask:F,typed:U,masked:W,unmasked:Y}=t.useIMask(e.computed((()=>{if(!c.iMask)return{mask:/./};if(c.iMask.mask===Number){const e={...c.iMask};return c.min&&(e.min=Number(c.min)),c.max&&(e.max=Number(c.max)),e}return c.iMask})),{emit:p,onAccept:()=>{var e;if(H.value){if(p("update:masked",W.value),O.value===ve.NUMBER){if(/^-$|^$/.test(Y.value)){if(null===M.value||void 0===M.value)return;return void(M.value=void 0)}return V.test(Y.value)?void(M.value=0):"number"!=typeof U.value?void(M.value=Number(U.value)):void(M.value=U.value)}if(O.value!==ve.DATETIME_LOCAL&&O.value!==ve.DATE&&O.value!==ve.TIME&&O.value!==ve.MONTH)(M.value||Y.value)&&(M.value=Y.value);else{if(!U.value){if(!M.value)return;return R.value?void(M.value=void 0):void(M.value="")}if(!(U.value instanceof Date||R.value||j.value))return void(M.value=U.value);let t=U.value;if(t instanceof Date||(t=function(e,t="date"){if(!(null==e?void 0:e.trim()))return null;const o=new Date,l=o.getFullYear(),a=o.getMonth(),n=o.getDate();if("date"===t){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))throw new Error("Invalid date format. Expected: YYYY-MM-DD");return new Date(`${e}T00:00:00`)}if("month"===t){if(!/^\d{4}-\d{2}$/.test(e))throw new Error("Invalid month format. Expected: YYYY-MM");return new Date(`${e}-01T00:00:00`)}if("time"===t){if(!/^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/.test(e))throw new Error("Invalid time format. Expected: HH:mm or HH:mm:ss");return 8===e.length?new Date(`${l}-${i(a+1)}-${i(n)}T${e}`):new Date(`${l}-${i(a+1)}-${i(n)}T${e}:00`)}if(!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2})?$/.test(e))throw new Error("Invalid datetime format. Expected: YYYY-MM-DDThh:mm or YYYY-MM-DDThh:mm:ss");return 16===e.length?new Date(`${e}:00`):new Date(`${e}`)}(U.value,O.value)),R.value||j.value){const o=new Date(R.value||j.value);if(O.value!==ve.DATETIME_LOCAL&&O.value!==ve.DATE&&O.value!==ve.MONTH||(o.setFullYear(t.getFullYear()),o.setMonth(t.getMonth())),O.value!==ve.DATETIME_LOCAL&&O.value!==ve.DATE||o.setDate(t.getDate()),O.value!==ve.DATETIME_LOCAL&&O.value!==ve.TIME||(o.setHours(t.getHours()),o.setMinutes(t.getMinutes()),o.setSeconds(t.getSeconds())),R.value instanceof Date){if((null==(e=M.value)?void 0:e.getTime())===o.getTime())return;return void(M.value=o)}return void(M.value=o.toISOString())}M.value=u(t,O.value,_.value)}}}});function q(e){var t;if(null==e)return U.value="",void(Y.value="");if((null==(t=c.iMask)?void 0:t.mask)!==Date){if(O.value!==ve.NUMBER||!V.test(Y.value)||0!==e){if(O.value===ve.DATE||O.value===ve.MONTH||O.value===ve.DATETIME_LOCAL||O.value===ve.TIME){if(e instanceof Date||r(e)){e instanceof Date?(R.value=e,j.value=void 0):(j.value=e,R.value=void 0);const t=new Date(e);return U.value=u(t,O.value,_.value),void(Y.value=U.value)}R.value=void 0,j.value=void 0}U.value=e,Y.value=`${U.value}`}}else U.value=e instanceof Date?e:new Date(e)}e.onMounted((()=>{F.value&&(H.value=!0,q(c.modelValue))})),e.watch((()=>c.modelValue),(e=>{F.value&&q(e)})),e.watch((()=>c.masked),(e=>{W.value=e??""}));const J=z,G=e.ref(),Q=e.ref(),te=e.ref();a({$inner:G});const{focused:oe}=function(t,o){const{focused:a}=l.useFocus(t);return e.watch(a,(l=>{o(l?"focus":"blur",e.unref(t))})),{focused:a}}(J,p),ie=e.computed((()=>oe.value&&!c.disabled&&!c.readonly));e.watch(ie,(e=>{var t,o;if(e&&h.value.selectOnFocus&&J.value&&J.value.select(),e&&(null==(t=je.value)?void 0:t.size))null==(o=te.value)||o.show();else if(Ve.value&&je.value){const e=c.maxSuggestions;je.value.size>=e&&!je.value.has(M.value)&&(je.value=new Set([...je.value].slice(je.value.size-e+1))),je.value.add(M.value)}}));const re=l.useElementVisibility(J);e.watch(re,(e=>{e&&c.autofocus&&!c.disabled&&!c.readonly&&(oe.value=!0)}));const ue=e.ref(!1),fe=e.computed((()=>c.type===ve.PASSWORD));function me(){ue.value=!ue.value}const he=e.computed((()=>c.type===ve.TIME||c.type===ve.DATETIME_LOCAL||c.type===ve.DATE||c.type===ve.WEEK||c.type===ve.MONTH)),Le=e.computed((()=>c.type===ve.NUMBER));function De(){if(!Me.value){if(c.iMask)return void(U.value=Number(U.value)+Number((null==B?void 0:B.value)??1));J.value.stepUp(),M.value=Number(e.unref(J).value)}}function Te(){if(!Me.value){if(c.iMask)return void(U.value=Number(U.value)-Number((null==B?void 0:B.value)??1));J.value.stepDown(),M.value=Number(e.unref(J).value)}}const Be=e.computed((()=>c.type===ve.SEARCH));function Ce(){M.value="",p("clear")}const{hasIconBefore:Oe,hasIconAfter:Ne}=pe(y,S),Pe=e.computed((()=>{if(void 0!==Ne.value)return Ne.value;switch(c.type){case ve.COLOR:return{name:ne};case ve.DATE:case ve.DATETIME_LOCAL:case ve.WEEK:case ve.MONTH:return{name:le};case ve.TIME:return{name:ae}}})),{hasIcon:Ae}=pe(w),{formatted:Ie}=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}}(M,{mode:b.value,upperLimit:Number(null==L?void 0:L.value),lowerLimit:Number(null==D?void 0:D.value)}),Me=e.computed((()=>c.disabled||c.readonly)),_e=e.computed((()=>Me.value?-1:c.tabindex)),Ve=e.computed((()=>!s(T))),He=e.computed((()=>!0===E.value||!0!==N.value&&void 0)),Re=e.computed((()=>c.storageKey??((null==m?void 0:m.experimentalFeatures.forceInputSuggestions)?c.name:void 0))),je=function(t,o=v.local,a){const n=e.ref();let i;return a&&(n.value=a),e.onMounted((()=>{t&&e.watch(t,((t,a)=>{const r=e.unref(o)===v.session?sessionStorage:localStorage;if(a&&a!==t&&r.removeItem(a),t)return i=l.useStorage(t,(null==i?void 0:i.value)??n.value,r),void(i.value&&(n.value=i.value));i=void 0}),{immediate:!0}),e.isRef(o)&&e.watch(o,((e,o)=>{if(null==t?void 0:t.value){if(e){const o=e===v.session?sessionStorage:localStorage;i=l.useStorage(t.value,(null==i?void 0:i.value)??n.value,o)}o&&o!==e&&(o===v.session?sessionStorage:localStorage).removeItem(t.value)}}))})),e.watch(n,(e=>{i&&(i.value=e)}),{deep:!0,immediate:!0}),n}(Re,C,new Set),ze=e.computed((()=>je.value?[...je.value].filter((e=>s(M.value)||`${e}`.toLowerCase().includes(`${M.value}`.toLowerCase())&&e!==M.value)).reverse():[])),Fe=e.computed((()=>(null==Re?void 0:Re.value)&&je.value&&je.value.size>0));const{modifiers:Ue}=e.toRefs(c),We=X("vv-input-text",Ue,e.computed((()=>({valid:N.value,invalid:E.value,loading:$.value,disabled:c.disabled,required:c.required,readonly:c.readonly,"icon-before":!!Oe.value,"icon-after":!!Pe.value,floating:c.floating&&!s(c.label),dirty:Ve.value,focus:ie.value&&!Me.value,"auto-width":c.autoWidth})))),Ye=e.computed((()=>{const e=fe.value&&ue.value?ve.TEXT:!he.value||Ve.value||oe.value?c.iMask?ve.TEXT:c.type:ve.TEXT,t={type:e,name:c.name,tabindex:_e.value,disabled:c.disabled,readonly:c.readonly,required:c.required,autocomplete:c.autocomplete,"aria-invalid":He.value,"aria-describedby":Xe.value?A.value:void 0,"aria-errormessage":Je.value?A.value:void 0};if(e===ve.DATE||e===ve.MONTH||e===ve.WEEK||e===ve.TIME||e===ve.DATETIME_LOCAL||e===ve.NUMBER){let o=c.max;e!==ve.DATE||o||(o="9999-12-31"),t.step=c.step,t.max=void 0!==o?String(o):void 0,t.min=void 0!==c.min?String(c.min):void 0}return e!==ve.TEXT&&e!==ve.SEARCH&&e!==ve.URL&&e!==ve.TEL&&e!==ve.EMAIL&&e!==ve.PASSWORD&&e!==ve.NUMBER||(t.placeholder=I.value),e!==ve.TEXT&&e!==ve.SEARCH&&e!==ve.URL&&e!==ve.TEL&&e!==ve.EMAIL&&e!==ve.PASSWORD||(t.minlength=c.minlength,t.maxlength=c.maxlength,t.pattern=c.pattern),e===ve.EMAIL&&(t.multiple=c.multiple),t})),qe=e.computed((()=>({valid:c.valid,invalid:c.invalid,modelValue:c.modelValue,togglePassword:me,stepUp:De,stepDown:Te,clear:Ce}))),{HintSlot:Ke,hasHintLabelOrSlot:Xe,hasInvalidLabelOrSlot:Je,hintSlotScope:Ze}=function(t,o){const l=e.computed((()=>e.isRef(t)?t.value:t)),a=e.computed((()=>d(l.value.invalidLabel))),n=e.computed((()=>d(l.value.validLabel))),i=e.computed((()=>l.value.loadingLabel)),r=e.computed((()=>l.value.hintLabel)),u=e.computed((()=>Boolean(l.value.loading&&(o.loading||i.value)))),s=e.computed((()=>!u.value&&Boolean(l.value.invalid&&(o.invalid||a.value)))),v=e.computed((()=>!u.value&&!s.value&&Boolean(l.value.valid&&(o.valid||n.value)))),c=e.computed((()=>!u.value&&!s.value&&!v.value&&Boolean(o.hint||r.value))),p=e.computed((()=>s.value||v.value||u.value||c.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:r,hasInvalidLabelOrSlot:s,hasValidLabelOrSlot:v,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:c}),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:s,hasHintLabelOrSlot:c,hasValidLabelOrSlot:v,hasLoadingLabelOrSlot:u,hintSlotScope:f,HintSlot:m}}(h,f),Ge=be(ve.PASSWORD,c),Qe=be(ve.NUMBER,c),et=be(ve.SEARCH,c);function tt(){Me.value||(oe.value=!0)}const ot=e.computed((()=>{if(c.autoWidth)return{width:void 0!==M.value?`${String(M.value).length+1}ch`:void 0}}));function lt(e){switch(e.code){case"ArrowUp":Le.value&&(De(),e.preventDefault());break;case"ArrowDown":Le.value&&(Te(),e.preventDefault())}p("keydown",e)}return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(We))},[e.unref(x)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(P),class:"vv-input-text__label"},e.toDisplayString(e.unref(x)),9,ge)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"wrapperEl",ref:Q,class:"vv-input-text__wrapper"},[t.$slots.before?(e.openBlock(),e.createElementBlock("div",ye,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(qe))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"innerEl",ref:G,class:"vv-input-text__inner",onClick:e.withModifiers(tt,["stop"])},[e.unref(Oe)?(e.openBlock(),e.createBlock(de,e.mergeProps({key:0},e.unref(Oe),{class:"vv-input-text__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(P),ref_key:"inputEl",ref:J},e.unref(Ye),{style:e.unref(ot),onKeyup:o[0]||(o[0]=e=>p("keyup",e)),onKeydown:lt,onKeypress:o[1]||(o[1]=e=>p("keypress",e))}),null,16,Se),(t.unit||t.$slots.unit)&&e.unref(Ve)?(e.openBlock(),e.createElementBlock("div",we,[e.renderSlot(t.$slots,"unit",e.normalizeProps(e.guardReactiveProps(e.unref(qe))),(()=>[e.createTextVNode(e.toDisplayString(t.unit),1)]))])):e.createCommentVNode("v-if",!0)],512),e.unref(Pe)?(e.openBlock(),e.createBlock(de,e.mergeProps({key:1},e.unref(Pe),{class:"vv-input-text__icon vv-input-text__icon-after"}),null,16)):!e.unref(fe)||t.hideActions||e.unref(Me)?!e.unref(Le)||t.hideActions||e.unref(Me)?!e.unref(Be)||t.hideActions||e.unref(Me)?e.createCommentVNode("v-if",!0):(e.openBlock(),e.createBlock(e.unref(et),{key:4,onClear:Ce})):(e.openBlock(),e.createBlock(e.unref(Qe),{key:3,onStepUp:De,onStepDown:Te})):(e.openBlock(),e.createBlock(e.unref(Ge),{key:2,onTogglePassword:me})),t.$slots.after?(e.openBlock(),e.createElementBlock("div",ke,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(qe))))])):e.createCommentVNode("v-if",!0),e.unref(b)?(e.openBlock(),e.createElementBlock("span",Ee,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(qe))),(()=>[e.createTextVNode(e.toDisplayString(e.unref(Ie)),1)]))])):e.createCommentVNode("v-if",!0)],512),e.createVNode(e.unref(Ke),{id:e.unref(A),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(Ze))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(Ze))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(Ze))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(Ze))))])),key:"3"}:void 0]),1032,["id"]),e.unref(Fe)?(e.openBlock(),e.createBlock(Z,{key:1,ref_key:"suggestionsDropdownEl",ref:te,reference:e.unref(Q),"autofocus-first":!1,"trigger-width":!0},{items:e.withCtx((()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ze),(o=>(e.openBlock(),e.createBlock(ee,{key:o,onClick:e.withModifiers((e=>{return t=o,M.value=t,null==(l=te.value)||l.hide(),void p("suggestion:selected",t);var t,l}),["stop"])},{default:e.withCtx((()=>[e.createElementVNode("div",xe,[e.renderSlot(t.$slots,"suggestion",e.mergeProps({ref_for:!0},{value:o}),(()=>[e.createTextVNode(e.toDisplayString(o),1)]))]),e.unref(je)&&e.unref(Ae)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",tabindex:"-1",class:"cursor-pointer",title:t.labelRemoveSuggestion,onClick:e.withModifiers((e=>{return t=o,null==(l=je.value)||l.delete(t),void p("suggestion:removed",t);var t,l}),["stop"])},[e.createVNode(de,e.mergeProps({ref_for:!0},e.unref(Ae)),null,16)],8,$e)):e.createCommentVNode("v-if",!0)])),_:2},1032,["onClick"])))),128))])),_:3},8,["reference"])):e.createCommentVNode("v-if",!0)],2))}})}));
|
|
@@ -441,7 +441,7 @@ const WRAP = {
|
|
|
441
441
|
const SPELLCHECK = {
|
|
442
442
|
default: "default"
|
|
443
443
|
};
|
|
444
|
-
const VvTextareaEvents = ["update:modelValue", "focus", "blur", "keyup"];
|
|
444
|
+
const VvTextareaEvents = ["update:modelValue", "focus", "blur", "keyup", "suggestion:selected", "suggestion:removed"];
|
|
445
445
|
const VvTextareaProps = {
|
|
446
446
|
...InputTextareaProps,
|
|
447
447
|
...StorageProps,
|
|
@@ -1644,6 +1644,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1644
1644
|
const props = __props;
|
|
1645
1645
|
const emit = __emit;
|
|
1646
1646
|
const slots = useSlots();
|
|
1647
|
+
const volver = useVolver();
|
|
1647
1648
|
const propsDefaults = useDefaults(
|
|
1648
1649
|
"VvTextarea",
|
|
1649
1650
|
VvTextareaProps,
|
|
@@ -1668,7 +1669,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1668
1669
|
debounce,
|
|
1669
1670
|
minlength,
|
|
1670
1671
|
maxlength,
|
|
1671
|
-
storageKey,
|
|
1672
1672
|
storageType
|
|
1673
1673
|
} = toRefs(props);
|
|
1674
1674
|
const hasId = useUniqueId(id);
|
|
@@ -1729,6 +1729,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1729
1729
|
}
|
|
1730
1730
|
return void 0;
|
|
1731
1731
|
});
|
|
1732
|
+
const storageKey = computed(() => props.storageKey ?? ((volver == null ? void 0 : volver.experimentalFeatures.forceInputSuggestions) ? props.name : void 0));
|
|
1732
1733
|
const suggestions = usePersistence(
|
|
1733
1734
|
storageKey,
|
|
1734
1735
|
storageType,
|
|
@@ -1749,10 +1750,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1749
1750
|
var _a;
|
|
1750
1751
|
localModelValue.value = suggestion;
|
|
1751
1752
|
(_a = suggestionsDropdownEl.value) == null ? void 0 : _a.hide();
|
|
1753
|
+
emit("suggestion:selected", suggestion);
|
|
1752
1754
|
}
|
|
1753
1755
|
function onSuggestionRemove(suggestion) {
|
|
1754
1756
|
var _a;
|
|
1755
1757
|
(_a = suggestions.value) == null ? void 0 : _a.delete(suggestion);
|
|
1758
|
+
emit("suggestion:removed", suggestion);
|
|
1756
1759
|
}
|
|
1757
1760
|
const {
|
|
1758
1761
|
HintSlot,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@floating-ui/vue"),require("@vueuse/core"),require("mitt"),require("@iconify/vue")):"function"==typeof define&&define.amd?define(["vue","@floating-ui/vue","@vueuse/core","mitt","@iconify/vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvTextarea=t(e.vue,e.vue$1,e.core,e.mitt,e.vue$2)}(this,(function(e,t,o,l,a){"use strict";var n=(e=>(e.local="local",e.session="session",e))(n||{}),r=(e=>(e.absolute="absolute",e.fixed="fixed",e))(r||{}),i=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(i||{}),u=(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))(u||{}),d=(e=>(e.before="before",e.after="after",e))(d||{}),s=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(s||{}),c=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(c||{}),v=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(v||{}),f=(e=>(e.listbox="listbox",e.menu="menu",e))(f||{}),p=(e=>(e.option="option",e.presentation="presentation",e))(p||{});const m=Symbol.for("volver"),g=Symbol.for("dropdownTrigger"),b=Symbol.for("dropdownItem"),h=Symbol.for("dropdownAction"),y={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},S={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},x={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},w={disabled:{type:Boolean,default:!1}},k={required:{type:Boolean,default:!1}},B={selected:{type:Boolean,default:!1}},L={label:{type:[String,Number],default:void 0}},$={readonly:{type:Boolean,default:!1}},V={modifiers:{type:[String,Array],default:void 0}},E={hintLabel:{type:String,default:""}},O={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},P={debounce:{type:[Number,String],default:void 0}},C={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:d.before,validation:e=>Object.values(d).includes(e)}},N={tabindex:{type:[String,Number],default:0}},_={floating:{type:Boolean,default:!1}},z={unselectable:{type:Boolean,default:!0}},R={id:[String,Number]},j={placement:{type:String,default:i.bottom,validator:e=>Object.values(i).includes(e)||Object.values(u).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(r).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}},I={...{...R,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},...N,...w,...$,...y,...S,...E,...x,...V,...O,...P,...C,..._,...L,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},...k};s.button,c.button;const F={prefix:"normal"},A={...I,...{storageType:{type:String,default:n.local,validator:e=>Object.values(n).includes(e)},storageKey:String},modelValue:String,cols:{type:[String,Number],default:20},rows:{type:[String,Number],default:2},wrap:{type:String,default:"soft"},spellcheck:{type:[Boolean,String],default:"default"},iconRemoveSuggestion:{type:[String,Object],default:"trash"},labelRemoveSuggestion:{type:String,default:"Remove suggestion"},maxSuggestions:{type:Number,default:5},selectOnFocus:{type:Boolean,default:!1},resizable:Boolean};function H(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 D(e){return Array.isArray(e)?e.filter((e=>"string"==typeof e)).join(" "):e}const T={...R,...j,...V,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:f.menu,validator:e=>Object.values(f).includes(e)}},q={focusOnHover:{type:Boolean,default:!1}},M={...w,...B,...z,...V,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 K(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 J=["id","tabindex","role","aria-labelledby"],U=e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:T,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(a,{expose:n,emit:u}){const d=a,s=u,{id:c}=e.toRefs(d),v=W(c),m=e.useAttrs(),h=e.ref("auto"),y=e.ref("auto"),S=e.ref(),x=e.ref(),w=e.ref(),k=e.ref(),B=e.computed({get:()=>d.reference??S.value,set:e=>{S.value=e}}),L=e.ref(!1);e.onMounted((()=>{o.useMutationObserver(x.value,(()=>{var e;L.value="true"===(null==(e=window.getComputedStyle(x.value).getPropertyValue("--dropdown-custom-position"))?void 0:e.trim())}),{attributeFilter:["style"],window:window})}));const $=e.computed((()=>{const e=[];if(d.autoPlacement?"boolean"==typeof d.autoPlacement?e.push(t.autoPlacement()):e.push(t.autoPlacement(d.autoPlacement)):d.flip&&("boolean"==typeof d.flip?e.push(t.flip({fallbackStrategy:"initialPlacement"})):e.push(t.flip(d.flip))),d.shift&&("boolean"==typeof d.shift?e.push(t.shift()):e.push(t.shift(d.shift))),d.size){const o=({availableWidth:e,availableHeight:t})=>{h.value=`${e}px`,y.value=`${t}px`};"boolean"==typeof d.size?e.push(t.size({apply:o})):e.push(t.size({...d.size,apply:o}))}return d.offset&&(e.push(t.offset(Number(d.offset))),["string","number"].includes(typeof d.offset)?e.push(t.offset(Number(d.offset))):e.push(t.offset(d.offset))),d.arrow&&e.push(t.arrow({element:w})),e})),{x:V,y:E,middlewareData:O,placement:P,strategy:C}=t.useFloating(B,x,{whileElementsMounted:(...e)=>t.autoUpdate(...e,{animationFrame:d.strategy===r.fixed}),placement:e.computed((()=>d.placement)),strategy:e.computed((()=>d.strategy)),middleware:$}),N=e.computed((()=>{var e;if(L.value)return;const t=d.triggerWidth&&B.value?`${null==(e=B.value)?void 0:e.offsetWidth}px`:void 0;return{position:C.value,top:`${E.value??0}px`,left:`${V.value??0}px`,maxWidth:t?void 0:h.value,maxHeight:y.value,width:t}})),_=e.computed((()=>P.value.split("-")[0])),z=e.computed((()=>{var e,t,o,l,a;if(L.value)return;const n={[i.top]:i.bottom,[i.right]:i.left,[i.bottom]:i.top,[i.left]:i.right}[_.value];return{left:void 0!==(null==(e=O.value.arrow)?void 0:e.x)?`${null==(t=O.value.arrow)?void 0:t.x}px`:void 0,top:void 0!==(null==(o=O.value.arrow)?void 0:o.y)?`${null==(l=O.value.arrow)?void 0:l.y}px`:void 0,[n]:-((null==(a=w.value)?void 0:a.offsetWidth)??0)/2+"px"}})),R=o.useVModel(d,"modelValue",s),j=e.ref(!1),I=e.computed({get:()=>R.value??j.value,set:e=>{void 0!==R.value?R.value=e:j.value=e}});function F(){I.value=!0}function A(){I.value=!1}function H(){I.value=!I.value}function D(e){B.value=e}n({toggle:H,show:F,hide:A,init:D,customPosition:L}),e.watch(I,(t=>{t&&d.autofocusFirst&&e.nextTick((()=>{const e=Z(x.value);e.length>0&&e[0].focus({preventScroll:!0})}))})),o.onClickOutside(x,(()=>{!d.keepOpen&&I.value&&(I.value=!1)}),{ignore:[B]});const T=e.computed((()=>{var e,t;return(null==(t=null==(e=B.value)?void 0:e.getAttribute)?void 0:t.call(e,"id"))??void 0})),q=e.computed((()=>({"aria-controls":v.value,"aria-haspopup":!0,"aria-expanded":I.value}))),{component:M,bus:U}=function({reference:t,id:o,expanded:a,aria:n}){const r=l(),i=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(g,{reference:t,id:o,expanded:a,aria:n,bus:r})},render(){var t,o;return e.h(e.Fragment,{},null==(o=(t=this.$slots).default)?void 0:o.call(t))}});return{bus:r,component:i}}({reference:B,id:v,expanded:I,aria:q});U.on("click",H);const{role:G,modifiers:Q}=e.toRefs(d),X=K("vv-dropdown",Q,e.computed((()=>({arrow:d.arrow})))),{focused:Y}=o.useFocusWithin(x);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=o.useElementHover(x),{itemRole:te}=function({role:t,...o}){const l=e.computed((()=>t.value===f.listbox?p.option:p.presentation));return e.provide(b,{role:l,...o}),{itemRole:l}}({role:G,expanded:I,focused:Y,hovered:ee});o.onKeyStroke("Escape",(e=>{I.value&&(e.preventDefault(),A())})),o.onKeyStroke("ArrowDown",(t=>{I.value&&Y.value&&(t.preventDefault(),e.nextTick((()=>{if(Y.value){const e=Z(x.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})}})))})),o.onKeyStroke("ArrowUp",(t=>{I.value&&Y.value&&(t.preventDefault(),e.nextTick((()=>{if(Y.value){const e=Z(x.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})}})))})),o.onKeyStroke([" ","Enter"],(e=>{const t=e.target;I.value&&Y.value&&t&&(null==t||t.click())}));const oe={"before-enter":()=>{s(I.value?"beforeExpand":"beforeCollapse"),s("beforeEnter")},"after-leave":()=>{s(I.value?"afterExpand":"afterCollapse"),s("afterLeave")},enter:()=>{s("enter")},"after-enter":()=>{s("afterEnter")},"enter-cancelled":()=>{s("enterCancelled")},"before-leave":()=>{s("beforeLeave")},leave:()=>{s("leave")},"leave-cancelled":()=>{s("leaveCancelled")}};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(M),null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:D,show:F,hide:A,toggle:H,expanded:e.unref(I),aria:e.unref(q)})))])),_: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:x,style:e.normalizeStyle(e.unref(N)),class:e.normalizeClass(e.unref(X))},[d.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:w,style:e.normalizeStyle(e.unref(z)),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(m),{id:e.unref(v),ref_key:"listEl",ref:k,tabindex:e.unref(I)?void 0:-1,role:e.unref(G),"aria-labelledby":e.unref(T),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(te)})))],16,J),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(I)})))],6),[[e.vShow,e.unref(I)]])])),_:3},16,["name"])],64))}});const G=e.defineComponent({name:"VvDropdownItem",props:q,setup(t){const l=t,{role:a,expanded:n}=e.inject(b,{}),r=e.ref(null);!function({expanded:t}){e.provide(h,{role:e.ref(v.menuitem),expanded:t})}({expanded:n});const i=o.useElementHover(r),{focused:u}=o.useFocus(r),{focused:d}=o.useFocusWithin(r);return e.watch(i,(e=>{e&&l.focusOnHover&&(u.value=!0)})),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(a)},{ref_key:"element",ref:r,class:["vv-dropdown__item",{"focus-visible":e.unref(u)||e.unref(d)}]}),[e.renderSlot(t.$slots,"default")],16))}}),Q=["title"],X=e.defineComponent({name:"VvDropdownOption",props:M,setup(t){const o=t,{modifiers:l}=e.toRefs(o),a=K("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(G,{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,Q)])),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}});function Y(){return e.inject(m,void 0)}const Z=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:{}},F),setup(t){const o=t,l=e.computed((()=>"string"==typeof o.rotate?Number.parseFloat(o.rotate):o.rotate)),n=e.ref(!0),r=Y(),{modifiers:i}=e.toRefs(o),u=K("vv-icon",i),d=e.computed((()=>o.provider||(null==r?void 0:r.iconsProvider))),s=e.computed((()=>{const e=o.name??"",t=`@${d.value}:${o.prefix}:${e}`;if(a.iconExists(t))return t;const l=null==r?void 0:r.iconsCollections.find((t=>{const o=`@${d.value}:${t.prefix}:${e}`;return a.iconExists(o)}));return l?`@${d.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&&a.addIcon(`@${d.value}:${o.prefix}:${o.name}`,{body:l,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return r&&o.src&&!a.iconExists(`@${d.value}:${o.prefix}:${o.name}`)&&(n.value=!1,r.fetchIcon(o.src).then((e=>{e&&(c(e),n.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(n)?(e.openBlock(),e.createBlock(e.unref(a.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(s)}),null,16,["class"])):e.createCommentVNode("v-if",!0)}});function ee(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)===d.before?l.value:void 0)),n=e.computed((()=>(null==o?void 0:o.value)===d.after?l.value:void 0)),r=e.computed((()=>(null==o?void 0:o.value)===i.left?l.value:void 0)),u=e.computed((()=>(null==o?void 0:o.value)===i.right?l.value:void 0)),s=e.computed((()=>(null==o?void 0:o.value)===i.top?l.value:void 0)),c=e.computed((()=>(null==o?void 0:o.value)===i.bottom?l.value:void 0));return{hasIcon:l,hasIconLeft:r,hasIconRight:u,hasIconTop:s,hasIconBottom:c,hasIconBefore:a,hasIconAfter:n}}const te=["for"],oe={key:0,class:"vv-textarea__input-before"},le={class:"vv-textarea__inner"},ae=["id"],ne={key:1,class:"vv-textarea__input-after"},re={key:2,class:"vv-textarea__limit"},ie={class:"flex-1"},ue=["title","onClick"];return e.defineComponent({name:"VvTextarea",props:A,emits:["update:modelValue","focus","blur","keyup"],setup(t,{emit:l}){const a=t,r=l,i=e.useSlots(),u=function(t,o,l){const a=Y(),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}),{})}))}("VvTextarea",A,a),d=e.ref(),s=e.ref(),c=e.ref(),{id:v,icon:f,iconPosition:p,iconRemoveSuggestion:m,labelRemoveSuggestion:g,label:b,modelValue:h,count:y,valid:S,invalid:x,loading:w,modifiers:k,debounce:B,minlength:L,maxlength:$,storageKey:V,storageType:E}=e.toRefs(a),O=W(v),P=e.computed((()=>`${O.value}-hint`)),C=e.computed((()=>a.floating&&H(a.placeholder)?" ":a.placeholder)),N=function(t,o,l=0,{getter:a=e=>e,setter:n=e=>e}={}){let r;return"string"==typeof l&&(l=Number.parseInt(l)),e.computed({get:()=>a(null==t?void 0:t.value),set:e=>{r&&clearTimeout(r),r=setTimeout((()=>{o("update:modelValue",n(e))}),l)}})}(h,r,null==B?void 0:B.value),{hasIconBefore:_,hasIconAfter:z}=ee(f,p),{hasIcon:R}=ee(m),{focused:j}=function(t,l){const{focused:a}=o.useFocus(t);return e.watch(a,(o=>{l(o?"focus":"blur",e.unref(t))})),{focused:a}}(d,r),I=e.computed((()=>j.value&&!a.disabled&&!a.readonly));e.watch(I,(e=>{var t,o;if(e&&u.value.selectOnFocus&&d.value&&d.value.select(),e&&(null==(t=Q.value)?void 0:t.size))null==(o=c.value)||o.show();else if(J.value&&Q.value){const e=a.maxSuggestions;Q.value.size>=e&&!Q.value.has(N.value)&&(Q.value=new Set([...Q.value].slice(Q.value.size-e+1))),Q.value.add(N.value)}}));const F=o.useElementVisibility(d);e.watch(F,(e=>{e&&a.autofocus&&(j.value=!0)}));const{formatted:T}=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}}(N,{mode:null==y?void 0:y.value,upperLimit:Number(null==$?void 0:$.value),lowerLimit:Number(null==L?void 0:L.value)}),q=e.computed((()=>!a.disabled&&!a.readonly)),M=e.computed((()=>q.value?a.tabindex:-1)),J=e.computed((()=>!H(h))),G=e.computed((()=>!0===a.invalid||!0!==a.valid&&void 0)),Q=function(t,l=n.local,a){const r=e.ref();let i;return a&&(r.value=a),e.onMounted((()=>{t&&e.watch(t,((t,a)=>{const u=e.unref(l)===n.session?sessionStorage:localStorage;if(a&&a!==t&&u.removeItem(a),t)return i=o.useStorage(t,(null==i?void 0:i.value)??r.value,u),void(i.value&&(r.value=i.value));i=void 0}),{immediate:!0}),e.isRef(l)&&e.watch(l,((e,l)=>{if(null==t?void 0:t.value){if(e){const l=e===n.session?sessionStorage:localStorage;i=o.useStorage(t.value,(null==i?void 0:i.value)??r.value,l)}l&&l!==e&&(l===n.session?sessionStorage:localStorage).removeItem(t.value)}}))})),e.watch(r,(e=>{i&&(i.value=e)}),{deep:!0,immediate:!0}),r}(V,E,new Set),de=e.computed((()=>Q.value?[...Q.value].filter((e=>H(N.value)||`${e}`.toLowerCase().includes(`${N.value}`.toLowerCase())&&e!==N.value)).reverse():[])),se=e.computed((()=>(null==V?void 0:V.value)&&Q.value&&Q.value.size>0));const{HintSlot:ce,hasHintLabelOrSlot:ve,hasInvalidLabelOrSlot:fe,hintSlotScope:pe}=function(t,o){const l=e.computed((()=>e.isRef(t)?t.value:t)),a=e.computed((()=>D(l.value.invalidLabel))),n=e.computed((()=>D(l.value.validLabel))),r=e.computed((()=>l.value.loadingLabel)),i=e.computed((()=>l.value.hintLabel)),u=e.computed((()=>Boolean(l.value.loading&&(o.loading||r.value)))),d=e.computed((()=>!u.value&&Boolean(l.value.invalid&&(o.invalid||a.value)))),s=e.computed((()=>!u.value&&!d.value&&Boolean(l.value.valid&&(o.valid||n.value)))),c=e.computed((()=>!u.value&&!d.value&&!s.value&&Boolean(o.hint||i.value))),v=e.computed((()=>d.value||s.value||u.value||c.value)),f=e.computed((()=>({modelValue:l.value.modelValue,valid:l.value.valid,invalid:l.value.invalid,loading:l.value.loading}))),p=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:v,invalidLabel:a,validLabel:n,loadingLabel:r,hintLabel:i,hasInvalidLabelOrSlot:d,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:c}),render(){var t,o,l,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==(o=(t=this.$slots).loading)?void 0:o.call(t))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:d},(null==(a=(l=this.$slots).invalid)?void 0:a.call(l))??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:c,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hintSlotScope:f,HintSlot:p}}(u,i),me=K("vv-textarea",k,e.computed((()=>({valid:S.value,invalid:x.value,loading:w.value,disabled:a.disabled,readonly:a.readonly,required:a.required,"icon-before":void 0!==_.value,"icon-after":void 0!==z.value,floating:a.floating&&!H(a.label),dirty:J.value,focus:j.value,resizable:a.resizable})))),ge=e.computed((()=>({name:a.name,placeholder:C.value,tabindex:M.value,disabled:a.disabled,readonly:a.readonly,required:a.required,autocomplete:a.autocomplete,minlength:a.minlength,maxlength:a.maxlength,cols:a.cols,rows:a.rows,wrap:a.wrap,spellcheck:a.spellcheck,"aria-invalid":G.value,"aria-describedby":ve.value?P.value:void 0,"aria-errormessage":fe.value?P.value:void 0}))),be=e.computed((()=>({valid:a.valid,invalid:a.invalid,modelValue:a.modelValue,hintLabel:a.hintLabel,maxlength:a.maxlength,minlength:a.minlength,clear:he})));function he(){N.value=void 0}return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(me))},[e.unref(b)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(O),class:"vv-textarea__label"},e.toDisplayString(e.unref(b)),9,te)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"wrapperEl",ref:s,class:"vv-textarea__wrapper"},[t.$slots.before?(e.openBlock(),e.createElementBlock("div",oe,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(be))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",le,[e.unref(_)?(e.openBlock(),e.createBlock(Z,e.mergeProps({key:0},e.unref(_),{class:"vv-textarea__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("textarea",e.mergeProps({id:e.unref(O),ref_key:"textareaEl",ref:d,"onUpdate:modelValue":o[0]||(o[0]=t=>e.isRef(N)?N.value=t:null)},e.unref(ge),{onKeyup:o[1]||(o[1]=e=>r("keyup",e))}),null,16,ae),[[e.vModelText,e.unref(N)]]),e.unref(z)?(e.openBlock(),e.createBlock(Z,e.mergeProps({key:1},e.unref(z),{class:"vv-textarea__icon vv-textarea__icon-after"}),null,16)):e.createCommentVNode("v-if",!0)]),t.$slots.after?(e.openBlock(),e.createElementBlock("div",ne,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(be))))])):e.createCommentVNode("v-if",!0),e.unref(y)?(e.openBlock(),e.createElementBlock("span",re,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(be))),(()=>[e.createTextVNode(e.toDisplayString(e.unref(T)),1)]))])):e.createCommentVNode("v-if",!0)],512),e.createVNode(e.unref(ce),{id:e.unref(P),class:"vv-textarea__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(pe))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(pe))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(pe))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(pe))))])),key:"3"}:void 0]),1032,["id"]),e.unref(se)?(e.openBlock(),e.createBlock(U,{key:1,ref_key:"suggestionsDropdownEl",ref:c,reference:e.unref(s),"autofocus-first":!1,"trigger-width":!0},{items:e.withCtx((()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(de),(o=>(e.openBlock(),e.createBlock(X,{key:o,onClick:e.withModifiers((e=>{return t=o,N.value=t,void(null==(l=c.value)||l.hide());var t,l}),["stop"])},{default:e.withCtx((()=>[e.createElementVNode("div",ie,[e.renderSlot(t.$slots,"suggestion",e.mergeProps({ref_for:!0},{value:o}),(()=>[e.createTextVNode(e.toDisplayString(o),1)]))]),e.unref(Q)&&e.unref(R)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",tabindex:"-1",class:"cursor-pointer",title:e.unref(g),onClick:e.withModifiers((e=>{return t=o,void(null==(l=Q.value)||l.delete(t));var t,l}),["stop"])},[e.createVNode(Z,e.mergeProps({ref_for:!0},e.unref(R)),null,16)],8,ue)):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("@floating-ui/vue"),require("@vueuse/core"),require("mitt"),require("@iconify/vue")):"function"==typeof define&&define.amd?define(["vue","@floating-ui/vue","@vueuse/core","mitt","@iconify/vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvTextarea=t(e.vue,e.vue$1,e.core,e.mitt,e.vue$2)}(this,(function(e,t,o,l,a){"use strict";var n=(e=>(e.local="local",e.session="session",e))(n||{}),r=(e=>(e.absolute="absolute",e.fixed="fixed",e))(r||{}),i=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(i||{}),u=(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))(u||{}),d=(e=>(e.before="before",e.after="after",e))(d||{}),s=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(s||{}),c=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(c||{}),v=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(v||{}),f=(e=>(e.listbox="listbox",e.menu="menu",e))(f||{}),p=(e=>(e.option="option",e.presentation="presentation",e))(p||{});const m=Symbol.for("volver"),g=Symbol.for("dropdownTrigger"),b=Symbol.for("dropdownItem"),h=Symbol.for("dropdownAction"),y={valid:{type:Boolean,default:!1},validLabel:{type:[String,Array],default:void 0}},S={invalid:{type:Boolean,default:!1},invalidLabel:{type:[String,Array],default:void 0}},x={loading:{type:Boolean,default:!1},loadingLabel:{type:String,default:"Loading..."}},w={disabled:{type:Boolean,default:!1}},k={required:{type:Boolean,default:!1}},B={selected:{type:Boolean,default:!1}},L={label:{type:[String,Number],default:void 0}},$={readonly:{type:Boolean,default:!1}},V={modifiers:{type:[String,Array],default:void 0}},E={hintLabel:{type:String,default:""}},O={count:{type:[Boolean,String],default:!1,validator:e=>[!0,!1,"limit","countdown"].includes(e)}},P={debounce:{type:[Number,String],default:void 0}},C={icon:{type:[String,Object],default:void 0},iconPosition:{type:String,default:d.before,validation:e=>Object.values(d).includes(e)}},N={tabindex:{type:[String,Number],default:0}},_={floating:{type:Boolean,default:!1}},z={unselectable:{type:Boolean,default:!0}},R={id:[String,Number]},I={placement:{type:String,default:i.bottom,validator:e=>Object.values(i).includes(e)||Object.values(u).includes(e)},strategy:{type:String,default:void 0,validator:e=>Object.values(r).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}},j={...{...R,name:{type:String,required:!0}},...{autofocus:{type:Boolean,default:!1}},...{autocomplete:{type:String,default:"off"}},...N,...w,...$,...y,...S,...E,...x,...V,...O,...P,...C,..._,...L,minlength:{type:[String,Number],default:void 0},maxlength:{type:[String,Number],default:void 0},placeholder:{type:String,default:void 0},...k};s.button,c.button;const F={prefix:"normal"},A={...j,...{storageType:{type:String,default:n.local,validator:e=>Object.values(n).includes(e)},storageKey:String},modelValue:String,cols:{type:[String,Number],default:20},rows:{type:[String,Number],default:2},wrap:{type:String,default:"soft"},spellcheck:{type:[Boolean,String],default:"default"},iconRemoveSuggestion:{type:[String,Object],default:"trash"},labelRemoveSuggestion:{type:String,default:"Remove suggestion"},maxSuggestions:{type:Number,default:5},selectOnFocus:{type:Boolean,default:!1},resizable:Boolean};function H(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 D(e){return Array.isArray(e)?e.filter((e=>"string"==typeof e)).join(" "):e}const T={...R,...I,...V,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:f.menu,validator:e=>Object.values(f).includes(e)}},q={focusOnHover:{type:Boolean,default:!1}},M={...w,...B,...z,...V,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 K(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 J=["id","tabindex","role","aria-labelledby"],U=e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:T,emits:["update:modelValue","beforeEnter","afterLeave","beforeExpand","beforeCollapse","afterExpand","afterCollapse","before-enter","after-leave","enter","afterEnter","enterCancelled","beforeLeave","leave","leaveCancelled"],setup(a,{expose:n,emit:u}){const d=a,s=u,{id:c}=e.toRefs(d),v=W(c),m=e.useAttrs(),h=e.ref("auto"),y=e.ref("auto"),S=e.ref(),x=e.ref(),w=e.ref(),k=e.ref(),B=e.computed({get:()=>d.reference??S.value,set:e=>{S.value=e}}),L=e.ref(!1);e.onMounted((()=>{o.useMutationObserver(x.value,(()=>{var e;L.value="true"===(null==(e=window.getComputedStyle(x.value).getPropertyValue("--dropdown-custom-position"))?void 0:e.trim())}),{attributeFilter:["style"],window:window})}));const $=e.computed((()=>{const e=[];if(d.autoPlacement?"boolean"==typeof d.autoPlacement?e.push(t.autoPlacement()):e.push(t.autoPlacement(d.autoPlacement)):d.flip&&("boolean"==typeof d.flip?e.push(t.flip({fallbackStrategy:"initialPlacement"})):e.push(t.flip(d.flip))),d.shift&&("boolean"==typeof d.shift?e.push(t.shift()):e.push(t.shift(d.shift))),d.size){const o=({availableWidth:e,availableHeight:t})=>{h.value=`${e}px`,y.value=`${t}px`};"boolean"==typeof d.size?e.push(t.size({apply:o})):e.push(t.size({...d.size,apply:o}))}return d.offset&&(e.push(t.offset(Number(d.offset))),["string","number"].includes(typeof d.offset)?e.push(t.offset(Number(d.offset))):e.push(t.offset(d.offset))),d.arrow&&e.push(t.arrow({element:w})),e})),{x:V,y:E,middlewareData:O,placement:P,strategy:C}=t.useFloating(B,x,{whileElementsMounted:(...e)=>t.autoUpdate(...e,{animationFrame:d.strategy===r.fixed}),placement:e.computed((()=>d.placement)),strategy:e.computed((()=>d.strategy)),middleware:$}),N=e.computed((()=>{var e;if(L.value)return;const t=d.triggerWidth&&B.value?`${null==(e=B.value)?void 0:e.offsetWidth}px`:void 0;return{position:C.value,top:`${E.value??0}px`,left:`${V.value??0}px`,maxWidth:t?void 0:h.value,maxHeight:y.value,width:t}})),_=e.computed((()=>P.value.split("-")[0])),z=e.computed((()=>{var e,t,o,l,a;if(L.value)return;const n={[i.top]:i.bottom,[i.right]:i.left,[i.bottom]:i.top,[i.left]:i.right}[_.value];return{left:void 0!==(null==(e=O.value.arrow)?void 0:e.x)?`${null==(t=O.value.arrow)?void 0:t.x}px`:void 0,top:void 0!==(null==(o=O.value.arrow)?void 0:o.y)?`${null==(l=O.value.arrow)?void 0:l.y}px`:void 0,[n]:-((null==(a=w.value)?void 0:a.offsetWidth)??0)/2+"px"}})),R=o.useVModel(d,"modelValue",s),I=e.ref(!1),j=e.computed({get:()=>R.value??I.value,set:e=>{void 0!==R.value?R.value=e:I.value=e}});function F(){j.value=!0}function A(){j.value=!1}function H(){j.value=!j.value}function D(e){B.value=e}n({toggle:H,show:F,hide:A,init:D,customPosition:L}),e.watch(j,(t=>{t&&d.autofocusFirst&&e.nextTick((()=>{const e=Z(x.value);e.length>0&&e[0].focus({preventScroll:!0})}))})),o.onClickOutside(x,(()=>{!d.keepOpen&&j.value&&(j.value=!1)}),{ignore:[B]});const T=e.computed((()=>{var e,t;return(null==(t=null==(e=B.value)?void 0:e.getAttribute)?void 0:t.call(e,"id"))??void 0})),q=e.computed((()=>({"aria-controls":v.value,"aria-haspopup":!0,"aria-expanded":j.value}))),{component:M,bus:U}=function({reference:t,id:o,expanded:a,aria:n}){const r=l(),i=e.defineComponent({name:"VvDropdownTriggerProvider",setup(){e.provide(g,{reference:t,id:o,expanded:a,aria:n,bus:r})},render(){var t,o;return e.h(e.Fragment,{},null==(o=(t=this.$slots).default)?void 0:o.call(t))}});return{bus:r,component:i}}({reference:B,id:v,expanded:j,aria:q});U.on("click",H);const{role:G,modifiers:Q}=e.toRefs(d),X=K("vv-dropdown",Q,e.computed((()=>({arrow:d.arrow})))),{focused:Y}=o.useFocusWithin(x);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=o.useElementHover(x),{itemRole:te}=function({role:t,...o}){const l=e.computed((()=>t.value===f.listbox?p.option:p.presentation));return e.provide(b,{role:l,...o}),{itemRole:l}}({role:G,expanded:j,focused:Y,hovered:ee});o.onKeyStroke("Escape",(e=>{j.value&&(e.preventDefault(),A())})),o.onKeyStroke("ArrowDown",(t=>{j.value&&Y.value&&(t.preventDefault(),e.nextTick((()=>{if(Y.value){const e=Z(x.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})}})))})),o.onKeyStroke("ArrowUp",(t=>{j.value&&Y.value&&(t.preventDefault(),e.nextTick((()=>{if(Y.value){const e=Z(x.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})}})))})),o.onKeyStroke([" ","Enter"],(e=>{const t=e.target;j.value&&Y.value&&t&&(null==t||t.click())}));const oe={"before-enter":()=>{s(j.value?"beforeExpand":"beforeCollapse"),s("beforeEnter")},"after-leave":()=>{s(j.value?"afterExpand":"afterCollapse"),s("afterLeave")},enter:()=>{s("enter")},"after-enter":()=>{s("afterEnter")},"enter-cancelled":()=>{s("enterCancelled")},"before-leave":()=>{s("beforeLeave")},leave:()=>{s("leave")},"leave-cancelled":()=>{s("leaveCancelled")}};return(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(M),null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:D,show:F,hide:A,toggle:H,expanded:e.unref(j),aria:e.unref(q)})))])),_: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:x,style:e.normalizeStyle(e.unref(N)),class:e.normalizeClass(e.unref(X))},[d.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:w,style:e.normalizeStyle(e.unref(z)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(j)}))),e.createElementVNode("div",e.mergeProps(e.unref(m),{id:e.unref(v),ref_key:"listEl",ref:k,tabindex:e.unref(j)?void 0:-1,role:e.unref(G),"aria-labelledby":e.unref(T),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(te)})))],16,J),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(j)})))],6),[[e.vShow,e.unref(j)]])])),_:3},16,["name"])],64))}});const G=e.defineComponent({name:"VvDropdownItem",props:q,setup(t){const l=t,{role:a,expanded:n}=e.inject(b,{}),r=e.ref(null);!function({expanded:t}){e.provide(h,{role:e.ref(v.menuitem),expanded:t})}({expanded:n});const i=o.useElementHover(r),{focused:u}=o.useFocus(r),{focused:d}=o.useFocusWithin(r);return e.watch(i,(e=>{e&&l.focusOnHover&&(u.value=!0)})),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(a)},{ref_key:"element",ref:r,class:["vv-dropdown__item",{"focus-visible":e.unref(u)||e.unref(d)}]}),[e.renderSlot(t.$slots,"default")],16))}}),Q=["title"],X=e.defineComponent({name:"VvDropdownOption",props:M,setup(t){const o=t,{modifiers:l}=e.toRefs(o),a=K("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(G,{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,Q)])),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}});function Y(){return e.inject(m,void 0)}const Z=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:{}},F),setup(t){const o=t,l=e.computed((()=>"string"==typeof o.rotate?Number.parseFloat(o.rotate):o.rotate)),n=e.ref(!0),r=Y(),{modifiers:i}=e.toRefs(o),u=K("vv-icon",i),d=e.computed((()=>o.provider||(null==r?void 0:r.iconsProvider))),s=e.computed((()=>{const e=o.name??"",t=`@${d.value}:${o.prefix}:${e}`;if(a.iconExists(t))return t;const l=null==r?void 0:r.iconsCollections.find((t=>{const o=`@${d.value}:${t.prefix}:${e}`;return a.iconExists(o)}));return l?`@${d.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&&a.addIcon(`@${d.value}:${o.prefix}:${o.name}`,{body:l,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return r&&o.src&&!a.iconExists(`@${d.value}:${o.prefix}:${o.name}`)&&(n.value=!1,r.fetchIcon(o.src).then((e=>{e&&(c(e),n.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(n)?(e.openBlock(),e.createBlock(e.unref(a.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(s)}),null,16,["class"])):e.createCommentVNode("v-if",!0)}});function ee(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)===d.before?l.value:void 0)),n=e.computed((()=>(null==o?void 0:o.value)===d.after?l.value:void 0)),r=e.computed((()=>(null==o?void 0:o.value)===i.left?l.value:void 0)),u=e.computed((()=>(null==o?void 0:o.value)===i.right?l.value:void 0)),s=e.computed((()=>(null==o?void 0:o.value)===i.top?l.value:void 0)),c=e.computed((()=>(null==o?void 0:o.value)===i.bottom?l.value:void 0));return{hasIcon:l,hasIconLeft:r,hasIconRight:u,hasIconTop:s,hasIconBottom:c,hasIconBefore:a,hasIconAfter:n}}const te=["for"],oe={key:0,class:"vv-textarea__input-before"},le={class:"vv-textarea__inner"},ae=["id"],ne={key:1,class:"vv-textarea__input-after"},re={key:2,class:"vv-textarea__limit"},ie={class:"flex-1"},ue=["title","onClick"];return e.defineComponent({name:"VvTextarea",props:A,emits:["update:modelValue","focus","blur","keyup","suggestion:selected","suggestion:removed"],setup(t,{emit:l}){const a=t,r=l,i=e.useSlots(),u=Y(),d=function(t,o,l){const a=Y(),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}),{})}))}("VvTextarea",A,a),s=e.ref(),c=e.ref(),v=e.ref(),{id:f,icon:p,iconPosition:m,iconRemoveSuggestion:g,labelRemoveSuggestion:b,label:h,modelValue:y,count:S,valid:x,invalid:w,loading:k,modifiers:B,debounce:L,minlength:$,maxlength:V,storageType:E}=e.toRefs(a),O=W(f),P=e.computed((()=>`${O.value}-hint`)),C=e.computed((()=>a.floating&&H(a.placeholder)?" ":a.placeholder)),N=function(t,o,l=0,{getter:a=e=>e,setter:n=e=>e}={}){let r;return"string"==typeof l&&(l=Number.parseInt(l)),e.computed({get:()=>a(null==t?void 0:t.value),set:e=>{r&&clearTimeout(r),r=setTimeout((()=>{o("update:modelValue",n(e))}),l)}})}(y,r,null==L?void 0:L.value),{hasIconBefore:_,hasIconAfter:z}=ee(p,m),{hasIcon:R}=ee(g),{focused:I}=function(t,l){const{focused:a}=o.useFocus(t);return e.watch(a,(o=>{l(o?"focus":"blur",e.unref(t))})),{focused:a}}(s,r),j=e.computed((()=>I.value&&!a.disabled&&!a.readonly));e.watch(j,(e=>{var t,o;if(e&&d.value.selectOnFocus&&s.value&&s.value.select(),e&&(null==(t=de.value)?void 0:t.size))null==(o=v.value)||o.show();else if(J.value&&de.value){const e=a.maxSuggestions;de.value.size>=e&&!de.value.has(N.value)&&(de.value=new Set([...de.value].slice(de.value.size-e+1))),de.value.add(N.value)}}));const F=o.useElementVisibility(s);e.watch(F,(e=>{e&&a.autofocus&&(I.value=!0)}));const{formatted:T}=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}}(N,{mode:null==S?void 0:S.value,upperLimit:Number(null==V?void 0:V.value),lowerLimit:Number(null==$?void 0:$.value)}),q=e.computed((()=>!a.disabled&&!a.readonly)),M=e.computed((()=>q.value?a.tabindex:-1)),J=e.computed((()=>!H(y))),G=e.computed((()=>!0===a.invalid||!0!==a.valid&&void 0)),Q=e.computed((()=>a.storageKey??((null==u?void 0:u.experimentalFeatures.forceInputSuggestions)?a.name:void 0))),de=function(t,l=n.local,a){const r=e.ref();let i;return a&&(r.value=a),e.onMounted((()=>{t&&e.watch(t,((t,a)=>{const u=e.unref(l)===n.session?sessionStorage:localStorage;if(a&&a!==t&&u.removeItem(a),t)return i=o.useStorage(t,(null==i?void 0:i.value)??r.value,u),void(i.value&&(r.value=i.value));i=void 0}),{immediate:!0}),e.isRef(l)&&e.watch(l,((e,l)=>{if(null==t?void 0:t.value){if(e){const l=e===n.session?sessionStorage:localStorage;i=o.useStorage(t.value,(null==i?void 0:i.value)??r.value,l)}l&&l!==e&&(l===n.session?sessionStorage:localStorage).removeItem(t.value)}}))})),e.watch(r,(e=>{i&&(i.value=e)}),{deep:!0,immediate:!0}),r}(Q,E,new Set),se=e.computed((()=>de.value?[...de.value].filter((e=>H(N.value)||`${e}`.toLowerCase().includes(`${N.value}`.toLowerCase())&&e!==N.value)).reverse():[])),ce=e.computed((()=>(null==Q?void 0:Q.value)&&de.value&&de.value.size>0));const{HintSlot:ve,hasHintLabelOrSlot:fe,hasInvalidLabelOrSlot:pe,hintSlotScope:me}=function(t,o){const l=e.computed((()=>e.isRef(t)?t.value:t)),a=e.computed((()=>D(l.value.invalidLabel))),n=e.computed((()=>D(l.value.validLabel))),r=e.computed((()=>l.value.loadingLabel)),i=e.computed((()=>l.value.hintLabel)),u=e.computed((()=>Boolean(l.value.loading&&(o.loading||r.value)))),d=e.computed((()=>!u.value&&Boolean(l.value.invalid&&(o.invalid||a.value)))),s=e.computed((()=>!u.value&&!d.value&&Boolean(l.value.valid&&(o.valid||n.value)))),c=e.computed((()=>!u.value&&!d.value&&!s.value&&Boolean(o.hint||i.value))),v=e.computed((()=>d.value||s.value||u.value||c.value)),f=e.computed((()=>({modelValue:l.value.modelValue,valid:l.value.valid,invalid:l.value.invalid,loading:l.value.loading}))),p=e.defineComponent({name:"HintSlot",props:{tag:{type:String,default:"small"}},setup:()=>({isVisible:v,invalidLabel:a,validLabel:n,loadingLabel:r,hintLabel:i,hasInvalidLabelOrSlot:d,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hasHintLabelOrSlot:c}),render(){var t,o,l,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==(o=(t=this.$slots).loading)?void 0:o.call(t))??this.loadingLabel):this.hasInvalidLabelOrSlot?e.h(this.tag,{role:d},(null==(a=(l=this.$slots).invalid)?void 0:a.call(l))??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:c,hasValidLabelOrSlot:s,hasLoadingLabelOrSlot:u,hintSlotScope:f,HintSlot:p}}(d,i),ge=K("vv-textarea",B,e.computed((()=>({valid:x.value,invalid:w.value,loading:k.value,disabled:a.disabled,readonly:a.readonly,required:a.required,"icon-before":void 0!==_.value,"icon-after":void 0!==z.value,floating:a.floating&&!H(a.label),dirty:J.value,focus:I.value,resizable:a.resizable})))),be=e.computed((()=>({name:a.name,placeholder:C.value,tabindex:M.value,disabled:a.disabled,readonly:a.readonly,required:a.required,autocomplete:a.autocomplete,minlength:a.minlength,maxlength:a.maxlength,cols:a.cols,rows:a.rows,wrap:a.wrap,spellcheck:a.spellcheck,"aria-invalid":G.value,"aria-describedby":fe.value?P.value:void 0,"aria-errormessage":pe.value?P.value:void 0}))),he=e.computed((()=>({valid:a.valid,invalid:a.invalid,modelValue:a.modelValue,hintLabel:a.hintLabel,maxlength:a.maxlength,minlength:a.minlength,clear:ye})));function ye(){N.value=void 0}return(t,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(ge))},[e.unref(h)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(O),class:"vv-textarea__label"},e.toDisplayString(e.unref(h)),9,te)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{ref_key:"wrapperEl",ref:c,class:"vv-textarea__wrapper"},[t.$slots.before?(e.openBlock(),e.createElementBlock("div",oe,[e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(he))))])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",le,[e.unref(_)?(e.openBlock(),e.createBlock(Z,e.mergeProps({key:0},e.unref(_),{class:"vv-textarea__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.withDirectives(e.createElementVNode("textarea",e.mergeProps({id:e.unref(O),ref_key:"textareaEl",ref:s,"onUpdate:modelValue":o[0]||(o[0]=t=>e.isRef(N)?N.value=t:null)},e.unref(be),{onKeyup:o[1]||(o[1]=e=>r("keyup",e))}),null,16,ae),[[e.vModelText,e.unref(N)]]),e.unref(z)?(e.openBlock(),e.createBlock(Z,e.mergeProps({key:1},e.unref(z),{class:"vv-textarea__icon vv-textarea__icon-after"}),null,16)):e.createCommentVNode("v-if",!0)]),t.$slots.after?(e.openBlock(),e.createElementBlock("div",ne,[e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(he))))])):e.createCommentVNode("v-if",!0),e.unref(S)?(e.openBlock(),e.createElementBlock("span",re,[e.renderSlot(t.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(he))),(()=>[e.createTextVNode(e.toDisplayString(e.unref(T)),1)]))])):e.createCommentVNode("v-if",!0)],512),e.createVNode(e.unref(ve),{id:e.unref(P),class:"vv-textarea__hint"},e.createSlots({_:2},[t.$slots.hint?{name:"hint",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps(e.unref(me))))])),key:"0"}:void 0,t.$slots.loading?{name:"loading",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"loading",e.normalizeProps(e.guardReactiveProps(e.unref(me))))])),key:"1"}:void 0,t.$slots.valid?{name:"valid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"valid",e.normalizeProps(e.guardReactiveProps(e.unref(me))))])),key:"2"}:void 0,t.$slots.invalid?{name:"invalid",fn:e.withCtx((()=>[e.renderSlot(t.$slots,"invalid",e.normalizeProps(e.guardReactiveProps(e.unref(me))))])),key:"3"}:void 0]),1032,["id"]),e.unref(ce)?(e.openBlock(),e.createBlock(U,{key:1,ref_key:"suggestionsDropdownEl",ref:v,reference:e.unref(c),"autofocus-first":!1,"trigger-width":!0},{items:e.withCtx((()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(se),(o=>(e.openBlock(),e.createBlock(X,{key:o,onClick:e.withModifiers((e=>{return t=o,N.value=t,null==(l=v.value)||l.hide(),void r("suggestion:selected",t);var t,l}),["stop"])},{default:e.withCtx((()=>[e.createElementVNode("div",ie,[e.renderSlot(t.$slots,"suggestion",e.mergeProps({ref_for:!0},{value:o}),(()=>[e.createTextVNode(e.toDisplayString(o),1)]))]),e.unref(de)&&e.unref(R)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",tabindex:"-1",class:"cursor-pointer",title:e.unref(b),onClick:e.withModifiers((e=>{return t=o,null==(l=de.value)||l.delete(t),void r("suggestion:removed",t);var t,l}),["stop"])},[e.createVNode(Z,e.mergeProps({ref_for:!0},e.unref(R)),null,16)],8,ue)):e.createCommentVNode("v-if",!0)])),_:2},1032,["onClick"])))),128))])),_:3},8,["reference"])):e.createCommentVNode("v-if",!0)],2))}})}));
|
|
@@ -6128,6 +6128,8 @@ const VvInputTextEvents = [
|
|
|
6128
6128
|
"complete:typed",
|
|
6129
6129
|
"complete:masked",
|
|
6130
6130
|
"complete:unmasked",
|
|
6131
|
+
"suggestion:selected",
|
|
6132
|
+
"suggestion:removed",
|
|
6131
6133
|
"focus",
|
|
6132
6134
|
"blur",
|
|
6133
6135
|
"keyup",
|
|
@@ -6628,6 +6630,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
6628
6630
|
const props = __props;
|
|
6629
6631
|
const emit = __emit;
|
|
6630
6632
|
const slots = useSlots();
|
|
6633
|
+
const volver = useVolver();
|
|
6631
6634
|
const propsDefaults = useDefaults(
|
|
6632
6635
|
"VvInputText",
|
|
6633
6636
|
VvInputTextProps,
|
|
@@ -6647,7 +6650,6 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
6647
6650
|
minlength,
|
|
6648
6651
|
modelValue,
|
|
6649
6652
|
step,
|
|
6650
|
-
storageKey,
|
|
6651
6653
|
storageType,
|
|
6652
6654
|
type,
|
|
6653
6655
|
valid
|
|
@@ -6937,6 +6939,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
6937
6939
|
}
|
|
6938
6940
|
return void 0;
|
|
6939
6941
|
});
|
|
6942
|
+
const storageKey = computed(() => props.storageKey ?? ((volver == null ? void 0 : volver.experimentalFeatures.forceInputSuggestions) ? props.name : void 0));
|
|
6940
6943
|
const suggestions = usePersistence(
|
|
6941
6944
|
storageKey,
|
|
6942
6945
|
storageType,
|
|
@@ -6957,10 +6960,12 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
6957
6960
|
var _a;
|
|
6958
6961
|
localModelValue.value = suggestion;
|
|
6959
6962
|
(_a = suggestionsDropdownEl.value) == null ? void 0 : _a.hide();
|
|
6963
|
+
emit("suggestion:selected", suggestion);
|
|
6960
6964
|
}
|
|
6961
6965
|
function onSuggestionRemove(suggestion) {
|
|
6962
6966
|
var _a;
|
|
6963
6967
|
(_a = suggestions.value) == null ? void 0 : _a.delete(suggestion);
|
|
6968
|
+
emit("suggestion:removed", suggestion);
|
|
6964
6969
|
}
|
|
6965
6970
|
const { modifiers } = toRefs(props);
|
|
6966
6971
|
const bemCssClasses = useModifiers(
|
|
@@ -7885,7 +7890,7 @@ const WRAP = {
|
|
|
7885
7890
|
const SPELLCHECK = {
|
|
7886
7891
|
default: "default"
|
|
7887
7892
|
};
|
|
7888
|
-
const VvTextareaEvents = ["update:modelValue", "focus", "blur", "keyup"];
|
|
7893
|
+
const VvTextareaEvents = ["update:modelValue", "focus", "blur", "keyup", "suggestion:selected", "suggestion:removed"];
|
|
7889
7894
|
const VvTextareaProps = {
|
|
7890
7895
|
...InputTextareaProps,
|
|
7891
7896
|
...StorageProps,
|
|
@@ -7976,6 +7981,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
7976
7981
|
const props = __props;
|
|
7977
7982
|
const emit = __emit;
|
|
7978
7983
|
const slots = useSlots();
|
|
7984
|
+
const volver = useVolver();
|
|
7979
7985
|
const propsDefaults = useDefaults(
|
|
7980
7986
|
"VvTextarea",
|
|
7981
7987
|
VvTextareaProps,
|
|
@@ -8000,7 +8006,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
8000
8006
|
debounce,
|
|
8001
8007
|
minlength,
|
|
8002
8008
|
maxlength,
|
|
8003
|
-
storageKey,
|
|
8004
8009
|
storageType
|
|
8005
8010
|
} = toRefs(props);
|
|
8006
8011
|
const hasId = useUniqueId(id);
|
|
@@ -8061,6 +8066,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
8061
8066
|
}
|
|
8062
8067
|
return void 0;
|
|
8063
8068
|
});
|
|
8069
|
+
const storageKey = computed(() => props.storageKey ?? ((volver == null ? void 0 : volver.experimentalFeatures.forceInputSuggestions) ? props.name : void 0));
|
|
8064
8070
|
const suggestions = usePersistence(
|
|
8065
8071
|
storageKey,
|
|
8066
8072
|
storageType,
|
|
@@ -8081,10 +8087,12 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
8081
8087
|
var _a;
|
|
8082
8088
|
localModelValue.value = suggestion;
|
|
8083
8089
|
(_a = suggestionsDropdownEl.value) == null ? void 0 : _a.hide();
|
|
8090
|
+
emit("suggestion:selected", suggestion);
|
|
8084
8091
|
}
|
|
8085
8092
|
function onSuggestionRemove(suggestion) {
|
|
8086
8093
|
var _a;
|
|
8087
8094
|
(_a = suggestions.value) == null ? void 0 : _a.delete(suggestion);
|
|
8095
|
+
emit("suggestion:removed", suggestion);
|
|
8088
8096
|
}
|
|
8089
8097
|
const {
|
|
8090
8098
|
HintSlot,
|