@velkymx/vibeui 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
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"})}));
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"]))}}),Te=["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,Te))}}),Fe=["disabled","aria-label"],Y=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,Fe))}}),Me={class:"visually-hidden"},H=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",Me,e.toDisplayString(t.label),1)]),_:1},8,["class"]))}}),U=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"]))}}),Q=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"]))}}),W=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"]))}}),K=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"]))}}),z=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}))}}),T=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}))}}),Pe=["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,Pe))}}),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}))}}),M=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}))}}),J=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(z,{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(M,{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(T,{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"]))}}),qe=["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,qe))}}),Ie=["aria-label"],Le={class:"breadcrumb"},Z=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",Le,[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,Ie))}}),Ae=["role"],D=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,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: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(D,{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"]))}}),ee=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"]))}}),te=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"]))}}),je=["data-bs-target","aria-controls","aria-label"],ae=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,je))}}),le=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(D,{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}))}}),x=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))}}),Oe=["aria-label"],oe=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(x,{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(x,{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(x,{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,Oe))}}),ne=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"]))}}),ie=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"]))}}),q=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"]))}}),re=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(q,{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"]))}}),de=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))}}),Xe=["aria-valuenow","aria-valuemax"],se=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,Xe))}}),Re={class:"accordion-item"},Ge={class:"accordion-header"},Ye=["data-bs-target","aria-expanded","aria-controls"],He=["id","data-bs-parent"],Ue={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",Re,[e.createElementVNode("h2",Ge,[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(o.value),"data-bs-parent":`#${t.parentId}`},[e.createElementVNode("div",Ue,[e.renderSlot(l.$slots,"default")])],10,He)]))}}),Qe=["id"],ce=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,Qe))}}),me=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"]))}}),We={key:0},L=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",We,[(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"]))}}),Ke=["id"],Je=["aria-labelledby"],fe=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,Ke),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(L,{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,Je)],2))}}),Ze=["id","aria-labelledby","data-bs-backdrop","data-bs-keyboard"],_e={class:"modal-content"},et={key:0,class:"modal-header"},tt=["id"],at={class:"modal-body"},lt={key:1,class:"modal-footer"},ue=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",_e,[t.hideHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",et,[e.createElementVNode("h5",{id:`${t.id}-label`,class:"modal-title"},[e.renderSlot(l.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])],8,tt),n[0]||(n[0]=e.createElementVNode("button",{type:"button",class:"btn-close","data-bs-dismiss":"modal","aria-label":"Close"},null,-1))])),e.createElementVNode("div",at,[e.renderSlot(l.$slots,"default")]),t.hideFooter?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",lt,[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,Ze))}}),ot=["id","aria-labelledby","data-bs-backdrop","data-bs-scroll"],nt={class:"offcanvas-header"},it=["id"],rt={class:"offcanvas-body"},be=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",nt,[e.createElementVNode("h5",{id:`${t.id}-label`,class:"offcanvas-title"},[e.renderSlot(l.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])],8,it),n[0]||(n[0]=e.createElementVNode("button",{type:"button",class:"btn-close","data-bs-dismiss":"offcanvas","aria-label":"Close"},null,-1))]),e.createElementVNode("div",rt,[e.renderSlot(l.$slots,"default")])],10,ot))}}),dt=["id","data-bs-autohide","data-bs-delay"],st={key:0,class:"toast-header"},ct={class:"me-auto"},mt={class:"toast-body"},ye=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",st,[e.renderSlot(l.$slots,"header",{},()=>[e.createElementVNode("strong",ct,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",mt,[e.renderSlot(l.$slots,"default")])],10,dt))}}),ft=["data-bs-interval"],ut=["src","alt"],bt={key:1,class:"carousel-caption d-none d-md-block"},yt={key:0},pt={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,ut)):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"img"),t.caption||t.captionText||a.$slots.caption?(e.openBlock(),e.createElementBlock("div",bt,[e.renderSlot(a.$slots,"caption",{},()=>[t.caption?(e.openBlock(),e.createElementBlock("h5",yt,e.toDisplayString(t.caption),1)):e.createCommentVNode("",!0),t.captionText?(e.openBlock(),e.createElementBlock("p",pt,e.toDisplayString(t.captionText),1)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"default")],10,ft))}}),gt=["id","data-bs-ride","data-bs-interval","data-bs-keyboard","data-bs-pause","data-bs-wrap","data-bs-touch"],ht={key:0,class:"carousel-indicators"},kt=["data-bs-target","data-bs-slide-to","aria-current","aria-label"],Bt={class:"carousel-inner"},St={key:0,class:"carousel-indicators"},Ct={class:"carousel-inner"},Vt=["data-bs-target"],$t=["data-bs-target"],pe=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",ht,[(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,kt))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",Bt,[(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",St,[e.renderSlot(o.$slots,"indicators")])):e.createCommentVNode("",!0),e.createElementVNode("div",Ct,[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,Vt)):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,$t)):e.createCommentVNode("",!0)],10,gt))}}),Nt=["data-bs-placement","data-bs-title","data-bs-trigger","data-bs-html"],ge=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,Nt))}}),xt=["data-bs-placement","data-bs-title","data-bs-content","data-bs-trigger","data-bs-html"],he=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,xt))}}),ke=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"]))}}),Be=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))}}),Et={class:"vibe-datatable"},wt={class:"row mb-3"},Dt={key:0,class:"col-md-6 mb-2 mb-md-0"},zt=["placeholder"],vt={key:1,class:"col-md-6"},Tt={class:"d-flex justify-content-md-end align-items-center"},Ft=["value"],Mt=["onClick"],Pt={key:0,class:"ms-1"},qt=["onClick"],It={key:0},Lt=["colspan"],At={class:"row"},jt={key:0,class:"col-md-6 mb-2 mb-md-0"},Ot={class:"datatable-info"},Xt={key:1,class:"col-md-6"},Rt={class:"pagination justify-content-md-end mb-0"},Gt={key:0,class:"page-item"},Yt={key:1,class:"page-item disabled"},Ht=["onClick"],Ut={key:2,class:"page-item disabled"},Qt={key:3,class:"page-item"},Wt=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(p=>{if(p.searchable===!1)return!1;const V=h[p.key];return V==null?!1:String(V).toLowerCase().includes(y)}))}),b=e.computed(()=>{if(!a.sortable||!s.value)return u.value;const y=[...u.value],h=s.value;return y.sort((p,V)=>{let S=p[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 b.value;const y=(i.value-1)*m.value,h=y+m.value;return b.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),Cl=e.computed(()=>{const y=i.value*m.value;return Math.min(y,g.value)}),Vl=e.computed(()=>(g.value!==C.value?a.filteredInfoText:a.infoText).replace("{start}",String($.value)).replace("{end}",String(Cl.value)).replace("{total}",String(g.value)).replace("{totalRows}",String(C.value))),$l=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(" ")}),Nl=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))},E=y=>{y<1||y>B.value||(i.value=y,o("update:currentPage",y))},xl=()=>{i.value=1,o("update:perPage",m.value),o("update:currentPage",1)},El=(y,h)=>{o("row-clicked",y,h)},wl=(y,h)=>{const p=y[h.key];return h.formatter?h.formatter(p,y):p},Dl=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",Et,[e.createElementVNode("div",wt,[t.searchable?(e.openBlock(),e.createElementBlock("div",Dt,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":h[0]||(h[0]=p=>l.value=p),type:"search",class:"form-control",placeholder:t.searchPlaceholder},null,8,zt),[[e.vModelText,l.value]])])):e.createCommentVNode("",!0),t.showPerPage&&t.paginated?(e.openBlock(),e.createElementBlock("div",vt,[e.createElementVNode("div",Tt,[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]=p=>m.value=p),class:"form-select form-select-sm",style:{width:"auto"},onChange:xl},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.perPageOptions,p=>(e.openBlock(),e.createElementBlock("option",{key:p,value:p},e.toDisplayString(p),9,Ft))),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($l.value)},[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,p=>(e.openBlock(),e.createElementBlock("th",{key:p.key,class:e.normalizeClass(p.headerClass),style:e.normalizeStyle(zl(p)),onClick:V=>Nl(p)},[e.createTextVNode(e.toDisplayString(p.label)+" ",1),t.sortable&&p.sortable!==!1?(e.openBlock(),e.createElementBlock("span",Pt,e.toDisplayString(Dl(p)),1)):e.createCommentVNode("",!0)],14,Mt))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,(p,V)=>(e.openBlock(),e.createElementBlock("tr",{key:V,onClick:S=>El(p,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:p,value:p[S.key],index:V},()=>[e.createTextVNode(e.toDisplayString(wl(p,S)),1)],!0)],6))),128))],8,qt))),128)),k.value.length===0&&t.showEmpty?(e.openBlock(),e.createElementBlock("tr",It,[e.createElementVNode("td",{colspan:t.columns.length,class:"text-center"},e.toDisplayString(t.emptyText),9,Lt)])):e.createCommentVNode("",!0)])],2)],2),e.createElementVNode("div",At,[t.showInfo?(e.openBlock(),e.createElementBlock("div",jt,[e.createElementVNode("div",Ot,e.toDisplayString(Vl.value),1)])):e.createCommentVNode("",!0),t.paginated&&B.value>1?(e.openBlock(),e.createElementBlock("div",Xt,[e.createElementVNode("nav",null,[e.createElementVNode("ul",Rt,[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(p=>E(i.value-1),["prevent"]))}," Previous ")],2),i.value>3?(e.openBlock(),e.createElementBlock("li",Gt,[e.createElementVNode("a",{class:"page-link",href:"#",onClick:h[3]||(h[3]=e.withModifiers(p=>E(1),["prevent"]))},"1")])):e.createCommentVNode("",!0),i.value>4?(e.openBlock(),e.createElementBlock("li",Yt,[...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},(p,V)=>V+1).filter(p=>p>=i.value-2&&p<=i.value+2),p=>(e.openBlock(),e.createElementBlock("li",{key:p,class:e.normalizeClass(["page-item",{active:p===i.value}])},[e.createElementVNode("a",{class:"page-link",href:"#",onClick:e.withModifiers(V=>E(p),["prevent"])},e.toDisplayString(p),9,Ht)],2))),128)),i.value<B.value-3?(e.openBlock(),e.createElementBlock("li",Ut,[...h[9]||(h[9]=[e.createElementVNode("span",{class:"page-link"},"...",-1)])])):e.createCommentVNode("",!0),i.value<B.value-2?(e.openBlock(),e.createElementBlock("li",Qt,[e.createElementVNode("a",{class:"page-link",href:"#",onClick:h[4]||(h[4]=e.withModifiers(p=>E(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(p=>E(i.value+1),["prevent"]))}," Next ")],2)])])])):e.createCommentVNode("",!0)])]))}}),j=(t,r)=>{const a=t.__vccOpts||t;for(const[o,l]of r)a[o]=l;return a},Se=j(Wt,[["__scopeId","data-v-48221c7b"]]),Kt={class:"mb-3"},Jt=["for"],Zt={key:0,class:"text-danger"},_t=["id","type","value","placeholder","disabled","readonly","required","aria-invalid","aria-describedby"],ea=["id"],ta={key:2,class:"valid-feedback",style:{display:"block"}},aa=["id"],Ce=e.defineComponent({__name:"VibeFormInput",props:{modelValue:{type:[String,Number],default:"",validator:t=>!0},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,b=a.type==="number"?u.value===""?"":Number(u.value):u.value;o("update:modelValue",b),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",Kt,[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",Zt,"*")):e.createCommentVNode("",!0)],8,Jt)):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,_t),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 provide a valid value."),9,aa)):e.createCommentVNode("",!0)]))}}),la={class:"mb-3"},oa=["for"],na={key:0,class:"text-danger"},ia=["id","value","disabled","required","multiple","size","aria-invalid","aria-describedby"],ra=["selected"],da=["value","disabled"],sa=["id"],ca={key:2,class:"valid-feedback",style:{display:"block"}},ma=["id"],Ve=e.defineComponent({__name:"VibeFormSelect",props:{modelValue:{type:[String,Number,Array],default:"",validator:t=>!0},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",la,[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,oa)):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,ra)):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,da))),128)),e.renderSlot(s.$slots,"default")],42,ia),t.helpText&&!t.validationMessage?(e.openBlock(),e.createElementBlock("div",{key:1,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:3,id:`${t.id}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please select a valid option."),9,ma)):e.createCommentVNode("",!0)]))}}),fa={class:"mb-3"},ua=["for"],ba={key:0,class:"text-danger"},ya=["id","value","placeholder","disabled","readonly","required","rows","maxlength","aria-invalid","aria-describedby"],pa={key:1,class:"form-text"},ga=["id"],ha={key:3,class:"valid-feedback",style:{display:"block"}},ka=["id"],$e=e.defineComponent({__name:"VibeFormTextarea",props:{modelValue:{type:String,default:"",validator:t=>!0},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 b=["form-control"];return a.size&&b.push(`form-control-${a.size}`),l.value==="valid"&&b.push("is-valid"),l.value==="invalid"&&b.push("is-invalid"),b.join(" ")}),d=e.computed(()=>{const b=typeof a.modelValue=="string"?a.modelValue:"";return b?b.length:0}),i=e.computed(()=>a.maxlength?`${d.value} / ${a.maxlength}`:`${d.value}`),m=b=>{const k=b.target;o("update:modelValue",k.value),o("input",b),a.validateOn==="input"&&o("validate")},s=b=>{o("change",b),a.validateOn==="change"&&o("validate")},c=b=>{o("blur",b),a.validateOn==="blur"&&o("validate")},u=b=>{o("focus",b)};return(b,k)=>(e.openBlock(),e.createElementBlock("div",fa,[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",ba,"*")):e.createCommentVNode("",!0)],8,ua)):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,ya),t.showCharCount?(e.openBlock(),e.createElementBlock("div",pa,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,ga)):e.createCommentVNode("",!0),l.value==="valid"?(e.openBlock(),e.createElementBlock("div",ha,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,ka)):e.createCommentVNode("",!0)]))}}),Ba={class:"mb-3"},Sa=["for"],Ca={key:0,class:"text-danger"},Va=["disabled"],$a=["id","value","disabled","readonly","required","min","max","step","aria-invalid","aria-describedby"],Na=["disabled"],xa=["id"],Ea={key:2,class:"valid-feedback",style:{display:"block"}},wa=["id"],Ne=j(e.defineComponent({__name:"VibeFormSpinbutton",props:{modelValue:{type:Number,default:0,validator:t=>!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")},b=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",Ba,[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",Ca,"*")):e.createCommentVNode("",!0)],8,Sa)):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,Va),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:b},null,42,$a),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,Na)],2),t.helpText&&!t.validationMessage?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${t.id}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,xa)):e.createCommentVNode("",!0),l.value==="valid"?(e.openBlock(),e.createElementBlock("div",Ea,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,wa)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-f7aee3b4"]]),Da={class:"mb-3"},za=["for"],va={key:0,class:"text-danger"},Ta=["id","type","value","disabled","readonly","required","min","max","aria-invalid","aria-describedby"],Fa=["id"],Ma={key:2,class:"valid-feedback",style:{display:"block"}},Pa=["id"],xe=e.defineComponent({__name:"VibeFormDatepicker",props:{modelValue:{type:String,default:"",validator:t=>!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: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",Da,[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",va,"*")):e.createCommentVNode("",!0)],8,za)):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,Ta),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",Ma,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,Pa)):e.createCommentVNode("",!0)]))}}),qa=["id","checked","value","disabled","required","indeterminate","aria-invalid","aria-describedby"],Ia=["for"],La={key:0,class:"text-danger"},Aa=["id"],ja={key:2,class:"valid-feedback",style:{display:"block"}},Oa=["id"],Ee=e.defineComponent({__name:"VibeFormCheckbox",props:{modelValue:{type:[Boolean,Array],default:!1,validator:t=>!0},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 b=u.target;let k;if(Array.isArray(a.modelValue))if(k=[...a.modelValue],b.checked)k.includes(a.value)||k.push(a.value);else{const C=k.indexOf(a.value);C>-1&&k.splice(C,1)}else k=b.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,b)=>(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,qa),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",La,"*")):e.createCommentVNode("",!0)],8,Ia)):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,Aa)):e.createCommentVNode("",!0),l.value==="valid"?(e.openBlock(),e.createElementBlock("div",ja,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,Oa)):e.createCommentVNode("",!0)],2))}}),Xa=["id","checked","value","name","disabled","required","aria-invalid","aria-describedby"],Ra=["for"],Ga={key:0,class:"text-danger"},Ya=["id"],Ha={key:2,class:"valid-feedback",style:{display:"block"}},Ua=["id"],we=e.defineComponent({__name:"VibeFormRadio",props:{modelValue:{type:[String,Number,Boolean],default:void 0,validator:t=>!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,b)=>(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,Xa),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",Ga,"*")):e.createCommentVNode("",!0)],8,Ra)):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,Ya)):e.createCommentVNode("",!0),l.value==="valid"?(e.openBlock(),e.createElementBlock("div",Ha,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,Ua)):e.createCommentVNode("",!0)],2))}}),Qa={class:"form-check form-switch"},Wa=["id","checked","disabled","required","aria-invalid","aria-describedby"],Ka=["for"],Ja={key:0,class:"text-danger"},Za=["id"],_a={key:2,class:"valid-feedback",style:{display:"block"}},el=["id"],De=e.defineComponent({__name:"VibeFormSwitch",props:{modelValue:{type:Boolean,default:!1,validator:t=>!0},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",Qa,[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,Wa),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",Ja,"*")):e.createCommentVNode("",!0)],8,Ka)):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,Za)):e.createCommentVNode("",!0),l.value==="valid"?(e.openBlock(),e.createElementBlock("div",_a,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,el)):e.createCommentVNode("",!0)]))}}),tl=["for"],al={key:0,class:"text-danger"},ll=["id"],ol={key:1,class:"valid-feedback",style:{display:"block"}},nl=["id"],il=["for"],rl={key:0,class:"text-danger"},dl=["id"],sl={key:2,class:"valid-feedback",style:{display:"block"}},cl=["id"],ze=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",al,"*")):e.createCommentVNode("",!0)],10,tl)):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,ll)):e.createCommentVNode("",!0),t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",ol,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,nl)):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",rl,"*")):e.createCommentVNode("",!0)],10,il)):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,dl)):e.createCommentVNode("",!0),t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",sl,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,cl)):e.createCommentVNode("",!0)],64))],2))}}),ml={class:"mb-3"},fl=["for"],ul={key:0,class:"text-danger"},bl={key:1,class:"alert alert-warning",role:"alert"},yl=["id"],pl=["id"],gl={key:4,class:"valid-feedback",style:{display:"block"}},hl=["id"],ve=j(e.defineComponent({__name:"VibeFormWysiwyg",props:{modelValue:{type:String,default:"",validator:t=>!0},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 b=["vibe-wysiwyg-container"];return m.value==="valid"&&b.push("is-valid"),m.value==="invalid"&&b.push("is-invalid"),a.disabled&&b.push("disabled"),b.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 b=await import("quill"),k=b.default||b;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(b){console.error("Failed to load Quill editor:",b),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,b=>{n.value&&n.value.root.innerHTML!==b&&(n.value.root.innerHTML=b||"")}),e.watch(()=>a.disabled,b=>{n.value&&n.value.enable(!b)}),e.watch(()=>a.readonly,b=>{n.value&&n.value.enable(!b)}),(b,k)=>(e.openBlock(),e.createElementBlock("div",ml,[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",ul,"*")):e.createCommentVNode("",!0)],8,fl)):e.createCommentVNode("",!0),i.value?(e.openBlock(),e.createElementBlock("div",bl,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",gl,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,hl)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-792a0bda"]]),kl={install(t){t.component("VibeAlert",O),t.component("VibeBadge",X),t.component("VibeButton",R),t.component("VibeButtonGroup",G),t.component("VibeCloseButton",Y),t.component("VibeSpinner",H),t.component("VibePlaceholder",U),t.component("VibeContainer",Q),t.component("VibeRow",W),t.component("VibeCol",K),t.component("VibeCard",J),t.component("VibeCardHeader",z),t.component("VibeCardBody",v),t.component("VibeCardFooter",T),t.component("VibeCardImg",w),t.component("VibeCardTitle",F),t.component("VibeCardText",M),t.component("VibeBreadcrumb",Z),t.component("VibeBreadcrumbItem",P),t.component("VibeNav",_),t.component("VibeNavItem",D),t.component("VibeNavbar",ee),t.component("VibeNavbarBrand",te),t.component("VibeNavbarToggle",ae),t.component("VibeNavbarNav",le),t.component("VibePagination",oe),t.component("VibePaginationItem",x),t.component("VibeTabContent",ne),t.component("VibeTabPane",ie),t.component("VibeListGroup",re),t.component("VibeListGroupItem",q),t.component("VibeProgress",de),t.component("VibeProgressBar",se),t.component("VibeAccordion",ce),t.component("VibeAccordionItem",I),t.component("VibeCollapse",me),t.component("VibeDropdown",fe),t.component("VibeDropdownItem",L),t.component("VibeModal",ue),t.component("VibeOffcanvas",be),t.component("VibeToast",ye),t.component("VibeCarousel",pe),t.component("VibeCarouselSlide",A),t.component("VibeTooltip",ge),t.component("VibePopover",he),t.component("VibeScrollspy",ke),t.component("VibeIcon",Be),t.component("VibeDataTable",Se),t.component("VibeFormInput",Ce),t.component("VibeFormSelect",Ve),t.component("VibeFormTextarea",$e),t.component("VibeFormSpinbutton",Ne),t.component("VibeFormDatepicker",xe),t.component("VibeFormCheckbox",Ee),t.component("VibeFormRadio",we),t.component("VibeFormSwitch",De),t.component("VibeFormGroup",ze),t.component("VibeFormWysiwyg",ve)}};function Bl(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"),b=e.computed(()=>a.value==="invalid");return{value:r,validationState:a,validationMessage:o,isDirty:l,isTouched:n,isValidating:d,isValid:u,isInvalid:b,validate:i,reset:m,markAsTouched:s,markAsDirty:c}}const Sl={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=ce,f.VibeAccordionItem=I,f.VibeAlert=O,f.VibeBadge=X,f.VibeBreadcrumb=Z,f.VibeBreadcrumbItem=P,f.VibeButton=R,f.VibeButtonGroup=G,f.VibeCard=J,f.VibeCardBody=v,f.VibeCardFooter=T,f.VibeCardHeader=z,f.VibeCardImg=w,f.VibeCardText=M,f.VibeCardTitle=F,f.VibeCarousel=pe,f.VibeCarouselSlide=A,f.VibeCloseButton=Y,f.VibeCol=K,f.VibeCollapse=me,f.VibeContainer=Q,f.VibeDataTable=Se,f.VibeDropdown=fe,f.VibeDropdownItem=L,f.VibeFormCheckbox=Ee,f.VibeFormDatepicker=xe,f.VibeFormGroup=ze,f.VibeFormInput=Ce,f.VibeFormRadio=we,f.VibeFormSelect=Ve,f.VibeFormSpinbutton=Ne,f.VibeFormSwitch=De,f.VibeFormTextarea=$e,f.VibeFormWysiwyg=ve,f.VibeIcon=Be,f.VibeListGroup=re,f.VibeListGroupItem=q,f.VibeModal=ue,f.VibeNav=_,f.VibeNavItem=D,f.VibeNavbar=ee,f.VibeNavbarBrand=te,f.VibeNavbarNav=le,f.VibeNavbarToggle=ae,f.VibeOffcanvas=be,f.VibePagination=oe,f.VibePaginationItem=x,f.VibePlaceholder=U,f.VibePopover=he,f.VibeProgress=de,f.VibeProgressBar=se,f.VibeRow=W,f.VibeScrollspy=ke,f.VibeSpinner=H,f.VibeTabContent=ne,f.VibeTabPane=ie,f.VibeToast=ye,f.VibeTooltip=ge,f.default=kl,f.useFormValidation=Bl,f.validators=Sl,Object.defineProperties(f,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velkymx/vibeui",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
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",
@@ -20,6 +20,7 @@
20
20
  "dev": "vite",
21
21
  "build": "vite build",
22
22
  "preview": "vite preview",
23
+ "examples": "npm run build && cd examples && python3 -m http.server 8000",
23
24
  "prepublishOnly": "npm run build"
24
25
  },
25
26
  "keywords": [