@volverjs/ui-vue 0.0.1-beta.11 → 0.0.1-beta.12

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 (81) hide show
  1. package/dist/components/VvBadge/VvBadge.d.ts +1 -1
  2. package/dist/components/VvBadge/VvBadge.es.js +165 -12
  3. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  4. package/dist/components/VvBadge/VvBadge.vue.d.ts +4 -4
  5. package/dist/components/VvBreadcrumb/VvBreadcrumb.d.ts +1 -1
  6. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +4 -4
  7. package/dist/components/VvButton/VvButton.d.ts +2 -33
  8. package/dist/components/VvButton/VvButton.es.js +183 -198
  9. package/dist/components/VvButton/VvButton.umd.js +1 -1
  10. package/dist/components/VvButton/VvButton.vue.d.ts +9 -44
  11. package/dist/components/VvButton/useButtonGroupProps.d.ts +1 -6
  12. package/dist/components/VvButtonGroup/VvButtonGroup.d.ts +2 -26
  13. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +68 -78
  14. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  15. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +9 -69
  16. package/dist/components/VvDropdown/VvDropdown.d.ts +1 -1
  17. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +4 -4
  18. package/dist/components/VvInputText/VvInputText.d.ts +1 -1
  19. package/dist/components/VvInputText/VvInputText.vue.d.ts +4 -4
  20. package/dist/components/VvProgress/VvProgress.d.ts +1 -1
  21. package/dist/components/VvProgress/VvProgress.vue.d.ts +4 -4
  22. package/dist/components/VvSelect/VvSelect.d.ts +5 -1
  23. package/dist/components/VvSelect/VvSelect.es.js +395 -207
  24. package/dist/components/VvSelect/VvSelect.umd.js +2 -2
  25. package/dist/components/VvSelect/VvSelect.vue.d.ts +12 -5
  26. package/dist/components/VvTextarea/VvTextarea.d.ts +1 -1
  27. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +4 -4
  28. package/dist/components/index.es.js +579 -610
  29. package/dist/components/index.umd.js +2 -2
  30. package/dist/composables/group/types/IButtonGroupState.d.ts +4 -0
  31. package/dist/icons.es.js +3 -3
  32. package/dist/icons.umd.js +1 -1
  33. package/dist/index.es.js +553 -585
  34. package/dist/index.umd.js +2 -2
  35. package/dist/props/index.d.ts +2 -1
  36. package/dist/stories/RadioGroup/RadioOption.test.d.ts +4 -0
  37. package/dist/stories/RadioGroup/RadioProperty.test.d.ts +1 -1
  38. package/dist/stories/RadioGroup/RadioSlots.test.d.ts +6 -0
  39. package/package.json +2 -2
  40. package/src/assets/icons/detailed.json +1 -1
  41. package/src/assets/icons/normal.json +1 -1
  42. package/src/assets/icons/simple.json +1 -1
  43. package/src/components/VvBadge/VvBadge.ts +4 -2
  44. package/src/components/VvBadge/VvBadge.vue +8 -3
  45. package/src/components/VvButton/VvButton.ts +4 -34
  46. package/src/components/VvButton/VvButton.vue +3 -12
  47. package/src/components/VvButton/useButtonGroupProps.ts +3 -11
  48. package/src/components/VvButtonGroup/VvButtonGroup.ts +4 -17
  49. package/src/components/VvButtonGroup/VvButtonGroup.vue +5 -16
  50. package/src/components/VvSelect/VvSelect.ts +5 -1
  51. package/src/components/VvSelect/VvSelect.vue +7 -1
  52. package/src/composables/group/types/IButtonGroupState.ts +4 -0
  53. package/src/props/index.ts +3 -1
  54. package/src/stories/Badge/BadgeColor.stories.mdx +4 -4
  55. package/src/stories/Badge/BadgeModifiers.stories.mdx +65 -0
  56. package/src/stories/Button/ButtonActive.stories.mdx +27 -0
  57. package/src/stories/Button/ButtonDisabled.stories.mdx +28 -0
  58. package/src/stories/Button/ButtonIconPosition.stories.mdx +0 -1
  59. package/src/stories/Button/ButtonModifiers.stories.mdx +103 -46
  60. package/src/stories/Button/ButtonSelected.stories.mdx +30 -0
  61. package/src/stories/ButtonGroup/ButtonGroupAction.stories.mdx +2 -2
  62. package/src/stories/ButtonGroup/ButtonGroupActionQuiet.stories.mdx +2 -2
  63. package/src/stories/ButtonGroup/ButtonGroupBlock.stories.mdx +1 -1
  64. package/src/stories/ButtonGroup/ButtonGroupRounded.stories.mdx +1 -1
  65. package/src/stories/RadioGroup/RadioGroupHintLabel.stories.mdx +6 -6
  66. package/src/stories/RadioGroup/RadioGroupLabel.stories.mdx +7 -2
  67. package/src/stories/RadioGroup/RadioGroupOptionLabel.stories.mdx +7 -19
  68. package/src/stories/RadioGroup/RadioGroupOptionValue.stories.mdx +7 -19
  69. package/src/stories/RadioGroup/RadioGroupOptions.stories.mdx +3 -17
  70. package/src/stories/RadioGroup/RadioGroupSlots.stories.mdx +10 -9
  71. package/src/stories/RadioGroup/RadioOption.test.ts +45 -0
  72. package/src/stories/RadioGroup/RadioProperty.test.ts +4 -4
  73. package/src/stories/RadioGroup/RadioSlots.test.ts +29 -0
  74. package/src/stories/Select/SelectNative.stories.mdx +45 -0
  75. package/src/stories/stories.scss +5 -27
  76. package/src/stories/Button/ButtonVariant.stories.mdx +0 -205
  77. package/src/stories/Button/test.js +0 -41
  78. package/src/stories/Radio/RadioTest.js +0 -90
  79. package/src/stories/RadioGroup/RadioOptionsTest.js +0 -78
  80. package/src/stories/RadioGroup/RadioPropertyTest.js +0 -131
  81. package/src/stories/RadioGroup/RadioSlotsTest.js +0 -20
@@ -1,2 +1,2 @@
1
- (function(k,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("uuid"),require("@iconify/vue"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["exports","vue","uuid","@iconify/vue","@vueuse/core"],e):(k=typeof globalThis<"u"?globalThis:k||self,e(k.components={},k.vue,k.uuid,k.vue$1,k.core))})(this,function(k,e,v,P,E){"use strict";var O=(t=>(t.left="left",t.right="right",t.top="top",t.bottom="bottom",t))(O||{}),N=(t=>(t.nuxtLink="nuxt-link",t.routerLink="router-link",t.a="a",t.button="button",t))(N||{}),L=(t=>(t._blank="_blank",t._self="_self",t._parent="_parent",t._top="_top",t))(L||{});const W={icon:String,iconPosition:{type:String,default:"left",validator:t=>t in O},label:String,loading:Boolean,loadingIcon:{type:String,default:"eos-icons:bubble-loading"},loadingLabel:{type:String,default:"Loading..."},to:{type:[String,Object]},href:String,target:{type:String,validator:t=>t in L},block:Boolean,active:Boolean,rounded:Boolean,disabled:Boolean,fullBleed:Boolean,action:Boolean,actionQuiet:Boolean,selected:Boolean,modifiers:[Array,String]},h={equals(t,n,o){return o?this.resolveFieldData(t,o)===this.resolveFieldData(n,o):this.deepEquals(t,n)},deepEquals(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){const o=Array.isArray(t),l=Array.isArray(n);let r,c,a;if(o&&l){if(c=t.length,c!=n.length)return!1;for(r=c;r--!==0;)if(!this.deepEquals(t[r],n[r]))return!1;return!0}if(o!=l)return!1;const u=t instanceof Date,i=n instanceof Date;if(u!=i)return!1;if(u&&i)return t.getTime()==n.getTime();const m=t instanceof RegExp,d=n instanceof RegExp;if(m!=d)return!1;if(m&&d)return t.toString()==n.toString();const s=Object.keys(t);if(c=s.length,c!==Object.keys(n).length)return!1;for(r=c;r--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[r]))return!1;for(r=c;r--!==0;)if(a=s[r],!this.deepEquals(t[a],n[a]))return!1;return!0}return t!==t&&n!==n},resolveFieldData(t,n){if(t&&Object.keys(t).length&&n){if(n.indexOf(".")===-1)return t[n];{const o=n.split(".");let l=t;for(let r=0,c=o.length;r<c;++r){if(t==null)return null;l=l[o[r]]}return l}}else return null},isFunction(t){return!!(t&&t.constructor&&t.call&&t.apply)},findIndexInList(t,n){let o=-1;if(n){for(let l=0;l<n.length;l++)if(this.equals(n[l],t)){o=l;break}}return o},contains(t,n){if(t!=null&&n&&n.length){for(const o of n)if(this.equals(t,o))return!0}return!1},isEmpty(t){return t==null||t===""||Array.isArray(t)&&t.length===0||!(t instanceof Date)&&typeof t=="object"&&Object.keys(t).length===0},isNotEmpty(t){return!this.isEmpty(t)},pickBy(t,n){return Object.fromEntries(Object.entries(t).filter(([o])=>n(o)))},removeFromList(t,n){const o=this.findIndexInList(t,n);return o>-1?n.filter((l,r)=>r!==o):n},isString(t){return typeof t=="string"||t instanceof String},propsToObject(t){return Object.keys(t).reduce((n,o)=>{var l,r,c,a,u;return this.isFunction(t[o])?n[o]=t[o]():Array.isArray(t[o])?n[o]=t[o][0]():(l=t[o])!=null&&l.type&&(Array.isArray(t[o].type)?n[o]=((r=t[o])==null?void 0:r.default)||((c=t[o])==null?void 0:c.type[0]()):n[o]=((a=t[o])==null?void 0:a.default)||((u=t[o])==null?void 0:u.type())),n},{})},filterArray(t,n,o){return t.filter(l=>n.some(r=>typeof r=="string"?l[o]==r:this.equals(l[o],r[o])))},kebabCase(t){var n,o;if(t)return(o=(n=t.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))==null?void 0:n.join("-"))==null?void 0:o.toLowerCase()}},J="ds",X={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]}};function C(t,n){const o={[`${t}`]:!0};return{bemCssClasses:e.computed(()=>Object.keys(n).reduce((r,c)=>{const a=e.unref(n[c])||!1;if(!a)return r;if(c==="modifiers"){const u=Array.isArray(a)?a:[a];return{...r,...u.reduce((i,m)=>({...i,[`${t}--${h.kebabCase(m)}`]:!0}),{})}}else return{...r,[`${t}--${h.kebabCase(c)}`]:a}},o)||{})}}const w=e.defineComponent({__name:"VvIcon",props:X,setup(t){const n=t,o=e.ref(!0),{modifiers:l}=e.toRefs(n),r=e.inject(J),{bemCssClasses:c}=C("vv-icon",{modifiers:l}),a=e.computed(()=>n.provider||(r==null?void 0:r.provider)),u=e.computed(()=>{const d=n.name||"",s=`@${a.value}:${n.prefix}:${n.name}`;return P.iconExists(d)?d:P.iconExists(s)?s:(r==null?void 0:r.iconsCollections.find(f=>{const p=`@${a.value}:${f.prefix}:${d}`;if(P.iconExists(p))return p}))||d});function i(d){let s=null;if(typeof window>"u"){const{JSDOM:g}=require("jsdom");s=new g().window}return(s?new s.DOMParser:new window.DOMParser).parseFromString(d,"text/html").querySelector("svg")}function m(d){const s=i(d),f=(s==null?void 0:s.innerHTML.trim())||"";s&&f&&P.addIcon(`@${a.value}:${n.prefix}:${n.name}`,{body:f,height:s.viewBox.baseVal.height,width:s.viewBox.baseVal.width})}return r&&(n.src?(o.value=!1,r.fetchIcon(n.src).then(d=>{d&&(m(d),o.value=!0)}).catch(d=>{throw new Error(`During fetch icon: ${d==null?void 0:d.message}`)})):n.svg&&m(n.svg)),(d,s)=>o.value?(e.openBlock(),e.createBlock(e.unref(P.Icon),e.mergeProps({key:0,class:e.unref(c)},{...d.$props,provider:e.unref(a),icon:e.unref(u)}),null,16,["class"])):e.createCommentVNode("",!0)}});function I(t){const n=e.inject(t,void 0),o=e.computed(()=>h.isNotEmpty(n));function l(r,c,a){if(n!=null&&n.value){const u=e.unref(n.value)[r];return e.computed({get(){return u==null?void 0:u.value},set(i){u.value=i}})}else{const u=e.toRef(c,r);return e.computed({get(){return u.value},set(i){a&&a(`update:${r}`,i)}})}}return{group:n,isInGroup:o,getGroupOrLocalRef:l}}const z=Symbol("VV_BUTTON_GROUP"),T=Symbol("VV_CHECK_GROUP"),M=Symbol("VV_ACCORDION_GROUP");function Y(t){const{group:n,isInGroup:o,getGroupOrLocalRef:l}=I(z),{modifiers:r,fullBleed:c,iconPosition:a,icon:u,label:i,block:m,selected:d}=e.toRefs(t),s=l("modelValue",t),f=l("disabled",t),p=l("toggle",t),y=l("rounded",t),g=l("action",t),b=l("actionQuiet",t);return{modelValue:s,disabled:f,toggle:p,isInGroup:o,group:n,modifiers:r,action:g,actionQuiet:b,selected:d,block:m,rounded:y,fullBleed:c,iconPosition:a,icon:u,label:i}}const x={key:1,class:"vv-button__label"},ee={key:1,class:"vv-button__label"},te=e.defineComponent({__name:"VvButton",props:W,setup(t){const n=t,o=e.useAttrs(),l=(o==null?void 0:o.name)||v.v4(),{modifiers:r,action:c,actionQuiet:a,block:u,rounded:i,fullBleed:m,iconPosition:d,icon:s,label:f,modelValue:p,disabled:y,toggle:g,isInGroup:b}=Y(n),_=e.computed(()=>{switch(!0){case y.value:return N.button;case n.to!==void 0:return N.routerLink;case n.href!==void 0:return N.a;default:return N.button}}),A=e.computed(()=>g.value?Array.isArray(p.value)?h.contains(l,p.value):h.equals(l,p.value):n.active),$=e.computed(()=>g.value?Array.isArray(p.value)?h.contains(l,p.value):h.equals(l,p.value):n.selected),{bemCssClasses:F}=C("vv-button",{modifiers:r,active:A,action:c,actionQuiet:a,selected:$,block:u,rounded:i,fullBleed:m,disabled:y,reverse:e.computed(()=>[O.right,O.bottom].includes(d.value)),column:e.computed(()=>[O.top,O.bottom].includes(d.value)),iconOnly:e.computed(()=>(s==null?void 0:s.value)&&!(f!=null&&f.value))}),q=e.computed(()=>({...B.value,"aria-label":n.label||o["aria-label"],"aria-disabled":y.value,role:"button",class:F.value,to:n.to})),B=e.computed(()=>{const V=_.value===N.a;let R={};return V&&(R=y.value?{href:"javascript:;"}:{target:n.target,href:n.href}),R});function S(){b.value&&(p.value=l)}return(V,R)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(_)),e.mergeProps(e.unref(q),{onClickPassive:S}),{default:e.withCtx(()=>[e.renderSlot(V.$slots,"default",{},()=>[V.loading?e.renderSlot(V.$slots,"loading",{key:0},()=>[V.loadingIcon?(e.openBlock(),e.createBlock(w,{key:0,class:"vv-button__loading-icon",name:V.loadingIcon},null,8,["name"])):e.createCommentVNode("",!0),V.loadingLabel?(e.openBlock(),e.createElementBlock("span",x,e.toDisplayString(V.loadingLabel),1)):e.createCommentVNode("",!0)]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(V.$slots,"before"),e.unref(s)?(e.openBlock(),e.createBlock(w,{key:0,class:"vv-button__icon",name:e.unref(s)},null,8,["name"])):e.createCommentVNode("",!0),e.unref(f)?(e.openBlock(),e.createElementBlock("span",ee,[e.renderSlot(V.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(f)),1)])])):e.createCommentVNode("",!0),e.renderSlot(V.$slots,"after")],64))])]),_:3},16))}}),oe={value:[String,Number],color:String},ne=e.defineComponent({__name:"VvBadge",props:oe,setup(t){const n=t,o=e.computed(()=>n.color?`vv-badge--${n.color}`:"");return(l,r)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["vv-badge",e.unref(o)]),role:"status"},e.toDisplayString(l.value),3))}}),re={disabled:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},toggle:{type:Boolean,default:!1},block:{type:Boolean,default:!1},rounded:{type:Boolean,default:!1},action:Boolean,actionQuiet:Boolean,modelValue:{type:String,default:void 0}},le=["update:modelValue"];function j(t){if(Object.keys(t).some(n=>n!=="key"&&!e.isRef(t[n])))throw Error("One or more groupState props aren't ref.");e.provide(t.key,e.computed(()=>t))}const se=e.defineComponent({__name:"VvButtonGroup",props:re,emits:le,setup(t,{emit:n}){const o=t,l=E.useVModel(o,"modelValue",n),{disabled:r,vertical:c,compact:a,block:u,rounded:i,toggle:m,action:d,actionQuiet:s}=e.toRefs(o),{bemCssClasses:f}=C("vv-button-group",{vertical:c,compact:a,block:u});return j({key:z,modelValue:l,disabled:r,toggle:m,rounded:i,action:d,actionQuiet:s}),(y,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(f)),role:"group"},[e.renderSlot(y.$slots,"default")],2))}}),ae={title:String,content:String,open:Boolean,iconRight:Boolean,bordered:Boolean,modifiers:[String,Array],disabled:Boolean},ce=["update:open"];function ie(t,n){const{group:o,isInGroup:l,getGroupOrLocalRef:r}=I(M),{modifiers:c}=e.toRefs(t),a=r("modelValue",t,n),u=r("bordered",t),i=r("disabled",t),m=r("iconRight",t),d=r("accordion",t);return{modelValue:a,disabled:i,bordered:u,iconRight:m,isInGroup:l,group:o,accordion:d,modifiers:c}}const de=["open"],ue=["aria-controls","aria-expanded"],pe=["aria-hidden"],H=e.defineComponent({__name:"VvAccordion",props:ae,emits:ce,setup(t,{emit:n}){const o=t,l=e.useAttrs(),r=(l==null?void 0:l.name)||v.v4(),{modelValue:c,modifiers:a,bordered:u,disabled:i=e.ref(!1),iconRight:m,isInGroup:d,accordion:s}=ie(o,n),f=e.computed(()=>d.value?s.value?h.equals(r,c.value):h.contains(r,c.value):o.open),{bemCssClasses:p}=C("vv-accordion",{modifiers:a,disabled:i,markerRight:e.computed(()=>m.value),bordered:u}),y=b=>{const _=b.target;n("update:open",_.open)},g=b=>{d.value&&(s.value?c.value=f.value?null:r:c.value=f.value?h.removeFromList(r,c.value):[...c.value,r],b.preventDefault())};return(b,_)=>(e.openBlock(),e.createElementBlock("details",{class:e.normalizeClass(e.unref(p)),open:e.unref(f),onToggle:y,onClick:g},[e.createElementVNode("summary",{"aria-controls":`#${e.unref(r)}`,"aria-expanded":e.unref(f),class:"vv-collapse__summary"},[e.renderSlot(b.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(b.title),1)])],8,ue),e.createElementVNode("div",{"aria-hidden":!e.unref(f),class:"vv-collapse__content"},[e.renderSlot(b.$slots,"details",{},()=>[e.createTextVNode(e.toDisplayString(b.content),1)])],8,pe)],42,de))}}),fe={modelValue:[String,Array],iconRight:Boolean,bordered:Boolean,items:{type:Array,default:()=>[]},accordion:Boolean,modifiers:[String,Array],disabled:Boolean},me=["update:open"],ge=e.defineComponent({__name:"VvAccordionGroup",props:fe,emits:me,setup(t,{emit:n}){const o=t,l=E.useVModel(o,"modelValue",n),{disabled:r,bordered:c,iconRight:a,accordion:u,modifiers:i,items:m}=e.toRefs(o);j({key:M,modelValue:l,disabled:r,bordered:c,iconRight:a,accordion:u});const{bemCssClasses:s}=C("vv-accordion-group",{modifiers:i,disabled:r});return(f,p)=>{var y;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(s))},[((y=o.items)==null?void 0:y.length)>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(m),g=>(e.openBlock(),e.createBlock(H,e.mergeProps({key:g.title},{name:g.name,title:g.title,content:g.content,...o}),null,16))),128)):e.renderSlot(f.$slots,"default",{key:1})],2)}}}),U={valid:Boolean,validLabel:[String,Array]},K={error:Boolean,errorLabel:[String,Array]},ye={disabled:Boolean},Q={modifiers:[String,Array]},he={hintLabel:{type:String,default:""}},be={options:{type:Array,default:()=>[]},optionLabel:{type:[String,Function],default:()=>"label"},optionValue:{type:[String,Function],default:()=>"value"}},ke={...Q,routes:Array,multiline:Boolean},Ve={class:"vv-breadcrumb__list"},_e=["content"],Be=e.defineComponent({__name:"VvBreadcrumb",props:ke,setup(t){const n=t,{modifiers:o,multiline:l}=e.toRefs(n),{bemCssClasses:r}=C("vv-breadcrumb",{modifiers:o,multiline:l});return(c,a)=>(e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(e.unref(r)),"aria-label":"breadcrumbs"},[e.createElementVNode("ol",Ve,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.routes,(u,i)=>{var m,d,s,f;return e.openBlock(),e.createElementBlock("li",{key:`${u.label}-${i}`,class:e.normalizeClass({"vv-breadcrumb__item":i<Number((m=c.routes)==null?void 0:m.length)-1,"vv-breadcrumb__item-active":i===Number((d=c.routes)==null?void 0:d.length)-1}),itemprop:"itemListElement",itemtype:"https://schema.org/ListItem",itemscope:""},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u.to?"router-link":u.href?"a":"span"),e.mergeProps(u,{class:{"vv-breadcrumb__link":i<Number((s=c.routes)==null?void 0:s.length)-1},"aria-current":i===Number((f=c.routes)==null?void 0:f.length)-1?"page":void 0,itemprop:"item"}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.label)+" ",1)]),_:2},1040,["class","aria-current"])),e.createElementVNode("meta",{itemprop:"position",content:`${i+1}`},null,8,_e)],2)}),128))])],2))}}),Ce={title:String,modifiers:[String,Array]},Se={key:0,class:"vv-card__header"},Ae={key:1,class:"vv-card__content"},$e={key:2,class:"vv-card__footer"},Ee=e.defineComponent({__name:"VvCard",props:Ce,setup(t){const n=t,o=e.useAttrs(),{modifiers:l}=e.toRefs(n),{bemCssClasses:r}=C("vv-card",{modifiers:l}),c=e.computed(()=>o);return(a,u)=>(e.openBlock(),e.createElementBlock("article",e.mergeProps({class:e.unref(r)},e.unref(c)),[a.$slots.header||a.title?(e.openBlock(),e.createElementBlock("header",Se,[e.renderSlot(a.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(a.title),1)])])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"default"),a.$slots.content?(e.openBlock(),e.createElementBlock("div",Ae,[e.renderSlot(a.$slots,"content")])):e.createCommentVNode("",!0),a.$slots.footer?(e.openBlock(),e.createElementBlock("footer",$e,[e.renderSlot(a.$slots,"footer")])):e.createCommentVNode("",!0)],16))}}),Oe={...U,...K,value:null,modelValue:null,binary:Boolean,trueValue:{type:null,default:!0},falseValue:{type:null,default:!1},switch:Boolean,label:String,disabled:Boolean,readonly:Boolean},Ne=["click","update:modelValue","change","focus","blur"];function Pe(t,n){const{group:o,isInGroup:l,getGroupOrLocalRef:r}=I(T),{valid:c,error:a,switch:u}=e.toRefs(t),i=r("modelValue",t,n),m=r("readonly",t),d=r("disabled",t);return{group:o,isInGroup:l,valid:c,error:a,propsSwitch:u,modelValue:i,readonly:m,disabled:d}}function Re(t,n){const{focused:o}=E.useFocus(t);return e.watch(o,l=>{n(l?"focus":"blur",t.value)}),{focused:o}}const we={inheritAttrs:!1},Z=e.defineComponent({...we,__name:"VvCheck",props:Oe,emits:Ne,setup(t,{emit:n}){const o=t,l=e.useAttrs(),{disabled:r,readonly:c,valid:a,error:u,propsSwitch:i,modelValue:m}=Pe(o,n),d=e.ref(),{focused:s}=Re(d,n),f=e.computed(()=>o.binary?h.equals(m.value,o.trueValue):Array.isArray(m.value)?h.contains(o.value,m.value):h.equals(o.value,m.value)),{bemCssClasses:p}=C("vv-input-checkbox",{switch:i,valid:a,invalid:u}),{bemCssClasses:y}=C("vv-input-check__input",{checked:f,disabled:r,readonly:c}),g=e.computed(()=>({[l.class]:!0,...p.value})),b=e.computed(()=>({...y.value,"focus-visible":s.value})),_=e.computed(()=>{const{id:B,name:S,style:V}=l,R=h.pickBy(l,Ye=>Ye.startsWith("data-"));return{for:B||S,style:V,...R}}),A=e.computed(()=>{const{id:B="",name:S=""}=l;return{type:"checkbox",id:B||S,name:S,value:o.value,disabled:r.value,readonly:c.value,checked:f.value,...$.value}}),$=e.computed(()=>{const{name:B}=l,S=h.pickBy(l,V=>V.startsWith("aria-"));return{"aria-label":B,"aria-checked":f.value,...S}});function F(){if(o.binary){m.value=f.value?o.falseValue:o.trueValue;return}if(m.value===null){m.value=[o.value];return}if(Array.isArray(m.value)){m.value=f.value?h.removeFromList(o.value,m.value):[...m.value,o.value];return}}function q(B){r.value||(n("click",B),n("change",f.value?o.value:null),s.value=!0)}return(B,S)=>(e.openBlock(),e.createElementBlock("label",e.mergeProps({class:e.unref(g)},e.unref(_),{onClick:q}),[e.createElementVNode("input",e.mergeProps({ref_key:"input",ref:d,class:e.unref(b)},e.unref(A),{onInput:F}),null,16),e.renderSlot(B.$slots,"default",{value:e.unref(m)},()=>[e.createTextVNode(e.toDisplayString(B.label),1)])],16))}}),De={...U,...K,...he,...be,modelValue:{type:Array},label:{type:String,default:""},name:{type:String,default:"",required:!0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1}},Ge=["update:modelValue","change"];function ve(t){const{options:n,optionLabel:o,optionValue:l}=e.toRefs(t);return{options:n,getOptionLabel:a=>typeof a!="object"&&a!==null?a:typeof o.value=="function"?o.value(a):a[o.value],getOptionValue:a=>typeof a!="object"&&a!==null?a:typeof l.value=="function"?l.value(a):a[l.value]}}function D(t){return Array.isArray(t)?t.filter(n=>h.isString(n)).reduce((n,o)=>n.length>0?n+`
2
- `+o:o,""):t}function Ie(t,n){return{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup(o){const l=e.toRefs(t),{error:r,valid:c,hint:a,loading:u}=n,{hintLabel:i,modelValue:m,valid:d,validLabel:s,error:f,errorLabel:p}=l,y=h.resolveFieldData(l,"loading"),g=h.resolveFieldData(l,"loadingLabel"),b=e.computed(()=>f.value?!!(f.value&&r||(p==null?void 0:p.value)&&Array.isArray(p.value)&&p.value.length>0||(p==null?void 0:p.value)&&h.isNotEmpty(p.value)):!1),_=e.computed(()=>!!(i&&i.value||a||c||s&&s.value||b.value||(y==null?void 0:y.value)&&u||(y==null?void 0:y.value)&&(g==null?void 0:g.value))),A=e.computed(()=>{const $=E.toReactive({hintLabel:i,modelValue:m,valid:d,validLabel:s,error:f,errorLabel:p,loading:y,loadingLabel:g,...o.params});return f!=null&&f.value?(r==null?void 0:r($))||D(p==null?void 0:p.value)||(i==null?void 0:i.value):d!=null&&d.value?(c==null?void 0:c($))||D(s==null?void 0:s.value)||(i==null?void 0:i.value):y!=null&&y.value?(u==null?void 0:u($))||D(g==null?void 0:g.value)||(i==null?void 0:i.value):(a==null?void 0:a($))||D(i==null?void 0:i.value)||(i==null?void 0:i.value)});return{hasHint:_,hintContent:A}},render(){if(this.hasHint)return e.h("pre",{style:{"white-space":"pre"}},this.hintContent)}}}const je=["textContent"],Fe={class:"vv-input-checkbox-group__wrapper"},qe=e.defineComponent({__name:"VvCheckGroup",props:De,emits:Ge,setup(t,{emit:n}){const o=t,l=e.useSlots(),r=E.useVModel(o,"modelValue",n),{disabled:c,readonly:a,error:u,valid:i}=e.toRefs(o);j({key:T,modelValue:r,disabled:c,readonly:a});const{getOptionLabel:d,getOptionValue:s}=ve(o),{bemCssClasses:f}=C("vv-input-checkbox-group",{horizontal:e.computed(()=>!o.vertical),valid:i,invalid:u}),p=(g,b)=>({id:`${o.name}_opt${b}`,name:o.name,label:d(g),value:s(g)}),y=Ie(o,l);return(g,b)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(f))},[g.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(g.label)},null,8,je)):e.createCommentVNode("",!0),e.createElementVNode("div",Fe,[g.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(g.options,(_,A)=>(e.openBlock(),e.createBlock(Z,e.mergeProps({key:A},p(_,A)),null,16))),128)):e.renderSlot(g.$slots,"default",{key:1})]),e.createVNode(e.unref(y),{class:"vv-input-checkbox-group__hint"})],2))}}),G={normal:"",small:"small",fullscreen:"fullscreen"},Le=["open","close","update:open"],ze={id:{type:String,required:!0},title:String,open:Boolean,transition:{type:String,default:"fade-block"},size:{type:String,default:G.normal,validator:t=>Object.values(G).includes(t)},autoClose:{type:Boolean,default:!0}},Te={key:0,class:"vv-dialog__header"},Me=["onClick"],He={class:"vv-dialog__content"},Ue={key:1,class:"vv-dialog__footer"},Ke=e.defineComponent({__name:"VvDialog",props:ze,emits:Le,setup(t,{emit:n}){const o=t,l=E.useVModel(o,"open",n),r=e.ref(!0),c=e.ref(null),a=e.computed(()=>{const{id:s}=o;return{id:s,open:r.value}}),u=e.computed(()=>({"vv-dialog":!0,"vv-dialog--small":o.size===G.small,"vv-dialog--fullscreen":o.size===G.fullscreen})),i=e.computed(()=>`vv-dialog--${o.transition}`),m={"after-enter":()=>{r.value=!0,n("open")},"after-leave":()=>{r.value=!1,n("close")}};E.onClickOutside(c,()=>{o.autoClose&&(l.value=!1)});function d(){l.value=!1}return(s,f)=>(e.openBlock(),e.createBlock(e.Transition,e.mergeProps({name:e.unref(i)},e.toHandlers(m)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("dialog",e.mergeProps(e.unref(a),{class:e.unref(u)}),[e.createElementVNode("article",{ref_key:"modalWrapper",ref:c,class:"vv-dialog__wrapper"},[s.$slots.header||s.title?(e.openBlock(),e.createElementBlock("header",Te,[e.renderSlot(s.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(s.title)+" ",1),e.createElementVNode("button",{type:"button","aria-label":"Close",class:"vv-dialog__close",onClick:e.withModifiers(d,["prevent"])},[e.createVNode(w,{name:"close"})],8,Me)])])):e.createCommentVNode("",!0),e.createElementVNode("div",He,[e.renderSlot(s.$slots,"default")]),s.$slots.footer?(e.openBlock(),e.createElementBlock("footer",Ue,[e.renderSlot(s.$slots,"footer")])):e.createCommentVNode("",!0)],512)],16),[[e.vShow,e.unref(l)]])]),_:3},16,["name"]))}}),Qe={...ye,...Q,modelValue:[String,Array,Object],labelNoResult:{type:String,default:"No results"},options:{type:Array,required:!0},useObject:Boolean,multiple:Boolean,maxValues:[Number,String],labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"}},Ze={key:0},We=["for"],Je=["id","type","value","checked","disabled"],Xe=e.defineComponent({__name:"VvDropdown",props:Qe,emits:["update:modelValue"],setup(t,{emit:n}){const o=t,l=v.v4(),{modifiers:r,disabled:c}=e.toRefs(o),{bemCssClasses:a}=C("vv-dropdown",{modifiers:r,disabled:c});function u(s){return Array.isArray(o.modelValue)?h.contains(s,o.modelValue)||h.contains(i(s),o.modelValue):h.equals(s,o.modelValue)||h.equals(i(s),o.modelValue)}function i(s){return typeof s=="string"?s:String(s[o.valueKey])}function m(s){return typeof s=="string"?s:s[o.labelKey]}function d(s){var g,b;const f=s.target;let p=f.value;if(p=(o.useObject?(g=o.options)==null?void 0:g.find(_=>_[o.valueKey]==p):null)||p,o.multiple){if(typeof o.maxValues<"u"&&o.maxValues>=0&&((b=o.modelValue)==null?void 0:b.length)>=o.maxValues&&(Array.isArray(o.modelValue)&&!h.contains(p,o.modelValue)||o.maxValues==0)){f.checked=!1;return}Array.isArray(o.modelValue)?p=h.contains(p,o.modelValue)?h.removeFromList(p,o.modelValue):[...o.modelValue,p]:p=[p]}n("update:modelValue",p)}return(s,f)=>{var p;return e.openBlock(),e.createElementBlock("ul",{class:e.normalizeClass(e.unref(a)),role:"listbox"},[(p=s.options)!=null&&p.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("li",Ze,[e.createElementVNode("label",null,e.toDisplayString(s.labelNoResult),1)])),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.options,(y,g)=>{var b;return e.openBlock(),e.createElementBlock("li",{key:g},[e.createElementVNode("label",{for:`dropdown-${g}-${e.unref(l)}`},[e.createElementVNode("input",{id:`dropdown-${g}-${e.unref(l)}`,type:s.multiple?"checkbox":"radio",value:i(y),checked:u(y),disabled:typeof y=="object"&&(b=y.disabled)!=null?b:e.unref(c),onInput:d},null,40,Je),e.createTextVNode(" "+e.toDisplayString(m(y)),1)],8,We)])}),128))],2)}}});k.VvAccordion=H,k.VvAccordionGroup=ge,k.VvBadge=ne,k.VvBreadcrumb=Be,k.VvButton=te,k.VvButtonGroup=se,k.VvCard=Ee,k.VvCheck=Z,k.VvCheckGroup=qe,k.VvDialog=Ke,k.VvDropdown=Xe,k.VvIcon=w,Object.defineProperties(k,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(k,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("uuid"),require("@iconify/vue"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["exports","vue","uuid","@iconify/vue","@vueuse/core"],e):(k=typeof globalThis<"u"?globalThis:k||self,e(k.components={},k.vue,k.uuid,k.vue$1,k.core))})(this,function(k,e,j,P,$){"use strict";const z={valid:Boolean,validLabel:[String,Array]},T={error:Boolean,errorLabel:[String,Array]},v={disabled:Boolean},R={modifiers:[String,Array]},J={hintLabel:{type:String,default:""}},X={options:{type:Array,default:()=>[]},optionLabel:{type:[String,Function],default:()=>"label"},optionValue:{type:[String,Function],default:()=>"value"}};var O=(t=>(t.left="left",t.right="right",t.top="top",t.bottom="bottom",t))(O||{}),N=(t=>(t.nuxtLink="nuxt-link",t.routerLink="router-link",t.a="a",t.button="button",t))(N||{}),M=(t=>(t._blank="_blank",t._self="_self",t._parent="_parent",t._top="_top",t))(M||{});const Q={...R,...v,icon:String,iconPosition:{type:String,default:"left",validator:t=>t in O},label:String,loading:Boolean,loadingIcon:{type:String,default:"eos-icons:bubble-loading"},loadingLabel:{type:String,default:"Loading..."},to:{type:[String,Object]},href:String,target:{type:String,validator:t=>t in M},active:Boolean,selected:Boolean},h={equals(t,n,o){return o?this.resolveFieldData(t,o)===this.resolveFieldData(n,o):this.deepEquals(t,n)},deepEquals(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){const o=Array.isArray(t),l=Array.isArray(n);let r,i,a;if(o&&l){if(i=t.length,i!=n.length)return!1;for(r=i;r--!==0;)if(!this.deepEquals(t[r],n[r]))return!1;return!0}if(o!=l)return!1;const d=t instanceof Date,c=n instanceof Date;if(d!=c)return!1;if(d&&c)return t.getTime()==n.getTime();const p=t instanceof RegExp,u=n instanceof RegExp;if(p!=u)return!1;if(p&&u)return t.toString()==n.toString();const s=Object.keys(t);if(i=s.length,i!==Object.keys(n).length)return!1;for(r=i;r--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[r]))return!1;for(r=i;r--!==0;)if(a=s[r],!this.deepEquals(t[a],n[a]))return!1;return!0}return t!==t&&n!==n},resolveFieldData(t,n){if(t&&Object.keys(t).length&&n){if(n.indexOf(".")===-1)return t[n];{const o=n.split(".");let l=t;for(let r=0,i=o.length;r<i;++r){if(t==null)return null;l=l[o[r]]}return l}}else return null},isFunction(t){return!!(t&&t.constructor&&t.call&&t.apply)},findIndexInList(t,n){let o=-1;if(n){for(let l=0;l<n.length;l++)if(this.equals(n[l],t)){o=l;break}}return o},contains(t,n){if(t!=null&&n&&n.length){for(const o of n)if(this.equals(t,o))return!0}return!1},isEmpty(t){return t==null||t===""||Array.isArray(t)&&t.length===0||!(t instanceof Date)&&typeof t=="object"&&Object.keys(t).length===0},isNotEmpty(t){return!this.isEmpty(t)},pickBy(t,n){return Object.fromEntries(Object.entries(t).filter(([o])=>n(o)))},removeFromList(t,n){const o=this.findIndexInList(t,n);return o>-1?n.filter((l,r)=>r!==o):n},isString(t){return typeof t=="string"||t instanceof String},propsToObject(t){return Object.keys(t).reduce((n,o)=>{var l,r,i,a,d;return this.isFunction(t[o])?n[o]=t[o]():Array.isArray(t[o])?n[o]=t[o][0]():(l=t[o])!=null&&l.type&&(Array.isArray(t[o].type)?n[o]=((r=t[o])==null?void 0:r.default)||((i=t[o])==null?void 0:i.type[0]()):n[o]=((a=t[o])==null?void 0:a.default)||((d=t[o])==null?void 0:d.type())),n},{})},filterArray(t,n,o){return t.filter(l=>n.some(r=>typeof r=="string"?l[o]==r:this.equals(l[o],r[o])))},kebabCase(t){var n,o;if(t)return(o=(n=t.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))==null?void 0:n.join("-"))==null?void 0:o.toLowerCase()}},Y="ds",x={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]}};function _(t,n){const o={[`${t}`]:!0};return{bemCssClasses:e.computed(()=>Object.keys(n).reduce((r,i)=>{const a=e.unref(n[i])||!1;if(!a)return r;if(i==="modifiers"){const d=Array.isArray(a)?a:[a];return{...r,...d.reduce((c,p)=>({...c,[`${t}--${h.kebabCase(p)}`]:!0}),{})}}else return{...r,[`${t}--${h.kebabCase(i)}`]:a}},o)||{})}}const D=e.defineComponent({__name:"VvIcon",props:x,setup(t){const n=t,o=e.ref(!0),{modifiers:l}=e.toRefs(n),r=e.inject(Y),{bemCssClasses:i}=_("vv-icon",{modifiers:l}),a=e.computed(()=>n.provider||(r==null?void 0:r.provider)),d=e.computed(()=>{const u=n.name||"",s=`@${a.value}:${n.prefix}:${n.name}`;return P.iconExists(u)?u:P.iconExists(s)?s:(r==null?void 0:r.iconsCollections.find(m=>{const f=`@${a.value}:${m.prefix}:${u}`;if(P.iconExists(f))return f}))||u});function c(u){let s=null;if(typeof window>"u"){const{JSDOM:g}=require("jsdom");s=new g().window}return(s?new s.DOMParser:new window.DOMParser).parseFromString(u,"text/html").querySelector("svg")}function p(u){const s=c(u),m=(s==null?void 0:s.innerHTML.trim())||"";s&&m&&P.addIcon(`@${a.value}:${n.prefix}:${n.name}`,{body:m,height:s.viewBox.baseVal.height,width:s.viewBox.baseVal.width})}return r&&(n.src?(o.value=!1,r.fetchIcon(n.src).then(u=>{u&&(p(u),o.value=!0)}).catch(u=>{throw new Error(`During fetch icon: ${u==null?void 0:u.message}`)})):n.svg&&p(n.svg)),(u,s)=>o.value?(e.openBlock(),e.createBlock(e.unref(P.Icon),e.mergeProps({key:0,class:e.unref(i)},{...u.$props,provider:e.unref(a),icon:e.unref(d)}),null,16,["class"])):e.createCommentVNode("",!0)}});function F(t){const n=e.inject(t,void 0),o=e.computed(()=>h.isNotEmpty(n));function l(r,i,a){if(n!=null&&n.value){const d=e.unref(n.value)[r];return e.computed({get(){return d==null?void 0:d.value},set(c){d.value=c}})}else{const d=e.toRef(i,r);return e.computed({get(){return d.value},set(c){a&&a(`update:${r}`,c)}})}}return{group:n,isInGroup:o,getGroupOrLocalRef:l}}const H=Symbol("VV_BUTTON_GROUP"),U=Symbol("VV_CHECK_GROUP"),K=Symbol("VV_ACCORDION_GROUP");function ee(t){const{group:n,isInGroup:o,getGroupOrLocalRef:l}=F(H),{iconPosition:r,icon:i,label:a,selected:d}=e.toRefs(t),c=l("modelValue",t),p=l("disabled",t),u=l("toggle",t),s=l("modifiers",t);return{modelValue:c,disabled:p,toggle:u,isInGroup:o,group:n,modifiers:s,selected:d,iconPosition:r,icon:i,label:a}}const te={key:1,class:"vv-button__label"},oe={key:1,class:"vv-button__label"},ne=e.defineComponent({__name:"VvButton",props:Q,setup(t){const n=t,o=e.useAttrs(),l=e.useSlots(),r=(o==null?void 0:o.name)||j.v4(),{modifiers:i,iconPosition:a,icon:d,label:c,modelValue:p,disabled:u,toggle:s,isInGroup:m}=ee(n),f=e.computed(()=>{switch(!0){case u.value:return N.button;case n.to!==void 0:return N.routerLink;case n.href!==void 0:return N.a;default:return N.button}}),y=e.computed(()=>s.value?Array.isArray(p.value)?h.contains(r,p.value):h.equals(r,p.value):n.active),g=e.computed(()=>s.value?Array.isArray(p.value)?h.contains(r,p.value):h.equals(r,p.value):n.selected),{bemCssClasses:b}=_("vv-button",{modifiers:i,active:y,selected:g,disabled:u,reverse:e.computed(()=>[O.right,O.bottom].includes(a.value)),column:e.computed(()=>[O.top,O.bottom].includes(a.value)),iconOnly:e.computed(()=>(d==null?void 0:d.value)&&!(c!=null&&c.value)&&!l.default)}),C=e.computed(()=>({...S.value,"aria-label":n.label||o["aria-label"],"aria-disabled":u.value,role:"button",class:b.value,to:n.to})),S=e.computed(()=>{const V=f.value===N.a;let w={};return V&&(w=u.value?{href:"javascript:;"}:{target:n.target,href:n.href}),w});function A(){m.value&&(p.value=r)}return(V,w)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(f)),e.mergeProps(e.unref(C),{onClickPassive:A}),{default:e.withCtx(()=>[e.renderSlot(V.$slots,"default",{},()=>[V.loading?e.renderSlot(V.$slots,"loading",{key:0},()=>[V.loadingIcon?(e.openBlock(),e.createBlock(D,{key:0,class:"vv-button__loading-icon",name:V.loadingIcon},null,8,["name"])):e.createCommentVNode("",!0),V.loadingLabel?(e.openBlock(),e.createElementBlock("span",te,e.toDisplayString(V.loadingLabel),1)):e.createCommentVNode("",!0)]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(V.$slots,"before"),e.unref(d)?(e.openBlock(),e.createBlock(D,{key:0,class:"vv-button__icon",name:e.unref(d)},null,8,["name"])):e.createCommentVNode("",!0),e.unref(c)?(e.openBlock(),e.createElementBlock("span",oe,[e.renderSlot(V.$slots,"label",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(c)),1)])])):e.createCommentVNode("",!0),e.renderSlot(V.$slots,"after")],64))])]),_:3},16))}}),re={...R,value:[String,Number]},se=e.defineComponent({__name:"VvBadge",props:re,setup(t){const n=t,{modifiers:o}=e.toRefs(n),{bemCssClasses:l}=_("vv-badge",{modifiers:o});return(r,i)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(l)),role:"status"},e.toDisplayString(r.value),3))}}),le={...R,...v,vertical:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},toggle:{type:Boolean,default:!1},modelValue:{type:String,default:void 0}},ae=["update:modelValue"];function q(t){if(Object.keys(t).some(n=>n!=="key"&&!e.isRef(t[n])))throw Error("One or more groupState props aren't ref.");e.provide(t.key,e.computed(()=>t))}const ce=e.defineComponent({__name:"VvButtonGroup",props:le,emits:ae,setup(t,{emit:n}){const o=t,l=$.useVModel(o,"modelValue",n),{disabled:r,vertical:i,compact:a,toggle:d,modifiers:c}=e.toRefs(o),{bemCssClasses:p}=_("vv-button-group",{modifiers:c,vertical:i,compact:a}),u={key:H,modelValue:l,disabled:r,toggle:d,modifiers:c!=null&&c.value?c:e.ref([])};return q(u),(s,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(p)),role:"group"},[e.renderSlot(s.$slots,"default")],2))}}),ie={title:String,content:String,open:Boolean,iconRight:Boolean,bordered:Boolean,modifiers:[String,Array],disabled:Boolean},de=["update:open"];function ue(t,n){const{group:o,isInGroup:l,getGroupOrLocalRef:r}=F(K),{modifiers:i}=e.toRefs(t),a=r("modelValue",t,n),d=r("bordered",t),c=r("disabled",t),p=r("iconRight",t),u=r("accordion",t);return{modelValue:a,disabled:c,bordered:d,iconRight:p,isInGroup:l,group:o,accordion:u,modifiers:i}}const pe=["open"],fe=["aria-controls","aria-expanded"],me=["aria-hidden"],Z=e.defineComponent({__name:"VvAccordion",props:ie,emits:de,setup(t,{emit:n}){const o=t,l=e.useAttrs(),r=(l==null?void 0:l.name)||j.v4(),{modelValue:i,modifiers:a,bordered:d,disabled:c=e.ref(!1),iconRight:p,isInGroup:u,accordion:s}=ue(o,n),m=e.computed(()=>u.value?s.value?h.equals(r,i.value):h.contains(r,i.value):o.open),{bemCssClasses:f}=_("vv-accordion",{modifiers:a,disabled:c,markerRight:e.computed(()=>p.value),bordered:d}),y=b=>{const C=b.target;n("update:open",C.open)},g=b=>{u.value&&(s.value?i.value=m.value?null:r:i.value=m.value?h.removeFromList(r,i.value):[...i.value,r],b.preventDefault())};return(b,C)=>(e.openBlock(),e.createElementBlock("details",{class:e.normalizeClass(e.unref(f)),open:e.unref(m),onToggle:y,onClick:g},[e.createElementVNode("summary",{"aria-controls":`#${e.unref(r)}`,"aria-expanded":e.unref(m),class:"vv-collapse__summary"},[e.renderSlot(b.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(b.title),1)])],8,fe),e.createElementVNode("div",{"aria-hidden":!e.unref(m),class:"vv-collapse__content"},[e.renderSlot(b.$slots,"details",{},()=>[e.createTextVNode(e.toDisplayString(b.content),1)])],8,me)],42,pe))}}),ge={modelValue:[String,Array],iconRight:Boolean,bordered:Boolean,items:{type:Array,default:()=>[]},accordion:Boolean,modifiers:[String,Array],disabled:Boolean},ye=["update:open"],he=e.defineComponent({__name:"VvAccordionGroup",props:ge,emits:ye,setup(t,{emit:n}){const o=t,l=$.useVModel(o,"modelValue",n),{disabled:r,bordered:i,iconRight:a,accordion:d,modifiers:c,items:p}=e.toRefs(o);q({key:K,modelValue:l,disabled:r,bordered:i,iconRight:a,accordion:d});const{bemCssClasses:s}=_("vv-accordion-group",{modifiers:c,disabled:r});return(m,f)=>{var y;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(s))},[((y=o.items)==null?void 0:y.length)>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(p),g=>(e.openBlock(),e.createBlock(Z,e.mergeProps({key:g.title},{name:g.name,title:g.title,content:g.content,...o}),null,16))),128)):e.renderSlot(m.$slots,"default",{key:1})],2)}}}),be={...R,routes:Array,multiline:Boolean},ke={class:"vv-breadcrumb__list"},Ve=["content"],_e=e.defineComponent({__name:"VvBreadcrumb",props:be,setup(t){const n=t,{modifiers:o,multiline:l}=e.toRefs(n),{bemCssClasses:r}=_("vv-breadcrumb",{modifiers:o,multiline:l});return(i,a)=>(e.openBlock(),e.createElementBlock("nav",{class:e.normalizeClass(e.unref(r)),"aria-label":"breadcrumbs"},[e.createElementVNode("ol",ke,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.routes,(d,c)=>{var p,u,s,m;return e.openBlock(),e.createElementBlock("li",{key:`${d.label}-${c}`,class:e.normalizeClass({"vv-breadcrumb__item":c<Number((p=i.routes)==null?void 0:p.length)-1,"vv-breadcrumb__item-active":c===Number((u=i.routes)==null?void 0:u.length)-1}),itemprop:"itemListElement",itemtype:"https://schema.org/ListItem",itemscope:""},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(d.to?"router-link":d.href?"a":"span"),e.mergeProps(d,{class:{"vv-breadcrumb__link":c<Number((s=i.routes)==null?void 0:s.length)-1},"aria-current":c===Number((m=i.routes)==null?void 0:m.length)-1?"page":void 0,itemprop:"item"}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.label)+" ",1)]),_:2},1040,["class","aria-current"])),e.createElementVNode("meta",{itemprop:"position",content:`${c+1}`},null,8,Ve)],2)}),128))])],2))}}),Ce={title:String,modifiers:[String,Array]},Be={key:0,class:"vv-card__header"},Se={key:1,class:"vv-card__content"},Ae={key:2,class:"vv-card__footer"},$e=e.defineComponent({__name:"VvCard",props:Ce,setup(t){const n=t,o=e.useAttrs(),{modifiers:l}=e.toRefs(n),{bemCssClasses:r}=_("vv-card",{modifiers:l}),i=e.computed(()=>o);return(a,d)=>(e.openBlock(),e.createElementBlock("article",e.mergeProps({class:e.unref(r)},e.unref(i)),[a.$slots.header||a.title?(e.openBlock(),e.createElementBlock("header",Be,[e.renderSlot(a.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(a.title),1)])])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"default"),a.$slots.content?(e.openBlock(),e.createElementBlock("div",Se,[e.renderSlot(a.$slots,"content")])):e.createCommentVNode("",!0),a.$slots.footer?(e.openBlock(),e.createElementBlock("footer",Ae,[e.renderSlot(a.$slots,"footer")])):e.createCommentVNode("",!0)],16))}}),Ee={...z,...T,value:null,modelValue:null,binary:Boolean,trueValue:{type:null,default:!0},falseValue:{type:null,default:!1},switch:Boolean,label:String,disabled:Boolean,readonly:Boolean},Oe=["click","update:modelValue","change","focus","blur"];function Ne(t,n){const{group:o,isInGroup:l,getGroupOrLocalRef:r}=F(U),{valid:i,error:a,switch:d}=e.toRefs(t),c=r("modelValue",t,n),p=r("readonly",t),u=r("disabled",t);return{group:o,isInGroup:l,valid:i,error:a,propsSwitch:d,modelValue:c,readonly:p,disabled:u}}function Pe(t,n){const{focused:o}=$.useFocus(t);return e.watch(o,l=>{n(l?"focus":"blur",t.value)}),{focused:o}}const Re={inheritAttrs:!1},W=e.defineComponent({...Re,__name:"VvCheck",props:Ee,emits:Oe,setup(t,{emit:n}){const o=t,l=e.useAttrs(),{disabled:r,readonly:i,valid:a,error:d,propsSwitch:c,modelValue:p}=Ne(o,n),u=e.ref(),{focused:s}=Pe(u,n),m=e.computed(()=>o.binary?h.equals(p.value,o.trueValue):Array.isArray(p.value)?h.contains(o.value,p.value):h.equals(o.value,p.value)),{bemCssClasses:f}=_("vv-input-checkbox",{switch:c,valid:a,invalid:d}),{bemCssClasses:y}=_("vv-input-check__input",{checked:m,disabled:r,readonly:i}),g=e.computed(()=>({[l.class]:!0,...f.value})),b=e.computed(()=>({...y.value,"focus-visible":s.value})),C=e.computed(()=>{const{id:B,name:E,style:L}=l,Qe=h.pickBy(l,Ye=>Ye.startsWith("data-"));return{for:B||E,style:L,...Qe}}),S=e.computed(()=>{const{id:B="",name:E=""}=l;return{type:"checkbox",id:B||E,name:E,value:o.value,disabled:r.value,readonly:i.value,checked:m.value,...A.value}}),A=e.computed(()=>{const{name:B}=l,E=h.pickBy(l,L=>L.startsWith("aria-"));return{"aria-label":B,"aria-checked":m.value,...E}});function V(){if(o.binary){p.value=m.value?o.falseValue:o.trueValue;return}if(p.value===null){p.value=[o.value];return}if(Array.isArray(p.value)){p.value=m.value?h.removeFromList(o.value,p.value):[...p.value,o.value];return}}function w(B){r.value||(n("click",B),n("change",m.value?o.value:null),s.value=!0)}return(B,E)=>(e.openBlock(),e.createElementBlock("label",e.mergeProps({class:e.unref(g)},e.unref(C),{onClick:w}),[e.createElementVNode("input",e.mergeProps({ref_key:"input",ref:u,class:e.unref(b)},e.unref(S),{onInput:V}),null,16),e.renderSlot(B.$slots,"default",{value:e.unref(p)},()=>[e.createTextVNode(e.toDisplayString(B.label),1)])],16))}}),we={...z,...T,...J,...X,modelValue:{type:Array},label:{type:String,default:""},name:{type:String,default:"",required:!0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1}},De=["update:modelValue","change"];function Ge(t){const{options:n,optionLabel:o,optionValue:l}=e.toRefs(t);return{options:n,getOptionLabel:a=>typeof a!="object"&&a!==null?a:typeof o.value=="function"?o.value(a):a[o.value],getOptionValue:a=>typeof a!="object"&&a!==null?a:typeof l.value=="function"?l.value(a):a[l.value]}}function G(t){return Array.isArray(t)?t.filter(n=>h.isString(n)).reduce((n,o)=>n.length>0?n+`
2
+ `+o:o,""):t}function Ie(t,n){return{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup(o){const l=e.toRefs(t),{error:r,valid:i,hint:a,loading:d}=n,{hintLabel:c,modelValue:p,valid:u,validLabel:s,error:m,errorLabel:f}=l,y=h.resolveFieldData(l,"loading"),g=h.resolveFieldData(l,"loadingLabel"),b=e.computed(()=>m.value?!!(m.value&&r||(f==null?void 0:f.value)&&Array.isArray(f.value)&&f.value.length>0||(f==null?void 0:f.value)&&h.isNotEmpty(f.value)):!1),C=e.computed(()=>!!(c&&c.value||a||i||s&&s.value||b.value||(y==null?void 0:y.value)&&d||(y==null?void 0:y.value)&&(g==null?void 0:g.value))),S=e.computed(()=>{const A=$.toReactive({hintLabel:c,modelValue:p,valid:u,validLabel:s,error:m,errorLabel:f,loading:y,loadingLabel:g,...o.params});return m!=null&&m.value?(r==null?void 0:r(A))||G(f==null?void 0:f.value)||(c==null?void 0:c.value):u!=null&&u.value?(i==null?void 0:i(A))||G(s==null?void 0:s.value)||(c==null?void 0:c.value):y!=null&&y.value?(d==null?void 0:d(A))||G(g==null?void 0:g.value)||(c==null?void 0:c.value):(a==null?void 0:a(A))||G(c==null?void 0:c.value)||(c==null?void 0:c.value)});return{hasHint:C,hintContent:S}},render(){if(this.hasHint)return e.h("pre",{style:{"white-space":"pre"}},this.hintContent)}}}const je=["textContent"],ve={class:"vv-input-checkbox-group__wrapper"},Fe=e.defineComponent({__name:"VvCheckGroup",props:we,emits:De,setup(t,{emit:n}){const o=t,l=e.useSlots(),r=$.useVModel(o,"modelValue",n),{disabled:i,readonly:a,error:d,valid:c}=e.toRefs(o);q({key:U,modelValue:r,disabled:i,readonly:a});const{getOptionLabel:u,getOptionValue:s}=Ge(o),{bemCssClasses:m}=_("vv-input-checkbox-group",{horizontal:e.computed(()=>!o.vertical),valid:c,invalid:d}),f=(g,b)=>({id:`${o.name}_opt${b}`,name:o.name,label:u(g),value:s(g)}),y=Ie(o,l);return(g,b)=>(e.openBlock(),e.createElementBlock("fieldset",{class:e.normalizeClass(e.unref(m))},[g.label?(e.openBlock(),e.createElementBlock("legend",{key:0,textContent:e.toDisplayString(g.label)},null,8,je)):e.createCommentVNode("",!0),e.createElementVNode("div",ve,[g.options.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(g.options,(C,S)=>(e.openBlock(),e.createBlock(W,e.mergeProps({key:S},f(C,S)),null,16))),128)):e.renderSlot(g.$slots,"default",{key:1})]),e.createVNode(e.unref(y),{class:"vv-input-checkbox-group__hint"})],2))}}),I={normal:"",small:"small",fullscreen:"fullscreen"},qe=["open","close","update:open"],Le={id:{type:String,required:!0},title:String,open:Boolean,transition:{type:String,default:"fade-block"},size:{type:String,default:I.normal,validator:t=>Object.values(I).includes(t)},autoClose:{type:Boolean,default:!0}},ze={key:0,class:"vv-dialog__header"},Te=["onClick"],Me={class:"vv-dialog__content"},He={key:1,class:"vv-dialog__footer"},Ue=e.defineComponent({__name:"VvDialog",props:Le,emits:qe,setup(t,{emit:n}){const o=t,l=$.useVModel(o,"open",n),r=e.ref(!0),i=e.ref(null),a=e.computed(()=>{const{id:s}=o;return{id:s,open:r.value}}),d=e.computed(()=>({"vv-dialog":!0,"vv-dialog--small":o.size===I.small,"vv-dialog--fullscreen":o.size===I.fullscreen})),c=e.computed(()=>`vv-dialog--${o.transition}`),p={"after-enter":()=>{r.value=!0,n("open")},"after-leave":()=>{r.value=!1,n("close")}};$.onClickOutside(i,()=>{o.autoClose&&(l.value=!1)});function u(){l.value=!1}return(s,m)=>(e.openBlock(),e.createBlock(e.Transition,e.mergeProps({name:e.unref(c)},e.toHandlers(p)),{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("dialog",e.mergeProps(e.unref(a),{class:e.unref(d)}),[e.createElementVNode("article",{ref_key:"modalWrapper",ref:i,class:"vv-dialog__wrapper"},[s.$slots.header||s.title?(e.openBlock(),e.createElementBlock("header",ze,[e.renderSlot(s.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(s.title)+" ",1),e.createElementVNode("button",{type:"button","aria-label":"Close",class:"vv-dialog__close",onClick:e.withModifiers(u,["prevent"])},[e.createVNode(D,{name:"close"})],8,Te)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Me,[e.renderSlot(s.$slots,"default")]),s.$slots.footer?(e.openBlock(),e.createElementBlock("footer",He,[e.renderSlot(s.$slots,"footer")])):e.createCommentVNode("",!0)],512)],16),[[e.vShow,e.unref(l)]])]),_:3},16,["name"]))}}),Ke={...v,...R,modelValue:[String,Array,Object],labelNoResult:{type:String,default:"No results"},options:{type:Array,required:!0},useObject:Boolean,multiple:Boolean,maxValues:[Number,String],labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"}},Ze={key:0},We=["for"],Je=["id","type","value","checked","disabled"],Xe=e.defineComponent({__name:"VvDropdown",props:Ke,emits:["update:modelValue"],setup(t,{emit:n}){const o=t,l=j.v4(),{modifiers:r,disabled:i}=e.toRefs(o),{bemCssClasses:a}=_("vv-dropdown",{modifiers:r,disabled:i});function d(s){return Array.isArray(o.modelValue)?h.contains(s,o.modelValue)||h.contains(c(s),o.modelValue):h.equals(s,o.modelValue)||h.equals(c(s),o.modelValue)}function c(s){return typeof s=="string"?s:String(s[o.valueKey])}function p(s){return typeof s=="string"?s:s[o.labelKey]}function u(s){var g,b;const m=s.target;let f=m.value;if(f=(o.useObject?(g=o.options)==null?void 0:g.find(C=>C[o.valueKey]==f):null)||f,o.multiple){if(typeof o.maxValues<"u"&&o.maxValues>=0&&((b=o.modelValue)==null?void 0:b.length)>=o.maxValues&&(Array.isArray(o.modelValue)&&!h.contains(f,o.modelValue)||o.maxValues==0)){m.checked=!1;return}Array.isArray(o.modelValue)?f=h.contains(f,o.modelValue)?h.removeFromList(f,o.modelValue):[...o.modelValue,f]:f=[f]}n("update:modelValue",f)}return(s,m)=>{var f;return e.openBlock(),e.createElementBlock("ul",{class:e.normalizeClass(e.unref(a)),role:"listbox"},[(f=s.options)!=null&&f.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("li",Ze,[e.createElementVNode("label",null,e.toDisplayString(s.labelNoResult),1)])),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.options,(y,g)=>{var b;return e.openBlock(),e.createElementBlock("li",{key:g},[e.createElementVNode("label",{for:`dropdown-${g}-${e.unref(l)}`},[e.createElementVNode("input",{id:`dropdown-${g}-${e.unref(l)}`,type:s.multiple?"checkbox":"radio",value:c(y),checked:d(y),disabled:typeof y=="object"&&(b=y.disabled)!=null?b:e.unref(i),onInput:u},null,40,Je),e.createTextVNode(" "+e.toDisplayString(p(y)),1)],8,We)])}),128))],2)}}});k.VvAccordion=Z,k.VvAccordionGroup=he,k.VvBadge=se,k.VvBreadcrumb=_e,k.VvButton=ne,k.VvButtonGroup=ce,k.VvCard=$e,k.VvCheck=W,k.VvCheckGroup=Fe,k.VvDialog=Ue,k.VvDropdown=Xe,k.VvIcon=D,Object.defineProperties(k,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -16,4 +16,8 @@ export default interface IButtonGroupState extends IGroupState {
16
16
  * True = gruppo di pulsanti è in modalità TOGGLE (come i radio buttons)
17
17
  */
18
18
  toggle: Ref<boolean>;
19
+ /**
20
+ * add modifiers to buttons
21
+ */
22
+ modifiers: Ref<Array<string> | string | undefined>;
19
23
  }
package/dist/icons.es.js CHANGED
@@ -601,11 +601,11 @@ const t = {
601
601
  }
602
602
  }, o = 24, e = 24, l = {
603
603
  prefix: r,
604
- lastModified: 1668450940,
604
+ lastModified: 1668622110,
605
605
  icons: t,
606
606
  width: o,
607
607
  height: e
608
- }, n = "detailed", i = 1668450940, a = {
608
+ }, n = "detailed", i = 1668622110, a = {
609
609
  add: {
610
610
  body: '<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M4 15.999h24m-12-12v24"/>'
611
611
  },
@@ -1209,7 +1209,7 @@ const t = {
1209
1209
  icons: a,
1210
1210
  width: c,
1211
1211
  height: h
1212
- }, d = "simple", k = 1668450940, m = {
1212
+ }, d = "simple", k = 1668622110, m = {
1213
1213
  add: {
1214
1214
  body: '<path fill="none" stroke="currentColor" stroke-linecap="round" d="M.5 8h15M8 .5v15"/>'
1215
1215
  },