@volverjs/ui-vue 0.0.10-beta.7 → 0.0.10-beta.9

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 (112) hide show
  1. package/bin/icons.cjs +1 -1
  2. package/bin/icons.js +22 -15
  3. package/dist/Volver.d.ts +0 -1
  4. package/dist/components/VvAccordion/VvAccordion.es.js +24 -2
  5. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  6. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +66 -25
  7. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  8. package/dist/components/VvAction/VvAction.es.js +17 -3
  9. package/dist/components/VvAction/VvAction.umd.js +1 -1
  10. package/dist/components/VvAction/VvAction.vue.d.ts +10 -0
  11. package/dist/components/VvAction/index.d.ts +4 -0
  12. package/dist/components/VvAlert/VvAlert.es.js +87 -43
  13. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  14. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +127 -64
  15. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  16. package/dist/components/VvAvatar/VvAvatar.es.js +15 -1
  17. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  18. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +70 -26
  19. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  20. package/dist/components/VvBadge/VvBadge.es.js +32 -8
  21. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  22. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +217 -41
  23. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  24. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +14 -3
  25. package/dist/components/VvBreadcrumb/index.d.ts +2 -9
  26. package/dist/components/VvButton/VvButton.es.js +56 -19
  27. package/dist/components/VvButton/VvButton.umd.js +1 -1
  28. package/dist/components/VvButton/VvButton.vue.d.ts +20 -13
  29. package/dist/components/VvButton/index.d.ts +6 -2
  30. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +26 -6
  31. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  32. package/dist/components/VvCard/VvCard.es.js +40 -16
  33. package/dist/components/VvCard/VvCard.umd.js +1 -1
  34. package/dist/components/VvCheckbox/VvCheckbox.es.js +23 -2
  35. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  36. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +92 -44
  37. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  38. package/dist/components/VvCheckboxGroup/index.d.ts +1 -1
  39. package/dist/components/VvCombobox/VvCombobox.es.js +598 -370
  40. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  41. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +3 -3
  42. package/dist/components/VvCombobox/index.d.ts +3 -10
  43. package/dist/components/VvDialog/VvDialog.es.js +58 -27
  44. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  45. package/dist/components/VvDropdown/VvDropdown.es.js +78 -44
  46. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  47. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +3 -3
  48. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +9 -0
  49. package/dist/components/VvDropdown/index.d.ts +1 -1
  50. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +37 -11
  51. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  52. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +13 -7
  53. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +21 -1
  54. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  55. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +33 -8
  56. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  57. package/dist/components/VvIcon/VvIcon.es.js +1 -1
  58. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  59. package/dist/components/VvInputText/VvInputText.es.js +140 -97
  60. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  61. package/dist/components/VvInputText/index.d.ts +8 -2
  62. package/dist/components/VvNav/VvNav.es.js +61 -28
  63. package/dist/components/VvNav/VvNav.umd.js +1 -1
  64. package/dist/components/VvNav/VvNav.vue.d.ts +3 -3
  65. package/dist/components/VvNav/index.d.ts +1 -1
  66. package/dist/components/VvNavItem/VvNavItem.es.js +30 -9
  67. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  68. package/dist/components/VvProgress/VvProgress.es.js +26 -6
  69. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  70. package/dist/components/VvRadio/VvRadio.es.js +23 -2
  71. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  72. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +92 -44
  73. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  74. package/dist/components/VvRadioGroup/index.d.ts +1 -1
  75. package/dist/components/VvSelect/VvSelect.es.js +147 -94
  76. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  77. package/dist/components/VvSelect/index.d.ts +1 -1
  78. package/dist/components/VvTab/VvTab.es.js +109 -46
  79. package/dist/components/VvTab/VvTab.umd.js +1 -1
  80. package/dist/components/VvTextarea/VvTextarea.es.js +113 -74
  81. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  82. package/dist/components/VvTooltip/VvTooltip.es.js +33 -9
  83. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  84. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +3 -3
  85. package/dist/components/VvTooltip/index.d.ts +1 -1
  86. package/dist/components/index.es.js +1369 -839
  87. package/dist/components/index.umd.js +1 -1
  88. package/dist/composables/useVolver.d.ts +1 -1
  89. package/dist/directives/index.d.ts +3 -5
  90. package/dist/directives/index.es.js +53 -23
  91. package/dist/directives/index.umd.js +1 -1
  92. package/dist/directives/v-tooltip.es.js +51 -18
  93. package/dist/directives/v-tooltip.umd.js +1 -1
  94. package/dist/icons.es.js +3 -3
  95. package/dist/icons.umd.js +1 -1
  96. package/dist/index.d.ts +3 -1
  97. package/dist/props/index.d.ts +9 -2
  98. package/dist/types/generic.d.ts +1 -1
  99. package/package.json +31 -31
  100. package/src/Volver.ts +0 -1
  101. package/src/assets/icons/detailed.json +1 -1
  102. package/src/assets/icons/normal.json +1 -1
  103. package/src/assets/icons/simple.json +1 -1
  104. package/src/components/VvAction/VvAction.vue +4 -2
  105. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +20 -19
  106. package/src/components/VvBreadcrumb/index.ts +2 -8
  107. package/src/components/VvInputText/VvInputText.vue +2 -2
  108. package/src/directives/index.ts +1 -4
  109. package/src/directives/v-tooltip.ts +19 -10
  110. package/src/index.ts +3 -1
  111. package/src/props/index.ts +8 -0
  112. package/src/types/generic.ts +2 -1
package/bin/icons.cjs CHANGED
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("fs"),require("yargs"),require("yargs/helpers"),require("@iconify/tools"),require("path"),require("@iconify/utils"),require("chokidar")):"function"==typeof define&&define.amd?define(["exports","fs","yargs","yargs/helpers","@iconify/tools","path","@iconify/utils","chokidar"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self)["generate-icons"]={},e.fileSystem,e.yargs,e.helpers,e.tools,e.path,e.utils,e.chokidar)}(this,(function(e,o,r,i,t,n,s,c){"use strict";function a(e,r="iconify",i={}){return o.readdirSync(e).forEach((function(t){o.statSync(e+"/"+t).isDirectory()?i=a(e+"/"+t,t,i):t.includes(".svg")&&(i[r]?i[r].push(n.join(e,"/",t)):i[r]=[n.join(e,"/",t)])})),i}function l(e,r,i){const c=a(e,i);Object.keys(c).length?Object.keys(c).forEach((e=>{!async function(e,r,i){const c=t.blankIconSet(e);for(const n of r){const e=await o.promises.readFile(n,{encoding:"utf-8"}),r=new t.SVG(e);await t.cleanupSVG(r),await t.parseColors(r,{defaultColor:"currentColor",callback:(e,o,r)=>!r||t.isEmptyColor(r)?o:"currentColor"}),await t.runSVGO(r);const i=n.replace(/^.*[\\/]/,"").split(".")[0].replace(/ /g,"-").replace(/[^a-z0-9-]/gi,"");c.fromSVG(i,r)}const a=c.export();try{s.validateIconSet(a)}catch(f){throw new Error(`Icon set is not valid: ${null==f?void 0:f.message}`)}const l=`${i}/${a.prefix}.json`;o.mkdirSync(n.dirname(l),{recursive:!0}),o.writeFileSync(l,JSON.stringify(a))}(e,c[e],r),console.info(`Icons generated in: ${r}/${e}.json\n`)})):console.error(`There are no files in ${e}`)}const f=r(i.hideBin(process.argv)).argv,d=f.srcPath,u=f.destPath||d;d&&u||(console.error("Please specify the srcPath and destPath with --srcPath and --destPath"),process.exit()),f.watch?c.watch(d).on("add",(()=>{l(d,u,f.prefix)})).on("change",(()=>{l(d,u,f.prefix)})):l(d,u,f.prefix),e.createIconifyJsonFiles=l,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
1
+ !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("fs"),require("yargs"),require("yargs/helpers"),require("@iconify/tools"),require("path"),require("@iconify/utils"),require("chokidar")):"function"==typeof define&&define.amd?define(["exports","fs","yargs","yargs/helpers","@iconify/tools","path","@iconify/utils","chokidar"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self)["generate-icons"]={},e.fileSystem,e.yargs,e.helpers,e.tools,e.path,e.utils,e.chokidar)}(this,(function(e,r,o,i,t,n,s,c){"use strict";function a(e,o="iconify",i={}){return r.readdirSync(e).forEach((function(t){r.statSync(e+"/"+t).isDirectory()?i=a(e+"/"+t,t,i):t.includes(".svg")&&(i[o]?i[o].push(n.join(e,"/",t)):i[o]=[n.join(e,"/",t)])})),i}function l(e,o,i){const c=a(e,i);Object.keys(c).length?Object.keys(c).forEach((e=>{!async function(e,o,i){const c=t.blankIconSet(e);for(const n of o)try{const e=await r.promises.readFile(n,{encoding:"utf-8"}),o=new t.SVG(e);await t.cleanupSVG(o),await t.parseColors(o,{defaultColor:"currentColor",callback:(e,r,o)=>!o||t.isEmptyColor(o)?r:"currentColor"}),await t.runSVGO(o);const i=n.replace(/^.*[\\/]/,"").split(".")[0].replace(/ /g,"-").replace(/[^a-z0-9-]/gi,"");c.fromSVG(i,o)}catch(f){console.error(f)}const a=c.export();try{s.validateIconSet(a)}catch(f){throw new Error(`Icon set is not valid: ${null==f?void 0:f.message}`)}const l=`${i}/${a.prefix}.json`;r.mkdirSync(n.dirname(l),{recursive:!0}),r.writeFileSync(l,JSON.stringify(a))}(e,c[e],o),console.info(`Icons generated in: ${o}/${e}.json\n`)})):console.error(`There are no files in ${e}`)}const f=o(i.hideBin(process.argv)).argv,d=f.srcPath,u=f.destPath||d;d&&u||(console.error("Please specify the srcPath and destPath with --srcPath and --destPath"),process.exit()),f.watch?(l(d,u,f.prefix),c.watch(d,{ignoreInitial:!0}).on("add",(()=>{l(d,u,f.prefix)})).on("change",(()=>{l(d,u,f.prefix)}))):l(d,u,f.prefix),e.createIconifyJsonFiles=l,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
package/bin/icons.js CHANGED
@@ -21,20 +21,24 @@ function getAllFiles(dirPath, prefix = "iconify", objectFiles = {}) {
21
21
  async function generateIcons(prefix, files, destPath2) {
22
22
  const iconSet = blankIconSet(prefix);
23
23
  for (const file of files) {
24
- const content = await fileSystem.promises.readFile(file, {
25
- encoding: "utf-8"
26
- });
27
- const svg = new SVG(content);
28
- await cleanupSVG(svg);
29
- await parseColors(svg, {
30
- defaultColor: "currentColor",
31
- callback: (attr, colorStr, color) => {
32
- return !color || isEmptyColor(color) ? colorStr : "currentColor";
33
- }
34
- });
35
- await runSVGO(svg);
36
- const fileName = file.replace(/^.*[\\/]/, "").split(".")[0].replace(/ /g, "-").replace(/[^a-z0-9-]/gi, "");
37
- iconSet.fromSVG(fileName, svg);
24
+ try {
25
+ const content = await fileSystem.promises.readFile(file, {
26
+ encoding: "utf-8"
27
+ });
28
+ const svg = new SVG(content);
29
+ await cleanupSVG(svg);
30
+ await parseColors(svg, {
31
+ defaultColor: "currentColor",
32
+ callback: (attr, colorStr, color) => {
33
+ return !color || isEmptyColor(color) ? colorStr : "currentColor";
34
+ }
35
+ });
36
+ await runSVGO(svg);
37
+ const fileName = file.replace(/^.*[\\/]/, "").split(".")[0].replace(/ /g, "-").replace(/[^a-z0-9-]/gi, "");
38
+ iconSet.fromSVG(fileName, svg);
39
+ } catch (error) {
40
+ console.error(error);
41
+ }
38
42
  }
39
43
  const iconifyJson = iconSet.export();
40
44
  try {
@@ -70,7 +74,10 @@ if (!srcPath || !destPath) {
70
74
  process.exit();
71
75
  }
72
76
  if (argv.watch) {
73
- chokidar.watch(srcPath).on("add", () => {
77
+ createIconifyJsonFiles(srcPath, destPath, argv.prefix);
78
+ chokidar.watch(srcPath, {
79
+ ignoreInitial: true
80
+ }).on("add", () => {
74
81
  createIconifyJsonFiles(srcPath, destPath, argv.prefix);
75
82
  }).on("change", () => {
76
83
  createIconifyJsonFiles(srcPath, destPath, argv.prefix);
package/dist/Volver.d.ts CHANGED
@@ -107,4 +107,3 @@ export declare class Volver implements VolverInterface {
107
107
  }
108
108
  declare const VolverPlugin: Plugin;
109
109
  export default VolverPlugin;
110
- export * from './types';
@@ -35,6 +35,13 @@ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
35
35
  ButtonType2["reset"] = "reset";
36
36
  return ButtonType2;
37
37
  })(ButtonType || {});
38
+ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
39
+ ActionTag2["nuxtLink"] = "nuxt-link";
40
+ ActionTag2["routerLink"] = "router-link";
41
+ ActionTag2["a"] = "a";
42
+ ActionTag2["button"] = "button";
43
+ return ActionTag2;
44
+ })(ActionTag || {});
38
45
  var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
39
46
  AnchorTarget2["_blank"] = "_blank";
40
47
  AnchorTarget2["_self"] = "_self";
@@ -234,6 +241,13 @@ const ModifiersProps = {
234
241
  ariaLabel: {
235
242
  type: String,
236
243
  default: void 0
244
+ },
245
+ /**
246
+ * Default tag for the action
247
+ */
248
+ defaultTag: {
249
+ type: String,
250
+ default: ActionTag.button
237
251
  }
238
252
  });
239
253
  function isEmpty(value) {
@@ -458,7 +472,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
458
472
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => unref(onClick)(), ["prevent"]))
459
473
  }, [
460
474
  renderSlot(_ctx.$slots, "summary", normalizeProps(guardReactiveProps({ open: unref(isOpen) })), () => [
461
- createTextVNode(toDisplayString(unref(title)), 1)
475
+ createTextVNode(
476
+ toDisplayString(unref(title)),
477
+ 1
478
+ /* TEXT */
479
+ )
462
480
  ])
463
481
  ], 8, _hoisted_2),
464
482
  createElementVNode("div", {
@@ -466,7 +484,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
466
484
  class: "vv-accordion__content"
467
485
  }, [
468
486
  renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ open: unref(isOpen) })), () => [
469
- createTextVNode(toDisplayString(unref(content)), 1)
487
+ createTextVNode(
488
+ toDisplayString(unref(content)),
489
+ 1
490
+ /* TEXT */
491
+ )
470
492
  ])
471
493
  ], 8, _hoisted_3)
472
494
  ], 10, _hoisted_1);
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("uid"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","uid","@vueuse/core"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvAccordion=o(e.vue,e.uid,e.core)}(this,(function(e,o,t){"use strict";var r=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(r||{}),n=(e=>(e.before="before",e.after="after",e))(n||{}),a=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(a||{});const l=Symbol.for("accordionGroup"),u=(Boolean,Boolean,Boolean,Boolean,{modifiers:[String,Array]});function i(o){const t=e.inject(o,void 0),r=e.computed((()=>{return o=t,!(null==(r=e.unref(o))||""===r||Array.isArray(r)&&0===r.length||!(r instanceof Date)&&"object"==typeof r&&0===Object.keys(r).length);var o,r}));return{group:t,isInGroup:r,getGroupOrLocalRef:function(o,r,n){if(null==t?void 0:t.value){const r=e.unref(t.value)[o];return e.computed({get:()=>null==r?void 0:r.value,set(e){r.value=e}})}const a=e.toRef(r,o);return e.computed({get:()=>a.value,set(e){n&&n(`update:${o}`,e)}})}}}n.before,r.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,a.button;const d={...u,name:String,title:String,content:String,modelValue:{type:Boolean,default:void 0},disabled:Boolean,not:Boolean};const s=["id","open"],c=["aria-controls","aria-expanded"],v=["aria-hidden"];return e.defineComponent({name:"VvAccordion",props:d,emits:["update:modelValue"],setup(r,{emit:n}){const a=r,u=e.useAttrs(),d=e.computed((()=>a.name||(null==u?void 0:u.id)||o.uid())),{modifiers:f,title:p,content:m,disabled:y,collapse:b,modelValue:g,isInGroup:B,not:A}=function(o,t){const{group:r,isInGroup:n,getGroupOrLocalRef:a}=i(l),{title:u,content:d}=e.toRefs(o),s=a("modelValue",o,t),c=a("not",o),v=a("collapse",o),f=e.computed((()=>{var e;return Boolean(o.disabled||(null==(e=null==r?void 0:r.value)?void 0:e.disabled.value))})),p=e.computed((()=>{let e=o.modifiers,t=null==r?void 0:r.value.modifiers.value;const n=new Set;return e&&(Array.isArray(e)||(e=e.split(" ")),e.forEach((e=>n.add(e)))),t&&(Array.isArray(t)||(t=t.split(" ")),t.forEach((e=>n.add(e)))),Array.from(n)}));return{modelValue:s,not:c,isInGroup:n,group:r,collapse:v,modifiers:p,disabled:f,title:u,content:d}}(a,n),h=e.ref(!1),V=e.computed({get:()=>{let e=g.value;return B.value?e=b.value&&Array.isArray(g.value)?g.value.includes(d.value):g.value===d.value:void 0===g.value&&(e=h.value),A.value?!e:e},set:e=>{if(A.value&&(e=!e),B.value)return b.value&&Array.isArray(g.value)?e?void g.value.push(d.value):void(g.value=g.value.filter((e=>e!==d.value))):void(g.value=e?d.value:null);void 0!==g.value||"boolean"!=typeof e?g.value=e:h.value=e}}),S=function(o,t,r){return e.computed((()=>{const n={[o]:!0},a="string"==typeof(null==t?void 0:t.value)?t.value.split(" "):null==t?void 0:t.value;return a&&Array.isArray(a)&&a.forEach((e=>{e&&(n[`${o}--${e}`]=!0)})),r&&Object.keys(r.value).forEach((t=>{n[`${o}--${t}`]=e.unref(r.value[t])})),n}))}("vv-accordion",f,e.computed((()=>({disabled:y.value})))),E=t.useToggle(V);return(o,t)=>(e.openBlock(),e.createElementBlock("details",{id:e.unref(d),class:e.normalizeClass(e.unref(S)),open:e.unref(V)},[e.createElementVNode("summary",{"aria-controls":e.unref(d),"aria-expanded":e.unref(V),class:"vv-accordion__summary",onClick:t[0]||(t[0]=e.withModifiers((o=>e.unref(E)()),["prevent"]))},[e.renderSlot(o.$slots,"summary",e.normalizeProps(e.guardReactiveProps({open:e.unref(V)})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(p)),1)]))],8,c),e.createElementVNode("div",{"aria-hidden":!e.unref(V),class:"vv-accordion__content"},[e.renderSlot(o.$slots,"default",e.normalizeProps(e.guardReactiveProps({open:e.unref(V)})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(m)),1)]))],8,v)],10,s))}})}));
1
+ !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("uid"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","uid","@vueuse/core"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvAccordion=o(e.vue,e.uid,e.core)}(this,(function(e,o,t){"use strict";var r=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(r||{}),n=(e=>(e.before="before",e.after="after",e))(n||{}),u=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(u||{}),a=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(a||{});const l=Symbol.for("accordionGroup"),i=(Boolean,Boolean,Boolean,Boolean,{modifiers:[String,Array]});function d(o){const t=e.inject(o,void 0),r=e.computed((()=>{return o=t,!(null==(r=e.unref(o))||""===r||Array.isArray(r)&&0===r.length||!(r instanceof Date)&&"object"==typeof r&&0===Object.keys(r).length);var o,r}));return{group:t,isInGroup:r,getGroupOrLocalRef:function(o,r,n){if(null==t?void 0:t.value){const r=e.unref(t.value)[o];return e.computed({get:()=>null==r?void 0:r.value,set(e){r.value=e}})}const u=e.toRef(r,o);return e.computed({get:()=>u.value,set(e){n&&n(`update:${o}`,e)}})}}}n.before,r.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,u.button,a.button;const s={...i,name:String,title:String,content:String,modelValue:{type:Boolean,default:void 0},disabled:Boolean,not:Boolean};const c=["id","open"],v=["aria-controls","aria-expanded"],f=["aria-hidden"];return e.defineComponent({name:"VvAccordion",props:s,emits:["update:modelValue"],setup(r,{emit:n}){const u=r,a=e.useAttrs(),i=e.computed((()=>u.name||(null==a?void 0:a.id)||o.uid())),{modifiers:s,title:p,content:m,disabled:y,collapse:b,modelValue:g,isInGroup:B,not:A}=function(o,t){const{group:r,isInGroup:n,getGroupOrLocalRef:u}=d(l),{title:a,content:i}=e.toRefs(o),s=u("modelValue",o,t),c=u("not",o),v=u("collapse",o),f=e.computed((()=>{var e;return Boolean(o.disabled||(null==(e=null==r?void 0:r.value)?void 0:e.disabled.value))})),p=e.computed((()=>{let e=o.modifiers,t=null==r?void 0:r.value.modifiers.value;const n=new Set;return e&&(Array.isArray(e)||(e=e.split(" ")),e.forEach((e=>n.add(e)))),t&&(Array.isArray(t)||(t=t.split(" ")),t.forEach((e=>n.add(e)))),Array.from(n)}));return{modelValue:s,not:c,isInGroup:n,group:r,collapse:v,modifiers:p,disabled:f,title:a,content:i}}(u,n),h=e.ref(!1),V=e.computed({get:()=>{let e=g.value;return B.value?e=b.value&&Array.isArray(g.value)?g.value.includes(i.value):g.value===i.value:void 0===g.value&&(e=h.value),A.value?!e:e},set:e=>{if(A.value&&(e=!e),B.value)return b.value&&Array.isArray(g.value)?e?void g.value.push(i.value):void(g.value=g.value.filter((e=>e!==i.value))):void(g.value=e?i.value:null);void 0!==g.value||"boolean"!=typeof e?g.value=e:h.value=e}}),S=function(o,t,r){return e.computed((()=>{const n={[o]:!0},u="string"==typeof(null==t?void 0:t.value)?t.value.split(" "):null==t?void 0:t.value;return u&&Array.isArray(u)&&u.forEach((e=>{e&&(n[`${o}--${e}`]=!0)})),r&&Object.keys(r.value).forEach((t=>{n[`${o}--${t}`]=e.unref(r.value[t])})),n}))}("vv-accordion",s,e.computed((()=>({disabled:y.value})))),k=t.useToggle(V);return(o,t)=>(e.openBlock(),e.createElementBlock("details",{id:e.unref(i),class:e.normalizeClass(e.unref(S)),open:e.unref(V)},[e.createElementVNode("summary",{"aria-controls":e.unref(i),"aria-expanded":e.unref(V),class:"vv-accordion__summary",onClick:t[0]||(t[0]=e.withModifiers((o=>e.unref(k)()),["prevent"]))},[e.renderSlot(o.$slots,"summary",e.normalizeProps(e.guardReactiveProps({open:e.unref(V)})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(p)),1)]))],8,v),e.createElementVNode("div",{"aria-hidden":!e.unref(V),class:"vv-accordion__content"},[e.renderSlot(o.$slots,"default",e.normalizeProps(e.guardReactiveProps({open:e.unref(V)})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(m)),1)]))],8,f)],10,c))}})}));
@@ -35,6 +35,13 @@ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
35
35
  ButtonType2["reset"] = "reset";
36
36
  return ButtonType2;
37
37
  })(ButtonType || {});
38
+ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
39
+ ActionTag2["nuxtLink"] = "nuxt-link";
40
+ ActionTag2["routerLink"] = "router-link";
41
+ ActionTag2["a"] = "a";
42
+ ActionTag2["button"] = "button";
43
+ return ActionTag2;
44
+ })(ActionTag || {});
38
45
  var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
39
46
  AnchorTarget2["_blank"] = "_blank";
40
47
  AnchorTarget2["_self"] = "_self";
@@ -234,6 +241,13 @@ const ModifiersProps = {
234
241
  ariaLabel: {
235
242
  type: String,
236
243
  default: void 0
244
+ },
245
+ /**
246
+ * Default tag for the action
247
+ */
248
+ defaultTag: {
249
+ type: String,
250
+ default: ActionTag.button
237
251
  }
238
252
  });
239
253
  function isEmpty(value) {
@@ -458,7 +472,11 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
458
472
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => unref(onClick)(), ["prevent"]))
459
473
  }, [
460
474
  renderSlot(_ctx.$slots, "summary", normalizeProps(guardReactiveProps({ open: unref(isOpen) })), () => [
461
- createTextVNode(toDisplayString(unref(title)), 1)
475
+ createTextVNode(
476
+ toDisplayString(unref(title)),
477
+ 1
478
+ /* TEXT */
479
+ )
462
480
  ])
463
481
  ], 8, _hoisted_2),
464
482
  createElementVNode("div", {
@@ -466,7 +484,11 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
466
484
  class: "vv-accordion__content"
467
485
  }, [
468
486
  renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ open: unref(isOpen) })), () => [
469
- createTextVNode(toDisplayString(unref(content)), 1)
487
+ createTextVNode(
488
+ toDisplayString(unref(content)),
489
+ 1
490
+ /* TEXT */
491
+ )
470
492
  ])
471
493
  ], 8, _hoisted_3)
472
494
  ], 10, _hoisted_1);
@@ -588,29 +610,48 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
588
610
  }))
589
611
  );
590
612
  return (_ctx, _cache) => {
591
- return openBlock(), createElementBlock("div", {
592
- class: normalizeClass(unref(bemCssClasses))
593
- }, [
594
- renderSlot(_ctx.$slots, "default", {}, () => [
595
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(items), (item) => {
596
- return openBlock(), createBlock(_sfc_main$1, mergeProps({
597
- key: item.title
598
- }, {
599
- name: item.name,
600
- title: item.title,
601
- content: item.content
602
- }), {
603
- header: withCtx((data) => [
604
- renderSlot(_ctx.$slots, `header::${item.name}`, normalizeProps(guardReactiveProps(data)))
605
- ]),
606
- details: withCtx((data) => [
607
- renderSlot(_ctx.$slots, `details::${item.name}`, normalizeProps(guardReactiveProps(data)))
608
- ]),
609
- _: 2
610
- }, 1040);
611
- }), 128))
612
- ])
613
- ], 2);
613
+ return openBlock(), createElementBlock(
614
+ "div",
615
+ {
616
+ class: normalizeClass(unref(bemCssClasses))
617
+ },
618
+ [
619
+ renderSlot(_ctx.$slots, "default", {}, () => [
620
+ (openBlock(true), createElementBlock(
621
+ Fragment,
622
+ null,
623
+ renderList(unref(items), (item) => {
624
+ return openBlock(), createBlock(
625
+ _sfc_main$1,
626
+ mergeProps({
627
+ key: item.title
628
+ }, {
629
+ name: item.name,
630
+ title: item.title,
631
+ content: item.content
632
+ }),
633
+ {
634
+ header: withCtx((data) => [
635
+ renderSlot(_ctx.$slots, `header::${item.name}`, normalizeProps(guardReactiveProps(data)))
636
+ ]),
637
+ details: withCtx((data) => [
638
+ renderSlot(_ctx.$slots, `details::${item.name}`, normalizeProps(guardReactiveProps(data)))
639
+ ]),
640
+ _: 2
641
+ /* DYNAMIC */
642
+ },
643
+ 1040
644
+ /* FULL_PROPS, DYNAMIC_SLOTS */
645
+ );
646
+ }),
647
+ 128
648
+ /* KEYED_FRAGMENT */
649
+ ))
650
+ ])
651
+ ],
652
+ 2
653
+ /* CLASS */
654
+ );
614
655
  };
615
656
  }
616
657
  });
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("uid"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","uid","@vueuse/core"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvAccordionGroup=o(e.vue,e.uid,e.core)}(this,(function(e,o,r){"use strict";var t=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(t||{}),l=(e=>(e.before="before",e.after="after",e))(l||{}),a=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(a||{});const n=Symbol.for("accordionGroup"),u=(Boolean,Boolean,Boolean,Boolean,{modifiers:[String,Array]});function i(o){const r=e.inject(o,void 0),t=e.computed((()=>{return o=r,!(null==(t=e.unref(o))||""===t||Array.isArray(t)&&0===t.length||!(t instanceof Date)&&"object"==typeof t&&0===Object.keys(t).length);var o,t}));return{group:r,isInGroup:t,getGroupOrLocalRef:function(o,t,l){if(null==r?void 0:r.value){const t=e.unref(r.value)[o];return e.computed({get:()=>null==t?void 0:t.value,set(e){t.value=e}})}const a=e.toRef(t,o);return e.computed({get:()=>a.value,set(e){l&&l(`update:${o}`,e)}})}}}l.before,t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,a.button;const d={...u,name:String,title:String,content:String,modelValue:{type:Boolean,default:void 0},disabled:Boolean,not:Boolean};function s(o,r,t){return e.computed((()=>{const l={[o]:!0},a="string"==typeof(null==r?void 0:r.value)?r.value.split(" "):null==r?void 0:r.value;return a&&Array.isArray(a)&&a.forEach((e=>{e&&(l[`${o}--${e}`]=!0)})),t&&Object.keys(t.value).forEach((r=>{l[`${o}--${r}`]=e.unref(t.value[r])})),l}))}const c=["id","open"],v=["aria-controls","aria-expanded"],p=["aria-hidden"],m=e.defineComponent({name:"VvAccordion",props:d,emits:["update:modelValue"],setup(t,{emit:l}){const a=t,u=e.useAttrs(),d=e.computed((()=>a.name||(null==u?void 0:u.id)||o.uid())),{modifiers:m,title:f,content:y,disabled:g,collapse:b,modelValue:A,isInGroup:B,not:V}=function(o,r){const{group:t,isInGroup:l,getGroupOrLocalRef:a}=i(n),{title:u,content:d}=e.toRefs(o),s=a("modelValue",o,r),c=a("not",o),v=a("collapse",o),p=e.computed((()=>{var e;return Boolean(o.disabled||(null==(e=null==t?void 0:t.value)?void 0:e.disabled.value))})),m=e.computed((()=>{let e=o.modifiers,r=null==t?void 0:t.value.modifiers.value;const l=new Set;return e&&(Array.isArray(e)||(e=e.split(" ")),e.forEach((e=>l.add(e)))),r&&(Array.isArray(r)||(r=r.split(" ")),r.forEach((e=>l.add(e)))),Array.from(l)}));return{modelValue:s,not:c,isInGroup:l,group:t,collapse:v,modifiers:m,disabled:p,title:u,content:d}}(a,l),h=e.ref(!1),S=e.computed({get:()=>{let e=A.value;return B.value?e=b.value&&Array.isArray(A.value)?A.value.includes(d.value):A.value===d.value:void 0===A.value&&(e=h.value),V.value?!e:e},set:e=>{if(V.value&&(e=!e),B.value)return b.value&&Array.isArray(A.value)?e?void A.value.push(d.value):void(A.value=A.value.filter((e=>e!==d.value))):void(A.value=e?d.value:null);void 0!==A.value||"boolean"!=typeof e?A.value=e:h.value=e}}),k=s("vv-accordion",m,e.computed((()=>({disabled:g.value})))),$=r.useToggle(S);return(o,r)=>(e.openBlock(),e.createElementBlock("details",{id:e.unref(d),class:e.normalizeClass(e.unref(k)),open:e.unref(S)},[e.createElementVNode("summary",{"aria-controls":e.unref(d),"aria-expanded":e.unref(S),class:"vv-accordion__summary",onClick:r[0]||(r[0]=e.withModifiers((o=>e.unref($)()),["prevent"]))},[e.renderSlot(o.$slots,"summary",e.normalizeProps(e.guardReactiveProps({open:e.unref(S)})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(f)),1)]))],8,v),e.createElementVNode("div",{"aria-hidden":!e.unref(S),class:"vv-accordion__content"},[e.renderSlot(o.$slots,"default",e.normalizeProps(e.guardReactiveProps({open:e.unref(S)})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(y)),1)]))],8,p)],10,c))}}),f={...u,modelValue:[String,Array],items:{type:Array,default:()=>[]},collapse:Boolean,itemModifiers:{type:[String,Array],default:""},disabled:Boolean,not:Boolean,storeKey:String};return e.defineComponent({name:"VvAccordionGroup",props:f,emits:["update:modelValue"],setup(o,{emit:t}){const l=o,{disabled:a,collapse:u,modifiers:i,itemModifiers:d,items:c,not:v}=e.toRefs(l);e.watchEffect((()=>{"string"==typeof l.modelValue&&u.value&&console.warn("[VvAccordionGroup]: modelValue is a string but collapse is true.")}));let p=e.ref([]);e.watch((()=>l.storeKey),(o=>{p=o?r.useStorage(o,p.value):e.ref([])}),{immediate:!0});const f=e.computed({get:()=>{var e;return void 0!==l.modelValue?u.value?l.modelValue:Array.isArray(l.modelValue)?l.modelValue[0]:l.modelValue:u.value?p.value:null==(e=p.value)?void 0:e[0]},set:e=>{if(void 0!==l.modelValue)return!Array.isArray(l.modelValue)&&!u.value||Array.isArray(e)||(e=[e]),t("update:modelValue",e);p.value=Array.isArray(e)?e:[e]}});!function(o){if(Object.keys(o).some((r=>"key"!==r&&!e.isRef(o[r]))))throw Error("One or more groupState props aren't ref.");e.provide(o.key,e.computed((()=>o)))}({key:n,modelValue:f,disabled:a,collapse:u,modifiers:d,not:v});const y=s("vv-accordion-group",i,e.computed((()=>({disabled:a.value}))));return(o,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(y))},[e.renderSlot(o.$slots,"default",{},(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(c),(r=>(e.openBlock(),e.createBlock(m,e.mergeProps({key:r.title},{name:r.name,title:r.title,content:r.content}),{header:e.withCtx((t=>[e.renderSlot(o.$slots,`header::${r.name}`,e.normalizeProps(e.guardReactiveProps(t)))])),details:e.withCtx((t=>[e.renderSlot(o.$slots,`details::${r.name}`,e.normalizeProps(e.guardReactiveProps(t)))])),_:2},1040)))),128))]))],2))}})}));
1
+ !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("uid"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","uid","@vueuse/core"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvAccordionGroup=o(e.vue,e.uid,e.core)}(this,(function(e,o,r){"use strict";var t=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(t||{}),l=(e=>(e.before="before",e.after="after",e))(l||{}),a=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(a||{}),n=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(n||{});const u=Symbol.for("accordionGroup"),i=(Boolean,Boolean,Boolean,Boolean,{modifiers:[String,Array]});function d(o){const r=e.inject(o,void 0),t=e.computed((()=>{return o=r,!(null==(t=e.unref(o))||""===t||Array.isArray(t)&&0===t.length||!(t instanceof Date)&&"object"==typeof t&&0===Object.keys(t).length);var o,t}));return{group:r,isInGroup:t,getGroupOrLocalRef:function(o,t,l){if(null==r?void 0:r.value){const t=e.unref(r.value)[o];return e.computed({get:()=>null==t?void 0:t.value,set(e){t.value=e}})}const a=e.toRef(t,o);return e.computed({get:()=>a.value,set(e){l&&l(`update:${o}`,e)}})}}}l.before,t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,a.button,n.button;const s={...i,name:String,title:String,content:String,modelValue:{type:Boolean,default:void 0},disabled:Boolean,not:Boolean};function c(o,r,t){return e.computed((()=>{const l={[o]:!0},a="string"==typeof(null==r?void 0:r.value)?r.value.split(" "):null==r?void 0:r.value;return a&&Array.isArray(a)&&a.forEach((e=>{e&&(l[`${o}--${e}`]=!0)})),t&&Object.keys(t.value).forEach((r=>{l[`${o}--${r}`]=e.unref(t.value[r])})),l}))}const v=["id","open"],p=["aria-controls","aria-expanded"],m=["aria-hidden"],f=e.defineComponent({name:"VvAccordion",props:s,emits:["update:modelValue"],setup(t,{emit:l}){const a=t,n=e.useAttrs(),i=e.computed((()=>a.name||(null==n?void 0:n.id)||o.uid())),{modifiers:s,title:f,content:y,disabled:g,collapse:b,modelValue:A,isInGroup:B,not:V}=function(o,r){const{group:t,isInGroup:l,getGroupOrLocalRef:a}=d(u),{title:n,content:i}=e.toRefs(o),s=a("modelValue",o,r),c=a("not",o),v=a("collapse",o),p=e.computed((()=>{var e;return Boolean(o.disabled||(null==(e=null==t?void 0:t.value)?void 0:e.disabled.value))})),m=e.computed((()=>{let e=o.modifiers,r=null==t?void 0:t.value.modifiers.value;const l=new Set;return e&&(Array.isArray(e)||(e=e.split(" ")),e.forEach((e=>l.add(e)))),r&&(Array.isArray(r)||(r=r.split(" ")),r.forEach((e=>l.add(e)))),Array.from(l)}));return{modelValue:s,not:c,isInGroup:l,group:t,collapse:v,modifiers:m,disabled:p,title:n,content:i}}(a,l),h=e.ref(!1),k=e.computed({get:()=>{let e=A.value;return B.value?e=b.value&&Array.isArray(A.value)?A.value.includes(i.value):A.value===i.value:void 0===A.value&&(e=h.value),V.value?!e:e},set:e=>{if(V.value&&(e=!e),B.value)return b.value&&Array.isArray(A.value)?e?void A.value.push(i.value):void(A.value=A.value.filter((e=>e!==i.value))):void(A.value=e?i.value:null);void 0!==A.value||"boolean"!=typeof e?A.value=e:h.value=e}}),S=c("vv-accordion",s,e.computed((()=>({disabled:g.value})))),$=r.useToggle(k);return(o,r)=>(e.openBlock(),e.createElementBlock("details",{id:e.unref(i),class:e.normalizeClass(e.unref(S)),open:e.unref(k)},[e.createElementVNode("summary",{"aria-controls":e.unref(i),"aria-expanded":e.unref(k),class:"vv-accordion__summary",onClick:r[0]||(r[0]=e.withModifiers((o=>e.unref($)()),["prevent"]))},[e.renderSlot(o.$slots,"summary",e.normalizeProps(e.guardReactiveProps({open:e.unref(k)})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(f)),1)]))],8,p),e.createElementVNode("div",{"aria-hidden":!e.unref(k),class:"vv-accordion__content"},[e.renderSlot(o.$slots,"default",e.normalizeProps(e.guardReactiveProps({open:e.unref(k)})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(y)),1)]))],8,m)],10,v))}}),y={...i,modelValue:[String,Array],items:{type:Array,default:()=>[]},collapse:Boolean,itemModifiers:{type:[String,Array],default:""},disabled:Boolean,not:Boolean,storeKey:String};return e.defineComponent({name:"VvAccordionGroup",props:y,emits:["update:modelValue"],setup(o,{emit:t}){const l=o,{disabled:a,collapse:n,modifiers:i,itemModifiers:d,items:s,not:v}=e.toRefs(l);e.watchEffect((()=>{"string"==typeof l.modelValue&&n.value&&console.warn("[VvAccordionGroup]: modelValue is a string but collapse is true.")}));let p=e.ref([]);e.watch((()=>l.storeKey),(o=>{p=o?r.useStorage(o,p.value):e.ref([])}),{immediate:!0});const m=e.computed({get:()=>{var e;return void 0!==l.modelValue?n.value?l.modelValue:Array.isArray(l.modelValue)?l.modelValue[0]:l.modelValue:n.value?p.value:null==(e=p.value)?void 0:e[0]},set:e=>{if(void 0!==l.modelValue)return!Array.isArray(l.modelValue)&&!n.value||Array.isArray(e)||(e=[e]),t("update:modelValue",e);p.value=Array.isArray(e)?e:[e]}});!function(o){if(Object.keys(o).some((r=>"key"!==r&&!e.isRef(o[r]))))throw Error("One or more groupState props aren't ref.");e.provide(o.key,e.computed((()=>o)))}({key:u,modelValue:m,disabled:a,collapse:n,modifiers:d,not:v});const y=c("vv-accordion-group",i,e.computed((()=>({disabled:a.value}))));return(o,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(y))},[e.renderSlot(o.$slots,"default",{},(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),(r=>(e.openBlock(),e.createBlock(f,e.mergeProps({key:r.title},{name:r.name,title:r.title,content:r.content}),{header:e.withCtx((t=>[e.renderSlot(o.$slots,`header::${r.name}`,e.normalizeProps(e.guardReactiveProps(t)))])),details:e.withCtx((t=>[e.renderSlot(o.$slots,`details::${r.name}`,e.normalizeProps(e.guardReactiveProps(t)))])),_:2},1040)))),128))]))],2))}})}));
@@ -239,6 +239,13 @@ const ActionProps = {
239
239
  ariaLabel: {
240
240
  type: String,
241
241
  default: void 0
242
+ },
243
+ /**
244
+ * Default tag for the action
245
+ */
246
+ defaultTag: {
247
+ type: String,
248
+ default: ActionTag.button
242
249
  }
243
250
  };
244
251
  const VvActionEvents = ["click", "mouseover", "mouseleave"];
@@ -291,7 +298,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
291
298
  case props.href !== void 0:
292
299
  return ActionTag.a;
293
300
  default:
294
- return ActionTag.button;
301
+ return props.defaultTag;
295
302
  }
296
303
  });
297
304
  const hasProps = computed(() => {
@@ -316,12 +323,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
316
323
  to: props.to,
317
324
  target: props.target
318
325
  };
319
- default:
326
+ case ActionTag.button:
320
327
  return {
321
328
  ...toReturn,
322
329
  type: props.type,
323
330
  disabled: props.disabled
324
331
  };
332
+ default:
333
+ return toReturn;
325
334
  }
326
335
  });
327
336
  const onClick = (e) => {
@@ -356,10 +365,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
356
365
  }), {
357
366
  default: withCtx(() => [
358
367
  renderSlot(_ctx.$slots, "default", {}, () => [
359
- createTextVNode(toDisplayString(_ctx.label), 1)
368
+ createTextVNode(
369
+ toDisplayString(_ctx.label),
370
+ 1
371
+ /* TEXT */
372
+ )
360
373
  ])
361
374
  ]),
362
375
  _: 3
376
+ /* FORWARDED */
363
377
  }, 16, ["class"]);
364
378
  };
365
379
  }
@@ -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||{}),r=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(r||{}),n=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(n||{}),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={current:Boolean},v={pressed:Boolean},b={label:[String,Number]};o.before,t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const p={...d,...b,...v,...c,...f,...s,type:{type:String,default:r.button,validator:e=>Object.values(r).includes(e)},ariaLabel:{type:String,default:void 0}};return e.defineComponent({name:"VvAction",props:p,emits:["click","mouseover","mouseleave"],setup(t,{expose:o,emit:r}){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(u,{});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(i,{}),g=e.computed((()=>{switch(!0){case l.disabled:return n.button;case void 0!==l.to:return(null==s?void 0:s.nuxt)?n.nuxtLink:n.routerLink;case void 0!==l.href:return n.a;default:return n.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 n.a:return{...e,href:l.href,target:l.target,rel:l.rel};case n.routerLink:case n.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),r("click",e))},B=e=>{null==f||f.emit("mouseover",e),r("mouseover",e)},h=e=>{null==f||f.emit("mouseleave",e),r("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,current:t.current},onClickPassive:k,onMouseoverPassive:B,onMouseleavePassive:h}),{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||{}),r=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(r||{}),n=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(n||{}),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={current:Boolean},v={pressed:Boolean},b={label:[String,Number]};o.before,t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;const p={...d,...b,...v,...c,...f,...s,type:{type:String,default:r.button,validator:e=>Object.values(r).includes(e)},ariaLabel:{type:String,default:void 0},defaultTag:{type:String,default:n.button}};return e.defineComponent({name:"VvAction",props:p,emits:["click","mouseover","mouseleave"],setup(t,{expose:o,emit:r}){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(u,{});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(i,{}),g=e.computed((()=>{switch(!0){case l.disabled:return n.button;case void 0!==l.to:return(null==s?void 0:s.nuxt)?n.nuxtLink:n.routerLink;case void 0!==l.href:return n.a;default:return l.defaultTag}})),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 n.a:return{...e,href:l.href,target:l.target,rel:l.rel};case n.routerLink:case n.nuxtLink:return{...e,to:l.to,target:l.target};case n.button:return{...e,type:l.type,disabled:l.disabled};default:return e}})),k=e=>{l.disabled?e.preventDefault():(null==f||f.emit("click",e),r("click",e))},B=e=>{null==f||f.emit("mouseover",e),r("mouseover",e)},h=e=>{null==f||f.emit("mouseleave",e),r("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,current:t.current},onClickPassive:k,onMouseoverPassive:B,onMouseleavePassive:h}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.label),1)]))])),_:3},16,["class"]))}})}));
@@ -1,3 +1,4 @@
1
+ import { ActionTag } from '../../constants';
1
2
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
2
3
  type: {
3
4
  type: globalThis.PropType<"button" | "submit" | "reset">;
@@ -8,6 +9,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
8
9
  type: StringConstructor;
9
10
  default: undefined;
10
11
  };
12
+ defaultTag: {
13
+ type: StringConstructor;
14
+ default: ActionTag;
15
+ };
11
16
  to: {
12
17
  type: (ObjectConstructor | StringConstructor)[];
13
18
  };
@@ -39,6 +44,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
39
44
  type: StringConstructor;
40
45
  default: undefined;
41
46
  };
47
+ defaultTag: {
48
+ type: StringConstructor;
49
+ default: ActionTag;
50
+ };
42
51
  to: {
43
52
  type: (ObjectConstructor | StringConstructor)[];
44
53
  };
@@ -60,6 +69,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
60
69
  disabled: boolean;
61
70
  type: "button" | "submit" | "reset";
62
71
  ariaLabel: string;
72
+ defaultTag: string;
63
73
  rel: string;
64
74
  current: boolean;
65
75
  active: boolean;
@@ -9,6 +9,10 @@ export declare const VvActionProps: {
9
9
  type: StringConstructor;
10
10
  default: undefined;
11
11
  };
12
+ defaultTag: {
13
+ type: StringConstructor;
14
+ default: import("../../constants").ActionTag;
15
+ };
12
16
  to: {
13
17
  type: (ObjectConstructor | StringConstructor)[];
14
18
  };
@@ -129,6 +129,13 @@ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
129
129
  ButtonType2["reset"] = "reset";
130
130
  return ButtonType2;
131
131
  })(ButtonType || {});
132
+ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
133
+ ActionTag2["nuxtLink"] = "nuxt-link";
134
+ ActionTag2["routerLink"] = "router-link";
135
+ ActionTag2["a"] = "a";
136
+ ActionTag2["button"] = "button";
137
+ return ActionTag2;
138
+ })(ActionTag || {});
132
139
  var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
133
140
  AnchorTarget2["_blank"] = "_blank";
134
141
  AnchorTarget2["_self"] = "_self";
@@ -258,7 +265,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
258
265
  color: _ctx.color,
259
266
  onLoad: _ctx.onLoad,
260
267
  icon: unref(icon)
261
- }), null, 16, ["class"])) : createCommentVNode("", true);
268
+ }), null, 16, ["class"])) : createCommentVNode("v-if", true);
262
269
  };
263
270
  }
264
271
  });
@@ -460,6 +467,13 @@ const IdProps = {
460
467
  ariaLabel: {
461
468
  type: String,
462
469
  default: void 0
470
+ },
471
+ /**
472
+ * Default tag for the action
473
+ */
474
+ defaultTag: {
475
+ type: String,
476
+ default: ActionTag.button
463
477
  }
464
478
  });
465
479
  function useInjectedAlertGroup() {
@@ -613,7 +627,13 @@ const _hoisted_1 = {
613
627
  };
614
628
  const _hoisted_2 = ["id"];
615
629
  const _hoisted_3 = ["aria-label"];
616
- const _hoisted_4 = /* @__PURE__ */ createElementVNode("div", { class: "vv-alert__close-mask" }, null, -1);
630
+ const _hoisted_4 = /* @__PURE__ */ createElementVNode(
631
+ "div",
632
+ { class: "vv-alert__close-mask" },
633
+ null,
634
+ -1
635
+ /* HOISTED */
636
+ );
617
637
  const _hoisted_5 = [
618
638
  _hoisted_4
619
639
  ];
@@ -637,47 +657,71 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
637
657
  const { hasProps, hasTitleId, hasIcon, close } = useVvAlert(props, emit);
638
658
  __expose({ close });
639
659
  return (_ctx, _cache) => {
640
- return openBlock(), createElementBlock("div", normalizeProps(guardReactiveProps(unref(hasProps))), [
641
- _ctx.$slots.header || _ctx.$slots.title || _ctx.$slots.close || _ctx.$slots["title::before"] || _ctx.$slots["title::after"] || _ctx.title || _ctx.dismissable || _ctx.autoClose ? (openBlock(), createElementBlock("div", _hoisted_1, [
642
- unref(hasIcon) ? (openBlock(), createBlock(_sfc_main$1, mergeProps({ key: 0 }, unref(hasIcon), { class: "vv-alert__icon" }), null, 16)) : createCommentVNode("", true),
643
- renderSlot(_ctx.$slots, "header", {}, () => [
644
- renderSlot(_ctx.$slots, "title::before"),
645
- _ctx.$slots.title || _ctx.title ? (openBlock(), createElementBlock("strong", {
646
- key: 0,
647
- id: unref(hasTitleId),
648
- class: "vv-alert__title"
649
- }, [
650
- renderSlot(_ctx.$slots, "title", {}, () => [
651
- createTextVNode(toDisplayString(_ctx.title), 1)
652
- ])
653
- ], 8, _hoisted_2)) : createCommentVNode("", true),
654
- renderSlot(_ctx.$slots, "title::after")
655
- ]),
656
- renderSlot(_ctx.$slots, "close", normalizeProps(guardReactiveProps({ close: unref(close) })), () => [
657
- _ctx.dismissable || _ctx.autoClose ? (openBlock(), createElementBlock("button", {
658
- key: 0,
659
- class: "vv-alert__close",
660
- type: "button",
661
- "aria-label": _ctx.closeLabel,
662
- onClick: _cache[0] || (_cache[0] = withModifiers(
663
- //@ts-ignore
664
- (...args) => unref(close) && unref(close)(...args),
665
- ["stop"]
666
- ))
667
- }, _hoisted_5, 8, _hoisted_3)) : createCommentVNode("", true)
668
- ])
669
- ])) : createCommentVNode("", true),
670
- _ctx.$slots.default || _ctx.content ? (openBlock(), createElementBlock("div", _hoisted_6, [
671
- renderSlot(_ctx.$slots, "default", {}, () => [
672
- createTextVNode(toDisplayString(_ctx.content), 1)
673
- ])
674
- ])) : createCommentVNode("", true),
675
- _ctx.$slots.footer || _ctx.footer ? (openBlock(), createElementBlock("div", _hoisted_7, [
676
- renderSlot(_ctx.$slots, "footer", {}, () => [
677
- createTextVNode(toDisplayString(_ctx.footer), 1)
678
- ])
679
- ])) : createCommentVNode("", true)
680
- ], 16);
660
+ return openBlock(), createElementBlock(
661
+ "div",
662
+ normalizeProps(guardReactiveProps(unref(hasProps))),
663
+ [
664
+ _ctx.$slots.header || _ctx.$slots.title || _ctx.$slots.close || _ctx.$slots["title::before"] || _ctx.$slots["title::after"] || _ctx.title || _ctx.dismissable || _ctx.autoClose ? (openBlock(), createElementBlock("div", _hoisted_1, [
665
+ unref(hasIcon) ? (openBlock(), createBlock(
666
+ _sfc_main$1,
667
+ mergeProps({ key: 0 }, unref(hasIcon), { class: "vv-alert__icon" }),
668
+ null,
669
+ 16
670
+ /* FULL_PROPS */
671
+ )) : createCommentVNode("v-if", true),
672
+ renderSlot(_ctx.$slots, "header", {}, () => [
673
+ renderSlot(_ctx.$slots, "title::before"),
674
+ _ctx.$slots.title || _ctx.title ? (openBlock(), createElementBlock("strong", {
675
+ key: 0,
676
+ id: unref(hasTitleId),
677
+ class: "vv-alert__title"
678
+ }, [
679
+ renderSlot(_ctx.$slots, "title", {}, () => [
680
+ createTextVNode(
681
+ toDisplayString(_ctx.title),
682
+ 1
683
+ /* TEXT */
684
+ )
685
+ ])
686
+ ], 8, _hoisted_2)) : createCommentVNode("v-if", true),
687
+ renderSlot(_ctx.$slots, "title::after")
688
+ ]),
689
+ renderSlot(_ctx.$slots, "close", normalizeProps(guardReactiveProps({ close: unref(close) })), () => [
690
+ _ctx.dismissable || _ctx.autoClose ? (openBlock(), createElementBlock("button", {
691
+ key: 0,
692
+ class: "vv-alert__close",
693
+ type: "button",
694
+ "aria-label": _ctx.closeLabel,
695
+ onClick: _cache[0] || (_cache[0] = withModifiers(
696
+ //@ts-ignore
697
+ (...args) => unref(close) && unref(close)(...args),
698
+ ["stop"]
699
+ ))
700
+ }, _hoisted_5, 8, _hoisted_3)) : createCommentVNode("v-if", true)
701
+ ])
702
+ ])) : createCommentVNode("v-if", true),
703
+ _ctx.$slots.default || _ctx.content ? (openBlock(), createElementBlock("div", _hoisted_6, [
704
+ renderSlot(_ctx.$slots, "default", {}, () => [
705
+ createTextVNode(
706
+ toDisplayString(_ctx.content),
707
+ 1
708
+ /* TEXT */
709
+ )
710
+ ])
711
+ ])) : createCommentVNode("v-if", true),
712
+ _ctx.$slots.footer || _ctx.footer ? (openBlock(), createElementBlock("div", _hoisted_7, [
713
+ renderSlot(_ctx.$slots, "footer", {}, () => [
714
+ createTextVNode(
715
+ toDisplayString(_ctx.footer),
716
+ 1
717
+ /* TEXT */
718
+ )
719
+ ])
720
+ ])) : createCommentVNode("v-if", true)
721
+ ],
722
+ 16
723
+ /* FULL_PROPS */
724
+ );
681
725
  };
682
726
  }
683
727
  });
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@iconify/vue"),require("uid")):"function"==typeof define&&define.amd?define(["vue","@iconify/vue","uid"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvAlert=t(e.vue,e.vue$1,e.uid)}(this,(function(e,t,o){"use strict";const l={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||{}),n=(e=>(e.before="before",e.after="after",e))(n||{}),i=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(i||{});const a=Symbol.for("volver"),s=Symbol.for("alertGroup");function c(t,o,l){return e.computed((()=>{const r={[t]:!0},n="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return n&&Array.isArray(n)&&n.forEach((e=>{e&&(r[`${t}--${e}`]=!0)})),l&&Object.keys(l.value).forEach((o=>{r[`${t}--${o}`]=e.unref(l.value[o])})),r}))}const u=e.defineComponent({name:"VvIcon",props:l,setup(o){const l=o,r=e.computed((()=>"string"==typeof l.rotate?parseFloat(l.rotate):l.rotate)),n=e.ref(!0),i=e.inject(a),{modifiers:s}=e.toRefs(l),u=c("vv-icon",s),d=e.computed((()=>l.provider||(null==i?void 0:i.iconsProvider))),f=e.computed((()=>{const e=l.name??"",o=`@${d.value}:${l.prefix}:${e}`;if(t.iconExists(o))return o;const r=null==i?void 0:i.iconsCollections.find((o=>{const l=`@${d.value}:${o.prefix}:${e}`;return t.iconExists(l)}));return r?`@${d.value}:${r.prefix}:${e}`:e}));function p(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(`@${d.value}:${l.prefix}:${l.name}`,{body:r,height:o.viewBox.baseVal.height,width:o.viewBox.baseVal.width})}return i&&l.src&&!t.iconExists(`@${d.value}:${l.prefix}:${l.name}`)&&(n.value=!1,i.fetchIcon(l.src).then((e=>{e&&(p(e),n.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),l.svg&&p(l.svg),(o,l)=>e.unref(n)?(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(f)}),null,16,["class"])):e.createCommentVNode("",!0)}}),d=(Boolean,Boolean,Boolean,Boolean,{modifiers:[String,Array]}),f={icon:{type:[String,Object]},iconPosition:{type:String,default:n.before,validation:e=>Object.values(n).includes(e)}},p={id:[String,Number]};r.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,i.button;const m={...p,...d,...f,dismissable:{type:Boolean,default:!1},autoClose:{type:Number,default:0},closeLabel:{type:String,default:"Close"},title:{type:String,default:void 0},content:{type:String,default:void 0},footer:{type:String,default:void 0},role:{type:String,default:"alert"}},v=(t,l)=>{const{bus:r}=e.inject(s,{}),n=(i=e.computed((()=>t.id)),e.computed((()=>String((null==i?void 0:i.value)||o.uid()))));var i;const a=e.computed((()=>`${n.value}-title`)),u=e.computed((()=>"string"==typeof t.icon?{name:t.icon}:t.icon)),d=c("vv-alert",e.computed((()=>t.modifiers)),e.computed((()=>({dismissable:t.autoClose>0||t.dismissable,"auto-close":t.autoClose>0,hover:v.value})))),f=e.computed((()=>({"--alert-duration":`${t.autoClose}ms`}))),p=()=>{m&&clearTimeout(m),l("close",n.value),null==r||r.emit("close",n.value)};let m;e.watch((()=>t.autoClose),(e=>{e>0?m=setTimeout(p,e):m&&clearTimeout(m)}),{immediate:!0});const v=e.ref(!1),g=e.withModifiers((()=>{v.value=!0,m&&clearTimeout(m)}),["passive"]),y=e.withModifiers((()=>{v.value=!1,t.autoClose>0&&(m=setTimeout(p,t.autoClose))}),["passive"]);return{close:p,hasIcon:u,hasTitleId:a,hasProps:e.computed((()=>({onMouseover:g,onMouseleave:y,class:d.value,style:f.value,role:t.role,"aria-labelledby":a.value})))}},g={key:0,class:"vv-alert__header"},y=["id"],h=["aria-label"],b=[e.createElementVNode("div",{class:"vv-alert__close-mask"},null,-1)],$={key:1,class:"vv-alert__content"},S={key:2,class:"vv-alert__footer"};return e.defineComponent({name:"VvAlert",props:m,emits:["close"],setup(t,{expose:o,emit:l}){const r=t,{hasProps:n,hasTitleId:i,hasIcon:a,close:s}=v(r,l);return o({close:s}),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.normalizeProps(e.guardReactiveProps(e.unref(n))),[t.$slots.header||t.$slots.title||t.$slots.close||t.$slots["title::before"]||t.$slots["title::after"]||t.title||t.dismissable||t.autoClose?(e.openBlock(),e.createElementBlock("div",g,[e.unref(a)?(e.openBlock(),e.createBlock(u,e.mergeProps({key:0},e.unref(a),{class:"vv-alert__icon"}),null,16)):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"header",{},(()=>[e.renderSlot(t.$slots,"title::before"),t.$slots.title||t.title?(e.openBlock(),e.createElementBlock("strong",{key:0,id:e.unref(i),class:"vv-alert__title"},[e.renderSlot(t.$slots,"title",{},(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]))],8,y)):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"title::after")])),e.renderSlot(t.$slots,"close",e.normalizeProps(e.guardReactiveProps({close:e.unref(s)})),(()=>[t.dismissable||t.autoClose?(e.openBlock(),e.createElementBlock("button",{key:0,class:"vv-alert__close",type:"button","aria-label":t.closeLabel,onClick:o[0]||(o[0]=e.withModifiers(((...t)=>e.unref(s)&&e.unref(s)(...t)),["stop"]))},b,8,h)):e.createCommentVNode("",!0)]))])):e.createCommentVNode("",!0),t.$slots.default||t.content?(e.openBlock(),e.createElementBlock("div",$,[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.content),1)]))])):e.createCommentVNode("",!0),t.$slots.footer||t.footer?(e.openBlock(),e.createElementBlock("div",S,[e.renderSlot(t.$slots,"footer",{},(()=>[e.createTextVNode(e.toDisplayString(t.footer),1)]))])):e.createCommentVNode("",!0)],16))}})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("@iconify/vue"),require("uid")):"function"==typeof define&&define.amd?define(["vue","@iconify/vue","uid"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvAlert=t(e.vue,e.vue$1,e.uid)}(this,(function(e,t,o){"use strict";const l={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||{}),n=(e=>(e.before="before",e.after="after",e))(n||{}),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||{});const s=Symbol.for("volver"),u=Symbol.for("alertGroup");function c(t,o,l){return e.computed((()=>{const r={[t]:!0},n="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return n&&Array.isArray(n)&&n.forEach((e=>{e&&(r[`${t}--${e}`]=!0)})),l&&Object.keys(l.value).forEach((o=>{r[`${t}--${o}`]=e.unref(l.value[o])})),r}))}const d=e.defineComponent({name:"VvIcon",props:l,setup(o){const l=o,r=e.computed((()=>"string"==typeof l.rotate?parseFloat(l.rotate):l.rotate)),n=e.ref(!0),i=e.inject(s),{modifiers:a}=e.toRefs(l),u=c("vv-icon",a),d=e.computed((()=>l.provider||(null==i?void 0:i.iconsProvider))),f=e.computed((()=>{const e=l.name??"",o=`@${d.value}:${l.prefix}:${e}`;if(t.iconExists(o))return o;const r=null==i?void 0:i.iconsCollections.find((o=>{const l=`@${d.value}:${o.prefix}:${e}`;return t.iconExists(l)}));return r?`@${d.value}:${r.prefix}:${e}`:e}));function v(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(`@${d.value}:${l.prefix}:${l.name}`,{body:r,height:o.viewBox.baseVal.height,width:o.viewBox.baseVal.width})}return i&&l.src&&!t.iconExists(`@${d.value}:${l.prefix}:${l.name}`)&&(n.value=!1,i.fetchIcon(l.src).then((e=>{e&&(v(e),n.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),l.svg&&v(l.svg),(o,l)=>e.unref(n)?(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(f)}),null,16,["class"])):e.createCommentVNode("v-if",!0)}}),f=(Boolean,Boolean,Boolean,Boolean,{modifiers:[String,Array]}),v={icon:{type:[String,Object]},iconPosition:{type:String,default:n.before,validation:e=>Object.values(n).includes(e)}},p={id:[String,Number]};r.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,i.button,a.button;const m={...p,...f,...v,dismissable:{type:Boolean,default:!1},autoClose:{type:Number,default:0},closeLabel:{type:String,default:"Close"},title:{type:String,default:void 0},content:{type:String,default:void 0},footer:{type:String,default:void 0},role:{type:String,default:"alert"}},g=(t,l)=>{const{bus:r}=e.inject(u,{}),n=(i=e.computed((()=>t.id)),e.computed((()=>String((null==i?void 0:i.value)||o.uid()))));var i;const a=e.computed((()=>`${n.value}-title`)),s=e.computed((()=>"string"==typeof t.icon?{name:t.icon}:t.icon)),d=c("vv-alert",e.computed((()=>t.modifiers)),e.computed((()=>({dismissable:t.autoClose>0||t.dismissable,"auto-close":t.autoClose>0,hover:m.value})))),f=e.computed((()=>({"--alert-duration":`${t.autoClose}ms`}))),v=()=>{p&&clearTimeout(p),l("close",n.value),null==r||r.emit("close",n.value)};let p;e.watch((()=>t.autoClose),(e=>{e>0?p=setTimeout(v,e):p&&clearTimeout(p)}),{immediate:!0});const m=e.ref(!1),g=e.withModifiers((()=>{m.value=!0,p&&clearTimeout(p)}),["passive"]),y=e.withModifiers((()=>{m.value=!1,t.autoClose>0&&(p=setTimeout(v,t.autoClose))}),["passive"]);return{close:v,hasIcon:s,hasTitleId:a,hasProps:e.computed((()=>({onMouseover:g,onMouseleave:y,class:d.value,style:f.value,role:t.role,"aria-labelledby":a.value})))}},y={key:0,class:"vv-alert__header"},b=["id"],h=["aria-label"],$=[e.createElementVNode("div",{class:"vv-alert__close-mask"},null,-1)],S={key:1,class:"vv-alert__content"},B={key:2,class:"vv-alert__footer"};return e.defineComponent({name:"VvAlert",props:m,emits:["close"],setup(t,{expose:o,emit:l}){const r=t,{hasProps:n,hasTitleId:i,hasIcon:a,close:s}=g(r,l);return o({close:s}),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.normalizeProps(e.guardReactiveProps(e.unref(n))),[t.$slots.header||t.$slots.title||t.$slots.close||t.$slots["title::before"]||t.$slots["title::after"]||t.title||t.dismissable||t.autoClose?(e.openBlock(),e.createElementBlock("div",y,[e.unref(a)?(e.openBlock(),e.createBlock(d,e.mergeProps({key:0},e.unref(a),{class:"vv-alert__icon"}),null,16)):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"header",{},(()=>[e.renderSlot(t.$slots,"title::before"),t.$slots.title||t.title?(e.openBlock(),e.createElementBlock("strong",{key:0,id:e.unref(i),class:"vv-alert__title"},[e.renderSlot(t.$slots,"title",{},(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]))],8,b)):e.createCommentVNode("v-if",!0),e.renderSlot(t.$slots,"title::after")])),e.renderSlot(t.$slots,"close",e.normalizeProps(e.guardReactiveProps({close:e.unref(s)})),(()=>[t.dismissable||t.autoClose?(e.openBlock(),e.createElementBlock("button",{key:0,class:"vv-alert__close",type:"button","aria-label":t.closeLabel,onClick:o[0]||(o[0]=e.withModifiers(((...t)=>e.unref(s)&&e.unref(s)(...t)),["stop"]))},$,8,h)):e.createCommentVNode("v-if",!0)]))])):e.createCommentVNode("v-if",!0),t.$slots.default||t.content?(e.openBlock(),e.createElementBlock("div",S,[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(t.content),1)]))])):e.createCommentVNode("v-if",!0),t.$slots.footer||t.footer?(e.openBlock(),e.createElementBlock("div",B,[e.renderSlot(t.$slots,"footer",{},(()=>[e.createTextVNode(e.toDisplayString(t.footer),1)]))])):e.createCommentVNode("v-if",!0)],16))}})}));