@volverjs/ui-vue 0.0.9-beta.1 → 0.0.9-beta.3

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 (79) hide show
  1. package/dist/components/VvAccordion/VvAccordion.es.js +7 -0
  2. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +7 -0
  3. package/dist/components/VvAction/VvAction.es.js +9 -1
  4. package/dist/components/VvAction/VvAction.umd.js +1 -1
  5. package/dist/components/VvAction/VvAction.vue.d.ts +9 -0
  6. package/dist/components/VvAction/index.d.ts +4 -0
  7. package/dist/components/VvAlert/VvAlert.es.js +7 -0
  8. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +7 -0
  9. package/dist/components/VvAvatar/VvAvatar.es.js +7 -0
  10. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +7 -0
  11. package/dist/components/VvBadge/VvBadge.es.js +7 -0
  12. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +7 -0
  13. package/dist/components/VvButton/VvButton.es.js +11 -2
  14. package/dist/components/VvButton/VvButton.umd.js +1 -1
  15. package/dist/components/VvButton/VvButton.vue.d.ts +9 -0
  16. package/dist/components/VvButton/index.d.ts +4 -0
  17. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +7 -0
  18. package/dist/components/VvCard/VvCard.es.js +7 -0
  19. package/dist/components/VvCheckbox/VvCheckbox.es.js +7 -0
  20. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +7 -0
  21. package/dist/components/VvCombobox/VvCombobox.es.js +17 -10
  22. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  23. package/dist/components/VvDialog/VvDialog.es.js +7 -0
  24. package/dist/components/VvDropdown/VvDropdown.es.js +19 -8
  25. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  26. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +2 -9
  27. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +9 -0
  28. package/dist/components/VvDropdown/index.d.ts +1 -7
  29. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +9 -1
  30. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  31. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +7 -0
  32. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +7 -0
  33. package/dist/components/VvInputText/VvInputText.es.js +7 -0
  34. package/dist/components/VvNav/VvNav.es.js +10 -2
  35. package/dist/components/VvNav/VvNav.umd.js +1 -1
  36. package/dist/components/VvNav/index.d.ts +1 -1
  37. package/dist/components/VvProgress/VvProgress.es.js +7 -0
  38. package/dist/components/VvRadio/VvRadio.es.js +7 -0
  39. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +7 -0
  40. package/dist/components/VvSelect/VvSelect.es.js +7 -0
  41. package/dist/components/VvTab/VvTab.es.js +10 -2
  42. package/dist/components/VvTab/VvTab.umd.js +1 -1
  43. package/dist/components/VvTextarea/VvTextarea.es.js +7 -0
  44. package/dist/components/VvTooltip/VvTooltip.es.js +7 -0
  45. package/dist/components/index.d.ts +5 -0
  46. package/dist/components/index.es.js +714 -314
  47. package/dist/components/index.umd.js +1 -1
  48. package/dist/directives/index.es.js +7 -0
  49. package/dist/directives/v-tooltip.es.js +7 -0
  50. package/dist/icons.es.js +3 -3
  51. package/dist/icons.umd.js +1 -1
  52. package/dist/props/index.d.ts +7 -0
  53. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +43 -258
  54. package/dist/stories/Alert/Alert.settings.d.ts +3 -7
  55. package/dist/stories/Button/Button.settings.d.ts +3 -13
  56. package/dist/stories/Combobox/Combobox.settings.d.ts +3 -7
  57. package/dist/stories/Nav/Nav.settings.d.ts +3 -21
  58. package/package.json +28 -28
  59. package/src/assets/icons/detailed.json +1 -1
  60. package/src/assets/icons/normal.json +1 -1
  61. package/src/assets/icons/simple.json +1 -1
  62. package/src/components/VvAction/VvAction.vue +2 -1
  63. package/src/components/VvButton/VvButton.vue +1 -0
  64. package/src/components/VvDropdown/VvDropdown.vue +5 -1
  65. package/src/components/VvDropdown/index.ts +2 -8
  66. package/src/components/VvNav/VvNav.vue +1 -1
  67. package/src/components/VvNav/index.ts +1 -1
  68. package/src/components/index.ts +5 -0
  69. package/src/props/index.ts +7 -0
  70. package/src/stories/Alert/Alert.settings.ts +3 -1
  71. package/src/stories/Button/Button.settings.ts +5 -3
  72. package/src/stories/Combobox/Combobox.settings.ts +4 -1
  73. package/src/stories/Nav/Nav.settings.ts +3 -1
  74. package/src/stories/Tab/Tab.stories.ts +3 -3
  75. package/src/stories/Textarea/TextareaLength.stories.ts +1 -1
  76. /package/dist/components/{VvNavItemTitle → VvNav}/VvNavItemTitle.vue.d.ts +0 -0
  77. /package/dist/components/{VvNavSeparator → VvNav}/VvNavSeparator.d.ts +0 -0
  78. /package/src/components/{VvNavItemTitle → VvNav}/VvNavItemTitle.vue +0 -0
  79. /package/src/components/{VvNavSeparator → VvNav}/VvNavSeparator.ts +0 -0
@@ -219,6 +219,13 @@ const ModifiersProps = {
219
219
  type: String,
220
220
  default: ButtonType.button,
221
221
  validator: (value) => Object.values(ButtonType).includes(value)
222
+ },
223
+ /**
224
+ * Button aria-label
225
+ */
226
+ ariaLabel: {
227
+ type: String,
228
+ default: void 0
222
229
  }
223
230
  });
224
231
  function isEmpty(value) {
@@ -219,6 +219,13 @@ const ModifiersProps = {
219
219
  type: String,
220
220
  default: ButtonType.button,
221
221
  validator: (value) => Object.values(ButtonType).includes(value)
222
+ },
223
+ /**
224
+ * Button aria-label
225
+ */
226
+ ariaLabel: {
227
+ type: String,
228
+ default: void 0
222
229
  }
223
230
  });
224
231
  function isEmpty(value) {
@@ -224,6 +224,13 @@ const ActionProps = {
224
224
  type: String,
225
225
  default: ButtonType.button,
226
226
  validator: (value) => Object.values(ButtonType).includes(value)
227
+ },
228
+ /**
229
+ * Button aria-label
230
+ */
231
+ ariaLabel: {
232
+ type: String,
233
+ default: void 0
227
234
  }
228
235
  };
229
236
  const VvActionEvents = ["click", "mouseover", "mouseleave"];
@@ -282,7 +289,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
282
289
  const hasProps = computed(() => {
283
290
  const toReturn = {
284
291
  ...dropdownAria == null ? void 0 : dropdownAria.value,
285
- "aria-pressed": pressed.value ? true : void 0,
292
+ ariaPressed: pressed.value ? true : void 0,
293
+ ariaLabel: props.ariaLabel,
286
294
  role: role == null ? void 0 : role.value
287
295
  };
288
296
  switch (hasTag.value) {
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvAction=t(e.vue)}(this,(function(e){"use strict";var t=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(t||{}),o=(e=>(e.before="before",e.after="after",e))(o||{}),n=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(n||{}),r=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(r||{}),l=(e=>(e._blank="_blank",e._self="_self",e._parent="_parent",e._top="_top",e))(l||{});const a=Symbol.for("volver"),u=Symbol.for("dropdownTrigger"),i=Symbol.for("dropdownAction"),s={to:{type:[String,Object]},href:String,target:{type:String,validator:e=>Object.values(l).includes(e)},rel:{type:String,default:"noopener noreferrer"}},d={disabled:Boolean},c={active:Boolean},f={pressed:Boolean},v={label:[String,Number]};o.before,t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const p={...d,...v,...f,...c,...s,type:{type:String,default:n.button,validator:e=>Object.values(n).includes(e)}};return e.defineComponent({name:"VvAction",props:p,emits:["click","mouseover","mouseleave"],setup(t,{expose:o,emit:n}){const l=t,s=e.inject(a),d=e.ref(null);o({$el:d});const{reference:c,bus:f,aria:v,expanded:p}=e.inject(u,{});e.watch((()=>d.value),(e=>{c&&(c.value=e)}));const b=e.computed((()=>l.pressed||(null==p?void 0:p.value))),{role:m}=e.inject(i,{}),g=e.computed((()=>{switch(!0){case l.disabled:return r.button;case void 0!==l.to:return(null==s?void 0:s.nuxt)?r.nuxtLink:r.routerLink;case void 0!==l.href:return r.a;default:return r.button}})),k=e.computed((()=>{const e={...null==v?void 0:v.value,"aria-pressed":!!b.value||void 0,role:null==m?void 0:m.value};switch(g.value){case r.a:return{...e,href:l.href,target:l.target,rel:l.rel};case r.routerLink:case r.nuxtLink:return{...e,to:l.to,target:l.target};default:return{...e,type:l.type,disabled:l.disabled}}})),y=e=>{l.disabled?e.preventDefault():(null==f||f.emit("click",e),n("click",e))},h=e=>{null==f||f.emit("mouseover",e),n("mouseover",e)},B=e=>{null==f||f.emit("mouseleave",e),n("mouseleave",e)};return(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(g)),e.mergeProps(e.unref(k),{ref_key:"element",ref:d,class:{active:t.active,pressed:e.unref(b),disabled:t.disabled},onClickPassive:y,onMouseoverPassive:h,onMouseleavePassive:B}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]))])),_:3},16,["class"]))}})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvAction=t(e.vue)}(this,(function(e){"use strict";var t=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(t||{}),o=(e=>(e.before="before",e.after="after",e))(o||{}),n=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(n||{}),r=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(r||{}),l=(e=>(e._blank="_blank",e._self="_self",e._parent="_parent",e._top="_top",e))(l||{});const a=Symbol.for("volver"),i=Symbol.for("dropdownTrigger"),u=Symbol.for("dropdownAction"),s={to:{type:[String,Object]},href:String,target:{type:String,validator:e=>Object.values(l).includes(e)},rel:{type:String,default:"noopener noreferrer"}},d={disabled:Boolean},c={active:Boolean},f={pressed:Boolean},v={label:[String,Number]};o.before,t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const b={...d,...v,...f,...c,...s,type:{type:String,default:n.button,validator:e=>Object.values(n).includes(e)},ariaLabel:{type:String,default:void 0}};return e.defineComponent({name:"VvAction",props:b,emits:["click","mouseover","mouseleave"],setup(t,{expose:o,emit:n}){const l=t,s=e.inject(a),d=e.ref(null);o({$el:d});const{reference:c,bus:f,aria:v,expanded:b}=e.inject(i,{});e.watch((()=>d.value),(e=>{c&&(c.value=e)}));const p=e.computed((()=>l.pressed||(null==b?void 0:b.value))),{role:m}=e.inject(u,{}),g=e.computed((()=>{switch(!0){case l.disabled:return r.button;case void 0!==l.to:return(null==s?void 0:s.nuxt)?r.nuxtLink:r.routerLink;case void 0!==l.href:return r.a;default:return r.button}})),y=e.computed((()=>{const e={...null==v?void 0:v.value,ariaPressed:!!p.value||void 0,ariaLabel:l.ariaLabel,role:null==m?void 0:m.value};switch(g.value){case r.a:return{...e,href:l.href,target:l.target,rel:l.rel};case r.routerLink:case r.nuxtLink:return{...e,to:l.to,target:l.target};default:return{...e,type:l.type,disabled:l.disabled}}})),k=e=>{l.disabled?e.preventDefault():(null==f||f.emit("click",e),n("click",e))},h=e=>{null==f||f.emit("mouseover",e),n("mouseover",e)},B=e=>{null==f||f.emit("mouseleave",e),n("mouseleave",e)};return(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(g)),e.mergeProps(e.unref(y),{ref_key:"element",ref:d,class:{active:t.active,pressed:e.unref(p),disabled:t.disabled},onClickPassive:k,onMouseoverPassive:h,onMouseleavePassive:B}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]))])),_:3},16,["class"]))}})}));
@@ -4,6 +4,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
4
4
  default: import("../../constants").ButtonType;
5
5
  validator: (value: import("../../constants").ButtonType) => boolean;
6
6
  };
7
+ ariaLabel: {
8
+ type: StringConstructor;
9
+ default: undefined;
10
+ };
7
11
  to: {
8
12
  type: (ObjectConstructor | StringConstructor)[];
9
13
  };
@@ -28,6 +32,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
28
32
  default: import("../../constants").ButtonType;
29
33
  validator: (value: import("../../constants").ButtonType) => boolean;
30
34
  };
35
+ ariaLabel: {
36
+ type: StringConstructor;
37
+ default: undefined;
38
+ };
31
39
  to: {
32
40
  type: (ObjectConstructor | StringConstructor)[];
33
41
  };
@@ -49,6 +57,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
49
57
  }, {
50
58
  disabled: boolean;
51
59
  type: "button" | "submit" | "reset";
60
+ ariaLabel: string;
52
61
  rel: string;
53
62
  active: boolean;
54
63
  pressed: boolean;
@@ -5,6 +5,10 @@ export declare const VvActionProps: {
5
5
  default: import("../../constants").ButtonType;
6
6
  validator: (value: import("../../constants").ButtonType) => boolean;
7
7
  };
8
+ ariaLabel: {
9
+ type: StringConstructor;
10
+ default: undefined;
11
+ };
8
12
  to: {
9
13
  type: (ObjectConstructor | StringConstructor)[];
10
14
  };
@@ -445,6 +445,13 @@ const IdProps = {
445
445
  type: String,
446
446
  default: ButtonType.button,
447
447
  validator: (value) => Object.values(ButtonType).includes(value)
448
+ },
449
+ /**
450
+ * Button aria-label
451
+ */
452
+ ariaLabel: {
453
+ type: String,
454
+ default: void 0
448
455
  }
449
456
  });
450
457
  function useInjectedAlertGroup() {
@@ -230,6 +230,13 @@ const IdProps = {
230
230
  type: String,
231
231
  default: ButtonType.button,
232
232
  validator: (value) => Object.values(ButtonType).includes(value)
233
+ },
234
+ /**
235
+ * Button aria-label
236
+ */
237
+ ariaLabel: {
238
+ type: String,
239
+ default: void 0
233
240
  }
234
241
  });
235
242
  function useProvideAlertGroup({
@@ -216,6 +216,13 @@ const ModifiersProps = {
216
216
  type: String,
217
217
  default: ButtonType.button,
218
218
  validator: (value) => Object.values(ButtonType).includes(value)
219
+ },
220
+ /**
221
+ * Button aria-label
222
+ */
223
+ ariaLabel: {
224
+ type: String,
225
+ default: void 0
219
226
  }
220
227
  });
221
228
  const VvAvatarProps = {
@@ -217,6 +217,13 @@ const ModifiersProps = {
217
217
  type: String,
218
218
  default: ButtonType.button,
219
219
  validator: (value) => Object.values(ButtonType).includes(value)
220
+ },
221
+ /**
222
+ * Button aria-label
223
+ */
224
+ ariaLabel: {
225
+ type: String,
226
+ default: void 0
220
227
  }
221
228
  });
222
229
  const VvAvatarGroupProps = {
@@ -216,6 +216,13 @@ const ModifiersProps = {
216
216
  type: String,
217
217
  default: ButtonType.button,
218
218
  validator: (value) => Object.values(ButtonType).includes(value)
219
+ },
220
+ /**
221
+ * Button aria-label
222
+ */
223
+ ariaLabel: {
224
+ type: String,
225
+ default: void 0
219
226
  }
220
227
  });
221
228
  const VvBadgeProps = {
@@ -239,6 +239,13 @@ const ModifiersProps = {
239
239
  type: String,
240
240
  default: ButtonType.button,
241
241
  validator: (value) => Object.values(ButtonType).includes(value)
242
+ },
243
+ /**
244
+ * Button aria-label
245
+ */
246
+ ariaLabel: {
247
+ type: String,
248
+ default: void 0
242
249
  }
243
250
  });
244
251
  const VvBreadcrumbProps = {
@@ -475,6 +475,13 @@ const ActionProps = {
475
475
  type: String,
476
476
  default: ButtonType.button,
477
477
  validator: (value) => Object.values(ButtonType).includes(value)
478
+ },
479
+ /**
480
+ * Button aria-label
481
+ */
482
+ ariaLabel: {
483
+ type: String,
484
+ default: void 0
478
485
  }
479
486
  };
480
487
  const VvActionEvents = ["click", "mouseover", "mouseleave"];
@@ -530,7 +537,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
530
537
  const hasProps = computed(() => {
531
538
  const toReturn = {
532
539
  ...dropdownAria == null ? void 0 : dropdownAria.value,
533
- "aria-pressed": pressed.value ? true : void 0,
540
+ ariaPressed: pressed.value ? true : void 0,
541
+ ariaLabel: props.ariaLabel,
534
542
  role: role == null ? void 0 : role.value
535
543
  };
536
544
  switch (hasTag.value) {
@@ -912,7 +920,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
912
920
  to: _ctx.to,
913
921
  href: _ctx.href,
914
922
  target: _ctx.target,
915
- rel: _ctx.rel
923
+ rel: _ctx.rel,
924
+ ariaLabel: _ctx.ariaLabel
916
925
  }, {
917
926
  id: unref(hasId),
918
927
  ref_key: "element",
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@iconify/vue"),require("nanoid")):"function"==typeof define&&define.amd?define(["vue","@iconify/vue","nanoid"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvButton=t(e.vue,e.vue$1,e.nanoid)}(this,(function(e,t,o){"use strict";const n={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]}};var r=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(r||{}),l=(e=>(e.before="before",e.after="after",e))(l||{}),i=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(i||{}),u=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(u||{}),a=(e=>(e._blank="_blank",e._self="_self",e._parent="_parent",e._top="_top",e))(a||{});const s=Symbol.for("volver"),c=Symbol.for("buttonGroup"),d=Symbol.for("dropdownTrigger"),f=Symbol.for("dropdownAction");function v(){return e.inject(s)}function p(t,o,n){return e.computed((()=>{const r={[t]:!0},l="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return l&&Array.isArray(l)&&l.forEach((e=>{e&&(r[`${t}--${e}`]=!0)})),n&&Object.keys(n.value).forEach((o=>{r[`${t}--${o}`]=e.unref(n.value[o])})),r}))}const m=e.defineComponent({name:"VvIcon",props:n,setup(o){const n=o,r=e.computed((()=>"string"==typeof n.rotate?parseFloat(n.rotate):n.rotate)),l=e.ref(!0),i=v(),{modifiers:u}=e.toRefs(n),a=p("vv-icon",u),s=e.computed((()=>n.provider||(null==i?void 0:i.iconsProvider))),c=e.computed((()=>{const e=n.name??"",o=`@${s.value}:${n.prefix}:${e}`;if(t.iconExists(o))return o;const r=null==i?void 0:i.iconsCollections.find((o=>{const n=`@${s.value}:${o.prefix}:${e}`;return t.iconExists(n)}));return r?`@${s.value}:${r.prefix}:${e}`:e}));function d(e){const o=function(e){let t;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");t=(new e).window}return(t?new t.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),r=(null==o?void 0:o.innerHTML.trim())||"";o&&r&&t.addIcon(`@${s.value}:${n.prefix}:${n.name}`,{body:r,height:o.viewBox.baseVal.height,width:o.viewBox.baseVal.width})}return i&&n.src&&!t.iconExists(`@${s.value}:${n.prefix}:${n.name}`)&&(l.value=!1,i.fetchIcon(n.src).then((e=>{e&&(d(e),l.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),n.svg&&d(n.svg),(o,n)=>e.unref(l)?(e.openBlock(),e.createBlock(e.unref(t.Icon),e.mergeProps({key:0,class:e.unref(a)},{inline:o.inline,width:o.width,height:o.height,horizontalFlip:o.horizontalFlip,verticalFlip:o.verticalFlip,flip:o.flip,rotate:e.unref(r),color:o.color,onLoad:o.onLoad,icon:e.unref(c)}),null,16,["class"])):e.createCommentVNode("",!0)}}),g={to:{type:[String,Object]},href:String,target:{type:String,validator:e=>Object.values(a).includes(e)},rel:{type:String,default:"noopener noreferrer"}},b={loading:Boolean,loadingLabel:{type:String,default:"Loading..."}},y={disabled:Boolean},h={active:Boolean},S={pressed:Boolean},k={label:[String,Number]},B={modifiers:[String,Array]};l.before;const $={unselectable:{type:Boolean,default:!0}},x={id:[String,Number]};r.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const w={...y,...k,...S,...h,...g,type:{type:String,default:i.button,validator:e=>Object.values(i).includes(e)}},A=w;const j=e.defineComponent({name:"VvAction",props:A,emits:["click","mouseover","mouseleave"],setup(t,{expose:o,emit:n}){const r=t,l=v(),i=e.ref(null);o({$el:i});const{reference:a,bus:s,aria:c,expanded:p}=e.inject(d,{});e.watch((()=>i.value),(e=>{a&&(a.value=e)}));const m=e.computed((()=>r.pressed||(null==p?void 0:p.value))),{role:g}=e.inject(f,{}),b=e.computed((()=>{switch(!0){case r.disabled:return u.button;case void 0!==r.to:return(null==l?void 0:l.nuxt)?u.nuxtLink:u.routerLink;case void 0!==r.href:return u.a;default:return u.button}})),y=e.computed((()=>{const e={...null==c?void 0:c.value,"aria-pressed":!!m.value||void 0,role:null==g?void 0:g.value};switch(b.value){case u.a:return{...e,href:r.href,target:r.target,rel:r.rel};case u.routerLink:case u.nuxtLink:return{...e,to:r.to,target:r.target};default:return{...e,type:r.type,disabled:r.disabled}}})),h=e=>{r.disabled?e.preventDefault():(null==s||s.emit("click",e),n("click",e))},S=e=>{null==s||s.emit("mouseover",e),n("mouseover",e)},k=e=>{null==s||s.emit("mouseleave",e),n("mouseleave",e)};return(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(b)),e.mergeProps(e.unref(y),{ref_key:"element",ref:i,class:{active:t.active,pressed:e.unref(m),disabled:t.disabled},onClickPassive:h,onMouseoverPassive:S,onMouseleavePassive:k}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]))])),_:3},16,["class"]))}});function V(e,t,o){return o?O(e,o)===O(t,o):_(e,t)}function _(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){const o=Array.isArray(e),n=Array.isArray(t);let r,l,i;if(o&&n){if(l=e.length,l!=t.length)return!1;for(r=l;0!=r--;)if(!_(e[r],t[r]))return!1;return!0}if(o!=n)return!1;const u=e instanceof Date,a=t instanceof Date;if(u!=a)return!1;if(u&&a)return e.getTime()==t.getTime();const s=e instanceof RegExp,c=t instanceof RegExp;if(s!=c)return!1;if(s&&c)return e.toString()==t.toString();const d=Object.keys(e);if(l=d.length,l!==Object.keys(t).length)return!1;for(r=l;0!=r--;)if(!Object.prototype.hasOwnProperty.call(t,d[r]))return!1;for(r=l;0!=r--;)if(i=d[r],!_(e[i],t[i]))return!1;return!0}return e!=e&&t!=t}function O(e,t){if(e&&Object.keys(e).length&&t){if(-1===t.indexOf("."))return e[t];{const o=t.split(".");let n=e;for(let t=0,r=o.length;t<r;++t){if(null==e)return null;n=n[o[t]]}return n}}return null}function L(e,t){if(null!=e&&t&&t.length)for(const o of t)if(V(e,o))return!0;return!1}function N(t){const o=e.inject(t,void 0),n=e.computed((()=>{return t=o,!(null==(n=e.unref(t))||""===n||Array.isArray(n)&&0===n.length||!(n instanceof Date)&&"object"==typeof n&&0===Object.keys(n).length);var t,n}));return{group:o,isInGroup:n,getGroupOrLocalRef:function(t,n,r){if(null==o?void 0:o.value){const n=e.unref(o.value)[t];return e.computed({get:()=>null==n?void 0:n.value,set(e){n.value=e}})}const l=e.toRef(n,t);return e.computed({get:()=>l.value,set(e){r&&r(`update:${t}`,e)}})}}}const P={...w,...x,...B,...$,...b,icon:[String,Object],iconPosition:{type:String,default:r.left,validator:e=>Object.values(r).includes(e)},loadingIcon:{type:String,default:"eos-icons:bubble-loading"},toggle:{type:Boolean,default:!1},value:{type:[String,Number,Boolean],default:void 0},uncheckedValue:{type:[String,Number,Boolean],default:void 0},modelValue:{type:[String,Number,Boolean],default:void 0}};const C={key:1,class:"vv-button__label"},E={key:1,class:"vv-button__label"};return e.defineComponent({name:"VvButton",props:P,emits:["update:modelValue"],setup(t,{expose:n,emit:l}){const i=t,u=e.useAttrs(),a=e.useSlots(),{id:s,modifiers:d,iconPosition:f,icon:v,label:g,modelValue:b,disabled:y,toggle:h,unselectable:S}=function(t,o){const{group:n,isInGroup:r,getGroupOrLocalRef:l}=N(c),{id:i,iconPosition:u,icon:a,label:s,pressed:d}=e.toRefs(t),f=l("modelValue",t,o),v=l("toggle",t),p=l("unselectable",t),m=e.computed((()=>(null==n?void 0:n.value.multiple.value)??!1)),g=e.computed((()=>{let e=t.modifiers,o=null==n?void 0:n.value.modifiers.value;const r=new Set;return e&&(Array.isArray(e)||(e=e.split(" ")),e.forEach((e=>r.add(e)))),o&&(Array.isArray(o)||(o=o.split(" ")),o.forEach((e=>r.add(e)))),Array.from(r)})),b=e.computed((()=>{var e;return Boolean(t.disabled||(null==(e=null==n?void 0:n.value)?void 0:e.disabled.value))}));return{group:n,isInGroup:r,modelValue:f,toggle:v,unselectable:p,multiple:m,modifiers:g,disabled:b,id:i,pressed:d,iconPosition:u,icon:a,label:s}}(i,l),k=(t=>e.computed((()=>String((null==t?void 0:t.value)||o.nanoid()))))(s),B=e.computed((()=>(null==u?void 0:u.name)||k.value)),$=e.ref(null);n({$el:e.computed((()=>{var e;return null==(e=$.value)?void 0:e.$el}))});const x=e.computed((()=>h.value?Array.isArray(b.value)?L(B.value,b.value):V(B.value,b.value):i.pressed)),w=p("vv-button",d,e.computed((()=>({reverse:[r.right,r.bottom].includes(f.value),column:[r.top,r.bottom].includes(f.value),"icon-only":Boolean((null==v?void 0:v.value)&&!(null==g?void 0:g.value)&&!a.default)})))),A=e.computed((()=>"string"==typeof(null==v?void 0:v.value)?{name:null==v?void 0:v.value}:null==v?void 0:v.value)),_=e.computed((()=>void 0!==i.value?i.value:B.value)),O=()=>{if(h.value){if(Array.isArray(b.value))return L(_.value,b.value)?void(S.value&&(b.value=b.value.filter((e=>e!==_.value)))):void b.value.push(_.value);if(_.value===b.value&&S.value)return void(b.value=i.uncheckedValue);b.value=_.value}};return(t,o)=>(e.openBlock(),e.createBlock(j,e.mergeProps({disabled:e.unref(y),pressed:e.unref(x),active:t.active,type:t.type,to:t.to,href:t.href,target:t.target,rel:t.rel},{id:e.unref(k),ref_key:"element",ref:$,class:e.unref(w),onClick:O}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[t.loading?e.renderSlot(t.$slots,"loading",{key:0},(()=>[t.loadingIcon?(e.openBlock(),e.createBlock(m,{key:0,class:"vv-button__loading-icon",name:t.loadingIcon},null,8,["name"])):e.createCommentVNode("",!0),t.loadingLabel?(e.openBlock(),e.createElementBlock("span",C,e.toDisplayString(t.loadingLabel),1)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(t.$slots,"before"),e.unref(v)?(e.openBlock(),e.createBlock(m,e.mergeProps({key:0,class:"vv-button__icon"},e.unref(A)),null,16)):e.createCommentVNode("",!0),e.unref(g)?(e.openBlock(),e.createElementBlock("span",E,[e.renderSlot(t.$slots,"label",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(g)),1)]))])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"after")],64))]))])),_:3},16,["id","class"]))}})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@iconify/vue"),require("nanoid")):"function"==typeof define&&define.amd?define(["vue","@iconify/vue","nanoid"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvButton=t(e.vue,e.vue$1,e.nanoid)}(this,(function(e,t,o){"use strict";const n={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]}};var r=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(r||{}),l=(e=>(e.before="before",e.after="after",e))(l||{}),i=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(i||{}),a=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(a||{}),u=(e=>(e._blank="_blank",e._self="_self",e._parent="_parent",e._top="_top",e))(u||{});const s=Symbol.for("volver"),c=Symbol.for("buttonGroup"),d=Symbol.for("dropdownTrigger"),f=Symbol.for("dropdownAction");function v(){return e.inject(s)}function p(t,o,n){return e.computed((()=>{const r={[t]:!0},l="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return l&&Array.isArray(l)&&l.forEach((e=>{e&&(r[`${t}--${e}`]=!0)})),n&&Object.keys(n.value).forEach((o=>{r[`${t}--${o}`]=e.unref(n.value[o])})),r}))}const m=e.defineComponent({name:"VvIcon",props:n,setup(o){const n=o,r=e.computed((()=>"string"==typeof n.rotate?parseFloat(n.rotate):n.rotate)),l=e.ref(!0),i=v(),{modifiers:a}=e.toRefs(n),u=p("vv-icon",a),s=e.computed((()=>n.provider||(null==i?void 0:i.iconsProvider))),c=e.computed((()=>{const e=n.name??"",o=`@${s.value}:${n.prefix}:${e}`;if(t.iconExists(o))return o;const r=null==i?void 0:i.iconsCollections.find((o=>{const n=`@${s.value}:${o.prefix}:${e}`;return t.iconExists(n)}));return r?`@${s.value}:${r.prefix}:${e}`:e}));function d(e){const o=function(e){let t;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");t=(new e).window}return(t?new t.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),r=(null==o?void 0:o.innerHTML.trim())||"";o&&r&&t.addIcon(`@${s.value}:${n.prefix}:${n.name}`,{body:r,height:o.viewBox.baseVal.height,width:o.viewBox.baseVal.width})}return i&&n.src&&!t.iconExists(`@${s.value}:${n.prefix}:${n.name}`)&&(l.value=!1,i.fetchIcon(n.src).then((e=>{e&&(d(e),l.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),n.svg&&d(n.svg),(o,n)=>e.unref(l)?(e.openBlock(),e.createBlock(e.unref(t.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:o.inline,width:o.width,height:o.height,horizontalFlip:o.horizontalFlip,verticalFlip:o.verticalFlip,flip:o.flip,rotate:e.unref(r),color:o.color,onLoad:o.onLoad,icon:e.unref(c)}),null,16,["class"])):e.createCommentVNode("",!0)}}),g={to:{type:[String,Object]},href:String,target:{type:String,validator:e=>Object.values(u).includes(e)},rel:{type:String,default:"noopener noreferrer"}},b={loading:Boolean,loadingLabel:{type:String,default:"Loading..."}},y={disabled:Boolean},h={active:Boolean},S={pressed:Boolean},k={label:[String,Number]},B={modifiers:[String,Array]};l.before;const $={unselectable:{type:Boolean,default:!0}},x={id:[String,Number]};r.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const w={...y,...k,...S,...h,...g,type:{type:String,default:i.button,validator:e=>Object.values(i).includes(e)},ariaLabel:{type:String,default:void 0}},A=w;const L=e.defineComponent({name:"VvAction",props:A,emits:["click","mouseover","mouseleave"],setup(t,{expose:o,emit:n}){const r=t,l=v(),i=e.ref(null);o({$el:i});const{reference:u,bus:s,aria:c,expanded:p}=e.inject(d,{});e.watch((()=>i.value),(e=>{u&&(u.value=e)}));const m=e.computed((()=>r.pressed||(null==p?void 0:p.value))),{role:g}=e.inject(f,{}),b=e.computed((()=>{switch(!0){case r.disabled:return a.button;case void 0!==r.to:return(null==l?void 0:l.nuxt)?a.nuxtLink:a.routerLink;case void 0!==r.href:return a.a;default:return a.button}})),y=e.computed((()=>{const e={...null==c?void 0:c.value,ariaPressed:!!m.value||void 0,ariaLabel:r.ariaLabel,role:null==g?void 0:g.value};switch(b.value){case a.a:return{...e,href:r.href,target:r.target,rel:r.rel};case a.routerLink:case a.nuxtLink:return{...e,to:r.to,target:r.target};default:return{...e,type:r.type,disabled:r.disabled}}})),h=e=>{r.disabled?e.preventDefault():(null==s||s.emit("click",e),n("click",e))},S=e=>{null==s||s.emit("mouseover",e),n("mouseover",e)},k=e=>{null==s||s.emit("mouseleave",e),n("mouseleave",e)};return(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(b)),e.mergeProps(e.unref(y),{ref_key:"element",ref:i,class:{active:t.active,pressed:e.unref(m),disabled:t.disabled},onClickPassive:h,onMouseoverPassive:S,onMouseleavePassive:k}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]))])),_:3},16,["class"]))}});function j(e,t,o){return o?_(e,o)===_(t,o):V(e,t)}function V(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){const o=Array.isArray(e),n=Array.isArray(t);let r,l,i;if(o&&n){if(l=e.length,l!=t.length)return!1;for(r=l;0!=r--;)if(!V(e[r],t[r]))return!1;return!0}if(o!=n)return!1;const a=e instanceof Date,u=t instanceof Date;if(a!=u)return!1;if(a&&u)return e.getTime()==t.getTime();const s=e instanceof RegExp,c=t instanceof RegExp;if(s!=c)return!1;if(s&&c)return e.toString()==t.toString();const d=Object.keys(e);if(l=d.length,l!==Object.keys(t).length)return!1;for(r=l;0!=r--;)if(!Object.prototype.hasOwnProperty.call(t,d[r]))return!1;for(r=l;0!=r--;)if(i=d[r],!V(e[i],t[i]))return!1;return!0}return e!=e&&t!=t}function _(e,t){if(e&&Object.keys(e).length&&t){if(-1===t.indexOf("."))return e[t];{const o=t.split(".");let n=e;for(let t=0,r=o.length;t<r;++t){if(null==e)return null;n=n[o[t]]}return n}}return null}function O(e,t){if(null!=e&&t&&t.length)for(const o of t)if(j(e,o))return!0;return!1}function P(t){const o=e.inject(t,void 0),n=e.computed((()=>{return t=o,!(null==(n=e.unref(t))||""===n||Array.isArray(n)&&0===n.length||!(n instanceof Date)&&"object"==typeof n&&0===Object.keys(n).length);var t,n}));return{group:o,isInGroup:n,getGroupOrLocalRef:function(t,n,r){if(null==o?void 0:o.value){const n=e.unref(o.value)[t];return e.computed({get:()=>null==n?void 0:n.value,set(e){n.value=e}})}const l=e.toRef(n,t);return e.computed({get:()=>l.value,set(e){r&&r(`update:${t}`,e)}})}}}const N={...w,...x,...B,...$,...b,icon:[String,Object],iconPosition:{type:String,default:r.left,validator:e=>Object.values(r).includes(e)},loadingIcon:{type:String,default:"eos-icons:bubble-loading"},toggle:{type:Boolean,default:!1},value:{type:[String,Number,Boolean],default:void 0},uncheckedValue:{type:[String,Number,Boolean],default:void 0},modelValue:{type:[String,Number,Boolean],default:void 0}};const C={key:1,class:"vv-button__label"},E={key:1,class:"vv-button__label"};return e.defineComponent({name:"VvButton",props:N,emits:["update:modelValue"],setup(t,{expose:n,emit:l}){const i=t,a=e.useAttrs(),u=e.useSlots(),{id:s,modifiers:d,iconPosition:f,icon:v,label:g,modelValue:b,disabled:y,toggle:h,unselectable:S}=function(t,o){const{group:n,isInGroup:r,getGroupOrLocalRef:l}=P(c),{id:i,iconPosition:a,icon:u,label:s,pressed:d}=e.toRefs(t),f=l("modelValue",t,o),v=l("toggle",t),p=l("unselectable",t),m=e.computed((()=>(null==n?void 0:n.value.multiple.value)??!1)),g=e.computed((()=>{let e=t.modifiers,o=null==n?void 0:n.value.modifiers.value;const r=new Set;return e&&(Array.isArray(e)||(e=e.split(" ")),e.forEach((e=>r.add(e)))),o&&(Array.isArray(o)||(o=o.split(" ")),o.forEach((e=>r.add(e)))),Array.from(r)})),b=e.computed((()=>{var e;return Boolean(t.disabled||(null==(e=null==n?void 0:n.value)?void 0:e.disabled.value))}));return{group:n,isInGroup:r,modelValue:f,toggle:v,unselectable:p,multiple:m,modifiers:g,disabled:b,id:i,pressed:d,iconPosition:a,icon:u,label:s}}(i,l),k=(t=>e.computed((()=>String((null==t?void 0:t.value)||o.nanoid()))))(s),B=e.computed((()=>(null==a?void 0:a.name)||k.value)),$=e.ref(null);n({$el:e.computed((()=>{var e;return null==(e=$.value)?void 0:e.$el}))});const x=e.computed((()=>h.value?Array.isArray(b.value)?O(B.value,b.value):j(B.value,b.value):i.pressed)),w=p("vv-button",d,e.computed((()=>({reverse:[r.right,r.bottom].includes(f.value),column:[r.top,r.bottom].includes(f.value),"icon-only":Boolean((null==v?void 0:v.value)&&!(null==g?void 0:g.value)&&!u.default)})))),A=e.computed((()=>"string"==typeof(null==v?void 0:v.value)?{name:null==v?void 0:v.value}:null==v?void 0:v.value)),V=e.computed((()=>void 0!==i.value?i.value:B.value)),_=()=>{if(h.value){if(Array.isArray(b.value))return O(V.value,b.value)?void(S.value&&(b.value=b.value.filter((e=>e!==V.value)))):void b.value.push(V.value);if(V.value===b.value&&S.value)return void(b.value=i.uncheckedValue);b.value=V.value}};return(t,o)=>(e.openBlock(),e.createBlock(L,e.mergeProps({disabled:e.unref(y),pressed:e.unref(x),active:t.active,type:t.type,to:t.to,href:t.href,target:t.target,rel:t.rel,ariaLabel:t.ariaLabel},{id:e.unref(k),ref_key:"element",ref:$,class:e.unref(w),onClick:_}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[t.loading?e.renderSlot(t.$slots,"loading",{key:0},(()=>[t.loadingIcon?(e.openBlock(),e.createBlock(m,{key:0,class:"vv-button__loading-icon",name:t.loadingIcon},null,8,["name"])):e.createCommentVNode("",!0),t.loadingLabel?(e.openBlock(),e.createElementBlock("span",C,e.toDisplayString(t.loadingLabel),1)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(t.$slots,"before"),e.unref(v)?(e.openBlock(),e.createBlock(m,e.mergeProps({key:0,class:"vv-button__icon"},e.unref(A)),null,16)):e.createCommentVNode("",!0),e.unref(g)?(e.openBlock(),e.createElementBlock("span",E,[e.renderSlot(t.$slots,"label",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(g)),1)]))])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"after")],64))]))])),_:3},16,["id","class"]))}})}));
@@ -42,6 +42,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
42
42
  default: import("../../constants").ButtonType;
43
43
  validator: (value: import("../../constants").ButtonType) => boolean;
44
44
  };
45
+ ariaLabel: {
46
+ type: StringConstructor;
47
+ default: undefined;
48
+ };
45
49
  to: {
46
50
  type: (ObjectConstructor | StringConstructor)[];
47
51
  };
@@ -103,6 +107,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
103
107
  default: import("../../constants").ButtonType;
104
108
  validator: (value: import("../../constants").ButtonType) => boolean;
105
109
  };
110
+ ariaLabel: {
111
+ type: StringConstructor;
112
+ default: undefined;
113
+ };
106
114
  to: {
107
115
  type: (ObjectConstructor | StringConstructor)[];
108
116
  };
@@ -127,6 +135,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
127
135
  modelValue: string | number | boolean;
128
136
  type: "button" | "submit" | "reset";
129
137
  unselectable: boolean;
138
+ ariaLabel: string;
130
139
  rel: string;
131
140
  active: boolean;
132
141
  pressed: boolean;
@@ -66,6 +66,10 @@ export declare const VvButtonProps: {
66
66
  default: import("../../constants").ButtonType;
67
67
  validator: (value: import("../../constants").ButtonType) => boolean;
68
68
  };
69
+ ariaLabel: {
70
+ type: StringConstructor;
71
+ default: undefined;
72
+ };
69
73
  to: {
70
74
  type: (ObjectConstructor | StringConstructor)[];
71
75
  };
@@ -223,6 +223,13 @@ const UnselectableProps = {
223
223
  type: String,
224
224
  default: ButtonType.button,
225
225
  validator: (value) => Object.values(ButtonType).includes(value)
226
+ },
227
+ /**
228
+ * Button aria-label
229
+ */
230
+ ariaLabel: {
231
+ type: String,
232
+ default: void 0
226
233
  }
227
234
  });
228
235
  const VvButtonGroupProps = {
@@ -216,6 +216,13 @@ const ModifiersProps = {
216
216
  type: String,
217
217
  default: ButtonType.button,
218
218
  validator: (value) => Object.values(ButtonType).includes(value)
219
+ },
220
+ /**
221
+ * Button aria-label
222
+ */
223
+ ariaLabel: {
224
+ type: String,
225
+ default: void 0
219
226
  }
220
227
  });
221
228
  const VvCardProps = {
@@ -304,6 +304,13 @@ const CheckboxRadioProps = {
304
304
  type: String,
305
305
  default: ButtonType.button,
306
306
  validator: (value) => Object.values(ButtonType).includes(value)
307
+ },
308
+ /**
309
+ * Button aria-label
310
+ */
311
+ ariaLabel: {
312
+ type: String,
313
+ default: void 0
307
314
  }
308
315
  });
309
316
  function equals(obj1, obj2, field) {
@@ -545,6 +545,13 @@ const CheckboxRadioGroupProps = {
545
545
  type: String,
546
546
  default: ButtonType.button,
547
547
  validator: (value) => Object.values(ButtonType).includes(value)
548
+ },
549
+ /**
550
+ * Button aria-label
551
+ */
552
+ ariaLabel: {
553
+ type: String,
554
+ default: void 0
548
555
  }
549
556
  });
550
557
  function useInjectedGroupState(groupKey) {
@@ -374,6 +374,13 @@ const ActionProps = {
374
374
  type: String,
375
375
  default: ButtonType.button,
376
376
  validator: (value) => Object.values(ButtonType).includes(value)
377
+ },
378
+ /**
379
+ * Button aria-label
380
+ */
381
+ ariaLabel: {
382
+ type: String,
383
+ default: void 0
377
384
  }
378
385
  };
379
386
  const VvComboboxEvents = [
@@ -726,13 +733,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
726
733
  const VvDropdownProps = {
727
734
  ...IdProps,
728
735
  ...DropdownProps,
729
- /**
730
- * Component BEM modifiers
731
- */
732
- modifiers: {
733
- type: [String, Array],
734
- default: "mobile"
735
- },
736
+ ...ModifiersProps,
736
737
  /**
737
738
  * Show / hide dropdown programmatically
738
739
  */
@@ -928,7 +929,11 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
928
929
  referenceEl,
929
930
  floatingEl,
930
931
  {
931
- whileElementsMounted: autoUpdate,
932
+ whileElementsMounted: (...args) => {
933
+ return autoUpdate(...args, {
934
+ animationFrame: props.strategy === "fixed"
935
+ });
936
+ },
932
937
  placement: computed(() => props.placement),
933
938
  strategy: computed(() => props.strategy),
934
939
  middleware
@@ -1971,7 +1976,8 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
1971
1976
  const hasProps = computed(() => {
1972
1977
  const toReturn = {
1973
1978
  ...dropdownAria == null ? void 0 : dropdownAria.value,
1974
- "aria-pressed": pressed.value ? true : void 0,
1979
+ ariaPressed: pressed.value ? true : void 0,
1980
+ ariaLabel: props.ariaLabel,
1975
1981
  role: role == null ? void 0 : role.value
1976
1982
  };
1977
1983
  switch (hasTag.value) {
@@ -2270,7 +2276,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
2270
2276
  to: _ctx.to,
2271
2277
  href: _ctx.href,
2272
2278
  target: _ctx.target,
2273
- rel: _ctx.rel
2279
+ rel: _ctx.rel,
2280
+ ariaLabel: _ctx.ariaLabel
2274
2281
  }, {
2275
2282
  id: unref(hasId),
2276
2283
  ref_key: "element",