@velkymx/vibeui 0.2.0 → 0.4.0

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 (71) hide show
  1. package/README.md +592 -1
  2. package/dist/App.vue.d.ts +2 -0
  3. package/dist/components/HelloWorld.vue.d.ts +5 -0
  4. package/dist/components/VibeAccordion.vue.d.ts +51 -0
  5. package/dist/components/VibeAccordionItem.vue.d.ts +57 -0
  6. package/dist/components/VibeAlert.vue.d.ts +61 -0
  7. package/dist/components/VibeBadge.vue.d.ts +52 -0
  8. package/dist/components/VibeBreadcrumb.vue.d.ts +43 -0
  9. package/dist/components/VibeBreadcrumbItem.vue.d.ts +51 -0
  10. package/dist/components/VibeButton.vue.d.ts +99 -0
  11. package/dist/components/VibeButtonGroup.vue.d.ts +61 -0
  12. package/dist/components/VibeCard.vue.d.ts +126 -0
  13. package/dist/components/VibeCardBody.vue.d.ts +34 -0
  14. package/dist/components/VibeCardFooter.vue.d.ts +34 -0
  15. package/dist/components/VibeCardHeader.vue.d.ts +34 -0
  16. package/dist/components/VibeCardImg.vue.d.ts +44 -0
  17. package/dist/components/VibeCardText.vue.d.ts +33 -0
  18. package/dist/components/VibeCardTitle.vue.d.ts +33 -0
  19. package/dist/components/VibeCarousel.vue.d.ts +137 -0
  20. package/dist/components/VibeCarouselSlide.vue.d.ts +80 -0
  21. package/dist/components/VibeCloseButton.vue.d.ts +38 -0
  22. package/dist/components/VibeCol.vue.d.ts +206 -0
  23. package/dist/components/VibeCollapse.vue.d.ts +70 -0
  24. package/dist/components/VibeContainer.vue.d.ts +44 -0
  25. package/dist/components/VibeDataTable.vue.d.ts +261 -0
  26. package/dist/components/VibeDropdown.vue.d.ts +96 -0
  27. package/dist/components/VibeDropdownItem.vue.d.ts +81 -0
  28. package/dist/components/VibeFormCheckbox.vue.d.ts +134 -0
  29. package/dist/components/VibeFormDatepicker.vue.d.ts +154 -0
  30. package/dist/components/VibeFormGroup.vue.d.ts +112 -0
  31. package/dist/components/VibeFormInput.vue.d.ts +154 -0
  32. package/dist/components/VibeFormRadio.vue.d.ts +132 -0
  33. package/dist/components/VibeFormSelect.vue.d.ts +167 -0
  34. package/dist/components/VibeFormSpinbutton.vue.d.ts +176 -0
  35. package/dist/components/VibeFormSwitch.vue.d.ts +107 -0
  36. package/dist/components/VibeFormTextarea.vue.d.ts +163 -0
  37. package/dist/components/VibeFormWysiwyg.vue.d.ts +156 -0
  38. package/dist/components/VibeIcon.vue.d.ts +83 -0
  39. package/dist/components/VibeListGroup.vue.d.ts +63 -0
  40. package/dist/components/VibeListGroupItem.vue.d.ts +90 -0
  41. package/dist/components/VibeModal.vue.d.ts +126 -0
  42. package/dist/components/VibeNav.vue.d.ts +81 -0
  43. package/dist/components/VibeNavItem.vue.d.ts +80 -0
  44. package/dist/components/VibeNavbar.vue.d.ts +71 -0
  45. package/dist/components/VibeNavbarBrand.vue.d.ts +42 -0
  46. package/dist/components/VibeNavbarNav.vue.d.ts +36 -0
  47. package/dist/components/VibeNavbarToggle.vue.d.ts +26 -0
  48. package/dist/components/VibeOffcanvas.vue.d.ts +89 -0
  49. package/dist/components/VibePagination.vue.d.ts +72 -0
  50. package/dist/components/VibePaginationItem.vue.d.ts +62 -0
  51. package/dist/components/VibePlaceholder.vue.d.ts +70 -0
  52. package/dist/components/VibePopover.vue.d.ts +69 -0
  53. package/dist/components/VibeProgress.vue.d.ts +33 -0
  54. package/dist/components/VibeProgressBar.vue.d.ts +88 -0
  55. package/dist/components/VibeRow.vue.d.ts +269 -0
  56. package/dist/components/VibeScrollspy.vue.d.ts +71 -0
  57. package/dist/components/VibeSpinner.vue.d.ts +55 -0
  58. package/dist/components/VibeTabContent.vue.d.ts +44 -0
  59. package/dist/components/VibeTabPane.vue.d.ts +70 -0
  60. package/dist/components/VibeToast.vue.d.ts +90 -0
  61. package/dist/components/VibeTooltip.vue.d.ts +60 -0
  62. package/dist/components/index.d.ts +63 -0
  63. package/dist/composables/useFormValidation.d.ts +26 -0
  64. package/dist/index.d.ts +3 -0
  65. package/dist/main.d.ts +0 -0
  66. package/dist/types/index.d.ts +2 -0
  67. package/dist/types.d.ts +100 -0
  68. package/dist/vibeui.css +1 -1
  69. package/dist/vibeui.es.js +1936 -704
  70. package/dist/vibeui.umd.js +1 -1
  71. package/package.json +14 -4
@@ -1 +1 @@
1
- (function(c,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(c=typeof globalThis<"u"?globalThis:c||self,e(c.VibeUI={},c.Vue))})(this,(function(c,e){"use strict";const q=e.defineComponent({__name:"VibeAlert",props:{variant:{type:String,default:"primary"},modelValue:{type:Boolean,default:!0},dismissable:{type:Boolean,default:!1},message:{type:String,required:!0}},emits:["update:modelValue","component-error"],setup(t,{emit:s}){const a=t,r=s,l=e.computed({get:()=>a.modelValue,set:i=>r("update:modelValue",i)}),o=()=>{try{l.value=!1}catch(i){r("component-error",{message:"Dismiss failed",componentName:"VibeAlert",originalError:i})}};return(i,n)=>l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(`alert alert-${t.variant}`),role:"alert"},[e.renderSlot(i.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)]),t.dismissable?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn-close",onClick:o,"aria-label":"Close"})):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)}}),M=e.defineComponent({__name:"VibeBadge",props:{variant:{type:String,default:"primary"},pill:{type:Boolean,default:!1},tag:{type:String,default:"span"}},emits:["component-error"],setup(t,{emit:s}){const a=t,r=e.computed(()=>{const l=["badge",`bg-${a.variant}`];return a.pill&&l.push("rounded-pill"),l.join(" ")});return(l,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(r.value)},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["class"]))}}),O=e.defineComponent({__name:"VibeButton",props:{variant:{type:String,default:"primary"},size:{type:String,default:void 0},outline:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},type:{type:String,default:"button"},href:{type:String,default:void 0},to:{type:[String,Object],default:void 0},active:{type:Boolean,default:!1}},emits:["click","component-error"],setup(t,{emit:s}){const a=t,r=s,l=e.computed(()=>a.href?"a":a.to?"router-link":"button"),o=e.computed(()=>{const n=["btn"];return a.outline?n.push(`btn-outline-${a.variant}`):n.push(`btn-${a.variant}`),a.size&&n.push(`btn-${a.size}`),a.active&&n.push("active"),n.join(" ")}),i=n=>{a.disabled||r("click",n)};return(n,p)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{class:e.normalizeClass(o.value),type:t.href||t.to?void 0:t.type,href:t.href,to:t.to,disabled:t.disabled,"aria-disabled":t.disabled,onClick:i},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["class","type","href","to","disabled","aria-disabled"]))}}),G=["role","aria-label"],R=e.defineComponent({__name:"VibeButtonGroup",props:{size:{type:String,default:void 0},vertical:{type:Boolean,default:!1},role:{type:String,default:"group"},ariaLabel:{type:String,default:void 0}},emits:["component-error"],setup(t,{emit:s}){const a=t,r=e.computed(()=>{const l=[a.vertical?"btn-group-vertical":"btn-group"];return a.size&&l.push(`btn-group-${a.size}`),l.join(" ")});return(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value),role:t.role,"aria-label":t.ariaLabel},[e.renderSlot(l.$slots,"default")],10,G))}}),H=["disabled","aria-label"],U=e.defineComponent({__name:"VibeCloseButton",props:{disabled:{type:Boolean,default:!1},white:{type:Boolean,default:!1},ariaLabel:{type:String,default:"Close"}},emits:["click","component-error"],setup(t,{emit:s}){const a=t,r=s,l=o=>{a.disabled||r("click",o)};return(o,i)=>(e.openBlock(),e.createElementBlock("button",{type:"button",class:e.normalizeClass(["btn-close",{"btn-close-white":t.white}]),disabled:t.disabled,"aria-label":t.ariaLabel,onClick:l},null,10,H))}}),Q={class:"visually-hidden"},K=e.defineComponent({__name:"VibeSpinner",props:{variant:{type:String,default:void 0},type:{type:String,default:"border"},size:{type:String,default:void 0},label:{type:String,default:"Loading..."},tag:{type:String,default:"div"}},emits:["component-error"],setup(t,{emit:s}){const a=t,r=e.computed(()=>{const l=[`spinner-${a.type}`];return a.variant&&l.push(`text-${a.variant}`),a.size&&l.push(`spinner-${a.type}-${a.size}`),l.join(" ")});return(l,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(r.value),role:"status"},{default:e.withCtx(()=>[e.createElementVNode("span",Q,e.toDisplayString(t.label),1)]),_:1},8,["class"]))}}),J=e.defineComponent({__name:"VibePlaceholder",props:{variant:{type:String,default:void 0},size:{type:String,default:void 0},animation:{type:String,default:void 0},width:{type:[String,Number],default:void 0},tag:{type:String,default:"span"}},emits:["component-error"],setup(t,{emit:s}){const a=t,r=e.computed(()=>{const i=["placeholder"];return a.variant&&i.push(`bg-${a.variant}`),a.size&&i.push(`placeholder-${a.size}`),i.join(" ")}),l=e.computed(()=>{if(a.animation)return`placeholder-${a.animation}`}),o=e.computed(()=>{if(a.width)return{width:typeof a.width=="number"?`${a.width}%`:a.width}});return(i,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(l.value)},{default:e.withCtx(()=>[e.createElementVNode("span",{class:e.normalizeClass(r.value),style:e.normalizeStyle(o.value)},[e.renderSlot(i.$slots,"default")],6)]),_:3},8,["class"]))}}),w=e.defineComponent({__name:"VibeCardHeader",props:{tag:{type:String,default:"div"}},emits:["component-error"],setup(t,{emit:s}){return(a,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:"card-header"},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3}))}}),E=e.defineComponent({__name:"VibeCardBody",props:{tag:{type:String,default:"div"}},emits:["component-error"],setup(t,{emit:s}){return(a,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:"card-body"},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3}))}}),z=e.defineComponent({__name:"VibeCardFooter",props:{tag:{type:String,default:"div"}},emits:["component-error"],setup(t,{emit:s}){return(a,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:"card-footer"},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3}))}}),W=["src","alt"],$=e.defineComponent({__name:"VibeCardImg",props:{src:{type:String,required:!0},alt:{type:String,default:""},top:{type:Boolean,default:!1},bottom:{type:Boolean,default:!1}},emits:["component-error"],setup(t,{emit:s}){const a=t,r=a.top?"card-img-top":a.bottom?"card-img-bottom":"card-img";return(l,o)=>(e.openBlock(),e.createElementBlock("img",{src:t.src,alt:t.alt,class:e.normalizeClass(e.unref(r))},null,10,W))}}),D=e.defineComponent({__name:"VibeCardTitle",props:{tag:{type:String,default:"h5"}},emits:["component-error"],setup(t,{emit:s}){return(a,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:"card-title"},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3}))}}),x=e.defineComponent({__name:"VibeCardText",props:{tag:{type:String,default:"p"}},emits:["component-error"],setup(t,{emit:s}){return(a,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:"card-text"},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3}))}}),X=e.defineComponent({__name:"VibeCard",props:{variant:{type:String,default:void 0},border:{type:String,default:void 0},textVariant:{type:String,default:void 0},tag:{type:String,default:"div"},title:{type:String,default:void 0},body:{type:String,default:void 0},header:{type:String,default:void 0},footer:{type:String,default:void 0},headerImage:{type:String,default:void 0},headerImageAlt:{type:String,default:""},footerImage:{type:String,default:void 0},footerImageAlt:{type:String,default:""}},emits:["component-error"],setup(t,{emit:s}){const a=t,r=e.useSlots(),l=e.computed(()=>{const n=["card"];return a.variant&&n.push(`bg-${a.variant}`),a.border&&n.push(`border-${a.border}`),a.textVariant&&n.push(`text-${a.textVariant}`),n.join(" ")}),o=e.computed(()=>!!(a.title||a.body||a.header||a.footer||a.headerImage||a.footerImage)),i=e.computed(()=>!!(r.default||r.header||r.footer||r.body));return(n,p)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(l.value)},{default:e.withCtx(()=>[o.value&&!i.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.headerImage?(e.openBlock(),e.createBlock($,{key:0,top:"",src:t.headerImage,alt:t.headerImageAlt},null,8,["src","alt"])):e.createCommentVNode("",!0),t.header?(e.openBlock(),e.createBlock(w,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.header),1)]),_:1})):e.createCommentVNode("",!0),t.title||t.body?(e.openBlock(),e.createBlock(E,{key:2},{default:e.withCtx(()=>[t.title?(e.openBlock(),e.createBlock(D,{key:0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1})):e.createCommentVNode("",!0),t.body?(e.openBlock(),e.createBlock(x,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.body),1)]),_:1})):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0),t.footer?(e.openBlock(),e.createBlock(z,{key:3},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.footer),1)]),_:1})):e.createCommentVNode("",!0),t.footerImage?(e.openBlock(),e.createBlock($,{key:4,bottom:"",src:t.footerImage,alt:t.footerImageAlt},null,8,["src","alt"])):e.createCommentVNode("",!0)],64)):e.renderSlot(n.$slots,"default",{key:1})]),_:3},8,["class"]))}}),Y=["aria-current"],P=e.defineComponent({__name:"VibeBreadcrumbItem",props:{active:{type:Boolean,default:!1},href:{type:String,default:void 0},to:{type:[String,Object],default:void 0}},emits:["component-error"],setup(t,{emit:s}){const a=t,r=a.href?"a":a.to?"router-link":"span";return(l,o)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(["breadcrumb-item",{active:t.active}]),"aria-current":t.active?"page":void 0},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(r)),{href:t.href,to:t.to},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["href","to"]))],10,Y))}}),Z=["aria-label"],v={class:"breadcrumb"},ee=e.defineComponent({__name:"VibeBreadcrumb",props:{ariaLabel:{type:String,default:"breadcrumb"},items:{type:Array,default:void 0}},emits:["component-error"],setup(t,{emit:s}){const a=e.useSlots();return(r,l)=>(e.openBlock(),e.createElementBlock("nav",{"aria-label":t.ariaLabel},[e.createElementVNode("ol",v,[t.items&&t.items.length>0&&!e.unref(a).default?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(o,i)=>(e.openBlock(),e.createBlock(P,{key:i,href:o.href,to:o.to,active:o.active},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.text),1)]),_:2},1032,["href","to","active"]))),128)):e.renderSlot(r.$slots,"default",{key:1})])],8,Z))}}),te={class:"nav-item"},N=e.defineComponent({__name:"VibeNavItem",props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},href:{type:String,default:void 0},to:{type:[String,Object],default:void 0}},emits:["click","component-error"],setup(t,{emit:s}){const a=t,r=s,l=e.computed(()=>a.href?"a":a.to?"router-link":"a"),o=e.computed(()=>{const n=["nav-link"];return a.active&&n.push("active"),a.disabled&&n.push("disabled"),n.join(" ")}),i=n=>{a.disabled||r("click",n)};return(n,p)=>(e.openBlock(),e.createElementBlock("li",te,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{class:e.normalizeClass(o.value),href:t.href,to:t.to,"aria-current":t.active?"page":void 0,"aria-disabled":t.disabled,onClick:i},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["class","href","to","aria-current","aria-disabled"]))]))}}),ae=e.defineComponent({__name:"VibeNav",props:{tabs:{type:Boolean,default:!1},pills:{type:Boolean,default:!1},fill:{type:Boolean,default:!1},justified:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},tag:{type:String,default:"ul"},items:{type:Array,default:void 0}},emits:["component-error"],setup(t,{emit:s}){const a=t,r=e.useSlots(),l=e.computed(()=>{const o=["nav"];return a.tabs&&o.push("nav-tabs"),a.pills&&o.push("nav-pills"),a.fill&&o.push("nav-fill"),a.justified&&o.push("nav-justified"),a.vertical&&o.push("flex-column"),o.join(" ")});return(o,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(l.value)},{default:e.withCtx(()=>[t.items&&t.items.length>0&&!e.unref(r).default?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(n,p)=>(e.openBlock(),e.createBlock(N,{key:p,href:n.href,to:n.to,active:n.active,disabled:n.disabled},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.text),1)]),_:2},1032,["href","to","active","disabled"]))),128)):e.renderSlot(o.$slots,"default",{key:1})]),_:3},8,["class"]))}}),oe=e.defineComponent({__name:"VibeNavbar",props:{variant:{type:String,default:"light"},expand:{type:[Boolean,String],default:"lg"},container:{type:[Boolean,String],default:!0},position:{type:String,default:void 0},tag:{type:String,default:"nav"}},emits:["component-error"],setup(t,{emit:s}){const a=t,r=e.computed(()=>{const o=["navbar"];return a.expand===!0?o.push("navbar-expand"):typeof a.expand=="string"&&o.push(`navbar-expand-${a.expand}`),a.variant==="dark"||a.variant==="light"?o.push(`navbar-${a.variant}`):o.push(`bg-${a.variant}`),a.position&&o.push(a.position),o.join(" ")}),l=e.computed(()=>{if(a.container!==!1)return a.container===!0?"container-fluid":`container-${a.container}`});return(o,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(r.value)},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(l.value)},[e.renderSlot(o.$slots,"default")],2)):e.renderSlot(o.$slots,"default",{key:1})]),_:3},8,["class"]))}}),le=e.defineComponent({__name:"VibeNavbarBrand",props:{href:{type:String,default:void 0},to:{type:[String,Object],default:void 0}},emits:["component-error"],setup(t,{emit:s}){const a=t,r=a.href?"a":a.to?"router-link":"span";return(l,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(r)),{class:"navbar-brand",href:t.href,to:t.to},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["href","to"]))}}),ne=["data-bs-target","aria-controls","aria-label"],re=e.defineComponent({__name:"VibeNavbarToggle",props:{target:{type:String,required:!0},ariaLabel:{type:String,default:"Toggle navigation"}},emits:["component-error"],setup(t,{emit:s}){return(a,r)=>(e.openBlock(),e.createElementBlock("button",{class:"navbar-toggler",type:"button","data-bs-toggle":"collapse","data-bs-target":`#${t.target}`,"aria-controls":t.target,"aria-expanded":"false","aria-label":t.ariaLabel},[...r[0]||(r[0]=[e.createElementVNode("span",{class:"navbar-toggler-icon"},null,-1)])],8,ne))}}),ie=e.defineComponent({__name:"VibeNavbarNav",props:{tag:{type:String,default:"ul"},items:{type:Array,default:void 0}},emits:["component-error"],setup(t,{emit:s}){const a=e.useSlots();return(r,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:"navbar-nav"},{default:e.withCtx(()=>[t.items&&t.items.length>0&&!e.unref(a).default?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(o,i)=>(e.openBlock(),e.createBlock(N,{key:i,href:o.href,to:o.to,active:o.active,disabled:o.disabled},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.text),1)]),_:2},1032,["href","to","active","disabled"]))),128)):e.renderSlot(r.$slots,"default",{key:1})]),_:3}))}}),S=e.defineComponent({__name:"VibePaginationItem",props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},href:{type:String,default:void 0},to:{type:[String,Object],default:void 0}},emits:["click","component-error"],setup(t,{emit:s}){const a=t,r=s,l=e.computed(()=>a.href?"a":a.to?"router-link":"button"),o=i=>{a.disabled||r("click",i)};return(i,n)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(["page-item",{active:t.active,disabled:t.disabled}])},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{class:"page-link",href:t.href,to:t.to,type:l.value==="button"?"button":void 0,disabled:t.disabled&&l.value==="button","aria-current":t.active?"page":void 0,"aria-disabled":t.disabled,onClick:o},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},8,["href","to","type","disabled","aria-current","aria-disabled"]))],2))}}),se=["aria-label"],de=e.defineComponent({__name:"VibePagination",props:{size:{type:String,default:void 0},ariaLabel:{type:String,default:"Pagination"},totalPages:{type:Number,default:void 0},currentPage:{type:Number,default:1},showPrevNext:{type:Boolean,default:!0}},emits:["page-click","component-error"],setup(t,{emit:s}){const a=t,r=s,l=e.useSlots(),o=e.computed(()=>{const p=["pagination"];return a.size&&p.push(`pagination-${a.size}`),p.join(" ")}),i=e.computed(()=>a.totalPages?Array.from({length:a.totalPages},(p,b)=>b+1):[]),n=p=>{p>=1&&p<=a.totalPages&&r("page-click",p)};return(p,b)=>(e.openBlock(),e.createElementBlock("nav",{"aria-label":t.ariaLabel},[e.createElementVNode("ul",{class:e.normalizeClass(o.value)},[t.totalPages&&!e.unref(l).default?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.showPrevNext?(e.openBlock(),e.createBlock(S,{key:0,disabled:t.currentPage===1,onClick:b[0]||(b[0]=u=>n(t.currentPage-1))},{default:e.withCtx(()=>[...b[2]||(b[2]=[e.createTextVNode(" Previous ",-1)])]),_:1},8,["disabled"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,u=>(e.openBlock(),e.createBlock(S,{key:u,active:u===t.currentPage,onClick:V=>n(u)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u),1)]),_:2},1032,["active","onClick"]))),128)),t.showPrevNext?(e.openBlock(),e.createBlock(S,{key:1,disabled:t.currentPage===t.totalPages,onClick:b[1]||(b[1]=u=>n(t.currentPage+1))},{default:e.withCtx(()=>[...b[3]||(b[3]=[e.createTextVNode(" Next ",-1)])]),_:1},8,["disabled"])):e.createCommentVNode("",!0)],64)):e.renderSlot(p.$slots,"default",{key:1})],2)],8,se))}}),T=e.defineComponent({__name:"VibeListGroupItem",props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},variant:{type:String,default:void 0},href:{type:String,default:void 0},to:{type:[String,Object],default:void 0},tag:{type:String,default:"li"},action:{type:Boolean,default:!1}},emits:["click","component-error"],setup(t,{emit:s}){const a=t,r=s,l=e.computed(()=>a.href?"a":a.to?"router-link":a.action?"button":a.tag),o=e.computed(()=>{const n=["list-group-item"];return a.active&&n.push("active"),a.disabled&&n.push("disabled"),a.variant&&n.push(`list-group-item-${a.variant}`),(a.action||a.href||a.to)&&n.push("list-group-item-action"),n.join(" ")}),i=n=>{a.disabled||r("click",n)};return(n,p)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{class:e.normalizeClass(o.value),href:t.href,to:t.to,type:l.value==="button"?"button":void 0,disabled:t.disabled,"aria-disabled":t.disabled,"aria-current":t.active?"true":void 0,onClick:i},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["class","href","to","type","disabled","aria-disabled","aria-current"]))}}),ce=e.defineComponent({__name:"VibeListGroup",props:{flush:{type:Boolean,default:!1},horizontal:{type:[Boolean,String],default:!1},numbered:{type:Boolean,default:!1},tag:{type:String,default:"ul"},items:{type:Array,default:void 0}},emits:["component-error"],setup(t,{emit:s}){const a=t,r=e.useSlots(),l=e.computed(()=>{const o=["list-group"];return a.flush&&o.push("list-group-flush"),a.numbered&&o.push("list-group-numbered"),a.horizontal===!0?o.push("list-group-horizontal"):typeof a.horizontal=="string"&&o.push(`list-group-horizontal-${a.horizontal}`),o.join(" ")});return(o,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(l.value)},{default:e.withCtx(()=>[t.items&&t.items.length>0&&!e.unref(r).default?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(n,p)=>(e.openBlock(),e.createBlock(T,{key:p,href:n.href,to:n.to,active:n.active,disabled:n.disabled,variant:n.variant},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.text),1)]),_:2},1032,["href","to","active","disabled","variant"]))),128)):e.renderSlot(o.$slots,"default",{key:1})]),_:3},8,["class"]))}}),me=e.defineComponent({__name:"VibeProgress",props:{height:{type:String,default:void 0}},emits:["component-error"],setup(t,{emit:s}){const a=t,r=e.computed(()=>{if(a.height)return{height:a.height}});return(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:"progress",style:e.normalizeStyle(r.value)},[e.renderSlot(l.$slots,"default")],4))}}),fe=["aria-valuenow","aria-valuemax"],pe=e.defineComponent({__name:"VibeProgressBar",props:{value:{type:Number,default:0},max:{type:Number,default:100},variant:{type:String,default:void 0},striped:{type:Boolean,default:!1},animated:{type:Boolean,default:!1},label:{type:String,default:void 0},showValue:{type:Boolean,default:!1}},emits:["component-error"],setup(t,{emit:s}){const a=t,r=e.computed(()=>{const i=["progress-bar"];return a.variant&&i.push(`bg-${a.variant}`),(a.striped||a.animated)&&i.push("progress-bar-striped"),a.animated&&i.push("progress-bar-animated"),i.join(" ")}),l=e.computed(()=>({width:`${Math.min(100,Math.max(0,a.value/a.max*100))}%`})),o=e.computed(()=>a.label?a.label:a.showValue?`${a.value}%`:"");return(i,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value),style:e.normalizeStyle(l.value),role:"progressbar","aria-valuenow":t.value,"aria-valuemin":0,"aria-valuemax":t.max},[e.createTextVNode(e.toDisplayString(o.value)+" ",1),e.renderSlot(i.$slots,"default")],14,fe))}}),be={class:"accordion-item"},ue={class:"accordion-header"},ye=["data-bs-target","aria-expanded","aria-controls"],he=["id","data-bs-parent"],ge={class:"accordion-body"},_=e.defineComponent({__name:"VibeAccordionItem",props:{id:{type:String,required:!0},title:{type:String,required:!0},parentId:{type:String,required:!0},show:{type:Boolean,default:!1}},emits:["component-error"],setup(t,{emit:s}){const a=t,r=e.computed(()=>a.show?"accordion-collapse collapse show":"accordion-collapse collapse");return(l,o)=>(e.openBlock(),e.createElementBlock("div",be,[e.createElementVNode("h2",ue,[e.createElementVNode("button",{class:e.normalizeClass(["accordion-button",{collapsed:!t.show}]),type:"button","data-bs-toggle":"collapse","data-bs-target":`#${t.id}`,"aria-expanded":t.show,"aria-controls":t.id},e.toDisplayString(t.title),11,ye)]),e.createElementVNode("div",{id:t.id,class:e.normalizeClass(r.value),"data-bs-parent":`#${t.parentId}`},[e.createElementVNode("div",ge,[e.renderSlot(l.$slots,"default")])],10,he)]))}}),ke=["id"],Be=e.defineComponent({__name:"VibeAccordion",props:{id:{type:String,required:!0},flush:{type:Boolean,default:!1},items:{type:Array,default:void 0}},emits:["component-error"],setup(t,{emit:s}){const a=e.useSlots();return(r,l)=>(e.openBlock(),e.createElementBlock("div",{id:t.id,class:e.normalizeClass(["accordion",{"accordion-flush":t.flush}])},[t.items&&t.items.length>0&&!e.unref(a).default?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(o,i)=>(e.openBlock(),e.createBlock(_,{key:i,id:o.id,"parent-id":t.id,title:o.title,show:o.show},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.content),1)]),_:2},1032,["id","parent-id","title","show"]))),128)):e.renderSlot(r.$slots,"default",{key:1})],10,ke))}}),Ce=e.defineComponent({__name:"VibeCollapse",props:{id:{type:String,required:!0},modelValue:{type:Boolean,default:!1},tag:{type:String,default:"div"},horizontal:{type:Boolean,default:!1}},emits:["update:modelValue","show","shown","hide","hidden","component-error"],setup(t,{emit:s}){const a=t,r=e.ref(a.modelValue);e.watch(()=>a.modelValue,o=>{r.value=o});const l=e.computed(()=>{const o=["collapse"];return a.horizontal&&o.push("collapse-horizontal"),r.value&&o.push("show"),o.join(" ")});return(o,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{id:t.id,class:e.normalizeClass(l.value)},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["id","class"]))}}),Se={key:0},I=e.defineComponent({__name:"VibeDropdownItem",props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},href:{type:String,default:void 0},to:{type:[String,Object],default:void 0},divider:{type:Boolean,default:!1},header:{type:Boolean,default:!1}},emits:["click","component-error"],setup(t,{emit:s}){const a=t,r=s,l=e.computed(()=>a.divider?"hr":a.header?"h6":a.href?"a":a.to?"router-link":"button"),o=e.computed(()=>{if(a.divider)return"dropdown-divider";if(a.header)return"dropdown-header";const n=["dropdown-item"];return a.active&&n.push("active"),a.disabled&&n.push("disabled"),n.join(" ")}),i=n=>{!a.disabled&&!a.divider&&!a.header&&r("click",n)};return(n,p)=>!t.divider&&!t.header?(e.openBlock(),e.createElementBlock("li",Se,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{class:e.normalizeClass(o.value),href:t.href,to:t.to,type:l.value==="button"?"button":void 0,disabled:t.disabled,onClick:i},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["class","href","to","type","disabled"]))])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{key:1,class:e.normalizeClass(o.value)},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["class"]))}}),Ve=["id"],$e=["aria-labelledby"],Ne=e.defineComponent({__name:"VibeDropdown",props:{id:{type:String,required:!0},text:{type:String,default:"Dropdown"},variant:{type:String,default:"primary"},size:{type:String,default:void 0},split:{type:Boolean,default:!1},direction:{type:String,default:"down"},menuEnd:{type:Boolean,default:!1},items:{type:Array,default:void 0}},emits:["component-error"],setup(t,{emit:s}){const a=t,r=e.useSlots(),l=e.computed(()=>a.direction==="up"?"dropup":a.direction==="end"?"dropend":a.direction==="start"?"dropstart":"dropdown"),o=e.computed(()=>{const n=["btn",`btn-${a.variant}`];return a.size&&n.push(`btn-${a.size}`),n.join(" ")}),i=e.computed(()=>{const n=["dropdown-menu"];return a.menuEnd&&n.push("dropdown-menu-end"),n.join(" ")});return(n,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value)},[e.createElementVNode("button",{id:t.id,class:e.normalizeClass([o.value,"dropdown-toggle"]),type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},e.toDisplayString(t.text),11,Ve),e.createElementVNode("ul",{class:e.normalizeClass(i.value),"aria-labelledby":t.id},[t.items&&t.items.length>0&&!e.unref(r).default?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(b,u)=>(e.openBlock(),e.createBlock(I,{key:u,href:b.href,to:b.to,active:b.active,disabled:b.disabled,divider:b.divider,header:b.header},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(b.text),1)]),_:2},1032,["href","to","active","disabled","divider","header"]))),128)):e.renderSlot(n.$slots,"default",{key:1})],10,$e)],2))}}),we=["id","aria-labelledby","data-bs-backdrop","data-bs-keyboard"],Ee={class:"modal-content"},ze={key:0,class:"modal-header"},De=["id"],xe={class:"modal-body"},Pe={key:1,class:"modal-footer"},Te=e.defineComponent({__name:"VibeModal",props:{id:{type:String,required:!0},modelValue:{type:Boolean,default:!1},title:{type:String,default:""},size:{type:String,default:void 0},centered:{type:Boolean,default:!1},scrollable:{type:Boolean,default:!1},fullscreen:{type:[Boolean,String],default:!1},staticBackdrop:{type:Boolean,default:!1},hideHeader:{type:Boolean,default:!1},hideFooter:{type:Boolean,default:!1}},emits:["update:modelValue","show","shown","hide","hidden","component-error"],setup(t,{emit:s}){const a=t,r=e.computed(()=>{const l=["modal-dialog"];return a.size&&l.push(`modal-${a.size}`),a.centered&&l.push("modal-dialog-centered"),a.scrollable&&l.push("modal-dialog-scrollable"),a.fullscreen===!0?l.push("modal-fullscreen"):typeof a.fullscreen=="string"&&l.push(`modal-fullscreen-${a.fullscreen}-down`),l.join(" ")});return(l,o)=>(e.openBlock(),e.createElementBlock("div",{id:t.id,class:"modal fade",tabindex:"-1","aria-labelledby":`${t.id}-label`,"aria-hidden":"true","data-bs-backdrop":t.staticBackdrop?"static":void 0,"data-bs-keyboard":!t.staticBackdrop},[e.createElementVNode("div",{class:e.normalizeClass(r.value)},[e.createElementVNode("div",Ee,[t.hideHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ze,[e.createElementVNode("h5",{id:`${t.id}-label`,class:"modal-title"},[e.renderSlot(l.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])],8,De),o[0]||(o[0]=e.createElementVNode("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1))])),e.createElementVNode("div",xe,[e.renderSlot(l.$slots,"default")]),t.hideFooter?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Pe,[e.renderSlot(l.$slots,"footer",{},()=>[o[1]||(o[1]=e.createElementVNode("button",{type:"button",class:"btn btn-secondary","data-bs-dismiss":"modal"},"Close",-1))])]))])],2)],8,we))}}),_e=["id","aria-labelledby","data-bs-backdrop","data-bs-scroll"],Ie={class:"offcanvas-header"},je=["id"],Le={class:"offcanvas-body"},Ae=e.defineComponent({__name:"VibeOffcanvas",props:{id:{type:String,required:!0},modelValue:{type:Boolean,default:!1},title:{type:String,default:""},placement:{type:String,default:"start"},backdrop:{type:[Boolean,String],default:!0},scroll:{type:Boolean,default:!1}},emits:["update:modelValue","show","shown","hide","hidden","component-error"],setup(t,{emit:s}){const a=t,r=e.computed(()=>`offcanvas offcanvas-${a.placement}`);return(l,o)=>(e.openBlock(),e.createElementBlock("div",{id:t.id,class:e.normalizeClass(r.value),tabindex:"-1","aria-labelledby":`${t.id}-label`,"data-bs-backdrop":t.backdrop===!1?"false":t.backdrop==="static"?"static":"true","data-bs-scroll":t.scroll},[e.createElementVNode("div",Ie,[e.createElementVNode("h5",{id:`${t.id}-label`,class:"offcanvas-title"},[e.renderSlot(l.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])],8,je),o[0]||(o[0]=e.createElementVNode("button",{type:"button",class:"btn-close","data-bs-dismiss":"offcanvas","aria-label":"Close"},null,-1))]),e.createElementVNode("div",Le,[e.renderSlot(l.$slots,"default")])],10,_e))}}),Fe=["id","data-bs-autohide","data-bs-delay"],qe={key:0,class:"toast-header"},Me={class:"me-auto"},Oe={class:"toast-body"},Ge=e.defineComponent({__name:"VibeToast",props:{id:{type:String,default:void 0},modelValue:{type:Boolean,default:!1},title:{type:String,default:""},variant:{type:String,default:void 0},autohide:{type:Boolean,default:!0},delay:{type:Number,default:5e3}},emits:["update:modelValue","show","shown","hide","hidden","component-error"],setup(t,{emit:s}){const a=t,r=e.computed(()=>{const l=["toast"];return a.variant&&l.push(`text-bg-${a.variant}`),l.join(" ")});return(l,o)=>(e.openBlock(),e.createElementBlock("div",{id:t.id,class:e.normalizeClass(r.value),role:"alert","aria-live":"assertive","aria-atomic":"true","data-bs-autohide":t.autohide,"data-bs-delay":t.delay},[t.title||l.$slots.header?(e.openBlock(),e.createElementBlock("div",qe,[e.renderSlot(l.$slots,"header",{},()=>[e.createElementVNode("strong",Me,e.toDisplayString(t.title),1)]),o[0]||(o[0]=e.createElementVNode("button",{type:"button",class:"btn-close","data-bs-dismiss":"toast","aria-label":"Close"},null,-1))])):e.createCommentVNode("",!0),e.createElementVNode("div",Oe,[e.renderSlot(l.$slots,"default")])],10,Fe))}}),Re=["data-bs-interval"],He=["src","alt"],Ue={key:1,class:"carousel-caption d-none d-md-block"},Qe={key:0},Ke={key:1},j=e.defineComponent({__name:"VibeCarouselSlide",props:{active:{type:Boolean,default:!1},interval:{type:Number,default:void 0},imgSrc:{type:String,default:void 0},imgAlt:{type:String,default:""},caption:{type:String,default:void 0},captionText:{type:String,default:void 0}},emits:["component-error"],setup(t,{emit:s}){return(a,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["carousel-item",{active:t.active}]),"data-bs-interval":t.interval},[t.imgSrc?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.imgSrc,class:"d-block w-100",alt:t.imgAlt},null,8,He)):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"img"),t.caption||t.captionText||a.$slots.caption?(e.openBlock(),e.createElementBlock("div",Ue,[e.renderSlot(a.$slots,"caption",{},()=>[t.caption?(e.openBlock(),e.createElementBlock("h5",Qe,e.toDisplayString(t.caption),1)):e.createCommentVNode("",!0),t.captionText?(e.openBlock(),e.createElementBlock("p",Ke,e.toDisplayString(t.captionText),1)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"default")],10,Re))}}),Je=["id","data-bs-ride","data-bs-interval","data-bs-keyboard","data-bs-pause","data-bs-wrap","data-bs-touch"],We={key:0,class:"carousel-indicators"},Xe=["data-bs-target","data-bs-slide-to","aria-current","aria-label"],Ye={class:"carousel-inner"},Ze={key:0,class:"carousel-indicators"},ve={class:"carousel-inner"},et=["data-bs-target"],tt=["data-bs-target"],at=e.defineComponent({__name:"VibeCarousel",props:{id:{type:String,required:!0},controls:{type:Boolean,default:!0},indicators:{type:Boolean,default:!0},ride:{type:[Boolean,String],default:!1},interval:{type:[Number,Boolean],default:5e3},keyboard:{type:Boolean,default:!0},pause:{type:[String,Boolean],default:"hover"},wrap:{type:Boolean,default:!0},touch:{type:Boolean,default:!0},dark:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},items:{type:Array,default:void 0}},emits:["slide","slid","component-error"],setup(t,{emit:s}){const a=e.useSlots();return(r,l)=>(e.openBlock(),e.createElementBlock("div",{id:t.id,class:e.normalizeClass(["carousel","slide",{"carousel-dark":t.dark,"carousel-fade":t.fade}]),"data-bs-ride":t.ride===!0?"carousel":t.ride,"data-bs-interval":t.interval,"data-bs-keyboard":t.keyboard,"data-bs-pause":t.pause,"data-bs-wrap":t.wrap,"data-bs-touch":t.touch},[t.items&&t.items.length>0&&!e.unref(a).default?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.indicators?(e.openBlock(),e.createElementBlock("div",We,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(o,i)=>(e.openBlock(),e.createElementBlock("button",{key:`indicator-${i}`,type:"button","data-bs-target":`#${t.id}`,"data-bs-slide-to":i,class:e.normalizeClass({active:o.active||i===0}),"aria-current":o.active||i===0,"aria-label":`Slide ${i+1}`},null,10,Xe))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",Ye,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(o,i)=>(e.openBlock(),e.createBlock(j,{key:i,active:o.active||i===0,interval:o.interval,"img-src":o.src,"img-alt":o.alt,caption:o.caption,"caption-text":o.captionText},null,8,["active","interval","img-src","img-alt","caption","caption-text"]))),128))])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[t.indicators?(e.openBlock(),e.createElementBlock("div",Ze,[e.renderSlot(r.$slots,"indicators")])):e.createCommentVNode("",!0),e.createElementVNode("div",ve,[e.renderSlot(r.$slots,"default")])],64)),t.controls?(e.openBlock(),e.createElementBlock("button",{key:2,class:"carousel-control-prev",type:"button","data-bs-target":`#${t.id}`,"data-bs-slide":"prev"},[...l[0]||(l[0]=[e.createElementVNode("span",{class:"carousel-control-prev-icon","aria-hidden":"true"},null,-1),e.createElementVNode("span",{class:"visually-hidden"},"Previous",-1)])],8,et)):e.createCommentVNode("",!0),t.controls?(e.openBlock(),e.createElementBlock("button",{key:3,class:"carousel-control-next",type:"button","data-bs-target":`#${t.id}`,"data-bs-slide":"next"},[...l[1]||(l[1]=[e.createElementVNode("span",{class:"carousel-control-next-icon","aria-hidden":"true"},null,-1),e.createElementVNode("span",{class:"visually-hidden"},"Next",-1)])],8,tt)):e.createCommentVNode("",!0)],10,Je))}}),ot=["data-bs-placement","data-bs-title","data-bs-trigger","data-bs-html"],lt=e.defineComponent({__name:"VibeTooltip",props:{content:{type:String,required:!0},placement:{type:String,default:"top"},trigger:{type:String,default:"hover focus"},html:{type:Boolean,default:!1}},emits:["component-error"],setup(t,{emit:s}){return(a,r)=>(e.openBlock(),e.createElementBlock("span",{"data-bs-toggle":"tooltip","data-bs-placement":t.placement,"data-bs-title":t.content,"data-bs-trigger":t.trigger,"data-bs-html":t.html},[e.renderSlot(a.$slots,"default")],8,ot))}}),nt=["data-bs-placement","data-bs-title","data-bs-content","data-bs-trigger","data-bs-html"],rt=e.defineComponent({__name:"VibePopover",props:{title:{type:String,default:void 0},content:{type:String,required:!0},placement:{type:String,default:"top"},trigger:{type:String,default:"click"},html:{type:Boolean,default:!1}},emits:["component-error"],setup(t,{emit:s}){return(a,r)=>(e.openBlock(),e.createElementBlock("span",{"data-bs-toggle":"popover","data-bs-placement":t.placement,"data-bs-title":t.title,"data-bs-content":t.content,"data-bs-trigger":t.trigger,"data-bs-html":t.html},[e.renderSlot(a.$slots,"default")],8,nt))}}),it=e.defineComponent({__name:"VibeScrollspy",props:{target:{type:String,required:!0},offset:{type:Number,default:10},method:{type:String,default:"auto"},smoothScroll:{type:Boolean,default:!1},tag:{type:String,default:"div"}},emits:["activate","component-error"],setup(t,{emit:s}){return(a,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{"data-bs-spy":"scroll","data-bs-target":t.target,"data-bs-offset":t.offset,"data-bs-method":t.method,"data-bs-smooth-scroll":t.smoothScroll,tabindex:"0"},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},8,["data-bs-target","data-bs-offset","data-bs-method","data-bs-smooth-scroll"]))}}),st={class:"vibe-datatable"},dt={class:"row mb-3"},ct={key:0,class:"col-md-6 mb-2 mb-md-0"},mt=["placeholder"],ft={key:1,class:"col-md-6"},pt={class:"d-flex justify-content-md-end align-items-center"},bt=["value"],ut=["onClick"],yt={key:0,class:"ms-1"},ht=["onClick"],gt={key:0},kt=["colspan"],Bt={class:"row"},Ct={key:0,class:"col-md-6 mb-2 mb-md-0"},St={class:"datatable-info"},Vt={key:1,class:"col-md-6"},$t={class:"pagination justify-content-md-end mb-0"},Nt={key:0,class:"page-item"},wt={key:1,class:"page-item disabled"},Et=["onClick"],zt={key:2,class:"page-item disabled"},Dt={key:3,class:"page-item"},xt=((t,s)=>{const a=t.__vccOpts||t;for(const[r,l]of s)a[r]=l;return a})(e.defineComponent({__name:"VibeDataTable",props:{items:{type:Array,default:()=>[]},columns:{type:Array,required:!0},striped:{type:Boolean,default:!1},bordered:{type:Boolean,default:!1},borderless:{type:Boolean,default:!1},hover:{type:Boolean,default:!1},small:{type:Boolean,default:!1},responsive:{type:Boolean,default:!0},variant:{type:String,default:void 0},searchable:{type:Boolean,default:!0},sortable:{type:Boolean,default:!0},paginated:{type:Boolean,default:!0},searchPlaceholder:{type:String,default:"Search..."},searchDebounce:{type:Number,default:300},perPage:{type:Number,default:10},currentPage:{type:Number,default:1},perPageOptions:{type:Array,default:()=>[5,10,25,50,100]},sortBy:{type:String,default:void 0},sortDesc:{type:Boolean,default:!1},showEmpty:{type:Boolean,default:!0},emptyText:{type:String,default:"No data available"},showPerPage:{type:Boolean,default:!0},showInfo:{type:Boolean,default:!0},infoText:{type:String,default:"Showing {start} to {end} of {total} entries"},filteredInfoText:{type:String,default:"Showing {start} to {end} of {total} entries (filtered from {totalRows} total entries)"}},emits:["update:currentPage","update:perPage","update:sortBy","update:sortDesc","row-clicked","component-error"],setup(t,{emit:s}){const a=t,r=s,l=e.ref(""),o=e.ref(null),i=e.ref(""),n=e.ref(a.currentPage),p=e.ref(a.perPage),b=e.ref(a.sortBy),u=e.ref(a.sortDesc);e.watch(()=>a.currentPage,d=>{n.value=d}),e.watch(()=>a.perPage,d=>{p.value=d}),e.watch(()=>a.sortBy,d=>{b.value=d}),e.watch(()=>a.sortDesc,d=>{u.value=d}),e.watch(l,d=>{o.value&&clearTimeout(o.value),o.value=window.setTimeout(()=>{i.value=d,n.value=1},a.searchDebounce)});const V=e.computed(()=>{if(!a.searchable||!i.value)return a.items;const d=i.value.toLowerCase();return a.items.filter(f=>a.columns.some(m=>{if(m.searchable===!1)return!1;const h=f[m.key];return h==null?!1:String(h).toLowerCase().includes(d)}))}),L=e.computed(()=>{if(!a.sortable||!b.value)return V.value;const d=[...V.value],f=b.value;return d.sort((m,h)=>{let y=m[f],k=h[f];return y==null?1:k==null?-1:(typeof y=="string"&&(y=y.toLowerCase()),typeof k=="string"&&(k=k.toLowerCase()),y<k?u.value?1:-1:y>k?u.value?-1:1:0)}),d}),A=e.computed(()=>{if(!a.paginated)return L.value;const d=(n.value-1)*p.value,f=d+p.value;return L.value.slice(d,f)}),F=e.computed(()=>a.items.length),B=e.computed(()=>V.value.length),g=e.computed(()=>Math.ceil(B.value/p.value)),Pt=e.computed(()=>B.value===0?0:(n.value-1)*p.value+1),Tt=e.computed(()=>{const d=n.value*p.value;return Math.min(d,B.value)}),_t=e.computed(()=>(B.value!==F.value?a.filteredInfoText:a.infoText).replace("{start}",String(Pt.value)).replace("{end}",String(Tt.value)).replace("{total}",String(B.value)).replace("{totalRows}",String(F.value))),It=e.computed(()=>{const d=["table"];return a.striped&&d.push("table-striped"),a.bordered&&d.push("table-bordered"),a.borderless&&d.push("table-borderless"),a.hover&&d.push("table-hover"),a.small&&d.push("table-sm"),a.variant&&d.push(`table-${a.variant}`),d.join(" ")}),jt=d=>{!a.sortable||d.sortable===!1||(b.value===d.key?u.value=!u.value:(b.value=d.key,u.value=!1),r("update:sortBy",b.value),r("update:sortDesc",u.value))},C=d=>{d<1||d>g.value||(n.value=d,r("update:currentPage",d))},Lt=()=>{n.value=1,r("update:perPage",p.value),r("update:currentPage",1)},At=(d,f)=>{r("row-clicked",d,f)},Ft=(d,f)=>{const m=d[f.key];return f.formatter?f.formatter(m,d):m},qt=d=>!a.sortable||d.sortable===!1?"":b.value!==d.key?"⇅":u.value?"↓":"↑",Mt=d=>{const f={...d.thStyle};return a.sortable&&d.sortable!==!1&&(f.cursor="pointer"),f};return(d,f)=>(e.openBlock(),e.createElementBlock("div",st,[e.createElementVNode("div",dt,[t.searchable?(e.openBlock(),e.createElementBlock("div",ct,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[0]||(f[0]=m=>l.value=m),type:"search",class:"form-control",placeholder:t.searchPlaceholder},null,8,mt),[[e.vModelText,l.value]])])):e.createCommentVNode("",!0),t.showPerPage&&t.paginated?(e.openBlock(),e.createElementBlock("div",ft,[e.createElementVNode("div",pt,[f[6]||(f[6]=e.createElementVNode("label",{class:"me-2 mb-0"},"Show",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":f[1]||(f[1]=m=>p.value=m),class:"form-select form-select-sm",style:{width:"auto"},onChange:Lt},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.perPageOptions,m=>(e.openBlock(),e.createElementBlock("option",{key:m,value:m},e.toDisplayString(m),9,bt))),128))],544),[[e.vModelSelect,p.value,void 0,{number:!0}]]),f[7]||(f[7]=e.createElementVNode("span",{class:"ms-2"},"entries",-1))])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:e.normalizeClass({"table-responsive":t.responsive})},[e.createElementVNode("table",{class:e.normalizeClass(It.value)},[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,m=>(e.openBlock(),e.createElementBlock("th",{key:m.key,class:e.normalizeClass(m.headerClass),style:e.normalizeStyle(Mt(m)),onClick:h=>jt(m)},[e.createTextVNode(e.toDisplayString(m.label)+" ",1),t.sortable&&m.sortable!==!1?(e.openBlock(),e.createElementBlock("span",yt,e.toDisplayString(qt(m)),1)):e.createCommentVNode("",!0)],14,ut))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.value,(m,h)=>(e.openBlock(),e.createElementBlock("tr",{key:h,onClick:y=>At(m,h),style:{cursor:"pointer"}},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,y=>(e.openBlock(),e.createElementBlock("td",{key:y.key,class:e.normalizeClass(y.class),style:e.normalizeStyle(y.tdStyle)},[e.renderSlot(d.$slots,`cell(${y.key})`,{item:m,value:m[y.key],index:h},()=>[e.createTextVNode(e.toDisplayString(Ft(m,y)),1)],!0)],6))),128))],8,ht))),128)),A.value.length===0&&t.showEmpty?(e.openBlock(),e.createElementBlock("tr",gt,[e.createElementVNode("td",{colspan:t.columns.length,class:"text-center"},e.toDisplayString(t.emptyText),9,kt)])):e.createCommentVNode("",!0)])],2)],2),e.createElementVNode("div",Bt,[t.showInfo?(e.openBlock(),e.createElementBlock("div",Ct,[e.createElementVNode("div",St,e.toDisplayString(_t.value),1)])):e.createCommentVNode("",!0),t.paginated&&g.value>1?(e.openBlock(),e.createElementBlock("div",Vt,[e.createElementVNode("nav",null,[e.createElementVNode("ul",$t,[e.createElementVNode("li",{class:e.normalizeClass(["page-item",{disabled:n.value===1}])},[e.createElementVNode("a",{class:"page-link",href:"#",onClick:f[2]||(f[2]=e.withModifiers(m=>C(n.value-1),["prevent"]))}," Previous ")],2),n.value>3?(e.openBlock(),e.createElementBlock("li",Nt,[e.createElementVNode("a",{class:"page-link",href:"#",onClick:f[3]||(f[3]=e.withModifiers(m=>C(1),["prevent"]))},"1")])):e.createCommentVNode("",!0),n.value>4?(e.openBlock(),e.createElementBlock("li",wt,[...f[8]||(f[8]=[e.createElementVNode("span",{class:"page-link"},"...",-1)])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Array.from({length:g.value},(m,h)=>h+1).filter(m=>m>=n.value-2&&m<=n.value+2),m=>(e.openBlock(),e.createElementBlock("li",{key:m,class:e.normalizeClass(["page-item",{active:m===n.value}])},[e.createElementVNode("a",{class:"page-link",href:"#",onClick:e.withModifiers(h=>C(m),["prevent"])},e.toDisplayString(m),9,Et)],2))),128)),n.value<g.value-3?(e.openBlock(),e.createElementBlock("li",zt,[...f[9]||(f[9]=[e.createElementVNode("span",{class:"page-link"},"...",-1)])])):e.createCommentVNode("",!0),n.value<g.value-2?(e.openBlock(),e.createElementBlock("li",Dt,[e.createElementVNode("a",{class:"page-link",href:"#",onClick:f[4]||(f[4]=e.withModifiers(m=>C(g.value),["prevent"]))},e.toDisplayString(g.value),1)])):e.createCommentVNode("",!0),e.createElementVNode("li",{class:e.normalizeClass(["page-item",{disabled:n.value===g.value}])},[e.createElementVNode("a",{class:"page-link",href:"#",onClick:f[5]||(f[5]=e.withModifiers(m=>C(n.value+1),["prevent"]))}," Next ")],2)])])])):e.createCommentVNode("",!0)])]))}}),[["__scopeId","data-v-48221c7b"]]);c.VibeAccordion=Be,c.VibeAccordionItem=_,c.VibeAlert=q,c.VibeBadge=M,c.VibeBreadcrumb=ee,c.VibeBreadcrumbItem=P,c.VibeButton=O,c.VibeButtonGroup=R,c.VibeCard=X,c.VibeCardBody=E,c.VibeCardFooter=z,c.VibeCardHeader=w,c.VibeCardImg=$,c.VibeCardText=x,c.VibeCardTitle=D,c.VibeCarousel=at,c.VibeCarouselSlide=j,c.VibeCloseButton=U,c.VibeCollapse=Ce,c.VibeDataTable=xt,c.VibeDropdown=Ne,c.VibeDropdownItem=I,c.VibeListGroup=ce,c.VibeListGroupItem=T,c.VibeModal=Te,c.VibeNav=ae,c.VibeNavItem=N,c.VibeNavbar=oe,c.VibeNavbarBrand=le,c.VibeNavbarNav=ie,c.VibeNavbarToggle=re,c.VibeOffcanvas=Ae,c.VibePagination=de,c.VibePaginationItem=S,c.VibePlaceholder=J,c.VibePopover=rt,c.VibeProgress=me,c.VibeProgressBar=pe,c.VibeScrollspy=it,c.VibeSpinner=K,c.VibeToast=Ge,c.VibeTooltip=lt,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(f,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(f=typeof globalThis<"u"?globalThis:f||self,e(f.VibeUI={},f.Vue))})(this,(function(f,e){"use strict";const O=e.defineComponent({__name:"VibeAlert",props:{variant:{type:String,default:"primary"},modelValue:{type:Boolean,default:!0},dismissable:{type:Boolean,default:!1},message:{type:String,required:!0}},emits:["update:modelValue","component-error"],setup(t,{emit:r}){const a=t,o=r,l=e.computed({get:()=>a.modelValue,set:d=>o("update:modelValue",d)}),n=()=>{try{l.value=!1}catch(d){o("component-error",{message:"Dismiss failed",componentName:"VibeAlert",originalError:d})}};return(d,i)=>l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(`alert alert-${t.variant}`),role:"alert"},[e.renderSlot(d.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)]),t.dismissable?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn-close",onClick:n,"aria-label":"Close"})):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)}}),X=e.defineComponent({__name:"VibeBadge",props:{variant:{type:String,default:"primary"},pill:{type:Boolean,default:!1},tag:{type:String,default:"span"}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.computed(()=>{const l=["badge",`bg-${a.variant}`];return a.pill&&l.push("rounded-pill"),l.join(" ")});return(l,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(o.value)},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["class"]))}}),R=e.defineComponent({__name:"VibeButton",props:{variant:{type:String,default:"primary"},size:{type:String,default:void 0},outline:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},type:{type:String,default:"button"},href:{type:String,default:void 0},to:{type:[String,Object],default:void 0},active:{type:Boolean,default:!1}},emits:["click","component-error"],setup(t,{emit:r}){const a=t,o=r,l=e.computed(()=>a.href?"a":a.to?"router-link":"button"),n=e.computed(()=>{const i=["btn"];return a.outline?i.push(`btn-outline-${a.variant}`):i.push(`btn-${a.variant}`),a.size&&i.push(`btn-${a.size}`),a.active&&i.push("active"),i.join(" ")}),d=i=>{a.disabled||o("click",i)};return(i,m)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{class:e.normalizeClass(n.value),type:t.href||t.to?void 0:t.type,href:t.href,to:t.to,disabled:t.disabled,"aria-disabled":t.disabled,onClick:d},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},8,["class","type","href","to","disabled","aria-disabled"]))}}),Y=["role","aria-label"],G=e.defineComponent({__name:"VibeButtonGroup",props:{size:{type:String,default:void 0},vertical:{type:Boolean,default:!1},role:{type:String,default:"group"},ariaLabel:{type:String,default:void 0}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.computed(()=>{const l=[a.vertical?"btn-group-vertical":"btn-group"];return a.size&&l.push(`btn-group-${a.size}`),l.join(" ")});return(l,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value),role:t.role,"aria-label":t.ariaLabel},[e.renderSlot(l.$slots,"default")],10,Y))}}),H=["disabled","aria-label"],U=e.defineComponent({__name:"VibeCloseButton",props:{disabled:{type:Boolean,default:!1},white:{type:Boolean,default:!1},ariaLabel:{type:String,default:"Close"}},emits:["click","component-error"],setup(t,{emit:r}){const a=t,o=r,l=n=>{a.disabled||o("click",n)};return(n,d)=>(e.openBlock(),e.createElementBlock("button",{type:"button",class:e.normalizeClass(["btn-close",{"btn-close-white":t.white}]),disabled:t.disabled,"aria-label":t.ariaLabel,onClick:l},null,10,H))}}),Q={class:"visually-hidden"},K=e.defineComponent({__name:"VibeSpinner",props:{variant:{type:String,default:void 0},type:{type:String,default:"border"},size:{type:String,default:void 0},label:{type:String,default:"Loading..."},tag:{type:String,default:"div"}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.computed(()=>{const l=[`spinner-${a.type}`];return a.variant&&l.push(`text-${a.variant}`),a.size&&l.push(`spinner-${a.type}-${a.size}`),l.join(" ")});return(l,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(o.value),role:"status"},{default:e.withCtx(()=>[e.createElementVNode("span",Q,e.toDisplayString(t.label),1)]),_:1},8,["class"]))}}),W=e.defineComponent({__name:"VibePlaceholder",props:{variant:{type:String,default:void 0},size:{type:String,default:void 0},animation:{type:String,default:void 0},width:{type:[String,Number],default:void 0},tag:{type:String,default:"span"}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.computed(()=>{const d=["placeholder"];return a.variant&&d.push(`bg-${a.variant}`),a.size&&d.push(`placeholder-${a.size}`),d.join(" ")}),l=e.computed(()=>{if(a.animation)return`placeholder-${a.animation}`}),n=e.computed(()=>{if(a.width)return{width:typeof a.width=="number"?`${a.width}%`:a.width}});return(d,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(l.value)},{default:e.withCtx(()=>[e.createElementVNode("span",{class:e.normalizeClass(o.value),style:e.normalizeStyle(n.value)},[e.renderSlot(d.$slots,"default")],6)]),_:3},8,["class"]))}}),J=e.defineComponent({__name:"VibeContainer",props:{fluid:{type:[Boolean,String],default:!1},tag:{type:String,default:"div"}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.computed(()=>a.fluid===!1?"container":a.fluid===!0?"container-fluid":`container-${a.fluid}`);return(l,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(o.value)},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["class"]))}}),Z=e.defineComponent({__name:"VibeRow",props:{tag:{type:String,default:"div"},gutters:{type:Number,default:void 0},guttersX:{type:Number,default:void 0},guttersY:{type:Number,default:void 0},guttersSm:{type:Number,default:void 0},guttersMd:{type:Number,default:void 0},guttersLg:{type:Number,default:void 0},guttersXl:{type:Number,default:void 0},guttersXxl:{type:Number,default:void 0},guttersXSm:{type:Number,default:void 0},guttersXMd:{type:Number,default:void 0},guttersXLg:{type:Number,default:void 0},guttersXXl:{type:Number,default:void 0},guttersXXxl:{type:Number,default:void 0},guttersYSm:{type:Number,default:void 0},guttersYMd:{type:Number,default:void 0},guttersYLg:{type:Number,default:void 0},guttersYXl:{type:Number,default:void 0},guttersYXxl:{type:Number,default:void 0},rowCols:{type:Number,default:void 0},rowColsSm:{type:Number,default:void 0},rowColsMd:{type:Number,default:void 0},rowColsLg:{type:Number,default:void 0},rowColsXl:{type:Number,default:void 0},rowColsXxl:{type:Number,default:void 0},alignItems:{type:String,default:void 0},justifyContent:{type:String,default:void 0}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.computed(()=>{const l=["row"];a.gutters!==void 0&&l.push(`g-${a.gutters}`),a.guttersX!==void 0&&l.push(`gx-${a.guttersX}`),a.guttersY!==void 0&&l.push(`gy-${a.guttersY}`);const n=["sm","md","lg","xl","xxl"];return n.forEach(d=>{const i=d.charAt(0).toUpperCase()+d.slice(1),m=`gutters${i}`;a[m]!==void 0&&l.push(`g-${d}-${a[m]}`);const s=`guttersX${i}`;a[s]!==void 0&&l.push(`gx-${d}-${a[s]}`);const c=`guttersY${i}`;a[c]!==void 0&&l.push(`gy-${d}-${a[c]}`)}),a.rowCols!==void 0&&l.push(`row-cols-${a.rowCols}`),n.forEach(d=>{const i=`rowCols${d.charAt(0).toUpperCase()+d.slice(1)}`;a[i]!==void 0&&l.push(`row-cols-${d}-${a[i]}`)}),a.alignItems&&l.push(`align-items-${a.alignItems}`),a.justifyContent&&l.push(`justify-content-${a.justifyContent}`),l.join(" ")});return(l,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(o.value)},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["class"]))}}),_=e.defineComponent({__name:"VibeCol",props:{tag:{type:String,default:"div"},cols:{type:[Number,String,Boolean],default:void 0},sm:{type:[Number,String,Boolean],default:void 0},md:{type:[Number,String,Boolean],default:void 0},lg:{type:[Number,String,Boolean],default:void 0},xl:{type:[Number,String,Boolean],default:void 0},xxl:{type:[Number,String,Boolean],default:void 0},offset:{type:Number,default:void 0},offsetSm:{type:Number,default:void 0},offsetMd:{type:Number,default:void 0},offsetLg:{type:Number,default:void 0},offsetXl:{type:Number,default:void 0},offsetXxl:{type:Number,default:void 0},order:{type:[Number,String],default:void 0},orderSm:{type:[Number,String],default:void 0},orderMd:{type:[Number,String],default:void 0},orderLg:{type:[Number,String],default:void 0},orderXl:{type:[Number,String],default:void 0},orderXxl:{type:[Number,String],default:void 0},alignSelf:{type:String,default:void 0}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.computed(()=>{const l=[];return a.cols!==void 0||a.sm!==void 0||a.md!==void 0||a.lg!==void 0||a.xl!==void 0||a.xxl!==void 0?(a.cols===!0?l.push("col"):a.cols==="auto"?l.push("col-auto"):a.cols&&l.push(`col-${a.cols}`),[{name:"sm",value:a.sm},{name:"md",value:a.md},{name:"lg",value:a.lg},{name:"xl",value:a.xl},{name:"xxl",value:a.xxl}].forEach(({name:i,value:m})=>{m===!0?l.push(`col-${i}`):m==="auto"?l.push(`col-${i}-auto`):m!==void 0&&l.push(`col-${i}-${m}`)})):l.push("col"),a.offset!==void 0&&l.push(`offset-${a.offset}`),a.offsetSm!==void 0&&l.push(`offset-sm-${a.offsetSm}`),a.offsetMd!==void 0&&l.push(`offset-md-${a.offsetMd}`),a.offsetLg!==void 0&&l.push(`offset-lg-${a.offsetLg}`),a.offsetXl!==void 0&&l.push(`offset-xl-${a.offsetXl}`),a.offsetXxl!==void 0&&l.push(`offset-xxl-${a.offsetXxl}`),a.order!==void 0&&l.push(`order-${a.order}`),a.orderSm!==void 0&&l.push(`order-sm-${a.orderSm}`),a.orderMd!==void 0&&l.push(`order-md-${a.orderMd}`),a.orderLg!==void 0&&l.push(`order-lg-${a.orderLg}`),a.orderXl!==void 0&&l.push(`order-xl-${a.orderXl}`),a.orderXxl!==void 0&&l.push(`order-xxl-${a.orderXxl}`),a.alignSelf&&l.push(`align-self-${a.alignSelf}`),l.join(" ")});return(l,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(o.value)},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["class"]))}}),T=e.defineComponent({__name:"VibeCardHeader",props:{tag:{type:String,default:"div"}},emits:["component-error"],setup(t,{emit:r}){return(a,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:"card-header"},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3}))}}),v=e.defineComponent({__name:"VibeCardBody",props:{tag:{type:String,default:"div"}},emits:["component-error"],setup(t,{emit:r}){return(a,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:"card-body"},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3}))}}),M=e.defineComponent({__name:"VibeCardFooter",props:{tag:{type:String,default:"div"}},emits:["component-error"],setup(t,{emit:r}){return(a,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:"card-footer"},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3}))}}),ee=["src","alt"],w=e.defineComponent({__name:"VibeCardImg",props:{src:{type:String,required:!0},alt:{type:String,default:""},top:{type:Boolean,default:!1},bottom:{type:Boolean,default:!1}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=a.top?"card-img-top":a.bottom?"card-img-bottom":"card-img";return(l,n)=>(e.openBlock(),e.createElementBlock("img",{src:t.src,alt:t.alt,class:e.normalizeClass(e.unref(o))},null,10,ee))}}),F=e.defineComponent({__name:"VibeCardTitle",props:{tag:{type:String,default:"h5"}},emits:["component-error"],setup(t,{emit:r}){return(a,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:"card-title"},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3}))}}),q=e.defineComponent({__name:"VibeCardText",props:{tag:{type:String,default:"p"}},emits:["component-error"],setup(t,{emit:r}){return(a,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:"card-text"},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3}))}}),te=e.defineComponent({__name:"VibeCard",props:{variant:{type:String,default:void 0},border:{type:String,default:void 0},textVariant:{type:String,default:void 0},tag:{type:String,default:"div"},title:{type:String,default:void 0},body:{type:String,default:void 0},header:{type:String,default:void 0},footer:{type:String,default:void 0},headerImage:{type:String,default:void 0},headerImageAlt:{type:String,default:""},footerImage:{type:String,default:void 0},footerImageAlt:{type:String,default:""}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.useSlots(),l=e.computed(()=>{const i=["card"];return a.variant&&i.push(`bg-${a.variant}`),a.border&&i.push(`border-${a.border}`),a.textVariant&&i.push(`text-${a.textVariant}`),i.join(" ")}),n=e.computed(()=>!!(a.title||a.body||a.header||a.footer||a.headerImage||a.footerImage)),d=e.computed(()=>!!(o.default||o.header||o.footer||o.body));return(i,m)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(l.value)},{default:e.withCtx(()=>[n.value&&!d.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.headerImage?(e.openBlock(),e.createBlock(w,{key:0,top:"",src:t.headerImage,alt:t.headerImageAlt},null,8,["src","alt"])):e.createCommentVNode("",!0),t.header?(e.openBlock(),e.createBlock(T,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.header),1)]),_:1})):e.createCommentVNode("",!0),t.title||t.body?(e.openBlock(),e.createBlock(v,{key:2},{default:e.withCtx(()=>[t.title?(e.openBlock(),e.createBlock(F,{key:0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1})):e.createCommentVNode("",!0),t.body?(e.openBlock(),e.createBlock(q,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.body),1)]),_:1})):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0),t.footer?(e.openBlock(),e.createBlock(M,{key:3},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.footer),1)]),_:1})):e.createCommentVNode("",!0),t.footerImage?(e.openBlock(),e.createBlock(w,{key:4,bottom:"",src:t.footerImage,alt:t.footerImageAlt},null,8,["src","alt"])):e.createCommentVNode("",!0)],64)):e.renderSlot(i.$slots,"default",{key:1})]),_:3},8,["class"]))}}),ae=["aria-current"],P=e.defineComponent({__name:"VibeBreadcrumbItem",props:{active:{type:Boolean,default:!1},href:{type:String,default:void 0},to:{type:[String,Object],default:void 0}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=a.href?"a":a.to?"router-link":"span";return(l,n)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(["breadcrumb-item",{active:t.active}]),"aria-current":t.active?"page":void 0},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o)),{href:t.href,to:t.to},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["href","to"]))],10,ae))}}),le=["aria-label"],oe={class:"breadcrumb"},ne=e.defineComponent({__name:"VibeBreadcrumb",props:{ariaLabel:{type:String,default:"breadcrumb"},items:{type:Array,default:void 0}},emits:["component-error"],setup(t,{emit:r}){const a=e.useSlots();return(o,l)=>(e.openBlock(),e.createElementBlock("nav",{"aria-label":t.ariaLabel},[e.createElementVNode("ol",oe,[t.items&&t.items.length>0&&!e.unref(a).default?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(n,d)=>(e.openBlock(),e.createBlock(P,{key:d,href:n.href,to:n.to,active:n.active},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.text),1)]),_:2},1032,["href","to","active"]))),128)):e.renderSlot(o.$slots,"default",{key:1})])],8,le))}}),ie=["role"],z=e.defineComponent({__name:"VibeNavItem",props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},href:{type:String,default:void 0},to:{type:[String,Object],default:void 0},tab:{type:Boolean,default:!1},target:{type:String,default:void 0}},emits:["click","component-error"],setup(t,{emit:r}){const a=t,o=r,l=e.computed(()=>a.tab&&!a.href&&!a.to?"button":a.href?"a":a.to?"router-link":"a"),n=e.computed(()=>{const i=["nav-link"];return a.active&&i.push("active"),a.disabled&&i.push("disabled"),i.join(" ")}),d=i=>{a.disabled||o("click",i)};return(i,m)=>(e.openBlock(),e.createElementBlock("li",{class:"nav-item",role:t.tab?"presentation":void 0},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{class:e.normalizeClass(n.value),href:t.href,to:t.to,type:l.value==="button"?"button":void 0,"data-bs-toggle":t.tab?"tab":void 0,"data-bs-target":t.tab&&t.target?t.target:void 0,role:t.tab?"tab":void 0,"aria-current":t.active?"page":void 0,"aria-disabled":t.disabled,"aria-selected":t.tab?t.active:void 0,onClick:d},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},8,["class","href","to","type","data-bs-toggle","data-bs-target","role","aria-current","aria-disabled","aria-selected"]))],8,ie))}}),re=e.defineComponent({__name:"VibeNav",props:{tabs:{type:Boolean,default:!1},pills:{type:Boolean,default:!1},fill:{type:Boolean,default:!1},justified:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},tag:{type:String,default:"ul"},items:{type:Array,default:void 0}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.useSlots(),l=e.computed(()=>{const n=["nav"];return a.tabs&&n.push("nav-tabs"),a.pills&&n.push("nav-pills"),a.fill&&n.push("nav-fill"),a.justified&&n.push("nav-justified"),a.vertical&&n.push("flex-column"),n.join(" ")});return(n,d)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(l.value)},{default:e.withCtx(()=>[t.items&&t.items.length>0&&!e.unref(o).default?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(i,m)=>(e.openBlock(),e.createBlock(z,{key:m,href:i.href,to:i.to,active:i.active,disabled:i.disabled},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.text),1)]),_:2},1032,["href","to","active","disabled"]))),128)):e.renderSlot(n.$slots,"default",{key:1})]),_:3},8,["class"]))}}),de=e.defineComponent({__name:"VibeNavbar",props:{variant:{type:String,default:"light"},expand:{type:[Boolean,String],default:"lg"},container:{type:[Boolean,String],default:!0},position:{type:String,default:void 0},tag:{type:String,default:"nav"}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.computed(()=>{const n=["navbar"];return a.expand===!0?n.push("navbar-expand"):typeof a.expand=="string"&&n.push(`navbar-expand-${a.expand}`),a.variant==="dark"||a.variant==="light"?n.push(`navbar-${a.variant}`):n.push(`bg-${a.variant}`),a.position&&n.push(a.position),n.join(" ")}),l=e.computed(()=>{if(a.container!==!1)return a.container===!0?"container-fluid":`container-${a.container}`});return(n,d)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(o.value)},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(l.value)},[e.renderSlot(n.$slots,"default")],2)):e.renderSlot(n.$slots,"default",{key:1})]),_:3},8,["class"]))}}),se=e.defineComponent({__name:"VibeNavbarBrand",props:{href:{type:String,default:void 0},to:{type:[String,Object],default:void 0}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=a.href?"a":a.to?"router-link":"span";return(l,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o)),{class:"navbar-brand",href:t.href,to:t.to},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["href","to"]))}}),ce=["data-bs-target","aria-controls","aria-label"],me=e.defineComponent({__name:"VibeNavbarToggle",props:{target:{type:String,required:!0},ariaLabel:{type:String,default:"Toggle navigation"}},emits:["component-error"],setup(t,{emit:r}){return(a,o)=>(e.openBlock(),e.createElementBlock("button",{class:"navbar-toggler",type:"button","data-bs-toggle":"collapse","data-bs-target":`#${t.target}`,"aria-controls":t.target,"aria-expanded":"false","aria-label":t.ariaLabel},[...o[0]||(o[0]=[e.createElementVNode("span",{class:"navbar-toggler-icon"},null,-1)])],8,ce))}}),fe=e.defineComponent({__name:"VibeNavbarNav",props:{tag:{type:String,default:"ul"},items:{type:Array,default:void 0}},emits:["component-error"],setup(t,{emit:r}){const a=e.useSlots();return(o,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:"navbar-nav"},{default:e.withCtx(()=>[t.items&&t.items.length>0&&!e.unref(a).default?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(n,d)=>(e.openBlock(),e.createBlock(z,{key:d,href:n.href,to:n.to,active:n.active,disabled:n.disabled},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.text),1)]),_:2},1032,["href","to","active","disabled"]))),128)):e.renderSlot(o.$slots,"default",{key:1})]),_:3}))}}),E=e.defineComponent({__name:"VibePaginationItem",props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},href:{type:String,default:void 0},to:{type:[String,Object],default:void 0}},emits:["click","component-error"],setup(t,{emit:r}){const a=t,o=r,l=e.computed(()=>a.href?"a":a.to?"router-link":"button"),n=d=>{a.disabled||o("click",d)};return(d,i)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(["page-item",{active:t.active,disabled:t.disabled}])},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{class:"page-link",href:t.href,to:t.to,type:l.value==="button"?"button":void 0,disabled:t.disabled&&l.value==="button","aria-current":t.active?"page":void 0,"aria-disabled":t.disabled,onClick:n},{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3},8,["href","to","type","disabled","aria-current","aria-disabled"]))],2))}}),ue=["aria-label"],ye=e.defineComponent({__name:"VibePagination",props:{size:{type:String,default:void 0},ariaLabel:{type:String,default:"Pagination"},totalPages:{type:Number,default:void 0},currentPage:{type:Number,default:1},showPrevNext:{type:Boolean,default:!0}},emits:["page-click","component-error"],setup(t,{emit:r}){const a=t,o=r,l=e.useSlots(),n=e.computed(()=>{const m=["pagination"];return a.size&&m.push(`pagination-${a.size}`),m.join(" ")}),d=e.computed(()=>a.totalPages?Array.from({length:a.totalPages},(m,s)=>s+1):[]),i=m=>{m>=1&&m<=a.totalPages&&o("page-click",m)};return(m,s)=>(e.openBlock(),e.createElementBlock("nav",{"aria-label":t.ariaLabel},[e.createElementVNode("ul",{class:e.normalizeClass(n.value)},[t.totalPages&&!e.unref(l).default?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.showPrevNext?(e.openBlock(),e.createBlock(E,{key:0,disabled:t.currentPage===1,onClick:s[0]||(s[0]=c=>i(t.currentPage-1))},{default:e.withCtx(()=>[...s[2]||(s[2]=[e.createTextVNode(" Previous ",-1)])]),_:1},8,["disabled"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,c=>(e.openBlock(),e.createBlock(E,{key:c,active:c===t.currentPage,onClick:u=>i(c)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c),1)]),_:2},1032,["active","onClick"]))),128)),t.showPrevNext?(e.openBlock(),e.createBlock(E,{key:1,disabled:t.currentPage===t.totalPages,onClick:s[1]||(s[1]=c=>i(t.currentPage+1))},{default:e.withCtx(()=>[...s[3]||(s[3]=[e.createTextVNode(" Next ",-1)])]),_:1},8,["disabled"])):e.createCommentVNode("",!0)],64)):e.renderSlot(m.$slots,"default",{key:1})],2)],8,ue))}}),pe=e.defineComponent({__name:"VibeTabContent",props:{id:{type:String,default:void 0},tag:{type:String,default:"div"}},emits:["component-error"],setup(t,{emit:r}){return(a,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{id:t.id,class:"tab-content"},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},8,["id"]))}}),be=e.defineComponent({__name:"VibeTabPane",props:{id:{type:String,required:!0},active:{type:Boolean,default:!1},fade:{type:Boolean,default:!0},tag:{type:String,default:"div"},ariaLabelledby:{type:String,default:void 0}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.computed(()=>{const l=["tab-pane"];return a.fade&&l.push("fade"),a.active&&l.push("show","active"),l.join(" ")});return(l,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{id:t.id,class:e.normalizeClass(o.value),role:"tabpanel","aria-labelledby":t.ariaLabelledby,tabindex:"0"},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["id","class","aria-labelledby"]))}}),L=e.defineComponent({__name:"VibeListGroupItem",props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},variant:{type:String,default:void 0},href:{type:String,default:void 0},to:{type:[String,Object],default:void 0},tag:{type:String,default:"li"},action:{type:Boolean,default:!1}},emits:["click","component-error"],setup(t,{emit:r}){const a=t,o=r,l=e.computed(()=>a.href?"a":a.to?"router-link":a.action?"button":a.tag),n=e.computed(()=>{const i=["list-group-item"];return a.active&&i.push("active"),a.disabled&&i.push("disabled"),a.variant&&i.push(`list-group-item-${a.variant}`),(a.action||a.href||a.to)&&i.push("list-group-item-action"),i.join(" ")}),d=i=>{a.disabled||o("click",i)};return(i,m)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{class:e.normalizeClass(n.value),href:t.href,to:t.to,type:l.value==="button"?"button":void 0,disabled:t.disabled,"aria-disabled":t.disabled,"aria-current":t.active?"true":void 0,onClick:d},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},8,["class","href","to","type","disabled","aria-disabled","aria-current"]))}}),ge=e.defineComponent({__name:"VibeListGroup",props:{flush:{type:Boolean,default:!1},horizontal:{type:[Boolean,String],default:!1},numbered:{type:Boolean,default:!1},tag:{type:String,default:"ul"},items:{type:Array,default:void 0}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.useSlots(),l=e.computed(()=>{const n=["list-group"];return a.flush&&n.push("list-group-flush"),a.numbered&&n.push("list-group-numbered"),a.horizontal===!0?n.push("list-group-horizontal"):typeof a.horizontal=="string"&&n.push(`list-group-horizontal-${a.horizontal}`),n.join(" ")});return(n,d)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(l.value)},{default:e.withCtx(()=>[t.items&&t.items.length>0&&!e.unref(o).default?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(i,m)=>(e.openBlock(),e.createBlock(L,{key:m,href:i.href,to:i.to,active:i.active,disabled:i.disabled,variant:i.variant},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.text),1)]),_:2},1032,["href","to","active","disabled","variant"]))),128)):e.renderSlot(n.$slots,"default",{key:1})]),_:3},8,["class"]))}}),he=e.defineComponent({__name:"VibeProgress",props:{height:{type:String,default:void 0}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.computed(()=>{if(a.height)return{height:a.height}});return(l,n)=>(e.openBlock(),e.createElementBlock("div",{class:"progress",style:e.normalizeStyle(o.value)},[e.renderSlot(l.$slots,"default")],4))}}),ke=["aria-valuenow","aria-valuemax"],Be=e.defineComponent({__name:"VibeProgressBar",props:{value:{type:Number,default:0},max:{type:Number,default:100},variant:{type:String,default:void 0},striped:{type:Boolean,default:!1},animated:{type:Boolean,default:!1},label:{type:String,default:void 0},showValue:{type:Boolean,default:!1}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.computed(()=>{const d=["progress-bar"];return a.variant&&d.push(`bg-${a.variant}`),(a.striped||a.animated)&&d.push("progress-bar-striped"),a.animated&&d.push("progress-bar-animated"),d.join(" ")}),l=e.computed(()=>({width:`${Math.min(100,Math.max(0,a.value/a.max*100))}%`})),n=e.computed(()=>a.label?a.label:a.showValue?`${a.value}%`:"");return(d,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value),style:e.normalizeStyle(l.value),role:"progressbar","aria-valuenow":t.value,"aria-valuemin":0,"aria-valuemax":t.max},[e.createTextVNode(e.toDisplayString(n.value)+" ",1),e.renderSlot(d.$slots,"default")],14,ke))}}),Se={class:"accordion-item"},Ce={class:"accordion-header"},Ve=["data-bs-target","aria-expanded","aria-controls"],$e=["id","data-bs-parent"],Ne={class:"accordion-body"},I=e.defineComponent({__name:"VibeAccordionItem",props:{id:{type:String,required:!0},title:{type:String,required:!0},parentId:{type:String,required:!0},show:{type:Boolean,default:!1}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.computed(()=>a.show?"accordion-collapse collapse show":"accordion-collapse collapse");return(l,n)=>(e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("h2",Ce,[e.createElementVNode("button",{class:e.normalizeClass(["accordion-button",{collapsed:!t.show}]),type:"button","data-bs-toggle":"collapse","data-bs-target":`#${t.id}`,"aria-expanded":t.show,"aria-controls":t.id},e.toDisplayString(t.title),11,Ve)]),e.createElementVNode("div",{id:t.id,class:e.normalizeClass(o.value),"data-bs-parent":`#${t.parentId}`},[e.createElementVNode("div",Ne,[e.renderSlot(l.$slots,"default")])],10,$e)]))}}),xe=["id"],Ee=e.defineComponent({__name:"VibeAccordion",props:{id:{type:String,required:!0},flush:{type:Boolean,default:!1},items:{type:Array,default:void 0}},emits:["component-error"],setup(t,{emit:r}){const a=e.useSlots();return(o,l)=>(e.openBlock(),e.createElementBlock("div",{id:t.id,class:e.normalizeClass(["accordion",{"accordion-flush":t.flush}])},[t.items&&t.items.length>0&&!e.unref(a).default?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(n,d)=>(e.openBlock(),e.createBlock(I,{key:d,id:n.id,"parent-id":t.id,title:n.title,show:n.show},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.content),1)]),_:2},1032,["id","parent-id","title","show"]))),128)):e.renderSlot(o.$slots,"default",{key:1})],10,xe))}}),we=e.defineComponent({__name:"VibeCollapse",props:{id:{type:String,required:!0},modelValue:{type:Boolean,default:!1},tag:{type:String,default:"div"},horizontal:{type:Boolean,default:!1}},emits:["update:modelValue","show","shown","hide","hidden","component-error"],setup(t,{emit:r}){const a=t,o=e.ref(a.modelValue);e.watch(()=>a.modelValue,n=>{o.value=n});const l=e.computed(()=>{const n=["collapse"];return a.horizontal&&n.push("collapse-horizontal"),o.value&&n.push("show"),n.join(" ")});return(n,d)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{id:t.id,class:e.normalizeClass(l.value)},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["id","class"]))}}),ze={key:0},j=e.defineComponent({__name:"VibeDropdownItem",props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},href:{type:String,default:void 0},to:{type:[String,Object],default:void 0},divider:{type:Boolean,default:!1},header:{type:Boolean,default:!1}},emits:["click","component-error"],setup(t,{emit:r}){const a=t,o=r,l=e.computed(()=>a.divider?"hr":a.header?"h6":a.href?"a":a.to?"router-link":"button"),n=e.computed(()=>{if(a.divider)return"dropdown-divider";if(a.header)return"dropdown-header";const i=["dropdown-item"];return a.active&&i.push("active"),a.disabled&&i.push("disabled"),i.join(" ")}),d=i=>{!a.disabled&&!a.divider&&!a.header&&o("click",i)};return(i,m)=>!t.divider&&!t.header?(e.openBlock(),e.createElementBlock("li",ze,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{class:e.normalizeClass(n.value),href:t.href,to:t.to,type:l.value==="button"?"button":void 0,disabled:t.disabled,onClick:d},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},8,["class","href","to","type","disabled"]))])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{key:1,class:e.normalizeClass(n.value)},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},8,["class"]))}}),De=["id"],Te=["aria-labelledby"],ve=e.defineComponent({__name:"VibeDropdown",props:{id:{type:String,required:!0},text:{type:String,default:"Dropdown"},variant:{type:String,default:"primary"},size:{type:String,default:void 0},split:{type:Boolean,default:!1},direction:{type:String,default:"down"},menuEnd:{type:Boolean,default:!1},items:{type:Array,default:void 0}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.useSlots(),l=e.computed(()=>a.direction==="up"?"dropup":a.direction==="end"?"dropend":a.direction==="start"?"dropstart":"dropdown"),n=e.computed(()=>{const i=["btn",`btn-${a.variant}`];return a.size&&i.push(`btn-${a.size}`),i.join(" ")}),d=e.computed(()=>{const i=["dropdown-menu"];return a.menuEnd&&i.push("dropdown-menu-end"),i.join(" ")});return(i,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value)},[e.createElementVNode("button",{id:t.id,class:e.normalizeClass([n.value,"dropdown-toggle"]),type:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},e.toDisplayString(t.text),11,De),e.createElementVNode("ul",{class:e.normalizeClass(d.value),"aria-labelledby":t.id},[t.items&&t.items.length>0&&!e.unref(o).default?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(s,c)=>(e.openBlock(),e.createBlock(j,{key:c,href:s.href,to:s.to,active:s.active,disabled:s.disabled,divider:s.divider,header:s.header},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.text),1)]),_:2},1032,["href","to","active","disabled","divider","header"]))),128)):e.renderSlot(i.$slots,"default",{key:1})],10,Te)],2))}}),Me=["id","aria-labelledby","data-bs-backdrop","data-bs-keyboard"],Fe={class:"modal-content"},qe={key:0,class:"modal-header"},Pe=["id"],Le={class:"modal-body"},Ie={key:1,class:"modal-footer"},je=e.defineComponent({__name:"VibeModal",props:{id:{type:String,required:!0},modelValue:{type:Boolean,default:!1},title:{type:String,default:""},size:{type:String,default:void 0},centered:{type:Boolean,default:!1},scrollable:{type:Boolean,default:!1},fullscreen:{type:[Boolean,String],default:!1},staticBackdrop:{type:Boolean,default:!1},hideHeader:{type:Boolean,default:!1},hideFooter:{type:Boolean,default:!1}},emits:["update:modelValue","show","shown","hide","hidden","component-error"],setup(t,{emit:r}){const a=t,o=e.computed(()=>{const l=["modal-dialog"];return a.size&&l.push(`modal-${a.size}`),a.centered&&l.push("modal-dialog-centered"),a.scrollable&&l.push("modal-dialog-scrollable"),a.fullscreen===!0?l.push("modal-fullscreen"):typeof a.fullscreen=="string"&&l.push(`modal-fullscreen-${a.fullscreen}-down`),l.join(" ")});return(l,n)=>(e.openBlock(),e.createElementBlock("div",{id:t.id,class:"modal fade",tabindex:"-1","aria-labelledby":`${t.id}-label`,"aria-hidden":"true","data-bs-backdrop":t.staticBackdrop?"static":void 0,"data-bs-keyboard":!t.staticBackdrop},[e.createElementVNode("div",{class:e.normalizeClass(o.value)},[e.createElementVNode("div",Fe,[t.hideHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",qe,[e.createElementVNode("h5",{id:`${t.id}-label`,class:"modal-title"},[e.renderSlot(l.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])],8,Pe),n[0]||(n[0]=e.createElementVNode("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1))])),e.createElementVNode("div",Le,[e.renderSlot(l.$slots,"default")]),t.hideFooter?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ie,[e.renderSlot(l.$slots,"footer",{},()=>[n[1]||(n[1]=e.createElementVNode("button",{type:"button",class:"btn btn-secondary","data-bs-dismiss":"modal"},"Close",-1))])]))])],2)],8,Me))}}),Ae=["id","aria-labelledby","data-bs-backdrop","data-bs-scroll"],Oe={class:"offcanvas-header"},Xe=["id"],Re={class:"offcanvas-body"},Ye=e.defineComponent({__name:"VibeOffcanvas",props:{id:{type:String,required:!0},modelValue:{type:Boolean,default:!1},title:{type:String,default:""},placement:{type:String,default:"start"},backdrop:{type:[Boolean,String],default:!0},scroll:{type:Boolean,default:!1}},emits:["update:modelValue","show","shown","hide","hidden","component-error"],setup(t,{emit:r}){const a=t,o=e.computed(()=>`offcanvas offcanvas-${a.placement}`);return(l,n)=>(e.openBlock(),e.createElementBlock("div",{id:t.id,class:e.normalizeClass(o.value),tabindex:"-1","aria-labelledby":`${t.id}-label`,"data-bs-backdrop":t.backdrop===!1?"false":t.backdrop==="static"?"static":"true","data-bs-scroll":t.scroll},[e.createElementVNode("div",Oe,[e.createElementVNode("h5",{id:`${t.id}-label`,class:"offcanvas-title"},[e.renderSlot(l.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])],8,Xe),n[0]||(n[0]=e.createElementVNode("button",{type:"button",class:"btn-close","data-bs-dismiss":"offcanvas","aria-label":"Close"},null,-1))]),e.createElementVNode("div",Re,[e.renderSlot(l.$slots,"default")])],10,Ae))}}),Ge=["id","data-bs-autohide","data-bs-delay"],He={key:0,class:"toast-header"},Ue={class:"me-auto"},Qe={class:"toast-body"},Ke=e.defineComponent({__name:"VibeToast",props:{id:{type:String,default:void 0},modelValue:{type:Boolean,default:!1},title:{type:String,default:""},variant:{type:String,default:void 0},autohide:{type:Boolean,default:!0},delay:{type:Number,default:5e3}},emits:["update:modelValue","show","shown","hide","hidden","component-error"],setup(t,{emit:r}){const a=t,o=e.computed(()=>{const l=["toast"];return a.variant&&l.push(`text-bg-${a.variant}`),l.join(" ")});return(l,n)=>(e.openBlock(),e.createElementBlock("div",{id:t.id,class:e.normalizeClass(o.value),role:"alert","aria-live":"assertive","aria-atomic":"true","data-bs-autohide":t.autohide,"data-bs-delay":t.delay},[t.title||l.$slots.header?(e.openBlock(),e.createElementBlock("div",He,[e.renderSlot(l.$slots,"header",{},()=>[e.createElementVNode("strong",Ue,e.toDisplayString(t.title),1)]),n[0]||(n[0]=e.createElementVNode("button",{type:"button",class:"btn-close","data-bs-dismiss":"toast","aria-label":"Close"},null,-1))])):e.createCommentVNode("",!0),e.createElementVNode("div",Qe,[e.renderSlot(l.$slots,"default")])],10,Ge))}}),We=["data-bs-interval"],Je=["src","alt"],Ze={key:1,class:"carousel-caption d-none d-md-block"},_e={key:0},et={key:1},A=e.defineComponent({__name:"VibeCarouselSlide",props:{active:{type:Boolean,default:!1},interval:{type:Number,default:void 0},imgSrc:{type:String,default:void 0},imgAlt:{type:String,default:""},caption:{type:String,default:void 0},captionText:{type:String,default:void 0}},emits:["component-error"],setup(t,{emit:r}){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["carousel-item",{active:t.active}]),"data-bs-interval":t.interval},[t.imgSrc?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.imgSrc,class:"d-block w-100",alt:t.imgAlt},null,8,Je)):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"img"),t.caption||t.captionText||a.$slots.caption?(e.openBlock(),e.createElementBlock("div",Ze,[e.renderSlot(a.$slots,"caption",{},()=>[t.caption?(e.openBlock(),e.createElementBlock("h5",_e,e.toDisplayString(t.caption),1)):e.createCommentVNode("",!0),t.captionText?(e.openBlock(),e.createElementBlock("p",et,e.toDisplayString(t.captionText),1)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"default")],10,We))}}),tt=["id","data-bs-ride","data-bs-interval","data-bs-keyboard","data-bs-pause","data-bs-wrap","data-bs-touch"],at={key:0,class:"carousel-indicators"},lt=["data-bs-target","data-bs-slide-to","aria-current","aria-label"],ot={class:"carousel-inner"},nt={key:0,class:"carousel-indicators"},it={class:"carousel-inner"},rt=["data-bs-target"],dt=["data-bs-target"],st=e.defineComponent({__name:"VibeCarousel",props:{id:{type:String,required:!0},controls:{type:Boolean,default:!0},indicators:{type:Boolean,default:!0},ride:{type:[Boolean,String],default:!1},interval:{type:[Number,Boolean],default:5e3},keyboard:{type:Boolean,default:!0},pause:{type:[String,Boolean],default:"hover"},wrap:{type:Boolean,default:!0},touch:{type:Boolean,default:!0},dark:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},items:{type:Array,default:void 0}},emits:["slide","slid","component-error"],setup(t,{emit:r}){const a=e.useSlots();return(o,l)=>(e.openBlock(),e.createElementBlock("div",{id:t.id,class:e.normalizeClass(["carousel","slide",{"carousel-dark":t.dark,"carousel-fade":t.fade}]),"data-bs-ride":t.ride===!0?"carousel":t.ride,"data-bs-interval":t.interval,"data-bs-keyboard":t.keyboard,"data-bs-pause":t.pause,"data-bs-wrap":t.wrap,"data-bs-touch":t.touch},[t.items&&t.items.length>0&&!e.unref(a).default?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.indicators?(e.openBlock(),e.createElementBlock("div",at,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(n,d)=>(e.openBlock(),e.createElementBlock("button",{key:`indicator-${d}`,type:"button","data-bs-target":`#${t.id}`,"data-bs-slide-to":d,class:e.normalizeClass({active:n.active||d===0}),"aria-current":n.active||d===0,"aria-label":`Slide ${d+1}`},null,10,lt))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",ot,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(n,d)=>(e.openBlock(),e.createBlock(A,{key:d,active:n.active||d===0,interval:n.interval,"img-src":n.src,"img-alt":n.alt,caption:n.caption,"caption-text":n.captionText},null,8,["active","interval","img-src","img-alt","caption","caption-text"]))),128))])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[t.indicators?(e.openBlock(),e.createElementBlock("div",nt,[e.renderSlot(o.$slots,"indicators")])):e.createCommentVNode("",!0),e.createElementVNode("div",it,[e.renderSlot(o.$slots,"default")])],64)),t.controls?(e.openBlock(),e.createElementBlock("button",{key:2,class:"carousel-control-prev",type:"button","data-bs-target":`#${t.id}`,"data-bs-slide":"prev"},[...l[0]||(l[0]=[e.createElementVNode("span",{class:"carousel-control-prev-icon","aria-hidden":"true"},null,-1),e.createElementVNode("span",{class:"visually-hidden"},"Previous",-1)])],8,rt)):e.createCommentVNode("",!0),t.controls?(e.openBlock(),e.createElementBlock("button",{key:3,class:"carousel-control-next",type:"button","data-bs-target":`#${t.id}`,"data-bs-slide":"next"},[...l[1]||(l[1]=[e.createElementVNode("span",{class:"carousel-control-next-icon","aria-hidden":"true"},null,-1),e.createElementVNode("span",{class:"visually-hidden"},"Next",-1)])],8,dt)):e.createCommentVNode("",!0)],10,tt))}}),ct=["data-bs-placement","data-bs-title","data-bs-trigger","data-bs-html"],mt=e.defineComponent({__name:"VibeTooltip",props:{content:{type:String,required:!0},placement:{type:String,default:"top"},trigger:{type:String,default:"hover focus"},html:{type:Boolean,default:!1}},emits:["component-error"],setup(t,{emit:r}){return(a,o)=>(e.openBlock(),e.createElementBlock("span",{"data-bs-toggle":"tooltip","data-bs-placement":t.placement,"data-bs-title":t.content,"data-bs-trigger":t.trigger,"data-bs-html":t.html},[e.renderSlot(a.$slots,"default")],8,ct))}}),ft=["data-bs-placement","data-bs-title","data-bs-content","data-bs-trigger","data-bs-html"],ut=e.defineComponent({__name:"VibePopover",props:{title:{type:String,default:void 0},content:{type:String,required:!0},placement:{type:String,default:"top"},trigger:{type:String,default:"click"},html:{type:Boolean,default:!1}},emits:["component-error"],setup(t,{emit:r}){return(a,o)=>(e.openBlock(),e.createElementBlock("span",{"data-bs-toggle":"popover","data-bs-placement":t.placement,"data-bs-title":t.title,"data-bs-content":t.content,"data-bs-trigger":t.trigger,"data-bs-html":t.html},[e.renderSlot(a.$slots,"default")],8,ft))}}),yt=e.defineComponent({__name:"VibeScrollspy",props:{target:{type:String,required:!0},offset:{type:Number,default:10},method:{type:String,default:"auto"},smoothScroll:{type:Boolean,default:!1},tag:{type:String,default:"div"}},emits:["activate","component-error"],setup(t,{emit:r}){return(a,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{"data-bs-spy":"scroll","data-bs-target":t.target,"data-bs-offset":t.offset,"data-bs-method":t.method,"data-bs-smooth-scroll":t.smoothScroll,tabindex:"0"},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},8,["data-bs-target","data-bs-offset","data-bs-method","data-bs-smooth-scroll"]))}}),pt=e.defineComponent({__name:"VibeIcon",props:{icon:{type:String,required:!0},size:{type:String,default:void 0},fontSize:{type:String,default:void 0},color:{type:String,default:void 0},customClass:{type:String,default:void 0},flipH:{type:Boolean,default:!1},flipV:{type:Boolean,default:!1},rotate:{type:Number,default:void 0}},emits:["click","component-error"],setup(t,{emit:r}){const a=t,o=r,l=e.computed(()=>{const i=["bi",`bi-${a.icon}`];return a.size&&(["1x","2x","3x","4x","5x"].includes(a.size)||i.push(`bi-${a.size}`)),a.customClass&&i.push(a.customClass),i.join(" ")}),n=e.computed(()=>{const i={};if(a.fontSize)i.fontSize=a.fontSize;else if(a.size){const s={"1x":"1rem","2x":"2rem","3x":"3rem","4x":"4rem","5x":"5rem"};s[a.size]&&(i.fontSize=s[a.size])}a.color&&(i.color=a.color);const m=[];return a.flipH&&m.push("scaleX(-1)"),a.flipV&&m.push("scaleY(-1)"),a.rotate&&m.push(`rotate(${a.rotate}deg)`),m.length>0&&(i.transform=m.join(" "),i.display="inline-block"),Object.keys(i).length>0?i:void 0}),d=i=>{o("click",i)};return(i,m)=>(e.openBlock(),e.createElementBlock("i",{class:e.normalizeClass(l.value),style:e.normalizeStyle(n.value),"aria-hidden":!0,onClick:d},null,6))}}),bt={class:"vibe-datatable"},gt={class:"row mb-3"},ht={key:0,class:"col-md-6 mb-2 mb-md-0"},kt=["placeholder"],Bt={key:1,class:"col-md-6"},St={class:"d-flex justify-content-md-end align-items-center"},Ct=["value"],Vt=["onClick"],$t={key:0,class:"ms-1"},Nt=["onClick"],xt={key:0},Et=["colspan"],wt={class:"row"},zt={key:0,class:"col-md-6 mb-2 mb-md-0"},Dt={class:"datatable-info"},Tt={key:1,class:"col-md-6"},vt={class:"pagination justify-content-md-end mb-0"},Mt={key:0,class:"page-item"},Ft={key:1,class:"page-item disabled"},qt=["onClick"],Pt={key:2,class:"page-item disabled"},Lt={key:3,class:"page-item"},It=e.defineComponent({__name:"VibeDataTable",props:{items:{type:Array,default:()=>[]},columns:{type:Array,required:!0},striped:{type:Boolean,default:!1},bordered:{type:Boolean,default:!1},borderless:{type:Boolean,default:!1},hover:{type:Boolean,default:!1},small:{type:Boolean,default:!1},responsive:{type:Boolean,default:!0},variant:{type:String,default:void 0},searchable:{type:Boolean,default:!0},sortable:{type:Boolean,default:!0},paginated:{type:Boolean,default:!0},searchPlaceholder:{type:String,default:"Search..."},searchDebounce:{type:Number,default:300},perPage:{type:Number,default:10},currentPage:{type:Number,default:1},perPageOptions:{type:Array,default:()=>[5,10,25,50,100]},sortBy:{type:String,default:void 0},sortDesc:{type:Boolean,default:!1},showEmpty:{type:Boolean,default:!0},emptyText:{type:String,default:"No data available"},showPerPage:{type:Boolean,default:!0},showInfo:{type:Boolean,default:!0},infoText:{type:String,default:"Showing {start} to {end} of {total} entries"},filteredInfoText:{type:String,default:"Showing {start} to {end} of {total} entries (filtered from {totalRows} total entries)"}},emits:["update:currentPage","update:perPage","update:sortBy","update:sortDesc","row-clicked","component-error"],setup(t,{emit:r}){const a=t,o=r,l=e.ref(""),n=e.ref(null),d=e.ref(""),i=e.ref(a.currentPage),m=e.ref(a.perPage),s=e.ref(a.sortBy),c=e.ref(a.sortDesc);e.watch(()=>a.currentPage,y=>{i.value=y}),e.watch(()=>a.perPage,y=>{m.value=y}),e.watch(()=>a.sortBy,y=>{s.value=y}),e.watch(()=>a.sortDesc,y=>{c.value=y}),e.watch(l,y=>{n.value&&clearTimeout(n.value),n.value=window.setTimeout(()=>{d.value=y,i.value=1},a.searchDebounce)});const u=e.computed(()=>{if(!a.searchable||!d.value)return a.items;const y=d.value.toLowerCase();return a.items.filter(h=>a.columns.some(b=>{if(b.searchable===!1)return!1;const V=h[b.key];return V==null?!1:String(V).toLowerCase().includes(y)}))}),p=e.computed(()=>{if(!a.sortable||!s.value)return u.value;const y=[...u.value],h=s.value;return y.sort((b,V)=>{let S=b[h],N=V[h];return S==null?1:N==null?-1:(typeof S=="string"&&(S=S.toLowerCase()),typeof N=="string"&&(N=N.toLowerCase()),S<N?c.value?1:-1:S>N?c.value?-1:1:0)}),y}),k=e.computed(()=>{if(!a.paginated)return p.value;const y=(i.value-1)*m.value,h=y+m.value;return p.value.slice(y,h)}),C=e.computed(()=>a.items.length),g=e.computed(()=>u.value.length),B=e.computed(()=>Math.ceil(g.value/m.value)),$=e.computed(()=>g.value===0?0:(i.value-1)*m.value+1),Sl=e.computed(()=>{const y=i.value*m.value;return Math.min(y,g.value)}),Cl=e.computed(()=>(g.value!==C.value?a.filteredInfoText:a.infoText).replace("{start}",String($.value)).replace("{end}",String(Sl.value)).replace("{total}",String(g.value)).replace("{totalRows}",String(C.value))),Vl=e.computed(()=>{const y=["table"];return a.striped&&y.push("table-striped"),a.bordered&&y.push("table-bordered"),a.borderless&&y.push("table-borderless"),a.hover&&y.push("table-hover"),a.small&&y.push("table-sm"),a.variant&&y.push(`table-${a.variant}`),y.join(" ")}),$l=y=>{!a.sortable||y.sortable===!1||(s.value===y.key?c.value=!c.value:(s.value=y.key,c.value=!1),o("update:sortBy",s.value),o("update:sortDesc",c.value))},x=y=>{y<1||y>B.value||(i.value=y,o("update:currentPage",y))},Nl=()=>{i.value=1,o("update:perPage",m.value),o("update:currentPage",1)},xl=(y,h)=>{o("row-clicked",y,h)},El=(y,h)=>{const b=y[h.key];return h.formatter?h.formatter(b,y):b},wl=y=>!a.sortable||y.sortable===!1?"":s.value!==y.key?"⇅":c.value?"↓":"↑",zl=y=>{const h={...y.thStyle};return a.sortable&&y.sortable!==!1&&(h.cursor="pointer"),h};return(y,h)=>(e.openBlock(),e.createElementBlock("div",bt,[e.createElementVNode("div",gt,[t.searchable?(e.openBlock(),e.createElementBlock("div",ht,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":h[0]||(h[0]=b=>l.value=b),type:"search",class:"form-control",placeholder:t.searchPlaceholder},null,8,kt),[[e.vModelText,l.value]])])):e.createCommentVNode("",!0),t.showPerPage&&t.paginated?(e.openBlock(),e.createElementBlock("div",Bt,[e.createElementVNode("div",St,[h[6]||(h[6]=e.createElementVNode("label",{class:"me-2 mb-0"},"Show",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":h[1]||(h[1]=b=>m.value=b),class:"form-select form-select-sm",style:{width:"auto"},onChange:Nl},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.perPageOptions,b=>(e.openBlock(),e.createElementBlock("option",{key:b,value:b},e.toDisplayString(b),9,Ct))),128))],544),[[e.vModelSelect,m.value,void 0,{number:!0}]]),h[7]||(h[7]=e.createElementVNode("span",{class:"ms-2"},"entries",-1))])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:e.normalizeClass({"table-responsive":t.responsive})},[e.createElementVNode("table",{class:e.normalizeClass(Vl.value)},[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,b=>(e.openBlock(),e.createElementBlock("th",{key:b.key,class:e.normalizeClass(b.headerClass),style:e.normalizeStyle(zl(b)),onClick:V=>$l(b)},[e.createTextVNode(e.toDisplayString(b.label)+" ",1),t.sortable&&b.sortable!==!1?(e.openBlock(),e.createElementBlock("span",$t,e.toDisplayString(wl(b)),1)):e.createCommentVNode("",!0)],14,Vt))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,(b,V)=>(e.openBlock(),e.createElementBlock("tr",{key:V,onClick:S=>xl(b,V),style:{cursor:"pointer"}},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,S=>(e.openBlock(),e.createElementBlock("td",{key:S.key,class:e.normalizeClass(S.class),style:e.normalizeStyle(S.tdStyle)},[e.renderSlot(y.$slots,`cell(${S.key})`,{item:b,value:b[S.key],index:V},()=>[e.createTextVNode(e.toDisplayString(El(b,S)),1)],!0)],6))),128))],8,Nt))),128)),k.value.length===0&&t.showEmpty?(e.openBlock(),e.createElementBlock("tr",xt,[e.createElementVNode("td",{colspan:t.columns.length,class:"text-center"},e.toDisplayString(t.emptyText),9,Et)])):e.createCommentVNode("",!0)])],2)],2),e.createElementVNode("div",wt,[t.showInfo?(e.openBlock(),e.createElementBlock("div",zt,[e.createElementVNode("div",Dt,e.toDisplayString(Cl.value),1)])):e.createCommentVNode("",!0),t.paginated&&B.value>1?(e.openBlock(),e.createElementBlock("div",Tt,[e.createElementVNode("nav",null,[e.createElementVNode("ul",vt,[e.createElementVNode("li",{class:e.normalizeClass(["page-item",{disabled:i.value===1}])},[e.createElementVNode("a",{class:"page-link",href:"#",onClick:h[2]||(h[2]=e.withModifiers(b=>x(i.value-1),["prevent"]))}," Previous ")],2),i.value>3?(e.openBlock(),e.createElementBlock("li",Mt,[e.createElementVNode("a",{class:"page-link",href:"#",onClick:h[3]||(h[3]=e.withModifiers(b=>x(1),["prevent"]))},"1")])):e.createCommentVNode("",!0),i.value>4?(e.openBlock(),e.createElementBlock("li",Ft,[...h[8]||(h[8]=[e.createElementVNode("span",{class:"page-link"},"...",-1)])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Array.from({length:B.value},(b,V)=>V+1).filter(b=>b>=i.value-2&&b<=i.value+2),b=>(e.openBlock(),e.createElementBlock("li",{key:b,class:e.normalizeClass(["page-item",{active:b===i.value}])},[e.createElementVNode("a",{class:"page-link",href:"#",onClick:e.withModifiers(V=>x(b),["prevent"])},e.toDisplayString(b),9,qt)],2))),128)),i.value<B.value-3?(e.openBlock(),e.createElementBlock("li",Pt,[...h[9]||(h[9]=[e.createElementVNode("span",{class:"page-link"},"...",-1)])])):e.createCommentVNode("",!0),i.value<B.value-2?(e.openBlock(),e.createElementBlock("li",Lt,[e.createElementVNode("a",{class:"page-link",href:"#",onClick:h[4]||(h[4]=e.withModifiers(b=>x(B.value),["prevent"]))},e.toDisplayString(B.value),1)])):e.createCommentVNode("",!0),e.createElementVNode("li",{class:e.normalizeClass(["page-item",{disabled:i.value===B.value}])},[e.createElementVNode("a",{class:"page-link",href:"#",onClick:h[5]||(h[5]=e.withModifiers(b=>x(i.value+1),["prevent"]))}," Next ")],2)])])])):e.createCommentVNode("",!0)])]))}}),D=(t,r)=>{const a=t.__vccOpts||t;for(const[o,l]of r)a[o]=l;return a},jt=D(It,[["__scopeId","data-v-48221c7b"]]),At={class:"mb-3"},Ot=["for"],Xt={key:0,class:"text-danger"},Rt=["id","type","value","placeholder","disabled","readonly","required","aria-invalid","aria-describedby"],Yt=["id"],Gt={key:2,class:"valid-feedback",style:{display:"block"}},Ht=["id"],Ut=e.defineComponent({__name:"VibeFormInput",props:{modelValue:{type:[String,Number],default:""},type:{type:String,default:"text"},id:{type:String,required:!0},label:{type:String,default:void 0},placeholder:{type:String,default:void 0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},size:{type:String,default:void 0},validationState:{type:String,default:null},validationMessage:{type:String,default:void 0},validationRules:{type:[Array,Function],default:void 0},validateOn:{type:String,default:"blur"},helpText:{type:String,default:void 0},plaintext:{type:Boolean,default:!1}},emits:["update:modelValue","validate","blur","focus","input","change"],setup(t,{emit:r}){const a=t,o=r,l=e.computed(()=>a.validationState),n=e.computed(()=>{const c=[];return a.plaintext?c.push("form-control-plaintext"):(c.push("form-control"),a.size&&c.push(`form-control-${a.size}`)),l.value==="valid"&&c.push("is-valid"),l.value==="invalid"&&c.push("is-invalid"),c.join(" ")}),d=c=>{const u=c.target,p=a.type==="number"?u.value===""?"":Number(u.value):u.value;o("update:modelValue",p),o("input",c),a.validateOn==="input"&&o("validate")},i=c=>{o("change",c),a.validateOn==="change"&&o("validate")},m=c=>{o("blur",c),a.validateOn==="blur"&&o("validate")},s=c=>{o("focus",c)};return(c,u)=>(e.openBlock(),e.createElementBlock("div",At,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id,class:"form-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Xt,"*")):e.createCommentVNode("",!0)],8,Ot)):e.createCommentVNode("",!0),e.createElementVNode("input",{id:t.id,type:t.type,class:e.normalizeClass(n.value),value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly||t.plaintext,required:t.required,"aria-invalid":l.value==="invalid","aria-describedby":t.validationMessage||t.helpText?`${t.id}-feedback`:void 0,onInput:d,onChange:i,onBlur:m,onFocus:s},null,42,Rt),t.helpText&&!t.validationMessage?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${t.id}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,Yt)):e.createCommentVNode("",!0),l.value==="valid"?(e.openBlock(),e.createElementBlock("div",Gt,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),l.value==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:3,id:`${t.id}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide a valid value."),9,Ht)):e.createCommentVNode("",!0)]))}}),Qt={class:"mb-3"},Kt=["for"],Wt={key:0,class:"text-danger"},Jt=["id","value","disabled","required","multiple","size","aria-invalid","aria-describedby"],Zt=["selected"],_t=["value","disabled"],ea=["id"],ta={key:2,class:"valid-feedback",style:{display:"block"}},aa=["id"],la=e.defineComponent({__name:"VibeFormSelect",props:{modelValue:{type:[String,Number,Array],default:""},id:{type:String,required:!0},label:{type:String,default:void 0},options:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},size:{type:String,default:void 0},htmlSize:{type:Number,default:void 0},validationState:{type:String,default:null},validationMessage:{type:String,default:void 0},validationRules:{type:[Array,Function],default:void 0},validateOn:{type:String,default:"blur"},helpText:{type:String,default:void 0},placeholder:{type:String,default:void 0}},emits:["update:modelValue","validate","blur","focus","change"],setup(t,{emit:r}){const a=t,o=r,l=e.computed(()=>a.validationState),n=e.computed(()=>{const s=["form-select"];return a.size&&s.push(`form-select-${a.size}`),l.value==="valid"&&s.push("is-valid"),l.value==="invalid"&&s.push("is-invalid"),s.join(" ")}),d=s=>{const c=s.target;let u;a.multiple?u=Array.from(c.selectedOptions).map(k=>k.value):u=c.value,o("update:modelValue",u),o("change",s),a.validateOn==="change"&&o("validate")},i=s=>{o("blur",s),a.validateOn==="blur"&&o("validate")},m=s=>{o("focus",s)};return(s,c)=>(e.openBlock(),e.createElementBlock("div",Qt,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id,class:"form-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Wt,"*")):e.createCommentVNode("",!0)],8,Kt)):e.createCommentVNode("",!0),e.createElementVNode("select",{id:t.id,class:e.normalizeClass(n.value),value:t.modelValue,disabled:t.disabled,required:t.required,multiple:t.multiple,size:t.htmlSize,"aria-invalid":l.value==="invalid","aria-describedby":t.validationMessage||t.helpText?`${t.id}-feedback`:void 0,onChange:d,onBlur:i,onFocus:m},[t.placeholder&&!t.multiple?(e.openBlock(),e.createElementBlock("option",{key:0,value:"",disabled:"",selected:!t.modelValue},e.toDisplayString(t.placeholder),9,Zt)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,u=>(e.openBlock(),e.createElementBlock("option",{key:u.value,value:u.value,disabled:u.disabled},e.toDisplayString(u.text),9,_t))),128)),e.renderSlot(s.$slots,"default")],42,Jt),t.helpText&&!t.validationMessage?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${t.id}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,ea)):e.createCommentVNode("",!0),l.value==="valid"?(e.openBlock(),e.createElementBlock("div",ta,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),l.value==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:3,id:`${t.id}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please select a valid option."),9,aa)):e.createCommentVNode("",!0)]))}}),oa={class:"mb-3"},na=["for"],ia={key:0,class:"text-danger"},ra=["id","value","placeholder","disabled","readonly","required","rows","maxlength","aria-invalid","aria-describedby"],da={key:1,class:"form-text"},sa=["id"],ca={key:3,class:"valid-feedback",style:{display:"block"}},ma=["id"],fa=e.defineComponent({__name:"VibeFormTextarea",props:{modelValue:{type:String,default:""},id:{type:String,required:!0},label:{type:String,default:void 0},placeholder:{type:String,default:void 0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},rows:{type:Number,default:3},maxlength:{type:Number,default:void 0},size:{type:String,default:void 0},validationState:{type:String,default:null},validationMessage:{type:String,default:void 0},validationRules:{type:[Array,Function],default:void 0},validateOn:{type:String,default:"blur"},helpText:{type:String,default:void 0},showCharCount:{type:Boolean,default:!1}},emits:["update:modelValue","validate","blur","focus","input","change"],setup(t,{emit:r}){const a=t,o=r,l=e.computed(()=>a.validationState),n=e.computed(()=>{const p=["form-control"];return a.size&&p.push(`form-control-${a.size}`),l.value==="valid"&&p.push("is-valid"),l.value==="invalid"&&p.push("is-invalid"),p.join(" ")}),d=e.computed(()=>a.modelValue?a.modelValue.length:0),i=e.computed(()=>a.maxlength?`${d.value} / ${a.maxlength}`:`${d.value}`),m=p=>{const k=p.target;o("update:modelValue",k.value),o("input",p),a.validateOn==="input"&&o("validate")},s=p=>{o("change",p),a.validateOn==="change"&&o("validate")},c=p=>{o("blur",p),a.validateOn==="blur"&&o("validate")},u=p=>{o("focus",p)};return(p,k)=>(e.openBlock(),e.createElementBlock("div",oa,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id,class:"form-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",ia,"*")):e.createCommentVNode("",!0)],8,na)):e.createCommentVNode("",!0),e.createElementVNode("textarea",{id:t.id,class:e.normalizeClass(n.value),value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,rows:t.rows,maxlength:t.maxlength,"aria-invalid":l.value==="invalid","aria-describedby":t.validationMessage||t.helpText?`${t.id}-feedback`:void 0,onInput:m,onChange:s,onBlur:c,onFocus:u},null,42,ra),t.showCharCount?(e.openBlock(),e.createElementBlock("div",da,e.toDisplayString(i.value),1)):e.createCommentVNode("",!0),t.helpText&&!t.validationMessage&&!t.showCharCount?(e.openBlock(),e.createElementBlock("div",{key:2,id:`${t.id}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,sa)):e.createCommentVNode("",!0),l.value==="valid"?(e.openBlock(),e.createElementBlock("div",ca,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),l.value==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:4,id:`${t.id}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide a valid value."),9,ma)):e.createCommentVNode("",!0)]))}}),ua={class:"mb-3"},ya=["for"],pa={key:0,class:"text-danger"},ba=["disabled"],ga=["id","value","disabled","readonly","required","min","max","step","aria-invalid","aria-describedby"],ha=["disabled"],ka=["id"],Ba={key:2,class:"valid-feedback",style:{display:"block"}},Sa=["id"],Ca=D(e.defineComponent({__name:"VibeFormSpinbutton",props:{modelValue:{type:Number,default:0},id:{type:String,required:!0},label:{type:String,default:void 0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},min:{type:Number,default:void 0},max:{type:Number,default:void 0},step:{type:Number,default:1},size:{type:String,default:void 0},validationState:{type:String,default:null},validationMessage:{type:String,default:void 0},validationRules:{type:[Array,Function],default:void 0},validateOn:{type:String,default:"blur"},helpText:{type:String,default:void 0},wrap:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1}},emits:["update:modelValue","validate","blur","focus","input","change","increment","decrement"],setup(t,{emit:r}){const a=t,o=r,l=e.computed(()=>a.validationState),n=e.computed(()=>{const g=["form-control"];return a.size&&g.push(`form-control-${a.size}`),l.value==="valid"&&g.push("is-valid"),l.value==="invalid"&&g.push("is-invalid"),g.join(" ")}),d=e.computed(()=>{const g=["input-group"];return a.size&&g.push(`input-group-${a.size}`),a.vertical&&g.push("input-group-vertical"),g.join(" ")}),i=e.computed(()=>a.disabled||a.readonly?!1:a.min===void 0||a.wrap?!0:a.modelValue>a.min),m=e.computed(()=>a.disabled||a.readonly?!1:a.max===void 0||a.wrap?!0:a.modelValue<a.max),s=g=>{const B=g.target;let $=B.value===""?0:Number(B.value);a.min!==void 0&&$<a.min&&($=a.min),a.max!==void 0&&$>a.max&&($=a.max),o("update:modelValue",$),o("input",g),a.validateOn==="input"&&o("validate")},c=g=>{o("change",g),a.validateOn==="change"&&o("validate")},u=g=>{o("blur",g),a.validateOn==="blur"&&o("validate")},p=g=>{o("focus",g)},k=()=>{if(!m.value)return;let g=a.modelValue+a.step;a.max!==void 0&&g>a.max&&(g=a.wrap?a.min??0:a.max),o("update:modelValue",g),o("increment",g),a.validateOn==="change"&&o("validate")},C=()=>{if(!i.value)return;let g=a.modelValue-a.step;a.min!==void 0&&g<a.min&&(g=a.wrap?a.max??0:a.min),o("update:modelValue",g),o("decrement",g),a.validateOn==="change"&&o("validate")};return(g,B)=>(e.openBlock(),e.createElementBlock("div",ua,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id,class:"form-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",pa,"*")):e.createCommentVNode("",!0)],8,ya)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(d.value)},[e.createElementVNode("button",{class:"btn btn-outline-secondary",type:"button",disabled:!i.value,onClick:C,"aria-label":"Decrement"},[...B[0]||(B[0]=[e.createElementVNode("span",{"aria-hidden":"true"},"−",-1)])],8,ba),e.createElementVNode("input",{id:t.id,type:"number",class:e.normalizeClass(n.value),value:t.modelValue,disabled:t.disabled,readonly:t.readonly,required:t.required,min:t.min,max:t.max,step:t.step,"aria-invalid":l.value==="invalid","aria-describedby":t.validationMessage||t.helpText?`${t.id}-feedback`:void 0,onInput:s,onChange:c,onBlur:u,onFocus:p},null,42,ga),e.createElementVNode("button",{class:"btn btn-outline-secondary",type:"button",disabled:!m.value,onClick:k,"aria-label":"Increment"},[...B[1]||(B[1]=[e.createElementVNode("span",{"aria-hidden":"true"},"+",-1)])],8,ha)],2),t.helpText&&!t.validationMessage?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${t.id}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,ka)):e.createCommentVNode("",!0),l.value==="valid"?(e.openBlock(),e.createElementBlock("div",Ba,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),l.value==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:3,id:`${t.id}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide a valid value."),9,Sa)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-e706d3dc"]]),Va={class:"mb-3"},$a=["for"],Na={key:0,class:"text-danger"},xa=["id","type","value","disabled","readonly","required","min","max","aria-invalid","aria-describedby"],Ea=["id"],wa={key:2,class:"valid-feedback",style:{display:"block"}},za=["id"],Da=e.defineComponent({__name:"VibeFormDatepicker",props:{modelValue:{type:String,default:""},id:{type:String,required:!0},label:{type:String,default:void 0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},min:{type:String,default:void 0},max:{type:String,default:void 0},size:{type:String,default:void 0},validationState:{type:String,default:null},validationMessage:{type:String,default:void 0},validationRules:{type:[Array,Function],default:void 0},validateOn:{type:String,default:"blur"},helpText:{type:String,default:void 0},type:{type:String,default:"date"}},emits:["update:modelValue","validate","blur","focus","input","change"],setup(t,{emit:r}){const a=t,o=r,l=e.computed(()=>a.validationState),n=e.computed(()=>{const c=["form-control"];return a.size&&c.push(`form-control-${a.size}`),l.value==="valid"&&c.push("is-valid"),l.value==="invalid"&&c.push("is-invalid"),c.join(" ")}),d=c=>{const u=c.target;o("update:modelValue",u.value),o("input",c),a.validateOn==="input"&&o("validate")},i=c=>{o("change",c),a.validateOn==="change"&&o("validate")},m=c=>{o("blur",c),a.validateOn==="blur"&&o("validate")},s=c=>{o("focus",c)};return(c,u)=>(e.openBlock(),e.createElementBlock("div",Va,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id,class:"form-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Na,"*")):e.createCommentVNode("",!0)],8,$a)):e.createCommentVNode("",!0),e.createElementVNode("input",{id:t.id,type:t.type,class:e.normalizeClass(n.value),value:t.modelValue,disabled:t.disabled,readonly:t.readonly,required:t.required,min:t.min,max:t.max,"aria-invalid":l.value==="invalid","aria-describedby":t.validationMessage||t.helpText?`${t.id}-feedback`:void 0,onInput:d,onChange:i,onBlur:m,onFocus:s},null,42,xa),t.helpText&&!t.validationMessage?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${t.id}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,Ea)):e.createCommentVNode("",!0),l.value==="valid"?(e.openBlock(),e.createElementBlock("div",wa,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),l.value==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:3,id:`${t.id}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide a valid date."),9,za)):e.createCommentVNode("",!0)]))}}),Ta=["id","checked","value","disabled","required","indeterminate","aria-invalid","aria-describedby"],va=["for"],Ma={key:0,class:"text-danger"},Fa=["id"],qa={key:2,class:"valid-feedback",style:{display:"block"}},Pa=["id"],La=e.defineComponent({__name:"VibeFormCheckbox",props:{modelValue:{type:[Boolean,Array],default:!1},id:{type:String,required:!0},label:{type:String,default:void 0},value:{type:[String,Number,Boolean],default:!0},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},validationState:{type:String,default:null},validationMessage:{type:String,default:void 0},validationRules:{type:[Array,Function],default:void 0},validateOn:{type:String,default:"blur"},helpText:{type:String,default:void 0},indeterminate:{type:Boolean,default:!1}},emits:["update:modelValue","validate","blur","focus","change"],setup(t,{emit:r}){const a=t,o=r,l=e.computed(()=>a.validationState),n=e.computed(()=>{const u=["form-check-input"];return l.value==="valid"&&u.push("is-valid"),l.value==="invalid"&&u.push("is-invalid"),u.join(" ")}),d=e.computed(()=>{const u=["form-check"];return a.inline&&u.push("form-check-inline"),u.join(" ")}),i=e.computed(()=>Array.isArray(a.modelValue)?a.modelValue.includes(a.value):a.modelValue===a.value||a.modelValue===!0),m=u=>{const p=u.target;let k;if(Array.isArray(a.modelValue))if(k=[...a.modelValue],p.checked)k.includes(a.value)||k.push(a.value);else{const C=k.indexOf(a.value);C>-1&&k.splice(C,1)}else k=p.checked;o("update:modelValue",k),o("change",u),a.validateOn==="change"&&o("validate")},s=u=>{o("blur",u),a.validateOn==="blur"&&o("validate")},c=u=>{o("focus",u)};return(u,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(d.value)},[e.createElementVNode("input",{id:t.id,type:"checkbox",class:e.normalizeClass(n.value),checked:i.value,value:t.value,disabled:t.disabled,required:t.required,indeterminate:t.indeterminate,"aria-invalid":l.value==="invalid","aria-describedby":t.validationMessage||t.helpText?`${t.id}-feedback`:void 0,onChange:m,onBlur:s,onFocus:c},null,42,Ta),t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id,class:"form-check-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Ma,"*")):e.createCommentVNode("",!0)],8,va)):e.createCommentVNode("",!0),t.helpText&&!t.validationMessage?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${t.id}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,Fa)):e.createCommentVNode("",!0),l.value==="valid"?(e.openBlock(),e.createElementBlock("div",qa,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),l.value==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:3,id:`${t.id}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"You must check this box."),9,Pa)):e.createCommentVNode("",!0)],2))}}),Ia=["id","checked","value","name","disabled","required","aria-invalid","aria-describedby"],ja=["for"],Aa={key:0,class:"text-danger"},Oa=["id"],Xa={key:2,class:"valid-feedback",style:{display:"block"}},Ra=["id"],Ya=e.defineComponent({__name:"VibeFormRadio",props:{modelValue:{type:[String,Number,Boolean],default:void 0},id:{type:String,required:!0},label:{type:String,default:void 0},value:{type:[String,Number,Boolean],required:!0},name:{type:String,required:!0},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},validationState:{type:String,default:null},validationMessage:{type:String,default:void 0},validationRules:{type:[Array,Function],default:void 0},validateOn:{type:String,default:"blur"},helpText:{type:String,default:void 0}},emits:["update:modelValue","validate","blur","focus","change"],setup(t,{emit:r}){const a=t,o=r,l=e.computed(()=>a.validationState),n=e.computed(()=>{const u=["form-check-input"];return l.value==="valid"&&u.push("is-valid"),l.value==="invalid"&&u.push("is-invalid"),u.join(" ")}),d=e.computed(()=>{const u=["form-check"];return a.inline&&u.push("form-check-inline"),u.join(" ")}),i=e.computed(()=>a.modelValue===a.value),m=u=>{u.target.checked&&o("update:modelValue",a.value),o("change",u),a.validateOn==="change"&&o("validate")},s=u=>{o("blur",u),a.validateOn==="blur"&&o("validate")},c=u=>{o("focus",u)};return(u,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(d.value)},[e.createElementVNode("input",{id:t.id,type:"radio",class:e.normalizeClass(n.value),checked:i.value,value:t.value,name:t.name,disabled:t.disabled,required:t.required,"aria-invalid":l.value==="invalid","aria-describedby":t.validationMessage||t.helpText?`${t.id}-feedback`:void 0,onChange:m,onBlur:s,onFocus:c},null,42,Ia),t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id,class:"form-check-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Aa,"*")):e.createCommentVNode("",!0)],8,ja)):e.createCommentVNode("",!0),t.helpText&&!t.validationMessage?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${t.id}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,Oa)):e.createCommentVNode("",!0),l.value==="valid"?(e.openBlock(),e.createElementBlock("div",Xa,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),l.value==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:3,id:`${t.id}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please select an option."),9,Ra)):e.createCommentVNode("",!0)],2))}}),Ga={class:"form-check form-switch"},Ha=["id","checked","disabled","required","aria-invalid","aria-describedby"],Ua=["for"],Qa={key:0,class:"text-danger"},Ka=["id"],Wa={key:2,class:"valid-feedback",style:{display:"block"}},Ja=["id"],Za=e.defineComponent({__name:"VibeFormSwitch",props:{modelValue:{type:Boolean,default:!1},id:{type:String,required:!0},label:{type:String,default:void 0},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},validationState:{type:String,default:null},validationMessage:{type:String,default:void 0},validationRules:{type:[Array,Function],default:void 0},validateOn:{type:String,default:"blur"},helpText:{type:String,default:void 0}},emits:["update:modelValue","validate","blur","focus","change"],setup(t,{emit:r}){const a=t,o=r,l=e.computed(()=>a.validationState),n=e.computed(()=>{const s=["form-check-input"];return l.value==="valid"&&s.push("is-valid"),l.value==="invalid"&&s.push("is-invalid"),s.join(" ")}),d=s=>{const c=s.target;o("update:modelValue",c.checked),o("change",s),a.validateOn==="change"&&o("validate")},i=s=>{o("blur",s),a.validateOn==="blur"&&o("validate")},m=s=>{o("focus",s)};return(s,c)=>(e.openBlock(),e.createElementBlock("div",Ga,[e.createElementVNode("input",{id:t.id,type:"checkbox",class:e.normalizeClass(n.value),checked:t.modelValue,disabled:t.disabled,required:t.required,"aria-invalid":l.value==="invalid","aria-describedby":t.validationMessage||t.helpText?`${t.id}-feedback`:void 0,role:"switch",onChange:d,onBlur:i,onFocus:m},null,42,Ha),t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id,class:"form-check-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Qa,"*")):e.createCommentVNode("",!0)],8,Ua)):e.createCommentVNode("",!0),t.helpText&&!t.validationMessage?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${t.id}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,Ka)):e.createCommentVNode("",!0),l.value==="valid"?(e.openBlock(),e.createElementBlock("div",Wa,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),l.value==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:3,id:`${t.id}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"You must toggle this switch."),9,Ja)):e.createCommentVNode("",!0)]))}}),_a=["for"],el={key:0,class:"text-danger"},tl=["id"],al={key:1,class:"valid-feedback",style:{display:"block"}},ll=["id"],ol=["for"],nl={key:0,class:"text-danger"},il=["id"],rl={key:2,class:"valid-feedback",style:{display:"block"}},dl=["id"],sl=e.defineComponent({__name:"VibeFormGroup",props:{label:{type:String,default:void 0},labelFor:{type:String,default:void 0},required:{type:Boolean,default:!1},validationState:{type:String,default:null},validationMessage:{type:String,default:void 0},helpText:{type:String,default:void 0},floating:{type:Boolean,default:!1},row:{type:Boolean,default:!1},labelCols:{type:[Number,String],default:void 0},labelAlign:{type:String,default:void 0}},setup(t){const r=t,a=e.computed(()=>{const d=[];return r.floating?d.push("form-floating"):r.row?d.push("row","mb-3"):d.push("mb-3"),d.join(" ")}),o=e.computed(()=>{const d=[];return r.floating?d.push("form-label"):r.row?(d.push("col-form-label"),r.labelCols&&d.push(`col-sm-${r.labelCols}`),r.labelAlign&&d.push(`text-${r.labelAlign}`)):d.push("form-label"),d.join(" ")}),l=e.computed(()=>r.row&&r.labelCols?`col-sm-${12-Number(r.labelCols)}`:""),n=e.computed(()=>r.labelFor?`${r.labelFor}-feedback`:void 0);return(d,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(a.value)},[t.label&&!t.floating?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.labelFor,class:e.normalizeClass(o.value)},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",el,"*")):e.createCommentVNode("",!0)],10,_a)):e.createCommentVNode("",!0),t.row&&t.labelCols?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(l.value)},[e.renderSlot(d.$slots,"default"),t.helpText&&!t.validationMessage?(e.openBlock(),e.createElementBlock("div",{key:0,id:n.value,class:"form-text"},e.toDisplayString(t.helpText),9,tl)):e.createCommentVNode("",!0),t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",al,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:2,id:n.value,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide a valid value."),9,ll)):e.createCommentVNode("",!0)],2)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.renderSlot(d.$slots,"default"),t.label&&t.floating?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.labelFor,class:e.normalizeClass(o.value)},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",nl,"*")):e.createCommentVNode("",!0)],10,ol)):e.createCommentVNode("",!0),t.helpText&&!t.validationMessage?(e.openBlock(),e.createElementBlock("div",{key:1,id:n.value,class:"form-text"},e.toDisplayString(t.helpText),9,il)):e.createCommentVNode("",!0),t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",rl,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:3,id:n.value,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide a valid value."),9,dl)):e.createCommentVNode("",!0)],64))],2))}}),cl={class:"mb-3"},ml=["for"],fl={key:0,class:"text-danger"},ul={key:1,class:"alert alert-warning",role:"alert"},yl=["id"],pl=["id"],bl={key:4,class:"valid-feedback",style:{display:"block"}},gl=["id"],hl=D(e.defineComponent({__name:"VibeFormWysiwyg",props:{modelValue:{type:String,default:""},id:{type:String,required:!0},label:{type:String,default:void 0},placeholder:{type:String,default:"Write something..."},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},theme:{type:String,default:"snow"},toolbar:{type:[Array,String,Boolean],default:void 0},validationState:{type:String,default:null},validationMessage:{type:String,default:void 0},validationRules:{type:[Array,Function],default:void 0},validateOn:{type:String,default:"blur"},helpText:{type:String,default:void 0},height:{type:String,default:"200px"}},emits:["update:modelValue","validate","blur","focus","change","ready"],setup(t,{emit:r}){const a=t,o=r,l=e.ref(null),n=e.ref(null),d=e.ref(!1),i=e.ref(null),m=e.computed(()=>a.validationState),s=e.computed(()=>{const p=["vibe-wysiwyg-container"];return m.value==="valid"&&p.push("is-valid"),m.value==="invalid"&&p.push("is-invalid"),a.disabled&&p.push("disabled"),p.join(" ")}),c=[[{header:[1,2,3,!1]}],["bold","italic","underline","strike"],[{list:"ordered"},{list:"bullet"}],[{color:[]},{background:[]}],["link","image"],["clean"]],u=()=>a.toolbar===!1?!1:a.toolbar===!0||a.toolbar===void 0?c:a.toolbar;return e.onMounted(async()=>{try{const p=await import("quill"),k=p.default||p;if(await import("quill/dist/quill.snow.css"),l.value){const C={theme:a.theme,placeholder:a.placeholder,readOnly:a.readonly||a.disabled,modules:{toolbar:u()}};n.value=new k(l.value,C),a.modelValue&&(n.value.root.innerHTML=a.modelValue),n.value.on("text-change",()=>{const g=n.value.root.innerHTML,B=n.value.getText().trim().length===0;o("update:modelValue",B?"":g),o("change"),a.validateOn==="change"&&o("validate")}),n.value.root.addEventListener("blur",()=>{o("blur"),a.validateOn==="blur"&&o("validate")}),n.value.root.addEventListener("focus",()=>{o("focus")}),d.value=!0,o("ready",n.value)}}catch(p){console.error("Failed to load Quill editor:",p),i.value="Failed to load WYSIWYG editor. Please install quill: npm install quill",d.value=!1}}),e.onBeforeUnmount(()=>{n.value&&(n.value=null)}),e.watch(()=>a.modelValue,p=>{n.value&&n.value.root.innerHTML!==p&&(n.value.root.innerHTML=p||"")}),e.watch(()=>a.disabled,p=>{n.value&&n.value.enable(!p)}),e.watch(()=>a.readonly,p=>{n.value&&n.value.enable(!p)}),(p,k)=>(e.openBlock(),e.createElementBlock("div",cl,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.id,class:"form-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",fl,"*")):e.createCommentVNode("",!0)],8,ml)):e.createCommentVNode("",!0),i.value?(e.openBlock(),e.createElementBlock("div",ul,e.toDisplayString(i.value),1)):(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(s.value),style:e.normalizeStyle({minHeight:t.height})},[e.createElementVNode("div",{ref_key:"editorContainer",ref:l,id:t.id},null,8,yl)],6)),t.helpText&&!t.validationMessage?(e.openBlock(),e.createElementBlock("div",{key:3,id:`${t.id}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,pl)):e.createCommentVNode("",!0),m.value==="valid"?(e.openBlock(),e.createElementBlock("div",bl,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),m.value==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:5,id:`${t.id}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide valid content."),9,gl)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-2eb8f4ff"]]);function kl(t=""){const r=e.ref(t),a=e.ref(null),o=e.ref(""),l=e.ref(!1),n=e.ref(!1),d=e.ref(!1),i=async k=>{if(!k)return a.value=null,o.value="",{valid:!0};d.value=!0;try{const C=Array.isArray(k)?k:[{validator:k}];for(const g of C){const B=await g.validator(r.value);if(B===!1||typeof B=="string")return a.value="invalid",o.value=typeof B=="string"?B:g.message||"Invalid value",d.value=!1,{valid:!1,message:o.value}}return a.value="valid",o.value="",d.value=!1,{valid:!0}}catch{return a.value="invalid",o.value="Validation error occurred",d.value=!1,{valid:!1,message:o.value}}},m=()=>{r.value=t,a.value=null,o.value="",l.value=!1,n.value=!1,d.value=!1},s=()=>{n.value=!0},c=()=>{l.value=!0},u=e.computed(()=>a.value==="valid"),p=e.computed(()=>a.value==="invalid");return{value:r,validationState:a,validationMessage:o,isDirty:l,isTouched:n,isValidating:d,isValid:u,isInvalid:p,validate:i,reset:m,markAsTouched:s,markAsDirty:c}}const Bl={required:(t="This field is required")=>({validator:r=>Array.isArray(r)?r.length>0||t:typeof r=="string"?r.trim().length>0||t:r!=null&&r!==""||t,message:t}),email:(t="Please enter a valid email address")=>({validator:r=>r?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(r)||t:!0,message:t}),minLength:(t,r)=>({validator:a=>a?a.length>=t||r||`Minimum length is ${t} characters`:!0,message:r}),maxLength:(t,r)=>({validator:a=>a?a.length<=t||r||`Maximum length is ${t} characters`:!0,message:r}),min:(t,r)=>({validator:a=>a==null||a===""?!0:Number(a)>=t||r||`Minimum value is ${t}`,message:r}),max:(t,r)=>({validator:a=>a==null||a===""?!0:Number(a)<=t||r||`Maximum value is ${t}`,message:r}),pattern:(t,r="Invalid format")=>({validator:a=>a?t.test(a)||r:!0,message:r}),url:(t="Please enter a valid URL")=>({validator:r=>{if(!r)return!0;try{return new URL(r),!0}catch{return t}},message:t}),async:t=>({validator:t})};f.VibeAccordion=Ee,f.VibeAccordionItem=I,f.VibeAlert=O,f.VibeBadge=X,f.VibeBreadcrumb=ne,f.VibeBreadcrumbItem=P,f.VibeButton=R,f.VibeButtonGroup=G,f.VibeCard=te,f.VibeCardBody=v,f.VibeCardFooter=M,f.VibeCardHeader=T,f.VibeCardImg=w,f.VibeCardText=q,f.VibeCardTitle=F,f.VibeCarousel=st,f.VibeCarouselSlide=A,f.VibeCloseButton=U,f.VibeCol=_,f.VibeCollapse=we,f.VibeContainer=J,f.VibeDataTable=jt,f.VibeDropdown=ve,f.VibeDropdownItem=j,f.VibeFormCheckbox=La,f.VibeFormDatepicker=Da,f.VibeFormGroup=sl,f.VibeFormInput=Ut,f.VibeFormRadio=Ya,f.VibeFormSelect=la,f.VibeFormSpinbutton=Ca,f.VibeFormSwitch=Za,f.VibeFormTextarea=fa,f.VibeFormWysiwyg=hl,f.VibeIcon=pt,f.VibeListGroup=ge,f.VibeListGroupItem=L,f.VibeModal=je,f.VibeNav=re,f.VibeNavItem=z,f.VibeNavbar=de,f.VibeNavbarBrand=se,f.VibeNavbarNav=fe,f.VibeNavbarToggle=me,f.VibeOffcanvas=Ye,f.VibePagination=ye,f.VibePaginationItem=E,f.VibePlaceholder=W,f.VibePopover=ut,f.VibeProgress=he,f.VibeProgressBar=Be,f.VibeRow=Z,f.VibeScrollspy=yt,f.VibeSpinner=K,f.VibeTabContent=pe,f.VibeTabPane=be,f.VibeToast=Ke,f.VibeTooltip=mt,f.useFormValidation=kl,f.validators=Bl,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velkymx/vibeui",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "A lightweight Vue 3 component library for Bootstrap 5.3 with dual-mode support (shorthand props and composable slots)",
5
5
  "main": "./dist/vibeui.umd.js",
6
6
  "module": "./dist/vibeui.es.js",
@@ -13,7 +13,9 @@
13
13
  },
14
14
  "./dist/style.css": "./dist/vibeui.css"
15
15
  },
16
- "files": ["dist"],
16
+ "files": [
17
+ "dist"
18
+ ],
17
19
  "scripts": {
18
20
  "dev": "vite",
19
21
  "build": "vite build",
@@ -41,16 +43,24 @@
41
43
  },
42
44
  "homepage": "https://github.com/velkymx/vibeui#readme",
43
45
  "dependencies": {
44
- "vue": "^3.5.13"
46
+ "vue": "^3.5.0"
45
47
  },
46
48
  "devDependencies": {
47
49
  "@vitejs/plugin-vue": "^5.2.1",
48
50
  "typescript": "^5.7.2",
49
51
  "vite": "^6.0.5",
52
+ "vite-plugin-dts": "^4.5.4",
50
53
  "vue-tsc": "^2.1.10"
51
54
  },
52
55
  "peerDependencies": {
53
56
  "vue": "^3.5.0"
57
+ },
58
+ "peerDependenciesMeta": {
59
+ "bootstrap-icons": {
60
+ "optional": true
61
+ },
62
+ "quill": {
63
+ "optional": true
64
+ }
54
65
  }
55
66
  }
56
-