@volverjs/ui-vue 0.0.4 → 0.0.5-beta.2

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 (215) hide show
  1. package/README.md +2 -2
  2. package/auto-imports.d.ts +12 -3
  3. package/bin/icons.cjs +1 -73
  4. package/dist/Volver.d.ts +19 -11
  5. package/dist/components/VvAccordion/VvAccordion.es.js +165 -106
  6. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  7. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +4 -1
  8. package/dist/components/VvAccordion/index.d.ts +8 -3
  9. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +264 -164
  10. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +15 -12
  12. package/dist/components/VvAccordionGroup/index.d.ts +8 -0
  13. package/dist/components/VvAction/VvAction.es.js +276 -98
  14. package/dist/components/VvAction/VvAction.umd.js +1 -1
  15. package/dist/components/VvAction/VvAction.vue.d.ts +12 -12
  16. package/dist/components/VvAction/index.d.ts +2 -2
  17. package/dist/components/VvBadge/VvBadge.es.js +213 -44
  18. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  19. package/dist/components/VvBadge/VvBadge.vue.d.ts +2 -2
  20. package/dist/components/VvBadge/index.d.ts +1 -1
  21. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +247 -75
  22. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  23. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +11 -11
  24. package/dist/components/VvBreadcrumb/index.d.ts +1 -1
  25. package/dist/components/VvButton/VvButton.es.js +646 -360
  26. package/dist/components/VvButton/VvButton.umd.js +1 -1
  27. package/dist/components/VvButton/VvButton.vue.d.ts +18 -18
  28. package/dist/components/VvButton/index.d.ts +13 -13
  29. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +261 -79
  30. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  31. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +2 -2
  32. package/dist/components/VvButtonGroup/index.d.ts +1 -1
  33. package/dist/components/VvCard/VvCard.es.js +57 -38
  34. package/dist/components/VvCard/VvCard.umd.js +1 -1
  35. package/dist/components/VvCheckbox/VvCheckbox.es.js +562 -274
  36. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  37. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +2 -2
  38. package/dist/components/VvCheckbox/index.d.ts +5 -5
  39. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +661 -340
  40. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  41. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +7 -7
  42. package/dist/components/VvCheckboxGroup/index.d.ts +3 -3
  43. package/dist/components/VvCombobox/VvCombobox.es.js +1546 -983
  44. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  45. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +138 -51
  46. package/dist/components/VvCombobox/index.d.ts +41 -10
  47. package/dist/components/VvDialog/VvDialog.es.js +387 -141
  48. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  49. package/dist/components/VvDialog/VvDialog.vue.d.ts +12 -3
  50. package/dist/components/VvDialog/index.d.ts +4 -1
  51. package/dist/components/VvDropdown/VvDropdown.es.js +452 -244
  52. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  53. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +130 -42
  54. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +13 -13
  55. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +2 -2
  56. package/dist/components/VvDropdown/index.d.ts +40 -11
  57. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +373 -160
  58. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  59. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +43 -28
  60. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  61. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +285 -90
  62. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  63. package/dist/components/VvIcon/VvIcon.es.js +113 -65
  64. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  65. package/dist/components/VvIcon/VvIcon.vue.d.ts +7 -7
  66. package/dist/components/VvIcon/index.d.ts +2 -2
  67. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +2 -2
  68. package/dist/components/VvInputText/VvInputStepAction.d.ts +1 -1
  69. package/dist/components/VvInputText/VvInputText.es.js +986 -462
  70. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  71. package/dist/components/VvInputText/VvInputText.vue.d.ts +100 -20
  72. package/dist/components/VvInputText/VvInputTextActions.d.ts +1 -1
  73. package/dist/components/VvInputText/index.d.ts +66 -13
  74. package/dist/components/VvProgress/VvProgress.es.js +216 -45
  75. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  76. package/dist/components/VvProgress/VvProgress.vue.d.ts +2 -2
  77. package/dist/components/VvProgress/index.d.ts +1 -1
  78. package/dist/components/VvRadio/VvRadio.es.js +499 -238
  79. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  80. package/dist/components/VvRadio/VvRadio.vue.d.ts +2 -2
  81. package/dist/components/VvRadio/index.d.ts +5 -5
  82. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +598 -304
  83. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  84. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +7 -7
  85. package/dist/components/VvRadioGroup/index.d.ts +3 -3
  86. package/dist/components/VvSelect/VvSelect.es.js +631 -324
  87. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  88. package/dist/components/VvSelect/VvSelect.vue.d.ts +13 -13
  89. package/dist/components/VvSelect/index.d.ts +3 -3
  90. package/dist/components/VvTextarea/VvTextarea.es.js +676 -355
  91. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  92. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +20 -20
  93. package/dist/components/VvTextarea/index.d.ts +4 -4
  94. package/dist/components/VvTooltip/VvTooltip.es.js +215 -47
  95. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  96. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +7 -7
  97. package/dist/components/VvTooltip/index.d.ts +2 -2
  98. package/dist/components/index.es.js +3522 -2231
  99. package/dist/components/index.umd.js +1 -1
  100. package/dist/composables/dropdown/useInjectDropdown.d.ts +1 -1
  101. package/dist/composables/dropdown/useProvideDropdown.d.ts +3 -3
  102. package/dist/composables/group/useInjectedGroupState.d.ts +2 -2
  103. package/dist/composables/group/useProvideGroupState.d.ts +1 -1
  104. package/dist/composables/useComponentFocus.d.ts +1 -1
  105. package/dist/composables/useComponentIcon.d.ts +7 -7
  106. package/dist/composables/useDebouncedInput.d.ts +4 -1
  107. package/dist/composables/useDefaults.d.ts +2 -0
  108. package/dist/composables/useModifiers.d.ts +1 -1
  109. package/dist/composables/useOptions.d.ts +2 -2
  110. package/dist/composables/useTextCount.d.ts +3 -3
  111. package/dist/composables/useUniqueId.d.ts +1 -1
  112. package/dist/composables/useVolver.d.ts +1 -1
  113. package/dist/directives/index.d.ts +1 -0
  114. package/dist/directives/index.es.js +264 -55
  115. package/dist/directives/index.umd.js +1 -1
  116. package/dist/directives/v-contextmenu.d.ts +3 -0
  117. package/dist/directives/v-contextmenu.es.js +42 -0
  118. package/dist/directives/v-contextmenu.umd.js +1 -0
  119. package/dist/directives/v-tooltip.es.js +222 -53
  120. package/dist/directives/v-tooltip.umd.js +1 -1
  121. package/dist/icons.d.ts +3 -1
  122. package/dist/icons.es.js +40 -23
  123. package/dist/icons.umd.js +1 -1
  124. package/dist/index.d.ts +0 -1
  125. package/dist/index.es.js +112 -3607
  126. package/dist/index.umd.js +1 -1
  127. package/dist/props/index.d.ts +50 -18
  128. package/dist/resolvers/unplugin.d.ts +7 -1
  129. package/dist/resolvers/unplugin.es.js +77 -37
  130. package/dist/resolvers/unplugin.umd.js +1 -1
  131. package/dist/stories/Combobox/Combobox.settings.d.ts +12 -0
  132. package/dist/stories/Dropdown/Dropdown.settings.d.ts +12 -0
  133. package/dist/stories/InputText/InputText.settings.d.ts +53 -0
  134. package/dist/stories/argTypes.d.ts +13 -1
  135. package/package.json +126 -40
  136. package/src/Volver.ts +49 -22
  137. package/src/assets/icons/detailed.json +1 -1
  138. package/src/assets/icons/normal.json +1 -1
  139. package/src/assets/icons/simple.json +1 -1
  140. package/src/components/VvAccordion/VvAccordion.vue +19 -22
  141. package/src/components/VvAccordion/index.ts +12 -4
  142. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +19 -10
  143. package/src/components/VvAccordionGroup/index.ts +8 -0
  144. package/src/components/VvAction/VvAction.vue +7 -7
  145. package/src/components/VvAction/index.ts +1 -1
  146. package/src/components/VvBadge/VvBadge.vue +2 -2
  147. package/src/components/VvBadge/index.ts +1 -1
  148. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +3 -3
  149. package/src/components/VvButton/VvButton.vue +11 -11
  150. package/src/components/VvButton/index.ts +10 -9
  151. package/src/components/VvButtonGroup/VvButtonGroup.vue +4 -7
  152. package/src/components/VvButtonGroup/index.ts +1 -1
  153. package/src/components/VvCard/VvCard.vue +2 -2
  154. package/src/components/VvCheckbox/VvCheckbox.vue +3 -7
  155. package/src/components/VvCheckbox/index.ts +11 -7
  156. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +7 -10
  157. package/src/components/VvCheckboxGroup/index.ts +1 -1
  158. package/src/components/VvCombobox/VvCombobox.vue +44 -26
  159. package/src/components/VvCombobox/index.ts +1 -1
  160. package/src/components/VvDialog/VvDialog.vue +28 -11
  161. package/src/components/VvDialog/index.ts +5 -2
  162. package/src/components/VvDropdown/VvDropdown.vue +7 -5
  163. package/src/components/VvDropdown/VvDropdownAction.vue +7 -5
  164. package/src/components/VvDropdown/VvDropdownOption.vue +17 -10
  165. package/src/components/VvDropdown/index.ts +3 -3
  166. package/src/components/VvIcon/VvIcon.vue +3 -3
  167. package/src/components/VvIcon/index.ts +3 -3
  168. package/src/components/VvInputText/VvInputClearAction.ts +2 -2
  169. package/src/components/VvInputText/VvInputPasswordAction.ts +3 -4
  170. package/src/components/VvInputText/VvInputStepAction.ts +3 -2
  171. package/src/components/VvInputText/VvInputText.vue +130 -37
  172. package/src/components/VvInputText/VvInputTextActions.ts +5 -8
  173. package/src/components/VvInputText/index.ts +62 -1
  174. package/src/components/VvProgress/VvProgress.vue +2 -2
  175. package/src/components/VvProgress/index.ts +1 -1
  176. package/src/components/VvRadio/VvRadio.vue +3 -7
  177. package/src/components/VvRadio/index.ts +11 -7
  178. package/src/components/VvRadioGroup/VvRadioGroup.vue +7 -10
  179. package/src/components/VvRadioGroup/index.ts +1 -1
  180. package/src/components/VvSelect/VvSelect.vue +4 -4
  181. package/src/components/VvSelect/index.ts +1 -1
  182. package/src/components/VvTextarea/VvTextarea.vue +6 -6
  183. package/src/components/VvTextarea/index.ts +1 -1
  184. package/src/components/VvTooltip/VvTooltip.vue +2 -2
  185. package/src/components/VvTooltip/index.ts +3 -3
  186. package/src/composables/dropdown/useInjectDropdown.ts +2 -2
  187. package/src/composables/dropdown/useProvideDropdown.ts +2 -2
  188. package/src/composables/group/useInjectedGroupState.ts +1 -1
  189. package/src/composables/group/useProvideGroupState.ts +1 -1
  190. package/src/composables/useComponentIcon.ts +1 -1
  191. package/src/composables/useDebouncedInput.ts +10 -3
  192. package/src/composables/useDefaults.ts +89 -0
  193. package/src/composables/useModifiers.ts +4 -2
  194. package/src/composables/useOptions.ts +1 -1
  195. package/src/composables/useVolver.ts +2 -2
  196. package/src/directives/index.ts +3 -1
  197. package/src/directives/v-contextmenu.ts +40 -0
  198. package/src/directives/v-tooltip.ts +2 -2
  199. package/src/icons.ts +1 -1
  200. package/src/index.ts +0 -2
  201. package/src/props/index.ts +20 -10
  202. package/src/resolvers/unplugin.ts +15 -1
  203. package/src/stories/Accordion/Accordion.stories.mdx +8 -2
  204. package/src/stories/Accordion/Accordion.test.ts +21 -15
  205. package/src/stories/Accordion/AccordionSlots.stories.mdx +8 -8
  206. package/src/stories/AccordionGroup/AccordionGroup.stories.mdx +17 -1
  207. package/src/stories/AccordionGroup/AccordionGroup.test.ts +18 -12
  208. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.mdx +1 -1
  209. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.mdx +41 -0
  210. package/src/stories/InputText/InputText.settings.ts +53 -0
  211. package/src/stories/InputText/InputText.stories.mdx +40 -0
  212. package/src/stories/InputText/InputText.test.ts +5 -2
  213. package/src/stories/Tooltip/TooltipDirective.stories.mdx +1 -1
  214. package/src/stories/argTypes.ts +12 -2
  215. package/src/types/group.d.ts +5 -0
@@ -1 +1 @@
1
- (function(e,a){typeof exports=="object"&&typeof module<"u"?module.exports=a(require("vue"),require("@floating-ui/vue"),require("nanoid"),require("@vueuse/core"),require("mitt")):typeof define=="function"&&define.amd?define(["vue","@floating-ui/vue","nanoid","@vueuse/core","mitt"],a):(e=typeof globalThis<"u"?globalThis:e||self,e.VvDropdown=a(e.vue,e.vue$1,e.nanoid,e.core,e.mitt))})(this,function(e,a,I,u,W){"use strict";var x=(t=>(t.left="left",t.right="right",t.top="top",t.bottom="bottom",t))(x||{}),N=(t=>(t.topStart="top-start",t.topEnd="top-end",t.bottomStart="bottom-start",t.bottomEnd="bottom-end",t.leftStart="left-start",t.leftEnd="left-end",t.rightStart="right-start",t.rightEnd="right-end",t))(N||{}),v=(t=>(t.before="before",t.after="after",t))(v||{}),S=(t=>(t.button="button",t.submit="submit",t.reset="reset",t))(S||{}),g=(t=>(t.listbox="listbox",t.menu="menu",t))(g||{}),_=(t=>(t.option="option",t.presentation="presentation",t))(_||{}),D=(t=>(t._blank="_blank",t._self="_self",t._parent="_parent",t._top="_top",t))(D||{});const T=Symbol.for("dropdownTrigger"),q=Symbol.for("dropdownItem"),F={to:{type:[String,Object]},href:String,target:{type:String,validator:t=>Object.values(D).includes(t)},rel:{type:String,default:"noopener noreferrer"}},K={disabled:Boolean},M={active:Boolean},$={pressed:Boolean},L={label:[String,Number]},U={modifiers:[String,Array]};v.before;const G={id:[String,Number]},H={placement:{type:String,default:x.bottom,validator:t=>Object.values(x).includes(t)||Object.values(N).includes(t)},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}};({...K,...L,...$,...M,...F,type:S.button});const J={...G,...U,...H,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:g.menu,validator:t=>Object.values(g).includes(t)}},Y=t=>e.computed(()=>String((t==null?void 0:t.value)||I.nanoid()));function Q({reference:t,id:s,expanded:n,aria:c}){const i=W(),f=e.defineComponent({name:"VvDropdownTriggerProvider",provide(){return{[T]:{reference:t,id:s,expanded:n,aria:c,bus:i}}},setup(){return{}},render(){var m,b;return e.h(e.Fragment,{},(b=(m=this.$slots).default)==null?void 0:b.call(m))}});return{bus:i,component:f}}function X({role:t,expanded:s}){const n=e.computed(()=>t.value===g.listbox?_.option:_.presentation);return e.provide(q,{role:n,expanded:s}),{itemRole:n}}function Z(t,s,n){return e.computed(()=>{const c={[t]:!0},i=typeof(s==null?void 0:s.value)=="string"?s.value.split(" "):s==null?void 0:s.value;return i&&Array.isArray(i)&&i.forEach(f=>{c[`${t}--${f}`]=!0}),n&&Object.keys(n.value).forEach(f=>{c[`${t}--${f}`]=e.unref(n.value[f])}),c})}const ee=["id","tabindex","role","aria-labelledby"],te={name:"VvDropdown",inheritAttrs:!1};return e.defineComponent({...te,props:J,emits:["update:modelValue"],setup(t,{emit:s}){const n=t,{id:c}=e.toRefs(n),i=Y(c),f=e.useAttrs(),m=e.ref("auto"),b=e.ref("auto"),j=e.ref(null),d=e.ref(null),y=e.ref(null),oe=e.ref(null),p=e.computed({get:()=>n.reference??j.value,set:o=>{j.value=o}}),ne=e.computed(()=>{const o=[];if(n.autoPlacement?typeof n.autoPlacement=="boolean"?o.push(a.autoPlacement()):o.push(a.autoPlacement(n.autoPlacement)):n.flip&&(typeof n.flip=="boolean"?o.push(a.flip()):o.push(a.flip(n.flip))),n.shift&&(typeof n.shift=="boolean"?o.push(a.shift()):o.push(a.shift(n.shift))),n.size){const r=({availableWidth:E,availableHeight:w})=>{m.value=`${E}px`,b.value=`${w}px`};typeof n.size=="boolean"?o.push(a.size({apply:r})):o.push(a.size({...n.size,apply:r}))}return n.offset&&(o.push(a.offset(Number(n.offset))),["string","number"].includes(typeof n.offset)?o.push(a.offset(Number(n.offset))):o.push(a.offset(n.offset))),n.arrow&&o.push(a.arrow({element:y})),o}),{x:re,y:ae,strategy:le,middlewareData:B,placement:se}=a.useFloating(p,d,{whileElementsMounted:a.autoUpdate,placement:n.placement,middleware:ne}),ie=e.computed(()=>({position:le.value,top:`${ae.value??0}px`,left:`${re.value??0}px`,maxWidth:m.value,maxHeight:b.value,width:n.triggerWidth&&p.value?`${p.value.offsetWidth}px`:void 0})),fe=e.computed(()=>se.value.split("-")[0]),P=e.computed(()=>({top:"bottom",right:"left",bottom:"top",left:"right"})[fe.value]??"bottom"),ue=e.computed(()=>{var o,r,E,w;return["bottom","top"].includes(P.value)?{right:`${((o=B.value.arrow)==null?void 0:o.x)??0}px`,[P.value]:`${-(((r=y.value)==null?void 0:r.offsetWidth)??0)/2}px`}:{top:`${((E=B.value.arrow)==null?void 0:E.y)??0}px`,[P.value]:`${-(((w=y.value)==null?void 0:w.offsetWidth)??0)/2}px`}}),O=u.useVModel(n,"modelValue",s),V=e.ref(!1),l=e.computed({get:()=>O.value??V.value,set:o=>{if(O.value===void 0){V.value=o;return}O.value=o}}),ce=()=>{l.value=!0},z=()=>{l.value=!1},C=()=>{l.value=!l.value},de=o=>{p.value=o};e.watch(l,o=>{o&&n.autofocusFirst&&e.nextTick(()=>{const r=k(d.value);r.length>0&&r[0].focus()})}),u.onClickOutside(d,()=>{n.autoClose&&(l.value=!1)},{ignore:[p]});const pe=e.computed(()=>{var o;return((o=p.value)==null?void 0:o.getAttribute("id"))??void 0}),R=e.computed(()=>({"aria-controls":i.value,"aria-haspopup":!0,"aria-expanded":l.value})),{component:me,bus:be}=Q({reference:p,id:i,expanded:l,aria:R});be.on("click",C);const{role:A,modifiers:he}=e.toRefs(n),{itemRole:ge}=X({role:A,expanded:l}),ye=Z("vv-dropdown",he,e.computed(()=>({arrow:n.arrow}))),{focused:h}=u.useFocusWithin(d);function k(o){return o?[...o.querySelectorAll('a[href], button, input, textarea, select, details,[tabindex]:not([tabindex="-1"])')].filter(r=>!r.hasAttribute("disabled")&&!r.getAttribute("aria-hidden")):[]}const Ee=()=>{e.nextTick(()=>{if(h.value){const o=k(d.value);if(o.length===0||!document.activeElement)return;const r=o.indexOf(document.activeElement);r<o.length-1?o[r+1].focus():o[0].focus()}})},we=()=>{e.nextTick(()=>{if(h.value){const o=k(d.value);if(o.length===0||!document.activeElement)return;const r=o.indexOf(document.activeElement);r>0?o[r-1].focus():o[o.length-1].focus()}})};return u.onKeyStroke("Escape",o=>{l.value&&(o.preventDefault(),z())}),u.onKeyStroke("ArrowDown",o=>{l.value&&h.value&&(o.preventDefault(),Ee())}),u.onKeyStroke("ArrowUp",o=>{l.value&&h.value&&(o.preventDefault(),we())}),u.onKeyStroke([" ","Enter"],o=>{l.value&&h.value&&(o.preventDefault(),document.activeElement.click())}),(o,r)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(me),null,{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:de,show:ce,hide:z,toggle:C,expanded:e.unref(l),aria:e.unref(R)})))]),_:3}),e.createVNode(e.Transition,{name:o.transitionName},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:d,style:e.normalizeStyle(e.unref(ie)),class:e.normalizeClass(e.unref(ye))},[n.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:y,style:e.normalizeStyle(e.unref(ue)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(l)}))),e.createElementVNode("ul",e.mergeProps(e.unref(f),{id:e.unref(i),ref_key:"listEl",ref:oe,tabindex:e.unref(l)?void 0:-1,role:e.unref(A),"aria-labelledby":e.unref(pe),class:"vv-dropdown__list"}),[e.renderSlot(o.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(ge)})))],16,ee),e.renderSlot(o.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(l)})))],6),[[e.vShow,e.unref(l)]])]),_:3},8,["name"])],64))}})});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@floating-ui/vue"),require("nanoid"),require("@vueuse/core"),require("mitt")):"function"==typeof define&&define.amd?define(["vue","@floating-ui/vue","nanoid","@vueuse/core","mitt"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDropdown=t(e.vue,e.vue$1,e.nanoid,e.core,e.mitt)}(this,(function(e,t,o,l,a){"use strict";var r=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(r||{}),n=(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))(n||{}),u=(e=>(e.before="before",e.after="after",e))(u||{}),i=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(i||{}),d=(e=>(e.listbox="listbox",e.menu="menu",e))(d||{}),s=(e=>(e.option="option",e.presentation="presentation",e))(s||{});const f=Symbol.for("dropdownTrigger"),p=Symbol.for("dropdownItem"),c=(Boolean,Boolean,Boolean,{modifiers:[String,Array]});u.before;const v={id:[String,Number]},m={placement:{type:String,default:r.bottom,validator:e=>Object.values(r).includes(e)||Object.values(n).includes(e)},strategy:{type:String,default:"absolute",validator:e=>["fixed","absolute"].includes(e)},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}};i.button;const b={...v,...c,...m,modelValue:{type:Boolean,default:void 0},reference:{type:Object,default:null},role:{type:String,default:d.menu,validator:e=>Object.values(d).includes(e)}};const h=["id","tabindex","role","aria-labelledby"];return e.defineComponent({name:"VvDropdown",inheritAttrs:!1,props:b,emits:["update:modelValue"],setup(r,{expose:n,emit:u}){const i=r,{id:c}=e.toRefs(i),v=(t=>e.computed((()=>String((null==t?void 0:t.value)||o.nanoid()))))(c),m=e.useAttrs(),b=e.ref("auto"),g=e.ref("auto"),y=e.ref(null),x=e.ref(null),w=e.ref(null),S=e.ref(null),E=e.computed({get:()=>i.reference??y.value,set:e=>{y.value=e}}),k=e.computed((()=>{const e=[];if(i.autoPlacement?"boolean"==typeof i.autoPlacement?e.push(t.autoPlacement()):e.push(t.autoPlacement(i.autoPlacement)):i.flip&&("boolean"==typeof i.flip?e.push(t.flip()):e.push(t.flip(i.flip))),i.shift&&("boolean"==typeof i.shift?e.push(t.shift()):e.push(t.shift(i.shift))),i.size){const o=({availableWidth:e,availableHeight:t})=>{b.value=`${e}px`,g.value=`${t}px`};"boolean"==typeof i.size?e.push(t.size({apply:o})):e.push(t.size({...i.size,apply:o}))}return i.offset&&(e.push(t.offset(Number(i.offset))),["string","number"].includes(typeof i.offset)?e.push(t.offset(Number(i.offset))):e.push(t.offset(i.offset))),i.arrow&&e.push(t.arrow({element:w})),e})),{x:$,y:B,strategy:P,middlewareData:z,placement:O}=t.useFloating(E,x,{whileElementsMounted:t.autoUpdate,placement:e.computed((()=>i.placement)),strategy:e.computed((()=>i.strategy)),middleware:k}),V=e.computed((()=>({position:P.value,top:`${B.value??0}px`,left:`${$.value??0}px`,maxWidth:b.value,maxHeight:g.value,width:i.triggerWidth&&E.value?`${E.value.offsetWidth}px`:void 0}))),j=e.computed((()=>O.value.split("-")[0])),A=e.computed((()=>({top:"bottom",right:"left",bottom:"top",left:"right"}[j.value]??"bottom"))),N=e.computed((()=>{var e,t,o,l;return["bottom","top"].includes(A.value)?{right:`${(null==(e=z.value.arrow)?void 0:e.x)??0}px`,[A.value]:-((null==(t=w.value)?void 0:t.offsetWidth)??0)/2+"px"}:{top:`${(null==(o=z.value.arrow)?void 0:o.y)??0}px`,[A.value]:-((null==(l=w.value)?void 0:l.offsetWidth)??0)/2+"px"}})),D=l.useVModel(i,"modelValue",u),C=e.ref(!1),_=e.computed({get:()=>D.value??C.value,set:e=>{void 0!==D.value?D.value=e:C.value=e}}),R=()=>{_.value=!0},T=()=>{_.value=!1},W=()=>{_.value=!_.value},q=e=>{E.value=e};n({toggle:W,show:R,hide:T,init:q}),e.watch(_,(t=>{t&&i.autofocusFirst&&e.nextTick((()=>{const e=Q(x.value);e.length>0&&e[0].focus()}))})),l.onClickOutside(x,(()=>{i.autoClose&&(_.value=!1)}),{ignore:[E]});const F=e.computed((()=>{var e,t;return(null==(t=null==(e=E.value)?void 0:e.getAttribute)?void 0:t.call(e,"id"))??void 0})),K=e.computed((()=>({"aria-controls":v.value,"aria-haspopup":!0,"aria-expanded":_.value}))),{component:H,bus:M}=function({reference:t,id:o,expanded:l,aria:r}){const n=a(),u=e.defineComponent({name:"VvDropdownTriggerProvider",provide:()=>({[f]:{reference:t,id:o,expanded:l,aria:r,bus:n}}),setup:()=>({}),render(){var t,o;return e.h(e.Fragment,{},null==(o=(t=this.$slots).default)?void 0:o.call(t))}});return{bus:n,component:u}}({reference:E,id:v,expanded:_,aria:K});M.on("click",W);const{role:U,modifiers:I}=e.toRefs(i),{itemRole:G}=function({role:t,expanded:o}){const l=e.computed((()=>t.value===d.listbox?s.option:s.presentation));return e.provide(p,{role:l,expanded:o}),{itemRole:l}}({role:U,expanded:_}),J=function(t,o,l){return e.computed((()=>{const a={[t]:!0},r="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return r&&Array.isArray(r)&&r.forEach((e=>{e&&(a[`${t}--${e}`]=!0)})),l&&Object.keys(l.value).forEach((o=>{a[`${t}--${o}`]=e.unref(l.value[o])})),a}))}("vv-dropdown",I,e.computed((()=>({arrow:i.arrow})))),{focused:L}=l.useFocusWithin(x);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"))):[]}return l.onKeyStroke("Escape",(e=>{_.value&&(e.preventDefault(),T())})),l.onKeyStroke("ArrowDown",(t=>{_.value&&L.value&&(t.preventDefault(),e.nextTick((()=>{if(L.value){const e=Q(x.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t<e.length-1?e[t+1].focus():e[0].focus()}})))})),l.onKeyStroke("ArrowUp",(t=>{_.value&&L.value&&(t.preventDefault(),e.nextTick((()=>{if(L.value){const e=Q(x.value);if(0===e.length||!document.activeElement)return;const t=e.indexOf(document.activeElement);t>0?e[t-1].focus():e[e.length-1].focus()}})))})),l.onKeyStroke([" ","Enter"],(e=>{if(_.value&&L.value){e.preventDefault();document.activeElement.click()}})),(t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(H),null,{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps({init:q,show:R,hide:T,toggle:W,expanded:e.unref(_),aria:e.unref(K)})))])),_:3}),e.createVNode(e.Transition,{name:t.transitionName},{default:e.withCtx((()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingEl",ref:x,style:e.normalizeStyle(e.unref(V)),class:e.normalizeClass(e.unref(J))},[i.arrow?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"arrowEl",ref:w,style:e.normalizeStyle(e.unref(N)),class:"vv-dropdown__arrow"},null,4)):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"before",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(_)}))),e.createElementVNode("ul",e.mergeProps(e.unref(m),{id:e.unref(v),ref_key:"listEl",ref:S,tabindex:e.unref(_)?void 0:-1,role:e.unref(U),"aria-labelledby":e.unref(F),class:"vv-dropdown__list"}),[e.renderSlot(t.$slots,"items",e.normalizeProps(e.guardReactiveProps({role:e.unref(G)})))],16,h),e.renderSlot(t.$slots,"after",e.normalizeProps(e.guardReactiveProps({expanded:e.unref(_)})))],6),[[e.vShow,e.unref(_)]])])),_:3},8,["name"])],64))}})}));
@@ -4,47 +4,72 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
4
4
  default: undefined;
5
5
  };
6
6
  reference: {
7
- type: import("vue").PropType<HTMLElement | null>;
7
+ type: globalThis.PropType<HTMLElement | null>;
8
8
  default: null;
9
9
  };
10
10
  role: {
11
- type: import("vue").PropType<import("../../constants.js").DropdownRole>;
12
- default: import("../../constants.js").DropdownRole;
13
- validator: (value: import("../../constants.js").DropdownRole) => boolean;
11
+ type: globalThis.PropType<"menu" | "listbox">;
12
+ default: import("../../constants").DropdownRole;
13
+ validator: (value: import("../../constants").DropdownRole) => boolean;
14
14
  };
15
15
  placement: {
16
- type: import("vue").PropType<import("../../constants.js").Side | import("../../constants.js").Placement>;
17
- default: import("../../constants.js").Side;
16
+ type: globalThis.PropType<"left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end">;
17
+ default: import("../../constants").Side;
18
18
  validator: (value: never) => boolean;
19
19
  };
20
+ strategy: {
21
+ type: globalThis.PropType<"fixed" | "absolute">;
22
+ default: string;
23
+ validator: (value: "fixed" | "absolute") => boolean;
24
+ };
20
25
  transitionName: {
21
26
  type: StringConstructor;
22
27
  };
23
28
  offset: {
24
- type: import("vue").PropType<string | import("@floating-ui/core").OffsetOptions | undefined>;
29
+ type: globalThis.PropType<string | import("@floating-ui/vue").OffsetOptions | undefined>;
25
30
  default: number;
26
31
  };
27
32
  shift: {
28
- type: import("vue").PropType<boolean | Partial<import("@floating-ui/core").ShiftOptions & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
33
+ type: globalThis.PropType<boolean | Partial<import("@floating-ui/vue").ShiftOptions & {
34
+ rootBoundary: import("@floating-ui/vue").RootBoundary;
35
+ elementContext: import("@floating-ui/vue").ElementContext;
36
+ altBoundary: boolean;
37
+ padding: import("@floating-ui/vue").Padding;
29
38
  boundary: import("@floating-ui/vue").Boundary;
30
39
  }> | undefined>;
31
40
  default: boolean;
32
41
  };
33
42
  flip: {
34
- type: import("vue").PropType<boolean | Partial<import("@floating-ui/core").FlipOptions & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
43
+ type: globalThis.PropType<boolean | Partial<import("@floating-ui/vue").FlipOptions & {
44
+ rootBoundary: import("@floating-ui/vue").RootBoundary;
45
+ elementContext: import("@floating-ui/vue").ElementContext;
46
+ altBoundary: boolean;
47
+ padding: import("@floating-ui/vue").Padding;
35
48
  boundary: import("@floating-ui/vue").Boundary;
36
49
  }> | undefined>;
37
50
  default: boolean;
38
51
  };
39
52
  size: {
40
- type: import("vue").PropType<boolean | Partial<Omit<import("@floating-ui/core").SizeOptions, "apply"> & {
41
- apply(args: Omit<import("@floating-ui/core").MiddlewareArguments, "elements"> & {
53
+ type: globalThis.PropType<boolean | Partial<{
54
+ apply: (args: {
55
+ x: number;
56
+ y: number;
57
+ placement: import("@floating-ui/vue").Placement;
58
+ strategy: import("@floating-ui/vue").Strategy;
59
+ initialPlacement: import("@floating-ui/vue").Placement;
60
+ middlewareData: import("@floating-ui/vue").MiddlewareData;
61
+ rects: import("@floating-ui/vue").ElementRects;
62
+ platform: import("@floating-ui/core").Platform;
42
63
  elements: import("@floating-ui/vue").Elements;
43
64
  } & {
44
65
  availableWidth: number;
45
66
  availableHeight: number;
46
- }): void | Promise<void>;
47
- } & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
67
+ }) => void | Promise<void>;
68
+ } & {
69
+ rootBoundary: import("@floating-ui/vue").RootBoundary;
70
+ elementContext: import("@floating-ui/vue").ElementContext;
71
+ altBoundary: boolean;
72
+ padding: import("@floating-ui/vue").Padding;
48
73
  boundary: import("@floating-ui/vue").Boundary;
49
74
  }> | undefined>;
50
75
  default: () => {
@@ -52,7 +77,11 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
52
77
  };
53
78
  };
54
79
  autoPlacement: {
55
- type: import("vue").PropType<boolean | Partial<import("@floating-ui/core").AutoPlacementOptions & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
80
+ type: globalThis.PropType<boolean | Partial<import("@floating-ui/vue").AutoPlacementOptions & {
81
+ rootBoundary: import("@floating-ui/vue").RootBoundary;
82
+ elementContext: import("@floating-ui/vue").ElementContext;
83
+ altBoundary: boolean;
84
+ padding: import("@floating-ui/vue").Padding;
56
85
  boundary: import("@floating-ui/vue").Boundary;
57
86
  }> | undefined>;
58
87
  default: boolean;
@@ -72,55 +101,85 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
72
101
  triggerWidth: {
73
102
  type: BooleanConstructor;
74
103
  };
75
- modifiers: import("vue").PropType<string | string[]>;
104
+ modifiers: globalThis.PropType<string | string[]>;
76
105
  id: (StringConstructor | NumberConstructor)[];
77
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
106
+ }, {
107
+ toggle: () => void;
108
+ show: () => void;
109
+ hide: () => void;
110
+ init: (el: HTMLElement) => void;
111
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
78
112
  modelValue: {
79
113
  type: BooleanConstructor;
80
114
  default: undefined;
81
115
  };
82
116
  reference: {
83
- type: import("vue").PropType<HTMLElement | null>;
117
+ type: globalThis.PropType<HTMLElement | null>;
84
118
  default: null;
85
119
  };
86
120
  role: {
87
- type: import("vue").PropType<import("../../constants.js").DropdownRole>;
88
- default: import("../../constants.js").DropdownRole;
89
- validator: (value: import("../../constants.js").DropdownRole) => boolean;
121
+ type: globalThis.PropType<"menu" | "listbox">;
122
+ default: import("../../constants").DropdownRole;
123
+ validator: (value: import("../../constants").DropdownRole) => boolean;
90
124
  };
91
125
  placement: {
92
- type: import("vue").PropType<import("../../constants.js").Side | import("../../constants.js").Placement>;
93
- default: import("../../constants.js").Side;
126
+ type: globalThis.PropType<"left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end">;
127
+ default: import("../../constants").Side;
94
128
  validator: (value: never) => boolean;
95
129
  };
130
+ strategy: {
131
+ type: globalThis.PropType<"fixed" | "absolute">;
132
+ default: string;
133
+ validator: (value: "fixed" | "absolute") => boolean;
134
+ };
96
135
  transitionName: {
97
136
  type: StringConstructor;
98
137
  };
99
138
  offset: {
100
- type: import("vue").PropType<string | import("@floating-ui/core").OffsetOptions | undefined>;
139
+ type: globalThis.PropType<string | import("@floating-ui/vue").OffsetOptions | undefined>;
101
140
  default: number;
102
141
  };
103
142
  shift: {
104
- type: import("vue").PropType<boolean | Partial<import("@floating-ui/core").ShiftOptions & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
143
+ type: globalThis.PropType<boolean | Partial<import("@floating-ui/vue").ShiftOptions & {
144
+ rootBoundary: import("@floating-ui/vue").RootBoundary;
145
+ elementContext: import("@floating-ui/vue").ElementContext;
146
+ altBoundary: boolean;
147
+ padding: import("@floating-ui/vue").Padding;
105
148
  boundary: import("@floating-ui/vue").Boundary;
106
149
  }> | undefined>;
107
150
  default: boolean;
108
151
  };
109
152
  flip: {
110
- type: import("vue").PropType<boolean | Partial<import("@floating-ui/core").FlipOptions & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
153
+ type: globalThis.PropType<boolean | Partial<import("@floating-ui/vue").FlipOptions & {
154
+ rootBoundary: import("@floating-ui/vue").RootBoundary;
155
+ elementContext: import("@floating-ui/vue").ElementContext;
156
+ altBoundary: boolean;
157
+ padding: import("@floating-ui/vue").Padding;
111
158
  boundary: import("@floating-ui/vue").Boundary;
112
159
  }> | undefined>;
113
160
  default: boolean;
114
161
  };
115
162
  size: {
116
- type: import("vue").PropType<boolean | Partial<Omit<import("@floating-ui/core").SizeOptions, "apply"> & {
117
- apply(args: Omit<import("@floating-ui/core").MiddlewareArguments, "elements"> & {
163
+ type: globalThis.PropType<boolean | Partial<{
164
+ apply: (args: {
165
+ x: number;
166
+ y: number;
167
+ placement: import("@floating-ui/vue").Placement;
168
+ strategy: import("@floating-ui/vue").Strategy;
169
+ initialPlacement: import("@floating-ui/vue").Placement;
170
+ middlewareData: import("@floating-ui/vue").MiddlewareData;
171
+ rects: import("@floating-ui/vue").ElementRects;
172
+ platform: import("@floating-ui/core").Platform;
118
173
  elements: import("@floating-ui/vue").Elements;
119
174
  } & {
120
175
  availableWidth: number;
121
176
  availableHeight: number;
122
- }): void | Promise<void>;
123
- } & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
177
+ }) => void | Promise<void>;
178
+ } & {
179
+ rootBoundary: import("@floating-ui/vue").RootBoundary;
180
+ elementContext: import("@floating-ui/vue").ElementContext;
181
+ altBoundary: boolean;
182
+ padding: import("@floating-ui/vue").Padding;
124
183
  boundary: import("@floating-ui/vue").Boundary;
125
184
  }> | undefined>;
126
185
  default: () => {
@@ -128,7 +187,11 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
128
187
  };
129
188
  };
130
189
  autoPlacement: {
131
- type: import("vue").PropType<boolean | Partial<import("@floating-ui/core").AutoPlacementOptions & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
190
+ type: globalThis.PropType<boolean | Partial<import("@floating-ui/vue").AutoPlacementOptions & {
191
+ rootBoundary: import("@floating-ui/vue").RootBoundary;
192
+ elementContext: import("@floating-ui/vue").ElementContext;
193
+ altBoundary: boolean;
194
+ padding: import("@floating-ui/vue").Padding;
132
195
  boundary: import("@floating-ui/vue").Boundary;
133
196
  }> | undefined>;
134
197
  default: boolean;
@@ -148,33 +211,58 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
148
211
  triggerWidth: {
149
212
  type: BooleanConstructor;
150
213
  };
151
- modifiers: import("vue").PropType<string | string[]>;
214
+ modifiers: globalThis.PropType<string | string[]>;
152
215
  id: (StringConstructor | NumberConstructor)[];
153
216
  }>> & {
154
217
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
155
218
  }, {
156
219
  modelValue: boolean;
157
- shift: boolean | Partial<import("@floating-ui/core").ShiftOptions & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
220
+ shift: boolean | Partial<import("@floating-ui/vue").ShiftOptions & {
221
+ rootBoundary: import("@floating-ui/vue").RootBoundary;
222
+ elementContext: import("@floating-ui/vue").ElementContext;
223
+ altBoundary: boolean;
224
+ padding: import("@floating-ui/vue").Padding;
158
225
  boundary: import("@floating-ui/vue").Boundary;
159
226
  }> | undefined;
160
227
  reference: HTMLElement | null;
161
- role: import("../../constants.js").DropdownRole;
162
- flip: boolean | Partial<import("@floating-ui/core").FlipOptions & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
228
+ role: "menu" | "listbox";
229
+ flip: boolean | Partial<import("@floating-ui/vue").FlipOptions & {
230
+ rootBoundary: import("@floating-ui/vue").RootBoundary;
231
+ elementContext: import("@floating-ui/vue").ElementContext;
232
+ altBoundary: boolean;
233
+ padding: import("@floating-ui/vue").Padding;
163
234
  boundary: import("@floating-ui/vue").Boundary;
164
235
  }> | undefined;
165
- placement: import("../../constants.js").Side | import("../../constants.js").Placement;
166
- offset: string | import("@floating-ui/core").OffsetOptions | undefined;
167
- size: boolean | Partial<Omit<import("@floating-ui/core").SizeOptions, "apply"> & {
168
- apply(args: Omit<import("@floating-ui/core").MiddlewareArguments, "elements"> & {
236
+ placement: "left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end";
237
+ strategy: "fixed" | "absolute";
238
+ offset: string | import("@floating-ui/vue").OffsetOptions | undefined;
239
+ size: boolean | Partial<{
240
+ apply: (args: {
241
+ x: number;
242
+ y: number;
243
+ placement: import("@floating-ui/vue").Placement;
244
+ strategy: import("@floating-ui/vue").Strategy;
245
+ initialPlacement: import("@floating-ui/vue").Placement;
246
+ middlewareData: import("@floating-ui/vue").MiddlewareData;
247
+ rects: import("@floating-ui/vue").ElementRects;
248
+ platform: import("@floating-ui/core").Platform;
169
249
  elements: import("@floating-ui/vue").Elements;
170
250
  } & {
171
251
  availableWidth: number;
172
252
  availableHeight: number;
173
- }): void | Promise<void>;
174
- } & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
253
+ }) => void | Promise<void>;
254
+ } & {
255
+ rootBoundary: import("@floating-ui/vue").RootBoundary;
256
+ elementContext: import("@floating-ui/vue").ElementContext;
257
+ altBoundary: boolean;
258
+ padding: import("@floating-ui/vue").Padding;
175
259
  boundary: import("@floating-ui/vue").Boundary;
176
260
  }> | undefined;
177
- autoPlacement: boolean | Partial<import("@floating-ui/core").AutoPlacementOptions & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
261
+ autoPlacement: boolean | Partial<import("@floating-ui/vue").AutoPlacementOptions & {
262
+ rootBoundary: import("@floating-ui/vue").RootBoundary;
263
+ elementContext: import("@floating-ui/vue").ElementContext;
264
+ altBoundary: boolean;
265
+ padding: import("@floating-ui/vue").Padding;
178
266
  boundary: import("@floating-ui/vue").Boundary;
179
267
  }> | undefined;
180
268
  arrow: boolean;
@@ -198,7 +286,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
198
286
  expanded: boolean;
199
287
  }) => any;
200
288
  items: (_: {
201
- role: import("../../constants.js").DropdownItemRole;
289
+ role: import("../../constants").DropdownItemRole;
202
290
  }) => any;
203
291
  after: (_: {
204
292
  expanded: boolean;
@@ -1,17 +1,17 @@
1
1
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
2
- modifiers: import("vue").PropType<string | string[]>;
2
+ modifiers: globalThis.PropType<string | string[]>;
3
3
  type: {
4
- type: StringConstructor;
5
- default: import("../../constants.js").ButtonType;
6
- validator: (value: import("../../constants.js").ButtonType) => boolean;
4
+ type: globalThis.PropType<"button" | "submit" | "reset">;
5
+ default: import("../../constants").ButtonType;
6
+ validator: (value: import("../../constants").ButtonType) => boolean;
7
7
  };
8
8
  to: {
9
9
  type: (StringConstructor | ObjectConstructor)[];
10
10
  };
11
11
  href: StringConstructor;
12
12
  target: {
13
- type: import("vue").PropType<import("../../constants.js").AnchorTarget>;
14
- validator: (value: import("../../constants.js").AnchorTarget) => boolean;
13
+ type: globalThis.PropType<"_blank" | "_self" | "_parent" | "_top">;
14
+ validator: (value: import("../../constants").AnchorTarget) => boolean;
15
15
  };
16
16
  rel: {
17
17
  type: StringConstructor;
@@ -22,19 +22,19 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
22
22
  label: (StringConstructor | NumberConstructor)[];
23
23
  disabled: BooleanConstructor;
24
24
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
25
- modifiers: import("vue").PropType<string | string[]>;
25
+ modifiers: globalThis.PropType<string | string[]>;
26
26
  type: {
27
- type: StringConstructor;
28
- default: import("../../constants.js").ButtonType;
29
- validator: (value: import("../../constants.js").ButtonType) => boolean;
27
+ type: globalThis.PropType<"button" | "submit" | "reset">;
28
+ default: import("../../constants").ButtonType;
29
+ validator: (value: import("../../constants").ButtonType) => boolean;
30
30
  };
31
31
  to: {
32
32
  type: (StringConstructor | ObjectConstructor)[];
33
33
  };
34
34
  href: StringConstructor;
35
35
  target: {
36
- type: import("vue").PropType<import("../../constants.js").AnchorTarget>;
37
- validator: (value: import("../../constants.js").AnchorTarget) => boolean;
36
+ type: globalThis.PropType<"_blank" | "_self" | "_parent" | "_top">;
37
+ validator: (value: import("../../constants").AnchorTarget) => boolean;
38
38
  };
39
39
  rel: {
40
40
  type: StringConstructor;
@@ -46,7 +46,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
46
46
  disabled: BooleanConstructor;
47
47
  }>>, {
48
48
  disabled: boolean;
49
- type: string;
49
+ type: "button" | "submit" | "reset";
50
50
  rel: string;
51
51
  active: boolean;
52
52
  pressed: boolean;
@@ -8,7 +8,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
8
8
  selectedHintLabel: {
9
9
  type: StringConstructor;
10
10
  };
11
- modifiers: import("vue").PropType<string | string[]>;
11
+ modifiers: globalThis.PropType<string | string[]>;
12
12
  unselectable: {
13
13
  type: BooleanConstructor;
14
14
  default: boolean;
@@ -25,7 +25,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
25
25
  selectedHintLabel: {
26
26
  type: StringConstructor;
27
27
  };
28
- modifiers: import("vue").PropType<string | string[]>;
28
+ modifiers: globalThis.PropType<string | string[]>;
29
29
  unselectable: {
30
30
  type: BooleanConstructor;
31
31
  default: boolean;
@@ -1,5 +1,5 @@
1
1
  import type { PropType } from 'vue';
2
- import { DropdownRole } from '@/constants';
2
+ import { DropdownRole } from '../../constants';
3
3
  export declare const VvDropdownProps: {
4
4
  /**
5
5
  * Show / hide dropdown programmatically
@@ -19,15 +19,20 @@ export declare const VvDropdownProps: {
19
19
  * Dropdown role
20
20
  */
21
21
  role: {
22
- type: PropType<DropdownRole>;
22
+ type: PropType<"menu" | "listbox">;
23
23
  default: DropdownRole;
24
24
  validator: (value: DropdownRole) => boolean;
25
25
  };
26
26
  placement: {
27
- type: PropType<import("@/constants").Side | import("@/constants").Placement>;
28
- default: import("@/constants").Side;
27
+ type: PropType<"left" | "right" | "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end">;
28
+ default: import("../../constants").Side;
29
29
  validator: (value: never) => boolean;
30
30
  };
31
+ strategy: {
32
+ type: PropType<"fixed" | "absolute">;
33
+ default: string;
34
+ validator: (value: "fixed" | "absolute") => boolean;
35
+ };
31
36
  transitionName: {
32
37
  type: StringConstructor;
33
38
  };
@@ -36,26 +41,46 @@ export declare const VvDropdownProps: {
36
41
  default: number;
37
42
  };
38
43
  shift: {
39
- type: PropType<boolean | Partial<import("@floating-ui/core").ShiftOptions & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
44
+ type: PropType<boolean | Partial<import("@floating-ui/core").ShiftOptions & {
45
+ rootBoundary: import("@floating-ui/core").RootBoundary;
46
+ elementContext: import("@floating-ui/core").ElementContext;
47
+ altBoundary: boolean;
48
+ padding: import("@floating-ui/core").Padding;
40
49
  boundary: import("@floating-ui/dom").Boundary;
41
50
  }> | undefined>;
42
51
  default: boolean;
43
52
  };
44
53
  flip: {
45
- type: PropType<boolean | Partial<import("@floating-ui/core").FlipOptions & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
54
+ type: PropType<boolean | Partial<import("@floating-ui/core").FlipOptions & {
55
+ rootBoundary: import("@floating-ui/core").RootBoundary;
56
+ elementContext: import("@floating-ui/core").ElementContext;
57
+ altBoundary: boolean;
58
+ padding: import("@floating-ui/core").Padding;
46
59
  boundary: import("@floating-ui/dom").Boundary;
47
60
  }> | undefined>;
48
61
  default: boolean;
49
62
  };
50
63
  size: {
51
- type: PropType<boolean | Partial<Omit<import("@floating-ui/core").SizeOptions, "apply"> & {
52
- apply(args: Omit<import("@floating-ui/core").MiddlewareArguments, "elements"> & {
64
+ type: PropType<boolean | Partial<{
65
+ apply: (args: {
66
+ x: number;
67
+ y: number;
68
+ placement: import("@floating-ui/core").Placement;
69
+ strategy: import("@floating-ui/core").Strategy;
70
+ initialPlacement: import("@floating-ui/core").Placement;
71
+ middlewareData: import("@floating-ui/core").MiddlewareData;
72
+ rects: import("@floating-ui/core").ElementRects;
73
+ platform: import("@floating-ui/core").Platform;
53
74
  elements: import("@floating-ui/dom").Elements;
54
75
  } & {
55
76
  availableWidth: number;
56
77
  availableHeight: number;
57
- }): void | Promise<void>;
58
- } & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
78
+ }) => void | Promise<void>;
79
+ } & {
80
+ rootBoundary: import("@floating-ui/core").RootBoundary;
81
+ elementContext: import("@floating-ui/core").ElementContext;
82
+ altBoundary: boolean;
83
+ padding: import("@floating-ui/core").Padding;
59
84
  boundary: import("@floating-ui/dom").Boundary;
60
85
  }> | undefined>;
61
86
  default: () => {
@@ -63,7 +88,11 @@ export declare const VvDropdownProps: {
63
88
  };
64
89
  };
65
90
  autoPlacement: {
66
- type: PropType<boolean | Partial<import("@floating-ui/core").AutoPlacementOptions & Omit<import("@floating-ui/core").DetectOverflowOptions, "boundary"> & {
91
+ type: PropType<boolean | Partial<import("@floating-ui/core").AutoPlacementOptions & {
92
+ rootBoundary: import("@floating-ui/core").RootBoundary;
93
+ elementContext: import("@floating-ui/core").ElementContext;
94
+ altBoundary: boolean;
95
+ padding: import("@floating-ui/core").Padding;
67
96
  boundary: import("@floating-ui/dom").Boundary;
68
97
  }> | undefined>;
69
98
  default: boolean;