@volverjs/ui-vue 0.0.3 → 0.0.5-beta.1

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.
Files changed (236) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +54 -15
  3. package/auto-imports.d.ts +12 -3
  4. package/bin/icons.cjs +1 -73
  5. package/dist/Volver.d.ts +23 -11
  6. package/dist/components/VvAccordion/VvAccordion.es.js +180 -74
  7. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  8. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +4 -1
  9. package/dist/components/VvAccordion/index.d.ts +8 -3
  10. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +280 -122
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  12. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +15 -12
  13. package/dist/components/VvAccordionGroup/index.d.ts +8 -0
  14. package/dist/components/VvAction/VvAction.es.js +338 -0
  15. package/dist/components/VvAction/VvAction.umd.js +1 -0
  16. package/dist/components/VvAction/VvAction.vue.d.ts +63 -0
  17. package/dist/components/VvAction/index.d.ts +24 -0
  18. package/dist/components/VvBadge/VvBadge.es.js +251 -22
  19. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  20. package/dist/components/VvBadge/VvBadge.vue.d.ts +2 -2
  21. package/dist/components/VvBadge/index.d.ts +1 -1
  22. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +280 -62
  23. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  24. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +11 -11
  25. package/dist/components/VvBreadcrumb/index.d.ts +1 -1
  26. package/dist/components/VvButton/VvButton.es.js +720 -261
  27. package/dist/components/VvButton/VvButton.umd.js +1 -1
  28. package/dist/components/VvButton/VvButton.vue.d.ts +54 -54
  29. package/dist/components/VvButton/index.d.ts +30 -75
  30. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +296 -49
  31. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  32. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +2 -2
  33. package/dist/components/VvButtonGroup/index.d.ts +1 -1
  34. package/dist/components/VvCard/VvCard.es.js +60 -28
  35. package/dist/components/VvCard/VvCard.umd.js +1 -1
  36. package/dist/components/VvCheckbox/VvCheckbox.es.js +630 -172
  37. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  38. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +4 -4
  39. package/dist/components/VvCheckbox/index.d.ts +6 -6
  40. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +736 -228
  41. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  42. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +9 -9
  43. package/dist/components/VvCheckboxGroup/index.d.ts +4 -4
  44. package/dist/components/VvCombobox/VvCombobox.es.js +1673 -768
  45. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  46. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +159 -61
  47. package/dist/components/VvCombobox/index.d.ts +54 -23
  48. package/dist/components/VvDialog/VvDialog.es.js +426 -115
  49. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  50. package/dist/components/VvDialog/VvDialog.vue.d.ts +12 -3
  51. package/dist/components/VvDialog/index.d.ts +4 -1
  52. package/dist/components/VvDropdown/VvDropdown.es.js +504 -190
  53. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  54. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +114 -42
  55. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +61 -0
  56. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +52 -0
  57. package/dist/components/VvDropdown/index.d.ts +35 -14
  58. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +454 -0
  59. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -0
  60. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +48 -18
  61. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  62. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +361 -0
  63. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -0
  64. package/dist/components/VvIcon/VvIcon.es.js +116 -52
  65. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  66. package/dist/components/VvIcon/VvIcon.vue.d.ts +7 -7
  67. package/dist/components/VvIcon/index.d.ts +2 -2
  68. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +2 -2
  69. package/dist/components/VvInputText/VvInputStepAction.d.ts +1 -1
  70. package/dist/components/VvInputText/VvInputText.es.js +1054 -376
  71. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  72. package/dist/components/VvInputText/VvInputText.vue.d.ts +107 -20
  73. package/dist/components/VvInputText/VvInputTextActions.d.ts +1 -1
  74. package/dist/components/VvInputText/index.d.ts +67 -3
  75. package/dist/components/VvProgress/VvProgress.es.js +254 -23
  76. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  77. package/dist/components/VvProgress/VvProgress.vue.d.ts +2 -2
  78. package/dist/components/VvProgress/index.d.ts +1 -1
  79. package/dist/components/VvRadio/VvRadio.es.js +568 -137
  80. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  81. package/dist/components/VvRadio/VvRadio.vue.d.ts +4 -4
  82. package/dist/components/VvRadio/index.d.ts +6 -6
  83. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +674 -193
  84. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  85. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +9 -9
  86. package/dist/components/VvRadioGroup/index.d.ts +4 -4
  87. package/dist/components/VvSelect/VvSelect.es.js +703 -251
  88. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  89. package/dist/components/VvSelect/VvSelect.vue.d.ts +24 -17
  90. package/dist/components/VvSelect/index.d.ts +8 -8
  91. package/dist/components/VvTextarea/VvTextarea.es.js +747 -272
  92. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  93. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +21 -14
  94. package/dist/components/VvTextarea/index.d.ts +7 -7
  95. package/dist/components/VvTooltip/VvTooltip.es.js +252 -24
  96. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  97. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +7 -7
  98. package/dist/components/VvTooltip/index.d.ts +2 -2
  99. package/dist/components/index.es.js +3676 -2007
  100. package/dist/components/index.umd.js +1 -1
  101. package/dist/composables/dropdown/useInjectDropdown.d.ts +1 -1
  102. package/dist/composables/dropdown/useProvideDropdown.d.ts +3 -3
  103. package/dist/composables/group/useInjectedGroupState.d.ts +2 -2
  104. package/dist/composables/group/useProvideGroupState.d.ts +1 -1
  105. package/dist/composables/useComponentFocus.d.ts +1 -1
  106. package/dist/composables/useComponentIcon.d.ts +7 -7
  107. package/dist/composables/useDebouncedInput.d.ts +4 -1
  108. package/dist/composables/useDefaults.d.ts +2 -0
  109. package/dist/composables/useModifiers.d.ts +1 -1
  110. package/dist/composables/useOptions.d.ts +2 -2
  111. package/dist/composables/useTextCount.d.ts +3 -3
  112. package/dist/composables/useUniqueId.d.ts +1 -1
  113. package/dist/composables/useVolver.d.ts +1 -1
  114. package/dist/constants.d.ts +30 -0
  115. package/dist/directives/index.es.js +288 -0
  116. package/dist/directives/index.umd.js +1 -0
  117. package/dist/directives/v-tooltip.es.js +285 -0
  118. package/dist/directives/v-tooltip.umd.js +1 -0
  119. package/dist/icons.es.js +38 -23
  120. package/dist/icons.umd.js +1 -1
  121. package/dist/index.d.ts +0 -1
  122. package/dist/index.es.js +115 -3269
  123. package/dist/index.umd.js +1 -1
  124. package/dist/props/index.d.ts +215 -23
  125. package/dist/resolvers/unplugin.d.ts +14 -8
  126. package/dist/resolvers/unplugin.es.js +94 -33
  127. package/dist/resolvers/unplugin.umd.js +1 -1
  128. package/dist/stories/Combobox/Combobox.settings.d.ts +44 -0
  129. package/dist/stories/Dropdown/Dropdown.settings.d.ts +3 -2
  130. package/dist/stories/InputText/InputText.settings.d.ts +53 -0
  131. package/dist/stories/argTypes.d.ts +1 -1
  132. package/package.json +167 -63
  133. package/src/Volver.ts +60 -26
  134. package/src/assets/icons/detailed.json +1 -1
  135. package/src/assets/icons/normal.json +1 -1
  136. package/src/assets/icons/simple.json +1 -1
  137. package/src/components/VvAccordion/VvAccordion.vue +19 -22
  138. package/src/components/VvAccordion/index.ts +12 -4
  139. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +19 -10
  140. package/src/components/VvAccordionGroup/index.ts +8 -0
  141. package/src/components/VvAction/VvAction.vue +144 -0
  142. package/src/components/VvAction/index.ts +5 -0
  143. package/src/components/VvBadge/VvBadge.vue +2 -2
  144. package/src/components/VvBadge/index.ts +1 -1
  145. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +3 -3
  146. package/src/components/VvButton/VvButton.vue +41 -124
  147. package/src/components/VvButton/index.ts +16 -88
  148. package/src/components/VvButtonGroup/VvButtonGroup.vue +4 -7
  149. package/src/components/VvButtonGroup/index.ts +1 -1
  150. package/src/components/VvCard/VvCard.vue +2 -2
  151. package/src/components/VvCheckbox/VvCheckbox.vue +3 -7
  152. package/src/components/VvCheckbox/index.ts +11 -7
  153. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +7 -10
  154. package/src/components/VvCheckboxGroup/index.ts +1 -1
  155. package/src/components/VvCombobox/VvCombobox.vue +85 -57
  156. package/src/components/VvCombobox/index.ts +12 -10
  157. package/src/components/VvDialog/VvDialog.vue +28 -11
  158. package/src/components/VvDialog/index.ts +5 -2
  159. package/src/components/VvDropdown/VvDropdown.vue +6 -5
  160. package/src/components/VvDropdown/VvDropdownAction.vue +46 -0
  161. package/src/components/VvDropdown/VvDropdownOption.vue +72 -0
  162. package/src/components/VvDropdown/index.ts +6 -11
  163. package/src/components/VvIcon/VvIcon.vue +3 -3
  164. package/src/components/VvIcon/index.ts +3 -3
  165. package/src/components/VvInputText/VvInputClearAction.ts +2 -2
  166. package/src/components/VvInputText/VvInputPasswordAction.ts +3 -4
  167. package/src/components/VvInputText/VvInputStepAction.ts +3 -2
  168. package/src/components/VvInputText/VvInputText.vue +128 -35
  169. package/src/components/VvInputText/VvInputTextActions.ts +5 -8
  170. package/src/components/VvInputText/index.ts +62 -1
  171. package/src/components/VvProgress/VvProgress.vue +2 -2
  172. package/src/components/VvProgress/index.ts +1 -1
  173. package/src/components/VvRadio/VvRadio.vue +3 -7
  174. package/src/components/VvRadio/index.ts +11 -7
  175. package/src/components/VvRadioGroup/VvRadioGroup.vue +7 -10
  176. package/src/components/VvRadioGroup/index.ts +1 -1
  177. package/src/components/VvSelect/VvSelect.vue +4 -4
  178. package/src/components/VvSelect/index.ts +3 -5
  179. package/src/components/VvTextarea/VvTextarea.vue +4 -4
  180. package/src/components/VvTextarea/index.ts +1 -1
  181. package/src/components/VvTooltip/VvTooltip.vue +2 -2
  182. package/src/components/VvTooltip/index.ts +3 -3
  183. package/src/composables/dropdown/useInjectDropdown.ts +2 -2
  184. package/src/composables/dropdown/useProvideDropdown.ts +9 -11
  185. package/src/composables/group/useInjectedGroupState.ts +1 -1
  186. package/src/composables/group/useProvideGroupState.ts +1 -1
  187. package/src/composables/useComponentIcon.ts +1 -1
  188. package/src/composables/useDebouncedInput.ts +10 -3
  189. package/src/composables/useDefaults.ts +89 -0
  190. package/src/composables/useModifiers.ts +8 -9
  191. package/src/composables/useOptions.ts +1 -1
  192. package/src/composables/useVolver.ts +2 -2
  193. package/src/constants.ts +36 -0
  194. package/src/directives/index.ts +1 -1
  195. package/src/directives/v-tooltip.ts +2 -2
  196. package/src/index.ts +0 -2
  197. package/src/props/index.ts +111 -19
  198. package/src/resolvers/unplugin.ts +96 -49
  199. package/src/stories/Accordion/Accordion.stories.mdx +8 -2
  200. package/src/stories/Accordion/Accordion.test.ts +21 -15
  201. package/src/stories/Accordion/AccordionSlots.stories.mdx +8 -8
  202. package/src/stories/AccordionGroup/AccordionGroup.stories.mdx +17 -1
  203. package/src/stories/AccordionGroup/AccordionGroup.test.ts +18 -12
  204. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.mdx +3 -2
  205. package/src/stories/Breadcrumb/Breadcrumb.stories.mdx +2 -1
  206. package/src/stories/Button/Button.stories.mdx +4 -2
  207. package/src/stories/Button/Button.test.ts +3 -1
  208. package/src/stories/Button/ButtonModifiers.stories.mdx +2 -2
  209. package/src/stories/Button/ButtonSlots.stories.mdx +8 -7
  210. package/src/stories/Button/ButtonState.stories.mdx +2 -11
  211. package/src/stories/Card/Card.stories.mdx +2 -1
  212. package/src/stories/Checkbox/Checkbox.stories.mdx +2 -1
  213. package/src/stories/CheckboxGroup/CheckboxGroup.stories.mdx +2 -1
  214. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.mdx +2 -1
  215. package/src/stories/Combobox/Combobox.settings.ts +44 -0
  216. package/src/stories/Combobox/Combobox.stories.mdx +40 -1
  217. package/src/stories/Dialog/Dialog.stories.mdx +2 -1
  218. package/src/stories/Dropdown/Dropdown.settings.ts +3 -2
  219. package/src/stories/Dropdown/Dropdown.stories.mdx +14 -12
  220. package/src/stories/Dropdown/DropdownMultilevel.stories.mdx +56 -0
  221. package/src/stories/Dropdown/DropdownSlots.stories.mdx +14 -13
  222. package/src/stories/Icon/Icon.stories.mdx +2 -1
  223. package/src/stories/Icon/IconsCollection.stories.mdx +2 -1
  224. package/src/stories/InputText/InputText.settings.ts +53 -0
  225. package/src/stories/InputText/InputText.stories.mdx +42 -1
  226. package/src/stories/InputText/InputText.test.ts +5 -2
  227. package/src/stories/Progress/Progress.stories.mdx +2 -1
  228. package/src/stories/Radio/Radio.stories.mdx +2 -1
  229. package/src/stories/RadioGroup/RadioGroup.stories.mdx +2 -1
  230. package/src/stories/RadioGroup/RadioGroupSlots.stories.mdx +2 -1
  231. package/src/stories/Select/Select.stories.mdx +2 -1
  232. package/src/stories/Textarea/Textarea.stories.mdx +2 -1
  233. package/src/stories/Tooltip/Tooltip.stories.mdx +2 -1
  234. package/src/stories/Tooltip/TooltipDirective.stories.mdx +2 -1
  235. package/src/stories/argTypes.ts +2 -2
  236. package/src/types/group.d.ts +5 -0
package/dist/index.umd.js CHANGED
@@ -1 +1 @@
1
- (function(C,x){typeof exports=="object"&&typeof module<"u"?x(exports,require("@iconify/vue"),require("vue"),require("nanoid"),require("@floating-ui/vue")):typeof define=="function"&&define.amd?define(["exports","@iconify/vue","vue","nanoid","@floating-ui/vue"],x):(C=typeof globalThis<"u"?globalThis:C||self,x(C.volver={},C.vue$1,C.vue,C.nanoid,C.vue$2))})(this,function(C,x,e,ot,Y){"use strict";var $l=Object.defineProperty;var Nl=(C,x,e)=>x in C?$l(C,x,{enumerable:!0,configurable:!0,writable:!0,value:e}):C[x]=e;var ge=(C,x,e)=>(Nl(C,typeof x!="symbol"?x+"":x,e),e);const lt="vv";var te=(o=>(o.left="left",o.right="right",o.top="top",o.bottom="bottom",o))(te||{}),De=(o=>(o.topStart="top-start",o.topEnd="top-end",o.bottomStart="bottom-start",o.bottomEnd="bottom-end",o.leftStart="left-start",o.leftEnd="left-end",o.rightStart="right-start",o.rightEnd="right-end",o))(De||{}),Ve=(o=>(o.before="before",o.after="after",o))(Ve||{});const nt=Symbol.for("volver"),Re=Symbol.for("buttonGroup"),Oe=Symbol.for("radioGroup"),Te=Symbol.for("checkGroup"),xe=Symbol.for("accordionGroup"),pe={valid:Boolean,validLabel:[String,Array]},fe={invalid:Boolean,invalidLabel:[String,Array]},Be={loading:Boolean,loadingLabel:String},ce={disabled:Boolean},me={readonly:Boolean},J={modifiers:[String,Array]},be={hintLabel:{type:String,default:""}},Ce={options:{type:Array,default:()=>[]},labelKey:{type:[String,Function],default:"label"},valueKey:{type:[String,Function],default:"value"},disabledKey:{type:[String,Function],default:"disabled"}},at={count:{type:[Boolean,String],default:!1,validator:o=>[!0,!1,"limit","countdown"].includes(o)}},rt={debounce:[Number,String]},Ee={icon:{type:[String,Object]},iconPosition:{type:String,default:Ve.before,validation:o=>Object.values(Ve).includes(o)}},ye={tabindex:{type:[String,Number],default:0}},Pe={floating:Boolean},_e={unselectable:{type:Boolean,default:!0}},ve={id:[String,Number]},we={placement:{type:String,default:te.bottom,validator:o=>Object.values(te).includes(o)||Object.values(De).includes(o)},transitionName:{type:String},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},autoClose:{type:Boolean,default:!0},autofocusFirst:{type:Boolean,default:!0},triggerWidth:{type:Boolean}},Se={...ve,name:{type:String,required:!0}},Me={autofocus:Boolean},Le={autocomplete:{type:String,default:"off"}},ze={...Se,...Me,...Le,...ye,...ce,...me,...pe,...fe,...be,...Be,...J,...at,...rt,...Ee,...Pe,minlength:Number,maxlength:Number,placeholder:String,required:Boolean,label:String},He={...Se,...ye,...pe,...fe,...be,...ce,...me,...J,value:[String,Number,Boolean],modelValue:[Object,Number,Boolean,String],label:String},Fe={...pe,...fe,...Ce,...be,...ce,...me,...J,modelValue:[String,Array],label:String,name:{type:String,required:!0},vertical:Boolean},st={...J,position:{type:String,default:te.bottom},value:{type:String}},it=e.defineComponent({__name:"VvTooltip",props:st,setup(o){const n=o,{modifiers:t}=toRefs(n),a=useBemModifiers("vv-tooltip",t,computed(()=>({[n.position]:!0})));return(l,i)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(a)),role:"tooltip",inert:""},[e.renderSlot(l.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(l.value),1)])],2))}}),ct={tooltip:{beforeMount(o,n){const t=h(it,{value:n.value,position:n.arg});e.render(t,o)}}};function Ge(o,n,t){const a=t||o.name;if(!a)return o;const l=n==null?void 0:n[a],i=o.props;return!l||!i?{...o,name:a}:{...o,name:a,props:Object.keys(i).reduce((c,d)=>{if(!(d in l))return c[d]=i[d],c;const p=l[d];return typeof i[d]=="function"||Array.isArray(i[d])?(c[d]={type:i[d],default:p},c):(c[d]={...i[d],default:p},c)},{})}}class dt{constructor({fetchWithCredentials:n,fetchOptions:t,provider:a,nuxt:l,iconsCollections:i}={}){ge(this,"fetchOptions",{});ge(this,"nuxt",!1);ge(this,"iconsCollections",[]);ge(this,"provider",lt);t&&(this.fetchOptions=t),n&&(this.fetchOptions={...this.fetchOptions,credentials:"include"}),a&&(this.provider=a),l&&(this.nuxt=l),i&&Array.isArray(i)&&i.forEach(c=>{this.addCollection(c,this.provider)})}addCollection(n,t){return this.iconsCollections=[...this.iconsCollections,n],x.addCollection(n,t??this.provider)}addIcon(n,t){return x.addIcon(n,t)}addAPIProvider(n,t){return x.addAPIProvider(n,t)}fetchIcon(n,t={cache:"force-cache"}){return new Promise((a,l)=>{fetch(n,{...this.fetchOptions,...t}).catch(i=>l(i)).then(i=>i==null?void 0:i.text()).then(i=>a(i))})}}const ut={install(o,n){const t=new dt(n);o.config.globalProperties.$vv=t,n.components&&Object.entries(n.components).forEach(([a,l])=>{o.component(a,Ge(l,n.defaults))}),n.aliases&&Object.entries(n.aliases).forEach(([a,l])=>{o.component(a,Ge(l,n.defaults,a))}),Object.entries(ct).forEach(([a,l])=>{o.directive(a,l)}),o.provide(nt,t)}},pt={name:String,title:String,content:String,modelValue:{type:Boolean,default:void 0},modifiers:[String,Array],disabled:Boolean},ft=["update:modelValue"];function mt(o,n){const{group:t,isInGroup:a,getGroupOrLocalRef:l}=useInjectedGroupState(xe),{title:i,content:c}=toRefs(o),d=l("modelValue",o,n),p=l("disabled",o),u=l("collapse",o),r=l("modifiers",o);return{modelValue:d,disabled:p,isInGroup:a,group:t,collapse:u,modifiers:r,title:i,content:c}}const bt=["id","open"],ht=["aria-controls","aria-expanded"],gt=["aria-hidden"],yt={name:"VvAccordion"},Ue=e.defineComponent({...yt,props:pt,emits:ft,setup(o,{emit:n}){const t=o,a=useAttrs(),l=computed(()=>t.name||(a==null?void 0:a.id)||ot.nanoid()),{modifiers:i,title:c,content:d,disabled:p,collapse:u,modelValue:r,isInGroup:s}=mt(t,n),f=ref(!1),g=computed({get:()=>s.value?u.value&&Array.isArray(r.value)?r.value.includes(l.value):r.value===l.value:r.value===void 0?f.value:r.value,set:b=>{if(s.value){if(u.value&&Array.isArray(r.value)){if(b){r.value.push(l.value);return}r.value=r.value.filter(_=>_!==l.value);return}r.value=b?l.value:null;return}if(r.value===void 0&&typeof b=="boolean"){f.value=b;return}r.value=b}}),S=useBemModifiers("vv-accordion",i,computed(()=>({disabled:p.value}))),V=useToggle(g);return(b,_)=>(e.openBlock(),e.createElementBlock("details",{id:e.unref(l),class:e.normalizeClass(e.unref(S)),open:e.unref(g),onClick:_[0]||(_[0]=e.withModifiers(E=>e.unref(V)(),["prevent"]))},[e.createElementVNode("summary",{"aria-controls":e.unref(l),"aria-expanded":e.unref(g),class:"vv-collapse__summary"},[e.renderSlot(b.$slots,"summary",e.normalizeProps(e.guardReactiveProps({open:e.unref(g)})),()=>[e.createTextVNode(e.toDisplayString(e.unref(c)),1)])],8,ht),e.createElementVNode("div",{"aria-hidden":!e.unref(g),class:"vv-collapse__content"},[e.renderSlot(b.$slots,"details",e.normalizeProps(e.guardReactiveProps({open:e.unref(g)})),()=>[e.createTextVNode(e.toDisplayString(e.unref(d)),1)])],8,gt)],10,bt))}}),_t={modelValue:[String,Array],items:{type:Array,default:()=>[]},collapse:Boolean,modifiers:[String,Array],itemModifiers:{type:[String,Array],default:""},disabled:Boolean},vt=["update:modelValue"],St={name:"VvAccordionGroup"},kt=e.defineComponent({...St,props:_t,emits:vt,setup(o,{emit:n}){const t=o,{disabled:a,collapse:l,modifiers:i,itemModifiers:c,items:d}=toRefs(t);watchEffect(()=>{typeof t.modelValue=="string"&&l.value&&console.warn("[VvAccordionGroup]: modelValue is a string but collapse is true.")});const p=ref([]),u=computed({get:()=>{var s;return t.modelValue!==void 0?l.value?t.modelValue:Array.isArray(t.modelValue)?t.modelValue[0]:t.modelValue:l.value?p.value:(s=p.value)==null?void 0:s[0]},set:s=>{if(t.modelValue!==void 0)return(Array.isArray(t.modelValue)||l.value)&&!Array.isArray(s)&&(s=[s]),n("update:modelValue",s);p.value=Array.isArray(s)?s:[s]}});useProvideGroupState({key:xe,modelValue:u,disabled:a,collapse:l,modifiers:c});const r=useBemModifiers("vv-accordion-group",i,computed(()=>({disabled:a.value})));return(s,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(r))},[e.renderSlot(s.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),g=>(e.openBlock(),e.createBlock(Ue,e.mergeProps({key:g.title},{name:g.name,title:g.title,content:g.content}),{header:e.withCtx(S=>[e.renderSlot(s.$slots,`header::${g.name}`,e.normalizeProps(e.guardReactiveProps(S)))]),details:e.withCtx(S=>[e.renderSlot(s.$slots,`details::${g.name}`,e.normalizeProps(e.guardReactiveProps(S)))]),_:2},1040))),128))])],2))}}),Vt={...J,value:[String,Number]},Bt={name:"VvBadge"},je=e.defineComponent({...Bt,props:Vt,setup(o){const n=o,{modifiers:t}=toRefs(n),a=useBemModifiers("vv-badge",t);return(l,i)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(a)),role:"status"},[e.renderSlot(l.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(l.value),1)])],2))}});function Ct(o,n,t){return computed(()=>{const a={[o]:!0};let l=unref(n);return l&&(!Array.isArray(l)&&typeof l=="string"&&(l=l.split(" ")),Array.isArray(l)&&l.forEach(i=>{a[`${o}--${i}`]=!0})),t&&Object.keys(t.value).forEach(i=>{a[`${o}--${i}`]=unref(t.value[i])}),a})}const Et={...J,routes:Array},Pt={class:"vv-breadcrumb__list"},wt=["content"],$t={name:"VvBreadcrumb"},Nt=e.defineComponent({...$t,props:Et,setup(o){const n=o,{modifiers:t}=toRefs(n),a=Ct("vv-breadcrumb",t);return(l,i)=>(e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(e.unref(a)),"aria-label":"breadcrumbs"},[e.createElementVNode("ol",Pt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.routes,(c,d)=>{var p,u,r,s;return e.openBlock(),e.createElementBlock("li",{key:`${c.label}-${d}`,class:e.normalizeClass({"vv-breadcrumb__item":d<Number((p=l.routes)==null?void 0:p.length)-1,"vv-breadcrumb__item-active":d===Number((u=l.routes)==null?void 0:u.length)-1}),itemprop:"itemListElement",itemtype:"https://schema.org/ListItem",itemscope:""},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.to?"router-link":c.href?"a":"span"),e.mergeProps(c,{class:{"vv-breadcrumb__link":d<Number((r=l.routes)==null?void 0:r.length)-1},"aria-current":d===Number((s=l.routes)==null?void 0:s.length)-1?"page":void 0,itemprop:"item"}),{default:e.withCtx(()=>[e.renderSlot(l.$slots,"label",e.normalizeProps(e.guardReactiveProps({route:c,index:d})),()=>[e.createTextVNode(e.toDisplayString(c.label),1)])]),_:2},1040,["class","aria-current"])),e.createElementVNode("meta",{itemprop:"position",content:`${d+1}`},null,8,wt)],2)}),128))])],2))}}),At={color:String,width:{type:[String,Number]},height:{type:[String,Number]},name:{type:String,required:!0},provider:{type:String},prefix:{type:String,default:"normal"},src:String,horizontalFlip:Boolean,verticalFlip:Boolean,flip:String,mode:String,inline:Boolean,rotate:[Number,String],onLoad:Function,svg:String,modifiers:{type:[String,Array]}},It={name:"VvIcon"},L=e.defineComponent({...It,props:At,setup(o){const n=o,t=ref(!0),a=useVolver(),{modifiers:l}=toRefs(n),i=useBemModifiers("vv-icon",l),c=computed(()=>n.provider||(a==null?void 0:a.provider)),d=computed(()=>{const r=n.name??"",s=`@${c.value}:${n.prefix}:${n.name}`;return x.iconExists(r)?r:x.iconExists(s)?s:(a==null?void 0:a.iconsCollections.find(f=>{const g=`@${c.value}:${f.prefix}:${r}`;if(x.iconExists(g))return g}))||r});function p(r){let s=null;if(typeof window>"u"){const{JSDOM:V}=require("jsdom");s=new V().window}return(s?new s.DOMParser:new window.DOMParser).parseFromString(r,"text/html").querySelector("svg")}function u(r){const s=p(r),f=(s==null?void 0:s.innerHTML.trim())||"";s&&f&&x.addIcon(`@${c.value}:${n.prefix}:${n.name}`,{body:f,height:s.viewBox.baseVal.height,width:s.viewBox.baseVal.width})}return a&&(n.src&&!x.iconExists(`@${c.value}:${n.prefix}:${n.name}`)?(t.value=!1,a.fetchIcon(n.src).then(r=>{r&&(u(r),t.value=!0)}).catch(r=>{throw new Error(`During fetch icon: ${r==null?void 0:r.message}`)})):n.svg&&u(n.svg)),(r,s)=>e.unref(t)?(e.openBlock(),e.createBlock(e.unref(x.Icon),e.mergeProps({key:0,class:e.unref(i)},{inline:r.inline,width:r.width,height:r.height,horizontalFlip:r.horizontalFlip,verticalFlip:r.verticalFlip,flip:r.flip,rotate:r.rotate,color:r.color,onLoad:r.onLoad,icon:e.unref(d)}),null,16,["class"])):e.createCommentVNode("",!0)}});var We=(o=>(o.button="button",o.submit="submit",o.reset="reset",o))(We||{}),ne=(o=>(o.nuxtLink="nuxt-link",o.routerLink="router-link",o.a="a",o.button="button",o))(ne||{}),qe=(o=>(o._blank="_blank",o._self="_self",o._parent="_parent",o._top="_top",o))(qe||{});const Dt=["update:modelValue"],Rt={...ve,...J,...ce,..._e,icon:[String,Object],iconPosition:{type:String,default:te.left,validator:o=>Object.values(te).includes(o)},label:[String,Number],loading:Boolean,loadingIcon:{type:String,default:"eos-icons:bubble-loading"},loadingLabel:{type:String,default:"Loading..."},to:{type:[String,Object]},href:String,target:{type:String,validator:o=>Object.values(qe).includes(o)},active:Boolean,pressed:Boolean,rel:{type:String,default:"noopener noreferrer"},type:{type:String,default:"button",validator:o=>Object.values(We).includes(o)},toggle:{type:Boolean,default:!1},modelValue:String};function Ot(o,n){var _;const{group:t,isInGroup:a,getGroupOrLocalRef:l}=useInjectedGroupState(Re),{id:i,iconPosition:c,icon:d,label:p,pressed:u,modifiers:r}=toRefs(o),s=l("modelValue",o,n),f=l("disabled",o),g=l("toggle",o),S=l("unselectable",o),V=((_=t==null?void 0:t.value)==null?void 0:_.multiple)??ref(!1),b=computed(()=>{var B;const E=r!=null&&r.value?Array.isArray(r.value)?r.value:[r.value]:[],N=(B=t==null?void 0:t.value.itemModifiers)!=null&&B.value?Array.isArray(t.value.itemModifiers.value)?t.value.itemModifiers.value:[t.value.itemModifiers.value]:[];return[...E,...N]});return{group:t,isInGroup:a,modelValue:s,disabled:f,toggle:g,unselectable:S,multiple:V,id:i,modifiers:b,pressed:u,iconPosition:c,icon:d,label:p}}const Tt={key:1,class:"vv-button__label"},xt={key:1,class:"vv-button__label"},Mt={name:"VvButton"},Lt=e.defineComponent({...Mt,props:Rt,emits:Dt,setup(o,{expose:n,emit:t}){const a=o,l=useAttrs(),i=useSlots(),{id:c,modifiers:d,iconPosition:p,icon:u,label:r,modelValue:s,disabled:f,toggle:g,unselectable:S}=Ot(a,t),V=useUniqueId(c),b=computed(()=>(l==null?void 0:l.name)||V.value),_=useVolver(),E=ref(null);n({$el:E});const{reference:N,bus:B,aria:w}=useInjectedDropdownTrigger();watch(()=>E.value,k=>{N&&(N.value=k)});const{role:R}=useInjectedDropdownAction(),M=computed(()=>{switch(!0){case f.value:return ne.button;case a.to!==void 0:return _!=null&&_.nuxt?ne.nuxtLink:ne.routerLink;case a.href!==void 0:return ne.a;default:return ne.button}}),G=computed(()=>g.value?Array.isArray(s.value)?contains(b.value,s.value):equals(b.value,s.value):a.pressed),P=useBemModifiers("vv-button",d,computed(()=>({active:a.active,pressed:G.value,disabled:f.value,reverse:[te.right,te.bottom].includes(p.value),column:[te.top,te.bottom].includes(p.value),iconOnly:Boolean((u==null?void 0:u.value)&&!(r!=null&&r.value)&&!i.default)}))),I=computed(()=>typeof(u==null?void 0:u.value)=="string"?{name:u==null?void 0:u.value}:u==null?void 0:u.value),T=computed(()=>{const k={...w==null?void 0:w.value,"aria-pressed":G.value?!0:void 0,class:P.value,role:R};switch(M.value){case ne.a:return{...k,role:k.role??"button",href:a.href,target:a.target,rel:a.rel};case ne.routerLink:case ne.nuxtLink:return{...k,role:k.role??"button",to:a.to,target:a.target};default:return{...k,type:a.type,disabled:f.value}}}),U=k=>{if(B==null||B.emit("click",k),g.value){if(Array.isArray(s.value)){if(contains(b.value,s.value)){S.value&&(s.value=s.value.filter(j=>j!==b.value));return}s.value.push(b.value);return}if(equals(b,s.value)&&S.value){s.value=void 0;return}s.value=b.value}},X=k=>{B==null||B.emit("mouseover",k)},Q=k=>{B==null||B.emit("mouseleave",k)};return(k,j)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(M)),e.mergeProps(e.unref(T),{id:e.unref(V),ref_key:"$el",ref:E,onClickPassive:U,onMouseoverPassive:X,onMouseleavePassive:Q}),{default:e.withCtx(()=>[e.renderSlot(k.$slots,"default",{},()=>[k.loading?e.renderSlot(k.$slots,"loading",{key:0},()=>[k.loadingIcon?(e.openBlock(),e.createBlock(L,{key:0,class:"vv-button__loading-icon",name:k.loadingIcon},null,8,["name"])):e.createCommentVNode("",!0),k.loadingLabel?(e.openBlock(),e.createElementBlock("span",Tt,e.toDisplayString(k.loadingLabel),1)):e.createCommentVNode("",!0)]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(k.$slots,"before"),e.unref(u)?(e.openBlock(),e.createBlock(L,e.mergeProps({key:0,class:"vv-button__icon"},e.unref(I)),null,16)):e.createCommentVNode("",!0),e.unref(r)?(e.openBlock(),e.createElementBlock("span",xt,[e.renderSlot(k.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(r)),1)])])):e.createCommentVNode("",!0),e.renderSlot(k.$slots,"after")],64))])]),_:3},16,["id"]))}}),zt={...J,...ce,..._e,itemModifiers:{type:[String,Array],default:void 0},toggle:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},modelValue:{type:[String,Array],default:void 0}},Ht=["update:modelValue"],Ft={name:"VvButtonGroup"},Gt=e.defineComponent({...Ft,props:zt,emits:Ht,setup(o,{emit:n}){const t=o,{disabled:a,toggle:l,modifiers:i,multiple:c,unselectable:d,itemModifiers:p}=toRefs(t);watchEffect(()=>{typeof t.modelValue=="string"&&c.value&&console.warn("[VvButtonGroup]: modelValue is a string but multiple is true.")});const u=computed({get:()=>c.value?t.modelValue:Array.isArray(t.modelValue)?t.modelValue[0]:t.modelValue,set:s=>(s!==void 0&&(Array.isArray(t.modelValue)||c.value)&&!Array.isArray(s)&&(s=[s]),n("update:modelValue",s))});useProvideGroupState({key:Re,modelValue:u,disabled:a,toggle:l,multiple:c,unselectable:d,itemModifiers:p});const r=useBemModifiers("vv-button-group",i);return(s,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(r)),role:"group"},[e.renderSlot(s.$slots,"default")],2))}}),Ut={title:String,modifiers:[String,Array]},jt={key:0,class:"vv-card__header"},Wt={key:1,class:"vv-card__content"},qt={key:2,class:"vv-card__footer"},Kt={name:"VvCard"},Yt=e.defineComponent({...Kt,props:Ut,setup(o){const n=o,{modifiers:t}=toRefs(n),a=useBemModifiers("vv-card",t);return(l,i)=>(e.openBlock(),e.createElementBlock("article",{class:e.normalizeClass(e.unref(a))},[l.$slots.header||l.title?(e.openBlock(),e.createElementBlock("header",jt,[e.renderSlot(l.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(l.title),1)])])):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default"),l.$slots.content?(e.openBlock(),e.createElementBlock("div",Wt,[e.renderSlot(l.$slots,"content")])):e.createCommentVNode("",!0),l.$slots.footer?(e.openBlock(),e.createElementBlock("footer",qt,[e.renderSlot(l.$slots,"footer")])):e.createCommentVNode("",!0)],2))}}),Jt={...He,...J,indeterminate:Boolean,uncheckedValue:[String,Number,Boolean],switch:Boolean},Xt=["click","update:modelValue","change","blur"];function Qt(o,n){const{group:t,isInGroup:a,getGroupOrLocalRef:l}=useInjectedGroupState(Te),{id:i,switch:c,indeterminate:d}=toRefs(o),p=l("modelValue",o,n),u=l("readonly",o),r=l("disabled",o),s=l("valid",o),f=l("invalid",o);return{id:i,propsSwitch:c,indeterminate:d,group:t,isInGroup:a,modelValue:p,readonly:u,disabled:r,valid:s,invalid:f}}function ke(o){return Array.isArray(o)?o.filter(n=>isString(n)).join(" "):o}function se(o,n){const{invalid:t,valid:a,hint:l,loading:i}=n,{hintLabel:c,modelValue:d,valid:p,validLabel:u,invalid:r,invalidLabel:s,...f}=toRefs(o),g=resolveFieldData(f,"loading"),S=resolveFieldData(f,"loadingLabel"),V=computed(()=>r.value?!!(r.value&&t||s!=null&&s.value&&Array.isArray(s.value)&&s.value.length>0||s!=null&&s.value&&!isEmpty(s)):!1),b=computed(()=>!!(c&&c.value||l)),_=computed(()=>!!(u&&u.value||a)),E=computed(()=>!!(g!=null&&g.value&&i||g!=null&&g.value&&(S!=null&&S.value))),N=computed(()=>b.value||_.value||V.value||E.value);return{hasInvalid:V,hasHint:b,hasValid:_,hasLoading:E,HintSlot:{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup(B){const w=computed(()=>{const R=toReactive({hintLabel:c,modelValue:d,valid:p,validLabel:u,invalid:r,invalidLabel:s,loading:g,loadingLabel:S,...B.params});return r!=null&&r.value?(t==null?void 0:t(R))||ke(s==null?void 0:s.value)||(c==null?void 0:c.value):p!=null&&p.value?(a==null?void 0:a(R))||ke(u==null?void 0:u.value)||(c==null?void 0:c.value):g!=null&&g.value?(i==null?void 0:i(R))||ke(S==null?void 0:S.value)||(c==null?void 0:c.value):(l==null?void 0:l(R))||ke(c==null?void 0:c.value)||(c==null?void 0:c.value)});return{isVisible:N,hasInvalid:V,hasValid:_,hintContent:w}},render(){if(this.isVisible)return h("small",{role:this.hasInvalid?"alert":this.hasValid?"status":void 0},this.hintContent)}}}}const Zt=["for"],eo=["id","name","disabled","value","tabindex","aria-invalid"],to={name:"VvCheckbox"},Ke=e.defineComponent({...to,props:Jt,emits:Xt,setup(o,{emit:n}){const t=o,a=useSlots(),{id:l,disabled:i,readonly:c,valid:d,invalid:p,propsSwitch:u,modelValue:r,indeterminate:s,isInGroup:f}=Qt(t,n),g=useUniqueId(l),S=computed(()=>_.value?-1:t.tabindex),V=ref(),b=computed(()=>t.uncheckedValue!==void 0&&!f.value),_=computed(()=>i.value||c.value),E=computed(()=>{if(p.value===!0)return!0;if(d.value===!0)return!1}),N=computed(()=>b.value?r.value===t.value:Array.isArray(r.value)?contains(t.value,r.value):equals(t.value,r.value)),B=computed(()=>!!(s.value||!N.value&&b.value&&t.uncheckedValue!==r.value)),w=computed(()=>{if(!b.value)return["string","number","boolean"].includes(typeof t.value)?t.value:!0}),R=computed({get(){return N.value},set(I){if(b.value)r.value=I?t.value:t.uncheckedValue;else if(Array.isArray(r.value)||f.value){const T=new Set(Array.isArray(r.value)?r.value:r.value!==void 0?[r.value]:[]);I?T.add(t.value):T.delete(t.value),r.value=[...T]}else r.value=I?t.value:void 0;n("change",I)}}),{modifiers:M}=toRefs(t),G=useBemModifiers("vv-checkbox",M,computed(()=>({switch:u.value,valid:d.value,invalid:p.value,disabled:i.value,readonly:c.value,indeterminate:s.value})));watchEffect(()=>{b.value&&Array.isArray(r.value)&&console.warn("[VvCheckbox] The model value is an array but the component is in binary mode.")}),watch(()=>B.value,I=>{I?V.value.indeterminate=!0:V.value.indeterminate=!1}),onMounted(()=>{B.value&&(V.value.indeterminate=!0)});const{HintSlot:P}=se(t,a);return(I,T)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(G)),for:e.unref(g)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(g),ref_key:"input",ref:V,"onUpdate:modelValue":T[0]||(T[0]=U=>e.isRef(R)?R.value=U:null),type:"checkbox",class:"vv-checkbox__input",name:I.name,disabled:e.unref(_),value:e.unref(w),tabindex:e.unref(S),"aria-invalid":e.unref(E)},null,8,eo),[[e.vModelCheckbox,e.unref(R)]]),e.renderSlot(I.$slots,"default",{value:e.unref(r)},()=>[e.createTextVNode(e.toDisplayString(I.label),1)]),e.createVNode(e.unref(P),{class:"vv-checkbox__hint",params:{value:e.unref(r)}},null,8,["params"])],10,Zt))}}),oo=Fe,lo=["update:modelValue","change"],no=["textContent"],ao={class:"vv-checkbox-group__wrapper"},ro={name:"VvCheckboxGroup"},so=e.defineComponent({...ro,props:oo,emits:lo,setup(o,{emit:n}){const t=o,a=useSlots(),l=useVModel(t,"modelValue",n),{disabled:i,readonly:c,vertical:d,valid:p,invalid:u,modifiers:r}=toRefs(t);useProvideGroupState({key:Te,modelValue:l,disabled:i,readonly:c,valid:p,invalid:u});const{getOptionLabel:s,getOptionValue:f}=useOptions(t),g=useBemModifiers("vv-checkbox-group",r,computed(()=>({disabled:i.value,readonly:c.value,horizontal:!d.value,valid:p.value,invalid:u.value}))),S=(b,_)=>({id:`${t.name}_opt${_}`,name:t.name,label:s(b),value:f(b)}),{HintSlot:V}=se(t,a);return(b,_)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(g))},[b.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(b.label)},null,8,no)):e.createCommentVNode("",!0),e.createElementVNode("div",ao,[b.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(b.options,(E,N)=>(e.openBlock(),e.createBlock(Ke,e.mergeProps({key:N},S(E,N)),null,16))),128)):e.renderSlot(b.$slots,"default",{key:1})]),e.createVNode(e.unref(V),{class:"vv-checkbox-group__hint"})],2))}}),io=["update:modelValue","change:search","focus","blur"],co={...Se,...ye,...pe,...fe,...be,...Be,...ce,...me,...J,...Ce,...Ee,...Pe,..._e,...we,modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},label:String,noResultsLabel:{type:String,default:"No results"},selectedLabel:{type:String,default:"Selected"},deselectLabel:{type:String,default:"Deselect"},pressToSelectLabel:{type:String,default:"Press enter to select"},pressToDeselectLabel:{type:String,default:"Press enter to remove"},placeholder:String,searchable:Boolean,searchPlaceholder:{type:String,default:"Search..."},debounceSearch:{type:[Number,String],default:0},multiple:Boolean,maxValues:[Number,String],separator:{type:String,default:", "},native:Boolean,badges:Boolean,badgeModifiers:{type:[String,Array],default:"action sm"},triggerWidth:{...we.triggerWidth,default:!0},dropdownModifiers:{type:[String,Array]},autoOpen:Boolean,autoClose:Boolean},Ye=["listbox","menu"],uo={...ve,...J,...we,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:Ye[1],validator:o=>Ye.includes(o)}},po=["id","tabindex","role","aria-labelledby"],fo={name:"VvDropdown",inheritAttrs:!1},$e=e.defineComponent({...fo,props:uo,emits:["update:modelValue"],setup(o,{emit:n}){const t=o,{id:a}=toRefs(t),l=useUniqueId(a),i=useAttrs(),c=ref("auto"),d=ref("auto"),p=ref(null),u=ref(null),r=ref(null),s=ref(null),f=computed({get:()=>t.reference??p.value,set:m=>{p.value=m}}),g=computed(()=>{const m=[];if(t.autoPlacement?typeof t.autoPlacement=="boolean"?m.push(Y.autoPlacement()):m.push(Y.autoPlacement(t.autoPlacement)):t.flip&&(typeof t.flip=="boolean"?m.push(Y.flip()):m.push(Y.flip(t.flip))),t.shift&&(typeof t.shift=="boolean"?m.push(Y.shift()):m.push(Y.shift(t.shift))),t.size){const D=({availableWidth:Z,availableHeight:re})=>{c.value=`${Z}px`,d.value=`${re}px`};typeof t.size=="boolean"?m.push(Y.size({apply:D})):m.push(Y.size({...t.size,apply:D}))}return t.offset&&(m.push(Y.offset(Number(t.offset))),["string","number"].includes(typeof t.offset)?m.push(Y.offset(Number(t.offset))):m.push(Y.offset(t.offset))),t.arrow&&m.push(Y.arrow({element:r})),m}),{x:S,y:V,strategy:b,middlewareData:_,placement:E}=Y.useFloating(f,u,{whileElementsMounted:Y.autoUpdate,placement:t.placement,middleware:g}),N=computed(()=>({position:b.value,top:`${V.value??0}px`,left:`${S.value??0}px`,maxWidth:c.value,maxHeight:d.value,width:t.triggerWidth&&f.value?`${f.value.offsetWidth}px`:void 0})),B=computed(()=>E.value.split("-")[0]),w=computed(()=>({top:"bottom",right:"left",bottom:"top",left:"right"})[B.value]??"bottom"),R=computed(()=>{var m,D,Z,re;return["bottom","top"].includes(w.value)?{right:`${((m=_.value.arrow)==null?void 0:m.x)??0}px`,[w.value]:`${-(((D=r.value)==null?void 0:D.offsetWidth)??0)/2}px`}:{top:`${((Z=_.value.arrow)==null?void 0:Z.y)??0}px`,[w.value]:`${-(((re=r.value)==null?void 0:re.offsetWidth)??0)/2}px`}}),M=useVModel(t,"modelValue",n),G=ref(!1),P=computed({get:()=>M.value??G.value,set:m=>{if(M.value===void 0){G.value=m;return}M.value=m}}),I=()=>{P.value=!0},T=()=>{P.value=!1},U=()=>{P.value=!P.value},X=m=>{f.value=m};watch(P,m=>{m&&t.autofocusFirst&&nextTick(()=>{const D=W(u.value);D.length>0&&D[0].focus()})}),onClickOutside(u,()=>{t.autoClose&&(P.value=!1)},{ignore:[f]});const Q=computed(()=>{var m;return((m=f.value)==null?void 0:m.getAttribute("id"))??void 0}),k=computed(()=>({"aria-controls":l.value,"aria-haspopup":!0,"aria-expanded":P.value})),{component:j,bus:oe}=useProvideDropdownTrigger({reference:f,id:l,expanded:P,aria:k});oe.on("click",U);const{role:K,modifiers:ae}=toRefs(t),{itemRole:z}=useProvideDropdownItem({role:K,expanded:P}),A=useBemModifiers("vv-dropdown",ae,computed(()=>({arrow:t.arrow}))),{focused:H}=useFocusWithin(u);function W(m){return m?[...m.querySelectorAll('a[href], button, input, textarea, select, details,[tabindex]:not([tabindex="-1"])')].filter(D=>!D.hasAttribute("disabled")&&!D.getAttribute("aria-hidden")):[]}const le=()=>{nextTick(()=>{if(H.value){const m=W(u.value);if(m.length===0||!document.activeElement)return;const D=m.indexOf(document.activeElement);D<m.length-1?m[D+1].focus():m[0].focus()}})},ee=()=>{nextTick(()=>{if(H.value){const m=W(u.value);if(m.length===0||!document.activeElement)return;const D=m.indexOf(document.activeElement);D>0?m[D-1].focus():m[m.length-1].focus()}})};return onKeyStroke("Escape",m=>{P.value&&(m.preventDefault(),T())}),onKeyStroke("ArrowDown",m=>{P.value&&H.value&&(m.preventDefault(),le())}),onKeyStroke("ArrowUp",m=>{P.value&&H.value&&(m.preventDefault(),ee())}),onKeyStroke([" ","Enter"],m=>{P.value&&H.value&&(m.preventDefault(),document.activeElement.click())}),(m,D)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(j),null,{default:e.withCtx(()=>[e.renderSlot(m.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:X,show:I,hide:T,toggle:U,expanded:e.unref(P),aria:e.unref(k)})))]),_:3}),e.createVNode(e.Transition,{name:m.transitionName},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:u,style:e.normalizeStyle(e.unref(N)),class:e.normalizeClass(e.unref(A))},[t.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:r,style:e.normalizeStyle(e.unref(R)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("",!0),e.renderSlot(m.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(P)}))),e.createElementVNode("ul",e.mergeProps(e.unref(i),{id:e.unref(l),ref_key:"listEl",ref:s,tabindex:e.unref(P)?void 0:-1,role:e.unref(K),"aria-labelledby":e.unref(Q),class:"vv-dropdown__list"}),[e.renderSlot(m.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(z)})))],16,po),e.renderSlot(m.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(P)})))],6),[[e.vShow,e.unref(P)]])]),_:3},8,["name"])],64))}}),mo={name:"VvDropdownItem"},Je=e.defineComponent({...mo,setup(o){const{role:n,expanded:t}=useInjectedDropdownItem(),a=ref(null);useProvideDropdownAction({expanded:t});const l=useElementHover(a),{focused:i}=useFocus(a),{focused:c}=useFocusWithin(a);return watch(l,d=>{d&&(i.value=!0)}),(d,p)=>(e.openBlock(),e.createElementBlock("li",e.mergeProps({role:e.unref(n)},{ref_key:"element",ref:a,class:["vv-dropdown__item",{"focus-visible":e.unref(i)||e.unref(c)}]}),[e.renderSlot(d.$slots,"default")],16))}}),bo={...Se,...Me,...Le,...ye,...pe,...fe,...be,...Be,...ce,...me,...J,...Ce,...Ee,...Pe,..._e,multiple:Boolean,required:Boolean,size:[String,Number],modelValue:{type:[String,Number,Boolean,Object,Array],default:void 0},label:String,placeholder:String},ho=["update:modelValue","focus","blur"],go=["for"],yo={class:"vv-select__wrapper"},_o={key:0,class:"vv-select__input-before"},vo={class:"vv-select__inner"},So=["id"],ko=["disabled","hidden"],Vo=["disabled","value"],Bo={key:1,class:"vv-select__input-after"},Co={name:"VvSelect"},Xe=e.defineComponent({...Co,props:bo,emits:ho,setup(o,{emit:n}){const t=o,a=useSlots(),l=ref(),{HintSlot:i,hasHint:c,hasInvalid:d}=se(t,a),{id:p,modifiers:u,disabled:r,readonly:s,loading:f,icon:g,iconPosition:S,invalid:V,valid:b,floating:_,multiple:E}=toRefs(t),N=useUniqueId(p),B=computed(()=>`${N.value}-hint`),{focused:w}=useComponentFocus(l,n),R=useElementVisibility(l);watch(R,A=>{A&&t.autofocus&&(w.value=!0)});const{hasIcon:M,hasIconBefore:G,hasIconAfter:P}=useComponentIcon(g,S),I=computed(()=>!isEmpty(t.modelValue)),T=computed(()=>t.disabled||t.readonly),U=computed(()=>T.value?-1:t.tabindex),X=computed(()=>{if(t.invalid===!0)return!0;if(t.valid===!0)return!1}),Q=useBemModifiers("vv-select",u,computed(()=>({valid:b.value,invalid:V.value,loading:f.value,disabled:r.value,readonly:s.value,"icon-before":G.value,"icon-after":P.value,dirty:I.value,focus:w.value,floating:_.value,multiple:E.value}))),k=computed(()=>({name:t.name,tabindex:U.value,disabled:T.value,required:t.required,size:t.size,autocomplete:t.autocomplete,multiple:t.multiple,"aria-invalid":X.value,"aria-describedby":!d.value&&c.value?B.value:void 0,"aria-errormessage":d.value?B.value:void 0})),j=computed(()=>({valid:t.valid,invalid:t.invalid,modelValue:t.modelValue})),{getOptionLabel:oe,getOptionValue:K,getOptionDisabled:ae}=useOptions(t),z=computed({get:()=>t.modelValue,set:A=>{Array.isArray(A)&&(A=A.filter(H=>H!==void 0)),n("update:modelValue",A)}});return(A,H)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(Q))},[A.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(N)},e.toDisplayString(A.label),9,go)):e.createCommentVNode("",!0),e.createElementVNode("div",yo,[A.$slots.before?(e.openBlock(),e.createElementBlock("div",_o,[e.renderSlot(A.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(j))))])):e.createCommentVNode("",!0),e.createElementVNode("div",vo,[e.unref(G)?(e.openBlock(),e.createBlock(L,e.mergeProps({key:0,class:"vv-select__icon"},e.unref(M)),null,16)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("select",e.mergeProps({id:e.unref(N),ref_key:"select",ref:l,"onUpdate:modelValue":H[0]||(H[0]=W=>e.isRef(z)?z.value=W:null)},e.unref(k)),[A.placeholder?(e.openBlock(),e.createElementBlock("option",{key:0,value:void 0,disabled:!A.unselectable,hidden:!A.unselectable},e.toDisplayString(A.placeholder),9,ko)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.options,(W,le)=>(e.openBlock(),e.createElementBlock("option",{key:le,disabled:e.unref(ae)(W),value:e.unref(K)(W)},e.toDisplayString(e.unref(oe)(W)),9,Vo))),128))],16,So),[[e.vModelSelect,e.unref(z)]]),e.unref(P)?(e.openBlock(),e.createBlock(L,e.mergeProps({key:1,class:"vv-select__icon vv-select__icon-after"},e.unref(M)),null,16)):e.createCommentVNode("",!0)]),A.$slots.after?(e.openBlock(),e.createElementBlock("div",Bo,[e.renderSlot(A.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(j))))])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(i),{id:e.unref(B),class:"vv-select__hint"},null,8,["id"])],2))}}),Eo=["id"],Po=["id","for"],wo=["id","aria-controls","aria-labelledby","aria-describedby","placeholder"],$o={key:0,class:"vv-select__input-before"},No={class:"vv-select__inner"},Ao=["aria-labelledby","tabindex"],Io=["aria-label","onClick"],Do={key:1,class:"vv-select__input-after"},Ro={class:"vv-dropdown-action__hint"},Oo={name:"VvCombobox",components:{VvDropdown:$e,VvDropdownItem:Je}},To=e.defineComponent({...Oo,props:co,emits:io,setup(o,{emit:n}){const t=o,a=useSlots(),{HintSlot:l}=se(t,a),i=ref(null),c=ref(null),d=ref(null),{focused:p}=useComponentFocus(i,n),{focused:u}=useFocusWithin(d);watch(p,y=>{if(t.autoOpen){if(y&&!f.value){S();return}!y&&f.value&&!u.value&&V()}}),watch(u,y=>{!p.value&&!y&&f.value&&V()});const r=ref(""),s=refDebounced(r,Number(t.debounceSearch));watch(s,()=>n("change:search",s.value));const f=ref(!1),g=()=>{t.disabled||t.readonly||(f.value=!f.value)},S=()=>{t.disabled||t.readonly||f.value||(f.value=!0)},V=()=>{t.disabled||t.readonly||!f.value||(f.value=!1)};watch(f,y=>{I.value&&nextTick(()=>{if(y){c.value&&c.value.focus();return}r.value=""})});const{id:b,icon:_,iconPosition:E,modifiers:N,disabled:B,readonly:w,loading:R,valid:M,invalid:G,floating:P,searchable:I}=toRefs(t),T=useUniqueId(b),U=computed(()=>`${T.value}-hint`),X=computed(()=>`${T.value}-dropdown`),Q=computed(()=>`${T.value}-search`),k=computed(()=>`${T.value}-label`),{hasIcon:j,hasIconBefore:oe,hasIconAfter:K}=useComponentIcon(_,E),ae=computed(()=>!isEmpty(t.modelValue)),z=computed(()=>B.value||w.value?-1:t.tabindex),A=useBemModifiers("vv-select",N,computed(()=>({disabled:B.value,loading:R.value,readonly:w.value,"icon-before":Boolean(oe.value),"icon-after":Boolean(K.value),valid:M.value,invalid:G.value,dirty:ae.value,focus:p.value,floating:P.value}))),H=computed(()=>t.searchable?m.value:t.options),{getOptionLabel:W,getOptionValue:le,getOptionDisabled:ee}=useOptions(t),m=computed(()=>{var y;return(y=t.options)==null?void 0:y.filter(F=>W(F).toLowerCase().includes(s.value.toLowerCase().trim()))});function D(y){return Array.isArray(t.modelValue)?contains(y,t.modelValue)||contains(le(y),t.modelValue):equals(y,t.modelValue)||equals(le(y),t.modelValue)}const Z=computed(()=>{let y=[];return Array.isArray(t.modelValue)?y=t.modelValue:t.modelValue&&(y=[t.modelValue]),t.options.filter(F=>y.includes(le(F)))}),re=computed(()=>Z.value.map(y=>W(y)).join(t.separator));watch(Z,()=>{!t.multiple&&t.autoClose&&V()});const Ie=()=>{t.autoOpen?S():g()},he=y=>{var de;if(t.disabled||t.readonly)return;const F=le(y);let O=F;if(t.multiple)if(Array.isArray(t.modelValue)){if(t.maxValues!==void 0&&t.maxValues>=0&&((de=t.modelValue)==null?void 0:de.length)>=t.maxValues&&!contains(F,t.modelValue))return;O=contains(F,t.modelValue)?removeFromList(F,t.modelValue):[...t.modelValue,F]}else O=[F];else t.unselectable&&F===t.modelValue&&(O=void 0);n("update:modelValue",O)},$=computed(()=>({id:T.value,name:t.name,tabindex:z.value,valid:M.value,validLabel:t.validLabel,invalid:G.value,invalidLabel:t.invalidLabel,hintLabel:t.hintLabel,loading:R.value,loadingLabel:t.loadingLabel,disabled:B.value,readonly:w.value,modifiers:t.modifiers,options:H.value,labelKey:t.labelKey,valueKey:t.valueKey,icon:t.icon,iconPosition:t.iconPosition,floating:t.floating,unselectable:t.unselectable,multiple:t.multiple,label:t.label,placeholder:t.placeholder,modelValue:t.modelValue})),q=computed(()=>({id:X.value,reference:d.value,placement:t.placement,transitionName:t.transitionName,offset:t.offset,shift:t.shift,flip:t.flip,autoPlacement:t.autoPlacement,arrow:t.arrow,autoClose:t.autoClose,autofocusFirst:I.value?!1:t.autofocusFirst,triggerWidth:t.triggerWidth,modifiers:t.dropdownModifiers})),ue=computed(()=>({valid:t.valid,invalid:t.invalid,modelValue:t.modelValue}));return onKeyStroke([" ","Enter"],y=>{t.autoOpen||!f.value&&p.value&&(y.preventDefault(),y.stopImmediatePropagation(),g())}),(y,F)=>y.native?(e.openBlock(),e.createBlock(Xe,e.mergeProps({key:1},e.unref($),{"onUpdate:modelValue":F[2]||(F[2]=O=>n("update:modelValue",O))}),null,16)):(e.openBlock(),e.createElementBlock("div",{key:0,id:e.unref(T),class:e.normalizeClass(e.unref(A))},[y.label?(e.openBlock(),e.createElementBlock("label",{key:0,id:e.unref(k),for:e.unref(I)?e.unref(Q):void 0},e.toDisplayString(y.label),9,Po)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"wrapperEl",ref:d,class:"vv-select__wrapper"},[e.createVNode($e,e.mergeProps({modelValue:e.unref(f),"onUpdate:modelValue":F[1]||(F[1]=O=>e.isRef(f)?f.value=O:null)},e.unref(q),{role:"listbox"}),e.createSlots({default:e.withCtx(({aria:O})=>[y.$slots.before?(e.openBlock(),e.createElementBlock("div",$o,[e.renderSlot(y.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(ue))))])):e.createCommentVNode("",!0),e.createElementVNode("div",No,[e.unref(oe)?(e.openBlock(),e.createBlock(L,e.mergeProps({key:0,class:"vv-select__icon"},e.unref(j)),null,16)):e.createCommentVNode("",!0),e.createElementVNode("div",e.mergeProps({ref_key:"inputEl",ref:i},O,{"aria-labelledby":e.unref(k),class:"vv-select__input",role:"combobox",tabindex:e.unref(z),onClickPassive:Ie}),[e.renderSlot(y.$slots,"value",e.normalizeProps(e.guardReactiveProps({selectedOptions:e.unref(Z),onInput:he})),()=>[e.unref(re)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[y.badges?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(e.unref(Z),(de,tt)=>(e.openBlock(),e.createBlock(je,{key:tt,modifiers:y.badgeModifiers,class:"vv-select__badge"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(W)(de))+" ",1),y.unselectable&&!e.unref(w)&&!e.unref(B)?(e.openBlock(),e.createElementBlock("button",{key:0,"aria-label":y.deselectLabel,onClick:e.withModifiers(Il=>he(de),["stop"])},[e.createVNode(L,{name:"close"})],8,Io)):e.createCommentVNode("",!0)]),_:2},1032,["modifiers"]))),128)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(re)),1)],64))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(y.placeholder),1)],64))])],16,Ao),e.unref(K)?(e.openBlock(),e.createBlock(L,e.mergeProps({key:1,class:"vv-select__icon vv-select__icon-after"},e.unref(j)),null,16)):e.createCommentVNode("",!0)]),y.$slots.after?(e.openBlock(),e.createElementBlock("div",Do,[e.renderSlot(y.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(ue))))])):e.createCommentVNode("",!0)]),items:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(m),(O,de)=>(e.openBlock(),e.createBlock(Je,{key:de,class:e.normalizeClass(["vv-dropdown-action",{disabled:e.unref(ee)(O),selected:D(O),"vv-dropdown-action--unselectable":y.unselectable&&D(O)}]),tabindex:e.unref(ee)(O)?-1:0,"aria-selected":D(O),"aria-disabled":e.unref(ee)(O),onClickPassive:tt=>he(O)},{default:e.withCtx(()=>[e.renderSlot(y.$slots,"option",e.normalizeProps(e.guardReactiveProps({option:O,selectedOptions:e.unref(Z),selected:D(O),disabled:e.unref(ee)(O)})),()=>[e.createTextVNode(e.toDisplayString(e.unref(W)(O))+" ",1),e.createElementVNode("span",Ro,[D(O)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(y.unselectable?y.pressToDeselectLabel:y.selectedLabel),1)],64)):e.unref(ee)(O)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(y.pressToSelectLabel),1)],64))])])]),_:2},1032,["tabindex","class","aria-selected","aria-disabled","onClickPassive"]))),128))]),_:2},[e.unref(I)?{name:"before",fn:e.withCtx(()=>[e.unref(I)?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,id:e.unref(Q),ref_key:"inputSearchEl",ref:c,"onUpdate:modelValue":F[0]||(F[0]=O=>e.isRef(r)?r.value=O:null),"aria-autocomplete":"list","aria-controls":e.unref(X),"aria-labelledby":e.unref(k),"aria-describedby":e.unref(U),autocomplete:"off",spellcheck:"false",type:"search",class:"vv-dropdown__search",placeholder:y.searchPlaceholder},null,8,wo)),[[e.vShow,e.unref(f)],[e.vModelText,e.unref(r)]]):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1040,["modelValue"])],512),e.createVNode(e.unref(l),{id:e.unref(U),class:"vv-select__hint"},null,8,["id"])],10,Eo))}}),xo=["open","close","update:modelValue"],Mo={...ve,title:String,modelValue:Boolean,transition:{type:String,default:"fade-block"},size:String,autoClose:{type:Boolean,default:!0}},Lo={key:0,class:"vv-dialog__header"},zo={class:"vv-dialog__content"},Ho={key:1,class:"vv-dialog__footer"},Fo={name:"VvDialog"},Go=e.defineComponent({...Fo,props:Mo,emits:xo,setup(o,{emit:n}){const t=o,a=useVModel(t,"modelValue",n),l=ref(!0),i=ref(null),c=computed(()=>{const{id:s}=t;return{id:s,open:l.value}}),d=computed(()=>t.size?["vv-dialog",`vv-dialog--${t.size}`]:"vv-dialog"),p=computed(()=>`vv-dialog--${t.transition}`),u={"before-enter":()=>{l.value=!0,n("open")},"after-leave":()=>{l.value=!1,n("close")}};onClickOutside(i,()=>{t.autoClose&&(a.value=!1)});function r(){a.value=!1}return onKeyStroke("Escape",s=>{a.value&&(s.preventDefault(),r())}),(s,f)=>(e.openBlock(),e.createBlock(e.Transition,e.mergeProps({name:e.unref(p)},e.toHandlers(u)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("dialog",e.mergeProps(e.unref(c),{class:e.unref(d)}),[e.createElementVNode("article",{ref_key:"modalWrapper",ref:i,class:"vv-dialog__wrapper"},[s.$slots.header||s.title?(e.openBlock(),e.createElementBlock("header",Lo,[e.renderSlot(s.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(s.title)+" ",1),e.createElementVNode("button",{type:"button","aria-label":"Close",class:"vv-dialog__close",onClickPassive:r},[e.createVNode(L,{name:"close"})],32)])])):e.createCommentVNode("",!0),e.createElementVNode("div",zo,[e.renderSlot(s.$slots,"default")]),s.$slots.footer?(e.openBlock(),e.createElementBlock("footer",Ho,[e.renderSlot(s.$slots,"footer")])):e.createCommentVNode("",!0)],512)],16),[[e.vShow,e.unref(a)]])]),_:3},16,["name"]))}}),v={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"},ie={PASSWORD_SHOW:"eye-on",PASSWORD_HIDE:"eye-off",DATE:"calendar",TIME:"time",COLOR:"color",SEARCH:"close"},Uo=["update:modelValue","focus","blur","keyup"],jo={...ze,modelValue:[String,Number],type:{type:String,default:v.TEXT,validator:o=>Object.values(v).includes(o)},min:[Number,Date,String],max:[Number,Date,String],step:{type:[String,Number],default:1},pattern:String,multiple:Boolean,iconShowPassword:{type:String,default:ie.PASSWORD_SHOW},iconHidePassword:{type:String,default:ie.PASSWORD_HIDE},iconClear:{type:String,default:ie.SEARCH},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"}},Qe=defineComponent({components:{VvIcon:L},props:{disabled:{type:Boolean,default:!1},labelShow:{type:String,default:"Show password"},labelHide:{type:String,default:"Hide password"},iconShow:{type:String,default:ie.PASSWORD_SHOW},iconHide:{type:String,default:ie.PASSWORD_HIDE}},emits:["toggle-password"],setup(o,{emit:n}){const t=ref(!1),a=computed(()=>t.value?o.iconHide:o.iconShow);function l(i){i==null||i.stopPropagation(),o.disabled||(t.value=!t.value,n("toggle-password",t.value))}return{active:t,activeIcon:a,onClick:l}},render(){const o=h(L,{name:this.activeIcon,class:"vv-input-text__action-icon"});return h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.active?this.labelHide:this.labelShow,type:"button",onClick:this.onClick},o)}}),Ne=defineComponent({components:{VvIcon:L},props:{disabled:{type:Boolean,default:!1},label:{type:String},mode:{type:String,validator:o=>["up","down"].includes(o),default:"up"}},emits:["step-up","step-down"],setup(o,{emit:n}){const t=computed(()=>o.mode==="up");return{isUp:t,onClick:l=>{l==null||l.stopPropagation(),o.disabled||n(t.value?"step-up":"step-down")}}},render(){return h("button",{class:["vv-input-text__action-chevron",this.isUp&&"vv-input-text__action-chevron-up"],disabled:this.disabled,ariaLabel:this.label,onClick:this.onClick})}}),Ze=defineComponent({components:{VvIcon:L},props:{disabled:{type:Boolean,default:!1},label:{type:String,default:"Clear"},icon:{type:String,default:"close"}},emits:["clear"],setup(o,{emit:n}){function t(a){a==null||a.stopPropagation(),o.disabled||n("clear")}return{onClick:t}},render(){const o=h(L,{name:this.icon,class:"vv-input-text__action-icon"});return h("button",{disabled:this.disabled,class:"vv-input-text__action",ariaLabel:this.label,type:"button",onClick:this.onClick},o)}});function Ae(o,n){return{name:"VvInputTextActions",components:{VvIcon:L,VvInputPasswordAction:Qe,VvInputStepAction:Ne,VvInputClearAction:Ze},setup(){return{isDisabled:computed(()=>n.disabled||n.readonly),labelStepUp:n.labelStepUp,labelStepDown:n.labelStepDown,labelShowPassword:n.labelShowPassword,labelHidePassword:n.labelHidePassword,labelClear:n.labelClear,iconShowPassword:n.iconShowPassword,iconHidePassword:n.iconHidePassword}},render(){let t=null;switch(o){case v.SEARCH:{const{onClear:a}=this.$attrs;t=[h(Ze,{disabled:this.isDisabled,label:this.labelShowPassword,onClear:a})];break}case v.PASSWORD:{const{onTogglePassword:a}=this.$attrs;t=[h(Qe,{disabled:this.isDisabled,onTogglePassword:a,labelShow:this.labelShowPassword,labelHide:this.labelHidePassword,iconShow:this.iconShowPassword,iconHide:this.iconHidePassword})];break}case v.NUMBER:{const{onStepUp:a,onStepDown:l}=this.$attrs;t=[h(Ne,{mode:"up",disabled:this.isDisabled||n.max!==void 0&&n.modelValue===n.max,label:this.labelStepUp,onStepUp:a,onStepDown:l}),h(Ne,{mode:"down",disabled:this.isDisabled||n.min!==void 0&&n.modelValue===n.min,label:this.labelStepDown,onStepUp:a,onStepDown:l})];break}}return Array.isArray(t)?h("div",{class:"vv-input-text__actions-group"},t):t}}}const Wo=["for"],qo={class:"vv-input-text__wrapper"},Ko={key:0,class:"vv-input-text__input-before"},Yo={class:"vv-input-text__inner"},Jo=["id"],Xo={key:1,class:"vv-input-text__input-after"},Qo={key:2,class:"vv-input-text__limit"},Zo={name:"VvInputText"},el=e.defineComponent({...Zo,props:jo,emits:Uo,setup(o,{emit:n}){const t=o,a=useSlots(),l=ref(),{id:i,icon:c,iconPosition:d,label:p,modelValue:u,count:r,valid:s,invalid:f,loading:g}=toRefs(t),S=useUniqueId(i),V=computed(()=>`${S.value}-hint`),b=computed(()=>t.floating&&isEmpty(t.placeholder)?" ":t.placeholder),_=useDebouncedInput(u,n,t.debounce),{focused:E}=useComponentFocus(l,n),N=useElementVisibility(l);watch(N,$=>{$&&t.autofocus&&(E.value=!0)});const B=ref(!1),w=computed(()=>t.type===v.PASSWORD),R=()=>{B.value=!B.value},M=computed(()=>t.type===v.TIME||t.type===v.DATETIME_LOCAL||t.type===v.DATE||t.type===v.WEEK||t.type===v.MONTH),G=computed(()=>t.type===v.NUMBER),P=()=>{K.value&&(l.value.stepUp(),_.value=unref(l).value)},I=()=>{K.value&&(l.value.stepDown(),_.value=unref(l).value)},T=computed(()=>t.type===v.SEARCH),U=()=>{_.value=void 0},{hasIcon:X,hasIconBefore:Q,hasIconAfter:k}=useComponentIcon(c,d),j=computed(()=>{switch(t.type){case v.COLOR:return{name:ie.COLOR};case v.DATE:case v.DATETIME_LOCAL:case v.WEEK:case v.MONTH:return{name:ie.DATE};case v.TIME:return{name:ie.TIME};default:return""}}),{formatted:oe}=useTextCount(_,{mode:t.count,upperLimit:t.maxlength,lowerLimit:t.minlength}),K=computed(()=>!t.disabled&&!t.readonly),ae=computed(()=>K.value?t.tabindex:-1),z=computed(()=>!isEmpty(u)),A=computed(()=>{if(f.value===!0)return!0;if(s.value===!0)return!1}),{modifiers:H}=toRefs(t),W=useBemModifiers("vv-input-text",H,computed(()=>({valid:s.value,invalid:f.value,loading:g.value,disabled:t.disabled,readonly:t.readonly,"icon-before":Q.value,"icon-after":k.value||!isEmpty(j),floating:t.floating&&!isEmpty(t.label),dirty:z.value,focus:E.value}))),le=computed(()=>{const $=(()=>w.value&&B.value||M.value&&!z.value&&!E.value?v.TEXT:t.type)(),q={type:$,name:t.name,tabindex:ae.value,disabled:t.disabled,readonly:t.readonly,required:t.required,autocomplete:t.autocomplete,"aria-invalid":A.value,"aria-describedby":!Z.value&&D.value?V.value:void 0,"aria-errormessage":Z.value?V.value:void 0};return($===v.DATE||$===v.MONTH||$===v.WEEK||$===v.TIME||$===v.DATETIME_LOCAL||$===v.NUMBER)&&(q.step=t.step,q.max=String(t.max),q.min=String(t.min)),($===v.TEXT||$===v.SEARCH||$===v.URL||$===v.TEL||$===v.EMAIL||$===v.PASSWORD||$===v.NUMBER)&&(q.placeholder=b.value),($===v.TEXT||$===v.SEARCH||$===v.URL||$===v.TEL||$===v.EMAIL||$===v.PASSWORD)&&(q.minlength=t.minlength,q.maxlength=t.maxlength,q.pattern=t.pattern),$===v.EMAIL&&(q.multiple=t.multiple),q}),ee=computed(()=>({valid:t.valid,invalid:t.invalid,modelValue:t.modelValue,togglePassword:R,stepUp:P,stepDown:I,clear:U})),{HintSlot:m,hasHint:D,hasInvalid:Z}=se(t,a),re=Ae(v.PASSWORD,t),Ie=Ae(v.NUMBER,t),he=Ae(v.SEARCH,t);return($,q)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(W))},[e.unref(p)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(S),class:"vv-input-text__label"},e.toDisplayString(e.unref(p)),9,Wo)):e.createCommentVNode("",!0),e.createElementVNode("div",qo,[$.$slots.before?(e.openBlock(),e.createElementBlock("div",Ko,[e.renderSlot($.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(ee))))])):e.createCommentVNode("",!0),e.createElementVNode("div",Yo,[e.unref(Q)?(e.openBlock(),e.createBlock(L,e.mergeProps({key:0,class:"vv-input-text__icon"},e.unref(X)),null,16)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",e.mergeProps({id:e.unref(S),ref_key:"input",ref:l,"onUpdate:modelValue":q[0]||(q[0]=ue=>e.isRef(_)?_.value=ue:null)},e.unref(le),{onKeyup:q[1]||(q[1]=ue=>n("keyup",ue))}),null,16,Jo),[[e.vModelDynamic,e.unref(_)]]),e.unref(k)||e.unref(j)?(e.openBlock(),e.createBlock(L,e.mergeProps({key:1,class:"vv-input-text__icon vv-input-text__icon-after"},e.unref(k)?e.unref(X):e.unref(j)),null,16)):e.unref(w)?(e.openBlock(),e.createBlock(e.unref(re),{key:2,onTogglePassword:R})):e.unref(G)?(e.openBlock(),e.createBlock(e.unref(Ie),{key:3,onStepUp:P,onStepDown:I})):e.unref(T)?(e.openBlock(),e.createBlock(e.unref(he),{key:4,onClear:U})):e.createCommentVNode("",!0)]),$.$slots.after?(e.openBlock(),e.createElementBlock("div",Xo,[e.renderSlot($.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(ee))))])):e.createCommentVNode("",!0),e.unref(r)?(e.openBlock(),e.createElementBlock("span",Qo,[e.renderSlot($.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(ee))),()=>[e.createTextVNode(e.toDisplayString(e.unref(oe)),1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(m),{id:e.unref(V),class:"vv-input-text__hint"},null,8,["id"])],2))}}),tl={...J,value:{type:[Number,String],default:void 0},max:{type:[Number,String]},label:{type:String,required:!0}},ol={name:"VvProgress"},ll=e.defineComponent({...ol,props:tl,setup(o){const n=o,{value:t,max:a,label:l}=toRefs(n),i=computed(()=>n.value===void 0),{modifiers:c}=toRefs(n),d=useBemModifiers("vv-progress",c,computed(()=>({indeterminate:i.value})));return(p,u)=>(e.openBlock(),e.createElementBlock("progress",e.mergeProps({role:"progressbar"},{class:e.unref(d),ariaLabel:e.unref(l),max:e.unref(a),value:e.unref(t)}),null,16))}}),nl=He,al=["click","update:modelValue","change","blur"];function rl(o,n){const{id:t}=toRefs(o),{group:a,isInGroup:l,getGroupOrLocalRef:i}=useInjectedGroupState(Oe),c=i("modelValue",o,n),d=i("readonly",o),p=i("disabled",o),u=i("valid",o),r=i("invalid",o);return{id:t,group:a,isInGroup:l,modelValue:c,readonly:d,disabled:p,valid:u,invalid:r}}const sl=["for"],il=["id","name","disabled","value","tabindex","aria-invalid"],cl={name:"VvRadio"},et=e.defineComponent({...cl,props:nl,emits:al,setup(o,{emit:n}){const t=o,a=useSlots(),{id:l,disabled:i,readonly:c,modelValue:d,valid:p,invalid:u}=rl(t,n),r=useUniqueId(l),s=computed(()=>g.value?-1:t.tabindex),f=ref(),g=computed(()=>i.value||c.value),S=computed(()=>{if(u.value===!0)return!0;if(p.value===!0)return!1}),V=computed(()=>Array.isArray(d.value)?contains(t.value,d.value):equals(t.value,d.value)),b=computed(()=>["string","number","boolean"].includes(typeof t.value)?t.value:!0),_=computed({get(){return V.value?b.value:null},set(w){Array.isArray(d.value)?d.value=[t.value]:d.value=t.value,n("change",w)}}),{modifiers:E}=toRefs(t),N=useBemModifiers("vv-radio",E,computed(()=>({valid:p.value,invalid:u.value,disabled:i.value,readonly:c.value}))),{HintSlot:B}=se(t,a);return(w,R)=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass(e.unref(N)),for:e.unref(r)},[e.withDirectives(e.createElementVNode("input",{id:e.unref(r),ref_key:"input",ref:f,"onUpdate:modelValue":R[0]||(R[0]=M=>e.isRef(_)?_.value=M:null),type:"radio",class:"vv-radio__input",name:w.name,disabled:e.unref(g),value:e.unref(b),tabindex:e.unref(s),"aria-invalid":e.unref(S)},null,8,il),[[e.vModelRadio,e.unref(_)]]),e.renderSlot(w.$slots,"default",{value:e.unref(d)},()=>[e.createTextVNode(e.toDisplayString(w.label),1)]),e.createVNode(e.unref(B),{class:"vv-radio__hint",params:{value:e.unref(d)}},null,8,["params"])],10,sl))}}),dl=Fe,ul=["update:modelValue","change"],pl=["textContent"],fl={class:"vv-radio-group__wrapper"},ml={name:"VvRadioGroup"},bl=e.defineComponent({...ml,props:dl,emits:ul,setup(o,{emit:n}){const t=o,a=useSlots(),l=useVModel(t,"modelValue",n),{disabled:i,readonly:c,vertical:d,valid:p,invalid:u,modifiers:r}=toRefs(t);useProvideGroupState({key:Oe,modelValue:l,disabled:i,readonly:c,valid:p,invalid:u});const{getOptionLabel:s,getOptionValue:f}=useOptions(t),g=useBemModifiers("vv-radio-group",r,computed(()=>({disabled:i.value,readonly:c.value,horizontal:!d.value,valid:p.value,invalid:u.value}))),S=(b,_)=>({id:`${t.name}_opt${_}`,name:t.name,label:s(b),value:f(b)}),{HintSlot:V}=se(t,a);return(b,_)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(g))},[b.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(b.label)},null,8,pl)):e.createCommentVNode("",!0),e.createElementVNode("div",fl,[b.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(b.options,(E,N)=>(e.openBlock(),e.createBlock(et,e.mergeProps({key:N},S(E,N)),null,16))),128)):e.renderSlot(b.$slots,"default",{key:1})]),e.createVNode(e.unref(V),{class:"vv-radio-group__hint"})],2))}}),hl={hard:"hard",soft:"soft"},gl={true:!0,false:!1,default:"default"},yl=["update:modelValue","focus","blur","keyup"],_l={...ze,modelValue:String,cols:{type:[String,Number],default:20},rows:{type:[String,Number],default:2},wrap:{type:String,default:hl.soft},spellcheck:{type:[Boolean,String],default:gl.default},resizable:Boolean},vl=["for"],Sl={class:"vv-textarea__wrapper"},kl={key:0,class:"vv-textarea__input-before"},Vl={class:"vv-textarea__inner"},Bl=["id"],Cl={key:1,class:"vv-textarea__input-after"},El={key:2,class:"vv-textarea__limit"},Pl={name:"VvTextarea"},wl=e.defineComponent({...Pl,props:_l,emits:yl,setup(o,{emit:n}){const t=o,a=useSlots(),l=ref(),{id:i,icon:c,iconPosition:d,label:p,modelValue:u,count:r,valid:s,invalid:f,loading:g,modifiers:S}=toRefs(t),V=useUniqueId(i),b=computed(()=>`${V.value}-hint`),_=computed(()=>t.floating&&isEmpty(t.placeholder)?" ":t.placeholder),E=useDebouncedInput(u,n,t.debounce),{hasIcon:N,hasIconBefore:B,hasIconAfter:w}=useComponentIcon(c,d),{focused:R}=useComponentFocus(l,n),M=useElementVisibility(l);watch(M,z=>{z&&t.autofocus&&(R.value=!0)});const{formatted:G}=useTextCount(E,{mode:t.count,upperLimit:t.maxlength,lowerLimit:t.minlength}),P=computed(()=>!t.disabled&&!t.readonly),I=computed(()=>P.value?t.tabindex:-1),T=computed(()=>!isEmpty(u)),U=computed(()=>{if(t.invalid===!0)return!0;if(t.valid===!0)return!1}),{HintSlot:X,hasHint:Q,hasInvalid:k}=se(t,a),j=useBemModifiers("vv-textarea",S,computed(()=>({valid:s.value,invalid:f.value,loading:g.value,disabled:t.disabled,readonly:t.readonly,"icon-before":B.value,"icon-after":w.value,floating:t.floating&&!isEmpty(t.label),dirty:T.value,focused:R.value,resizable:t.resizable}))),oe=computed(()=>({name:t.name,placeholder:_.value,tabindex:I.value,disabled:t.disabled,readonly:t.readonly,required:t.required,autocomplete:t.autocomplete,minlength:t.minlength,maxlength:t.maxlength,cols:t.cols,rows:t.rows,wrap:t.wrap,spellcheck:t.spellcheck,"aria-invalid":U.value,"aria-describedby":!k.value&&Q.value?b.value:void 0,"aria-errormessage":k.value?b.value:void 0})),K=computed(()=>({valid:t.valid,invalid:t.invalid,modelValue:t.modelValue,hintLabel:t.hintLabel,maxlength:t.maxlength,minlength:t.minlength,clear:ae})),ae=()=>{E.value=void 0};return(z,A)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(j))},[e.unref(p)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(V),class:"vv-textarea__label"},e.toDisplayString(e.unref(p)),9,vl)):e.createCommentVNode("",!0),e.createElementVNode("div",Sl,[z.$slots.before?(e.openBlock(),e.createElementBlock("div",kl,[e.renderSlot(z.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(K))))])):e.createCommentVNode("",!0),e.createElementVNode("div",Vl,[e.unref(B)?(e.openBlock(),e.createBlock(L,e.mergeProps({key:0,class:"vv-textarea__icon"},e.unref(N)),null,16)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("textarea",e.mergeProps({id:e.unref(V),ref_key:"textarea",ref:l,"onUpdate:modelValue":A[0]||(A[0]=H=>e.isRef(E)?E.value=H:null)},e.unref(oe),{onKeyup:A[1]||(A[1]=H=>n("keyup",H))}),null,16,Bl),[[e.vModelText,e.unref(E)]]),e.unref(w)?(e.openBlock(),e.createBlock(L,e.mergeProps({key:1,class:"vv-textarea__icon vv-textarea__icon-after"},e.unref(N)),null,16)):e.createCommentVNode("",!0)]),z.$slots.after?(e.openBlock(),e.createElementBlock("div",Cl,[e.renderSlot(z.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(K))))])):e.createCommentVNode("",!0),e.unref(r)?(e.openBlock(),e.createElementBlock("span",El,[e.renderSlot(z.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(K))),()=>[e.createTextVNode(e.toDisplayString(e.unref(G)),1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(X),{id:e.unref(b),class:"vv-textarea__hint"},null,8,["id"])],2))}});C.VolverPlugin=ut,C.VvAccordion=Ue,C.VvAccordionGroup=kt,C.VvBadge=je,C.VvBreadcrumb=Nt,C.VvButton=Lt,C.VvButtonGroup=Gt,C.VvCard=Yt,C.VvCheckbox=Ke,C.VvCheckboxGroup=so,C.VvCombobox=To,C.VvDialog=Go,C.VvDropdown=$e,C.VvIcon=L,C.VvInputText=el,C.VvProgress=ll,C.VvRadio=et,C.VvRadioGroup=bl,C.VvSelect=Xe,C.VvTextarea=wl,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@iconify/vue"),require("vue")):"function"==typeof define&&define.amd?define(["exports","@iconify/vue","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).volver={},e.vue$1,e.vue)}(this,(function(e,t,o){"use strict";var i=Object.defineProperty,n=(e,t,o)=>(((e,t,o)=>{t in e?i(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o})(e,"symbol"!=typeof t?t+"":t,o),o);const r=Symbol.for("volver");function s(e,t,o){const i=o||e.name;if(!i)return e;const n=null==t?void 0:t[i],r=e.props;return n&&r?{...e,name:i,props:Object.keys(r).reduce(((e,t)=>{if(!(t in n))return e[t]=r[t],e;const o=n[t];return"function"==typeof r[t]||Array.isArray(r[t])?(e[t]={type:r[t],default:o},e):(e[t]={...r[t],default:o},e)}),{})}:{...e,name:i}}class c{constructor({fetchWithCredentials:e,fetchOptions:t,iconsProvider:i,nuxt:r,iconsCollections:s,defaults:c}={}){n(this,"_fetchOptions",{}),n(this,"_iconsCollections",[]),n(this,"_iconsProvider","vv"),n(this,"_nuxt",!1),n(this,"defaults",o.ref({})),t&&(this._fetchOptions=t),e&&(this._fetchOptions={...this._fetchOptions,credentials:"include"}),i&&(this._iconsProvider=i),r&&(this._nuxt=r),s&&Array.isArray(s)&&s.forEach((e=>{this.addCollection(e,this._iconsProvider)})),c&&(this.defaults.value=c)}get nuxt(){return this._nuxt}get iconsProvider(){return this._iconsProvider}get iconsCollections(){return this._iconsCollections}addCollection(e,o=this._iconsProvider){return this._iconsCollections.push(e),t.addCollection(e,o)}addIcon(e,o){return t.addIcon(e,o)}addIconsAPIProvider(e,o){return t.addAPIProvider(e,o)}fetchIcon(e,t={cache:"force-cache"}){return new Promise(((o,i)=>{fetch(e,{...this._fetchOptions,...t}).catch((e=>i(e))).then((e=>null==e?void 0:e.text())).then((e=>o(e)))}))}}const l={install(e,t){const o=new c(t);e.config.globalProperties.$vv=o,t.components&&Object.entries(t.components).forEach((([o,i])=>{e.component(o,s(i,t.defaults))})),t.aliases&&Object.entries(t.aliases).forEach((([o,i])=>{e.component(o,s(i,t.defaults,o))})),t.directives&&Object.entries(t.directives).forEach((([t,o])=>{e.directive(t,o)})),e.provide(r,o)}};e.VolverPlugin=l,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -1,17 +1,65 @@
1
1
  import type { PropType } from 'vue';
2
- import type { Option } from '@/types/generic';
3
- import { Placement, Position, Side } from '@/constants';
2
+ import type { Option } from '../types/generic';
3
+ import { Placement, Position, Side, AnchorTarget, ButtonType } from '../constants';
4
+ export declare const LinkProps: {
5
+ /**
6
+ * The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
7
+ * @see Documentation of [router-link](https://router.vuejs.org/api/#router-link) and [nuxt-link](https://nuxtjs.org/api/components-nuxt-link/)
8
+ */
9
+ to: {
10
+ type: (StringConstructor | ObjectConstructor)[];
11
+ };
12
+ /**
13
+ * Anchor href
14
+ */
15
+ href: StringConstructor;
16
+ /**
17
+ * Anchor target
18
+ */
19
+ target: {
20
+ type: PropType<"_blank" | "_self" | "_parent" | "_top">;
21
+ validator: (value: AnchorTarget) => boolean;
22
+ };
23
+ /**
24
+ * Anchor rel
25
+ */
26
+ rel: {
27
+ type: StringConstructor;
28
+ default: string;
29
+ };
30
+ };
4
31
  export declare const ValidProps: {
32
+ /**
33
+ * Valid status
34
+ */
5
35
  valid: BooleanConstructor;
36
+ /**
37
+ * Valid label
38
+ */
6
39
  validLabel: (StringConstructor | ArrayConstructor)[];
7
40
  };
8
41
  export declare const InvalidProps: {
42
+ /**
43
+ * Invalid status
44
+ */
9
45
  invalid: BooleanConstructor;
46
+ /**
47
+ * Invalid label
48
+ */
10
49
  invalidLabel: (StringConstructor | ArrayConstructor)[];
11
50
  };
12
51
  export declare const LoadingProps: {
52
+ /**
53
+ * Loading status
54
+ */
13
55
  loading: BooleanConstructor;
14
- loadingLabel: StringConstructor;
56
+ /**
57
+ * Loading label
58
+ */
59
+ loadingLabel: {
60
+ type: StringConstructor;
61
+ default: string;
62
+ };
15
63
  };
16
64
  export declare const DisabledProps: {
17
65
  /**
@@ -19,6 +67,30 @@ export declare const DisabledProps: {
19
67
  */
20
68
  disabled: BooleanConstructor;
21
69
  };
70
+ export declare const SelectedProps: {
71
+ /**
72
+ * Whether the item is selected
73
+ */
74
+ selected: BooleanConstructor;
75
+ };
76
+ export declare const ActiveProps: {
77
+ /**
78
+ * Whether the item is active
79
+ */
80
+ active: BooleanConstructor;
81
+ };
82
+ export declare const PressedProps: {
83
+ /**
84
+ * Whether the item is pressed
85
+ */
86
+ pressed: BooleanConstructor;
87
+ };
88
+ export declare const LabelProps: {
89
+ /**
90
+ * The item label
91
+ */
92
+ label: (StringConstructor | NumberConstructor)[];
93
+ };
22
94
  export declare const ReadonlyProps: {
23
95
  /**
24
96
  * The value is not editable
@@ -95,7 +167,7 @@ export declare const IconProps: {
95
167
  * VvIcon position
96
168
  */
97
169
  iconPosition: {
98
- type: PropType<Position>;
170
+ type: PropType<"before" | "after">;
99
171
  default: Position;
100
172
  validation: (value: Position) => boolean;
101
173
  };
@@ -137,7 +209,7 @@ export declare const DropdownProps: {
137
209
  * Dropdown placement
138
210
  */
139
211
  placement: {
140
- type: PropType<Side | Placement>;
212
+ type: PropType<"left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end">;
141
213
  default: Side;
142
214
  validator: (value: Side & Placement) => boolean;
143
215
  };
@@ -160,7 +232,11 @@ export declare const DropdownProps: {
160
232
  * @see https://floating-ui.com/docs/shift
161
233
  */
162
234
  shift: {
163
- type: PropType<boolean | Partial<import("@floating-ui/core").ShiftOptions & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
235
+ type: PropType<boolean | Partial<import("@floating-ui/core").ShiftOptions & {
236
+ rootBoundary: import("@floating-ui/core").RootBoundary;
237
+ elementContext: import("@floating-ui/core").ElementContext;
238
+ altBoundary: boolean;
239
+ padding: import("@floating-ui/core").Padding;
164
240
  boundary: import("@floating-ui/dom").Boundary;
165
241
  }> | undefined>;
166
242
  default: boolean;
@@ -170,7 +246,11 @@ export declare const DropdownProps: {
170
246
  * @see https://floating-ui.com/docs/flip
171
247
  */
172
248
  flip: {
173
- type: PropType<boolean | Partial<import("@floating-ui/core").FlipOptions & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
249
+ type: PropType<boolean | Partial<import("@floating-ui/core").FlipOptions & {
250
+ rootBoundary: import("@floating-ui/core").RootBoundary;
251
+ elementContext: import("@floating-ui/core").ElementContext;
252
+ altBoundary: boolean;
253
+ padding: import("@floating-ui/core").Padding;
174
254
  boundary: import("@floating-ui/dom").Boundary;
175
255
  }> | undefined>;
176
256
  default: boolean;
@@ -180,14 +260,26 @@ export declare const DropdownProps: {
180
260
  * @see https://floating-ui.com/docs/size
181
261
  */
182
262
  size: {
183
- type: PropType<boolean | Partial<Omit<import("@floating-ui/core").SizeOptions, "apply"> & {
184
- apply(args: Omit<import("@floating-ui/core").MiddlewareArguments, "elements"> & {
263
+ type: PropType<boolean | Partial<{
264
+ apply: (args: {
265
+ x: number;
266
+ y: number;
267
+ placement: import("@floating-ui/core").Placement;
268
+ initialPlacement: import("@floating-ui/core").Placement;
269
+ strategy: import("@floating-ui/core").Strategy;
270
+ middlewareData: import("@floating-ui/core").MiddlewareData;
271
+ rects: import("@floating-ui/core").ElementRects;
272
+ platform: import("@floating-ui/core").Platform;
185
273
  elements: import("@floating-ui/dom").Elements;
186
274
  } & {
187
275
  availableWidth: number;
188
276
  availableHeight: number;
189
- }): void | Promise<void>;
190
- } & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
277
+ }) => void | Promise<void>;
278
+ } & {
279
+ rootBoundary: import("@floating-ui/core").RootBoundary;
280
+ elementContext: import("@floating-ui/core").ElementContext;
281
+ altBoundary: boolean;
282
+ padding: import("@floating-ui/core").Padding;
191
283
  boundary: import("@floating-ui/dom").Boundary;
192
284
  }> | undefined>;
193
285
  default: () => {
@@ -199,7 +291,11 @@ export declare const DropdownProps: {
199
291
  * @see https://floating-ui.com/docs/autoPlacement
200
292
  */
201
293
  autoPlacement: {
202
- type: PropType<boolean | Partial<import("@floating-ui/core").AutoPlacementOptions & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
294
+ type: PropType<boolean | Partial<import("@floating-ui/core").AutoPlacementOptions & {
295
+ rootBoundary: import("@floating-ui/core").RootBoundary;
296
+ elementContext: import("@floating-ui/core").ElementContext;
297
+ altBoundary: boolean;
298
+ padding: import("@floating-ui/core").Padding;
203
299
  boundary: import("@floating-ui/dom").Boundary;
204
300
  }> | undefined>;
205
301
  default: boolean;
@@ -296,9 +392,9 @@ export declare const InputTextareaProps: {
296
392
  */
297
393
  required: BooleanConstructor;
298
394
  /**
299
- * <label> value for the Input / Textarea
395
+ * The item label
300
396
  */
301
- label: StringConstructor;
397
+ label: (StringConstructor | NumberConstructor)[];
302
398
  /**
303
399
  * If true the label will be floating
304
400
  */
@@ -314,7 +410,7 @@ export declare const InputTextareaProps: {
314
410
  * VvIcon position
315
411
  */
316
412
  iconPosition: {
317
- type: PropType<Position>;
413
+ type: PropType<"before" | "after">;
318
414
  default: Position;
319
415
  validation: (value: Position) => boolean;
320
416
  };
@@ -334,15 +430,36 @@ export declare const InputTextareaProps: {
334
430
  * Component BEM modifiers
335
431
  */
336
432
  modifiers: PropType<string | string[]>;
433
+ /**
434
+ * Loading status
435
+ */
337
436
  loading: BooleanConstructor;
338
- loadingLabel: StringConstructor;
437
+ /**
438
+ * Loading label
439
+ */
440
+ loadingLabel: {
441
+ type: StringConstructor;
442
+ default: string;
443
+ };
339
444
  hintLabel: {
340
445
  type: StringConstructor;
341
446
  default: string;
342
447
  };
448
+ /**
449
+ * Invalid status
450
+ */
343
451
  invalid: BooleanConstructor;
452
+ /**
453
+ * Invalid label
454
+ */
344
455
  invalidLabel: (StringConstructor | ArrayConstructor)[];
456
+ /**
457
+ * Valid status
458
+ */
345
459
  valid: BooleanConstructor;
460
+ /**
461
+ * Valid label
462
+ */
346
463
  validLabel: (StringConstructor | ArrayConstructor)[];
347
464
  /**
348
465
  * The value is not editable
@@ -399,9 +516,9 @@ export declare const CheckboxRadioProps: {
399
516
  */
400
517
  modelValue: (StringConstructor | BooleanConstructor | ObjectConstructor | NumberConstructor)[];
401
518
  /**
402
- * <label> for input
519
+ * The item label
403
520
  */
404
- label: StringConstructor;
521
+ label: (StringConstructor | NumberConstructor)[];
405
522
  /**
406
523
  * Component BEM modifiers
407
524
  */
@@ -418,9 +535,21 @@ export declare const CheckboxRadioProps: {
418
535
  type: StringConstructor;
419
536
  default: string;
420
537
  };
538
+ /**
539
+ * Invalid status
540
+ */
421
541
  invalid: BooleanConstructor;
542
+ /**
543
+ * Invalid label
544
+ */
422
545
  invalidLabel: (StringConstructor | ArrayConstructor)[];
546
+ /**
547
+ * Valid status
548
+ */
423
549
  valid: BooleanConstructor;
550
+ /**
551
+ * Valid label
552
+ */
424
553
  validLabel: (StringConstructor | ArrayConstructor)[];
425
554
  /**
426
555
  * Global attribute tabindex
@@ -449,11 +578,7 @@ export declare const CheckboxRadioGroupProps: {
449
578
  /**
450
579
  * Input value
451
580
  */
452
- modelValue: (StringConstructor | ArrayConstructor)[];
453
- /**
454
- * Input label
455
- */
456
- label: StringConstructor;
581
+ modelValue: (SymbolConstructor | StringConstructor | BooleanConstructor | ArrayConstructor | NumberConstructor)[];
457
582
  /**
458
583
  * Input name
459
584
  */
@@ -465,6 +590,10 @@ export declare const CheckboxRadioGroupProps: {
465
590
  * If true, the group will be displayed in a vertical column
466
591
  */
467
592
  vertical: BooleanConstructor;
593
+ /**
594
+ * The item label
595
+ */
596
+ label: (StringConstructor | NumberConstructor)[];
468
597
  /**
469
598
  * Component BEM modifiers
470
599
  */
@@ -509,8 +638,71 @@ export declare const CheckboxRadioGroupProps: {
509
638
  type: (StringConstructor | FunctionConstructor)[];
510
639
  default: string;
511
640
  };
641
+ /**
642
+ * Invalid status
643
+ */
512
644
  invalid: BooleanConstructor;
645
+ /**
646
+ * Invalid label
647
+ */
513
648
  invalidLabel: (StringConstructor | ArrayConstructor)[];
649
+ /**
650
+ * Valid status
651
+ */
514
652
  valid: BooleanConstructor;
653
+ /**
654
+ * Valid label
655
+ */
515
656
  validLabel: (StringConstructor | ArrayConstructor)[];
516
657
  };
658
+ export declare const ActionProps: {
659
+ /**
660
+ * Button type
661
+ */
662
+ type: {
663
+ type: PropType<"button" | "submit" | "reset">;
664
+ default: ButtonType;
665
+ validator: (value: ButtonType) => boolean;
666
+ };
667
+ /**
668
+ * The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
669
+ * @see Documentation of [router-link](https://router.vuejs.org/api/#router-link) and [nuxt-link](https://nuxtjs.org/api/components-nuxt-link/)
670
+ */
671
+ to: {
672
+ type: (StringConstructor | ObjectConstructor)[];
673
+ };
674
+ /**
675
+ * Anchor href
676
+ */
677
+ href: StringConstructor;
678
+ /**
679
+ * Anchor target
680
+ */
681
+ target: {
682
+ type: PropType<"_blank" | "_self" | "_parent" | "_top">;
683
+ validator: (value: AnchorTarget) => boolean;
684
+ };
685
+ /**
686
+ * Anchor rel
687
+ */
688
+ rel: {
689
+ type: StringConstructor;
690
+ default: string;
691
+ };
692
+ /**
693
+ * Whether the item is active
694
+ */
695
+ active: BooleanConstructor;
696
+ /**
697
+ * Whether the item is pressed
698
+ */
699
+ pressed: BooleanConstructor;
700
+ /**
701
+ * The item label
702
+ */
703
+ label: (StringConstructor | NumberConstructor)[];
704
+ /**
705
+ * Whether the form control is disabled
706
+ */
707
+ disabled: BooleanConstructor;
708
+ };
@@ -1,27 +1,33 @@
1
1
  import type { ComponentResolver } from 'unplugin-vue-components/types';
2
+ type ImportStyle = boolean | 'css' | 'scss';
2
3
  export interface VolverResolverOptions {
3
4
  /**
4
5
  * import style along with components
5
- *
6
- * @default 'css'
6
+ * @default undefined
7
7
  */
8
- importStyle?: boolean | 'css' | 'scss';
8
+ importStyle?: ImportStyle;
9
9
  /**
10
- * import custom style path
11
- *
12
- * @default ''
10
+ * enable/disable directives
11
+ * @default undefined
13
12
  */
14
- customStylePath?: string;
13
+ directives?: boolean;
15
14
  /**
16
15
  * prefix for components (e.g. 'vv' to resolve Button from VvButton)
17
16
  *
18
17
  * @default 'vv'
19
18
  */
20
19
  prefix?: string;
20
+ /**
21
+ * ignore components (kebab-case)
22
+ * @default undefined
23
+ */
24
+ ignore?: string[];
21
25
  }
26
+ export declare const getStyleNames: (kebabName: string) => string[] | undefined;
22
27
  /**
23
28
  * Resolver for @volverjs/ui-vue
24
29
  *
25
30
  * @link https://github.com/volverjs/ui-vue
26
31
  */
27
- export declare function VolverResolver({ prefix, importStyle, customStylePath, }?: VolverResolverOptions): ComponentResolver;
32
+ export declare function VolverResolver({ prefix, importStyle, directives, ignore, }?: VolverResolverOptions): ComponentResolver[];
33
+ export {};