@velkymx/vibeui 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -8
- package/dist/components/VibeAccordion.vue.d.ts +2 -2
- package/dist/components/VibeAlert.vue.d.ts +9 -0
- package/dist/components/VibeBadge.vue.d.ts +9 -0
- package/dist/components/VibeButton.vue.d.ts +9 -0
- package/dist/components/VibeDataTable.vue.d.ts +3 -1
- package/dist/components/VibeDropdown.vue.d.ts +2 -2
- package/dist/components/VibeFormInput.vue.d.ts +19 -1
- package/dist/components/VibeFormWysiwyg.vue.d.ts +9 -0
- package/dist/components/VibeInputGroup.vue.d.ts +60 -0
- package/dist/components/VibeLink.vue.d.ts +112 -0
- package/dist/components/VibeNav.vue.d.ts +11 -2
- package/dist/components/index.d.ts +3 -1
- package/dist/composables/useBackButton.d.ts +9 -0
- package/dist/composables/useBreakpoints.d.ts +13 -0
- package/dist/composables/useColorMode.d.ts +15 -0
- package/dist/index.d.ts +3 -0
- package/dist/types.d.ts +1 -0
- package/dist/vibeui.css +1 -1
- package/dist/vibeui.es.js +1637 -1417
- package/dist/vibeui.umd.js +1 -1
- package/package.json +2 -1
package/dist/vibeui.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(C,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(C=typeof globalThis<"u"?globalThis:C||self,e(C.VibeUI={},C.Vue))})(this,(function(C,e){"use strict";const M=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},fade:{type:Boolean,default:!0}},emits:["update:modelValue","close","closed","component-error"],setup(t,{emit:m}){const a=t,l=m,o=e.ref(null),i=e.ref(null),n=e.ref(a.modelValue),r=()=>{l("close")},d=()=>{n.value=!1,l("update:modelValue",!1),l("closed")};e.onMounted(async()=>{if(o.value)try{const h=(await import("bootstrap")).Alert;i.value=new h(o.value),o.value.addEventListener("close.bs.alert",r),o.value.addEventListener("closed.bs.alert",d)}catch(f){l("component-error",{message:"Bootstrap JS not loaded. Alert will use basic Vue logic.",componentName:"VibeAlert",originalError:f})}}),e.onBeforeUnmount(()=>{o.value&&(o.value.removeEventListener("close.bs.alert",r),o.value.removeEventListener("closed.bs.alert",d)),i.value&&(i.value.dispose(),i.value=null)}),e.watch(()=>a.modelValue,f=>{f?n.value=!0:i.value&&n.value?i.value.close():n.value=!1});const c=()=>{i.value?i.value.close():(n.value=!1,l("update:modelValue",!1),l("closed"))};return(f,h)=>n.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"alertRef",ref:o,class:e.normalizeClass(["alert",`alert-${t.variant}`,{"alert-dismissible":t.dismissable,"fade show":t.fade}]),role:"alert"},[e.renderSlot(f.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)]),t.dismissable?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"btn-close","aria-label":"Close",onClick:c})):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)}}),I=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:m}){const a=t,l=e.computed(()=>{const o=["badge",`bg-${a.variant}`];return a.pill&&o.push("rounded-pill"),o.join(" ")});return(o,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(l.value)},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["class"]))}}),P=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:m}){const a=t,l=m,o=e.computed(()=>a.href?"a":a.to?"router-link":"button"),i=e.computed(()=>{const r=["btn"];return a.outline?r.push(`btn-outline-${a.variant}`):r.push(`btn-${a.variant}`),a.size&&r.push(`btn-${a.size}`),a.active&&r.push("active"),r.join(" ")}),n=r=>{a.disabled||l("click",r)};return(r,d)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{class:e.normalizeClass(i.value),type:t.href||t.to?void 0:t.type,href:t.href,to:t.to,disabled:t.disabled,"aria-disabled":t.disabled,onClick:n},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},8,["class","type","href","to","disabled","aria-disabled"]))}}),$e=["role","aria-label"],R=e.defineComponent({__name:"VibeButtonGroup",props:{size:{type:String,default:void 0},vertical:{type:Boolean,default:!1},role:{type:String,default:"group"},ariaLabel:{type:String,default:void 0}},emits:["component-error"],setup(t,{emit:m}){const a=t,l=e.computed(()=>{const o=[a.vertical?"btn-group-vertical":"btn-group"];return a.size&&o.push(`btn-group-${a.size}`),o.join(" ")});return(o,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value),role:t.role,"aria-label":t.ariaLabel},[e.renderSlot(o.$slots,"default")],10,$e))}}),we=["disabled","aria-label"],q=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:m}){const a=t,l=m,o=i=>{a.disabled||l("click",i)};return(i,n)=>(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:o},null,10,we))}}),Ee={class:"visually-hidden"},j=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:m}){const a=t,l=e.computed(()=>{const o=[`spinner-${a.type}`];return a.variant&&o.push(`text-${a.variant}`),a.size&&o.push(`spinner-${a.type}-${a.size}`),o.join(" ")});return(o,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(l.value),role:"status"},{default:e.withCtx(()=>[e.createElementVNode("span",Ee,e.toDisplayString(t.label),1)]),_:1},8,["class"]))}}),A=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:m}){const a=t,l=e.computed(()=>{const n=["placeholder"];return a.variant&&n.push(`bg-${a.variant}`),a.size&&n.push(`placeholder-${a.size}`),n.join(" ")}),o=e.computed(()=>{if(a.animation)return`placeholder-${a.animation}`}),i=e.computed(()=>{if(a.width)return{width:typeof a.width=="number"?`${a.width}%`:a.width}});return(n,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(o.value)},{default:e.withCtx(()=>[e.createElementVNode("span",{class:e.normalizeClass(l.value),style:e.normalizeStyle(i.value)},[e.renderSlot(n.$slots,"default")],6)]),_:3},8,["class"]))}}),O=e.defineComponent({__name:"VibeContainer",props:{fluid:{type:[Boolean,String],default:!1},tag:{type:String,default:"div"}},emits:["component-error"],setup(t,{emit:m}){const a=t,l=e.computed(()=>a.fluid===!1?"container":a.fluid===!0?"container-fluid":`container-${a.fluid}`);return(o,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(l.value)},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["class"]))}}),H=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:m}){const a=t,l=e.computed(()=>{const o=["row"];a.gutters!==void 0&&o.push(`g-${a.gutters}`),a.guttersX!==void 0&&o.push(`gx-${a.guttersX}`),a.guttersY!==void 0&&o.push(`gy-${a.guttersY}`);const i=["sm","md","lg","xl","xxl"];return i.forEach(n=>{const r=n.charAt(0).toUpperCase()+n.slice(1),d=`gutters${r}`;a[d]!==void 0&&o.push(`g-${n}-${a[d]}`);const c=`guttersX${r}`;a[c]!==void 0&&o.push(`gx-${n}-${a[c]}`);const f=`guttersY${r}`;a[f]!==void 0&&o.push(`gy-${n}-${a[f]}`)}),a.rowCols!==void 0&&o.push(`row-cols-${a.rowCols}`),i.forEach(n=>{const r=`rowCols${n.charAt(0).toUpperCase()+n.slice(1)}`;a[r]!==void 0&&o.push(`row-cols-${n}-${a[r]}`)}),a.alignItems&&o.push(`align-items-${a.alignItems}`),a.justifyContent&&o.push(`justify-content-${a.justifyContent}`),o.join(" ")});return(o,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(l.value)},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["class"]))}}),G=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:m}){const a=t,l=e.computed(()=>{const o=[];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?o.push("col"):a.cols==="auto"?o.push("col-auto"):a.cols&&o.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:r,value:d})=>{d===!0?o.push(`col-${r}`):d==="auto"?o.push(`col-${r}-auto`):d!==void 0&&o.push(`col-${r}-${d}`)})):o.push("col"),a.offset!==void 0&&o.push(`offset-${a.offset}`),a.offsetSm!==void 0&&o.push(`offset-sm-${a.offsetSm}`),a.offsetMd!==void 0&&o.push(`offset-md-${a.offsetMd}`),a.offsetLg!==void 0&&o.push(`offset-lg-${a.offsetLg}`),a.offsetXl!==void 0&&o.push(`offset-xl-${a.offsetXl}`),a.offsetXxl!==void 0&&o.push(`offset-xxl-${a.offsetXxl}`),a.order!==void 0&&o.push(`order-${a.order}`),a.orderSm!==void 0&&o.push(`order-sm-${a.orderSm}`),a.orderMd!==void 0&&o.push(`order-md-${a.orderMd}`),a.orderLg!==void 0&&o.push(`order-lg-${a.orderLg}`),a.orderXl!==void 0&&o.push(`order-xl-${a.orderXl}`),a.orderXxl!==void 0&&o.push(`order-xxl-${a.orderXxl}`),a.alignSelf&&o.push(`align-self-${a.alignSelf}`),o.join(" ")});return(o,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(l.value)},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["class"]))}}),Ne=["src","alt"],xe={key:1,class:"card-header"},Te={key:2,class:"card-body"},ze={key:0,class:"card-title"},Le={key:1,class:"card-text"},De={key:3,class:"card-footer"},Fe=["src","alt"],X=e.defineComponent({__name:"VibeCard",props:{variant:{type:String,default:void 0},border:{type:String,default:void 0},textVariant:{type:String,default:void 0},tag:{type:String,default:"div"},title:{type:String,default:void 0},body:{type:String,default:void 0},header:{type:String,default:void 0},footer:{type:String,default:void 0},imgSrc:{type:String,default:void 0},imgAlt:{type:String,default:""},imgTop:{type:Boolean,default:!0},imgBottom:{type:Boolean,default:!1}},emits:["component-error"],setup(t,{emit:m}){const a=t,l=e.computed(()=>{const o=["card"];return a.variant&&o.push(`text-bg-${a.variant}`),a.border&&o.push(`border-${a.border}`),a.textVariant&&o.push(`text-${a.textVariant}`),o.join(" ")});return(o,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(l.value)},{default:e.withCtx(()=>[t.imgSrc&&t.imgTop?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.imgSrc,alt:t.imgAlt,class:"card-img-top"},null,8,Ne)):e.createCommentVNode("",!0),t.header||o.$slots.header?(e.openBlock(),e.createElementBlock("div",xe,[e.renderSlot(o.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.header),1)])])):e.createCommentVNode("",!0),t.title||t.body||o.$slots.default||o.$slots.body?(e.openBlock(),e.createElementBlock("div",Te,[t.title||o.$slots.title?(e.openBlock(),e.createElementBlock("h5",ze,[e.renderSlot(o.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])])):e.createCommentVNode("",!0),t.body||o.$slots.body?(e.openBlock(),e.createElementBlock("p",Le,[e.renderSlot(o.$slots,"body",{},()=>[e.createTextVNode(e.toDisplayString(t.body),1)])])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default")])):e.createCommentVNode("",!0),t.footer||o.$slots.footer?(e.openBlock(),e.createElementBlock("div",De,[e.renderSlot(o.$slots,"footer",{},()=>[e.createTextVNode(e.toDisplayString(t.footer),1)])])):e.createCommentVNode("",!0),t.imgSrc&&t.imgBottom?(e.openBlock(),e.createElementBlock("img",{key:4,src:t.imgSrc,alt:t.imgAlt,class:"card-img-bottom"},null,8,Fe)):e.createCommentVNode("",!0)]),_:3},8,["class"]))}}),Me=["aria-label"],Ie={class:"breadcrumb"},Pe=["aria-current"],U=e.defineComponent({__name:"VibeBreadcrumb",props:{ariaLabel:{type:String,default:"breadcrumb"},items:{type:Array,required:!0}},emits:["item-click","component-error"],setup(t,{emit:m}){const a=m,l=(o,i,n)=>{o.active||a("item-click",{item:o,index:i,event:n})};return(o,i)=>(e.openBlock(),e.createElementBlock("nav",{"aria-label":t.ariaLabel},[e.createElementVNode("ol",Ie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(n,r)=>(e.openBlock(),e.createElementBlock("li",{key:r,class:e.normalizeClass(["breadcrumb-item",{active:n.active}]),"aria-current":n.active?"page":void 0},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.href?"a":n.to?"router-link":"span"),{href:n.href,to:n.to,onClick:d=>l(n,r,d)},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"item",{item:n,index:r},()=>[e.createTextVNode(e.toDisplayString(n.text),1)])]),_:2},1032,["href","to","onClick"]))],10,Pe))),128))])],8,Me))}}),Re={class:"dropdown-menu"},qe={key:0,class:"dropdown-divider"},je={key:1,class:"dropdown-header"},Y=e.defineComponent({__name:"VibeNav",props:{items:{type:Array,required:!0},pills:{type:Boolean,default:!1},tabs:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},justified:{type:Boolean,default:!1},fill:{type:Boolean,default:!1},tag:{type:String,default:"ul"}},emits:["item-click","show","shown","hide","hidden","component-error"],setup(t,{expose:m,emit:a}){const l=t,o=a,i=e.ref(null),n=new Map,r=e.computed(()=>{const s=["nav"];return l.pills&&s.push("nav-pills"),l.tabs&&s.push("nav-tabs"),l.vertical&&s.push("flex-column"),l.justified&&s.push("nav-justified"),l.fill&&s.push("nav-fill"),s.join(" ")}),d=s=>o("show",s),c=s=>o("shown",s),f=s=>o("hide",s),h=s=>o("hidden",s),k=async()=>{if(i.value)try{const u=(await import("bootstrap")).Tab;i.value.querySelectorAll('[data-bs-toggle="tab"], [data-bs-toggle="pill"]').forEach(y=>{const B=y;if(!n.has(B)){const g=new u(B);n.set(B,g),B.addEventListener("show.bs.tab",d),B.addEventListener("shown.bs.tab",c),B.addEventListener("hide.bs.tab",f),B.addEventListener("hidden.bs.tab",h)}})}catch(s){o("component-error",{message:"Bootstrap JS not loaded. Nav will use basic Vue logic.",componentName:"VibeNav",originalError:s})}};e.onMounted(k),e.onBeforeUnmount(()=>{n.forEach((s,u)=>{u.removeEventListener("show.bs.tab",d),u.removeEventListener("shown.bs.tab",c),u.removeEventListener("hide.bs.tab",f),u.removeEventListener("hidden.bs.tab",h),s.dispose()}),n.clear()}),e.watch(()=>l.items,async()=>{await e.nextTick(),await k()},{deep:!0});const b=(s,u,p)=>{s.disabled||o("item-click",{item:s,index:u,event:p})};return m({bsInstances:n,refresh:k}),(s,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{ref_key:"navRef",ref:i,class:e.normalizeClass(r.value)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(p,y)=>(e.openBlock(),e.createElementBlock("li",{key:y,class:e.normalizeClass(["nav-item",{dropdown:p.children&&p.children.length>0}])},[p.children&&p.children.length>0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("a",{class:e.normalizeClass(["nav-link dropdown-toggle",{active:p.active,disabled:p.disabled}]),"data-bs-toggle":"dropdown",href:"#",role:"button","aria-expanded":"false"},e.toDisplayString(p.text),3),e.createElementVNode("ul",Re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.children,(B,g)=>(e.openBlock(),e.createElementBlock("li",{key:g},[B.divider?(e.openBlock(),e.createElementBlock("hr",qe)):B.header?(e.openBlock(),e.createElementBlock("h6",je,e.toDisplayString(B.text),1)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(B.href?"a":B.to?"router-link":"button"),{key:2,class:e.normalizeClass(["dropdown-item",{active:B.active,disabled:B.disabled}]),href:B.href,to:B.to,type:!B.href&&!B.to?"button":void 0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(B.text),1)]),_:2},1032,["class","href","to","type"]))]))),128))])],64)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(p.href?"a":p.to?"router-link":"button"),{key:1,class:e.normalizeClass(["nav-link",{active:p.active,disabled:p.disabled}]),href:p.href,to:p.to,type:!p.href&&!p.to?"button":void 0,"aria-current":p.active?"page":void 0,"data-bs-toggle":(t.tabs||t.pills)&&p.href&&p.href.startsWith("#")?t.tabs?"tab":"pill":void 0,"data-bs-target":p.href&&p.href.startsWith("#")?p.href:void 0,onClick:B=>b(p,y,B)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.text),1)]),_:2},1032,["class","href","to","type","aria-current","data-bs-toggle","data-bs-target","onClick"]))],2))),128))]),_:1},8,["class"]))}}),J=e.defineComponent({__name:"VibeNavbar",props:{variant:{type:String,default:"light"},theme:{type:String,default:void 0},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:m}){const a=t,l=e.reactive({}),o=d=>{l[d]=!l[d]};e.provide("vibeNavbarCollapse",{collapseStates:l,toggleCollapse:o});const i=e.computed(()=>{const d=["navbar"];return a.expand===!0?d.push("navbar-expand"):typeof a.expand=="string"&&d.push(`navbar-expand-${a.expand}`),d.push(`bg-${a.variant}`),a.position&&d.push(a.position),d.join(" ")}),n=e.computed(()=>{if(a.theme)return a.theme;if(a.variant==="dark")return"dark";if(a.variant==="light")return"light"}),r=e.computed(()=>{if(a.container!==!1)return a.container===!0?"container-fluid":`container-${a.container}`});return(d,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(i.value),"data-bs-theme":n.value},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.value)},[e.renderSlot(d.$slots,"default")],2)):e.renderSlot(d.$slots,"default",{key:1})]),_:3},8,["class","data-bs-theme"]))}}),K=e.defineComponent({__name:"VibeNavbarBrand",props:{href:{type:String,default:void 0},to:{type:[String,Object],default:void 0}},emits:["component-error"],setup(t,{emit:m}){const a=t,l=a.href?"a":a.to?"router-link":"span";return(o,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(l)),{class:"navbar-brand",href:t.href,to:t.to},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["href","to"]))}}),Ae=["data-bs-target","aria-controls","aria-expanded","aria-label"],W=e.defineComponent({__name:"VibeNavbarToggle",props:{target:{type:String,required:!0},ariaLabel:{type:String,default:"Toggle navigation"}},emits:["component-error"],setup(t,{emit:m}){const a=t,l=e.inject("vibeNavbarCollapse",null),o=e.computed(()=>l?.collapseStates[a.target]??!1),i=async()=>{l&&l.toggleCollapse(a.target);try{const n=document.getElementById(a.target);n&&(await import("bootstrap")).Collapse.getOrCreateInstance(n).toggle()}catch{}};return(n,r)=>(e.openBlock(),e.createElementBlock("button",{class:"navbar-toggler",type:"button","data-bs-target":`#${t.target}`,"data-bs-toggle":"collapse","aria-controls":t.target,"aria-expanded":o.value,"aria-label":t.ariaLabel,onClick:i},[...r[0]||(r[0]=[e.createElementVNode("span",{class:"navbar-toggler-icon"},null,-1)])],8,Ae))}}),Oe={class:"dropdown-menu"},He={key:0},Ge={key:1},Xe={class:"dropdown-header"},Ue={key:2},Q=e.defineComponent({__name:"VibeNavbarNav",props:{tag:{type:String,default:"ul"},items:{type:Array,default:void 0}},emits:["item-click","dropdown-item-click","component-error"],setup(t,{emit:m}){const a=m,l=c=>{const f=["nav-item"];return c.children?.length&&f.push("dropdown"),f.join(" ")},o=c=>{const f=["nav-link"];return c.active&&f.push("active"),c.disabled&&f.push("disabled"),c.children?.length&&f.push("dropdown-toggle"),f.join(" ")},i=c=>c.href?"a":c.to?"router-link":"a",n=c=>{const f=["dropdown-item"];return c.active&&f.push("active"),c.disabled&&f.push("disabled"),f.join(" ")},r=(c,f,h)=>{c.disabled||a("item-click",{item:c,index:f,event:h})},d=(c,f,h,k,b)=>{!h.disabled&&!h.divider&&!h.header&&a("dropdown-item-click",{item:c,itemIndex:f,child:h,childIndex:k,event:b})};return(c,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:"navbar-nav"},{default:e.withCtx(()=>[t.items&&t.items.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(h,k)=>(e.openBlock(),e.createElementBlock("li",{key:k,class:e.normalizeClass(l(h))},[h.children?.length?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("a",{class:e.normalizeClass(o(h)),href:"#",role:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[e.renderSlot(c.$slots,"item",{item:h,index:k},()=>[e.createTextVNode(e.toDisplayString(h.text),1)])],2),e.createElementVNode("ul",Oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.children,(b,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:s},[b.divider?(e.openBlock(),e.createElementBlock("li",He,[...f[0]||(f[0]=[e.createElementVNode("hr",{class:"dropdown-divider"},null,-1)])])):b.header?(e.openBlock(),e.createElementBlock("li",Ge,[e.createElementVNode("h6",Xe,e.toDisplayString(b.text),1)])):(e.openBlock(),e.createElementBlock("li",Ue,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b.href?"a":b.to?"router-link":"button"),{class:e.normalizeClass(n(b)),href:b.href,to:b.to,type:!b.href&&!b.to?"button":void 0,onClick:u=>d(h,k,b,s,u)},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"dropdown-item",{item:h,child:b,index:k,childIndex:s},()=>[e.createTextVNode(e.toDisplayString(b.text),1)])]),_:2},1032,["class","href","to","type","onClick"]))]))],64))),128))])],64)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i(h)),{key:1,class:e.normalizeClass(o(h)),href:h.href,to:h.to,"aria-current":h.active?"page":void 0,"aria-disabled":h.disabled,onClick:b=>r(h,k,b)},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"item",{item:h,index:k},()=>[e.createTextVNode(e.toDisplayString(h.text),1)])]),_:2},1032,["class","href","to","aria-current","aria-disabled","onClick"]))],2))),128)):e.renderSlot(c.$slots,"default",{key:1})]),_:3}))}}),Ye=["aria-label"],Je=["disabled","aria-disabled"],Ke=["aria-current","onClick"],We=["disabled","aria-disabled"],Z=e.defineComponent({__name:"VibePagination",props:{size:{type:String,default:void 0},ariaLabel:{type:String,default:"Pagination"},totalPages:{type:Number,required:!0},currentPage:{type:Number,default:1},showPrevNext:{type:Boolean,default:!0},prevText:{type:String,default:"Previous"},nextText:{type:String,default:"Next"}},emits:["update:currentPage","page-click","component-error"],setup(t,{emit:m}){const a=t,l=m,o=e.computed(()=>{const c=["pagination"];return a.size&&c.push(`pagination-${a.size}`),c.join(" ")}),i=e.computed(()=>Array.from({length:a.totalPages},(c,f)=>f+1)),n=c=>{c>=1&&c<=a.totalPages&&(l("update:currentPage",c),l("page-click",c))},r=e.computed(()=>a.currentPage===1),d=e.computed(()=>a.currentPage===a.totalPages);return(c,f)=>(e.openBlock(),e.createElementBlock("nav",{"aria-label":t.ariaLabel},[e.createElementVNode("ul",{class:e.normalizeClass(o.value)},[t.showPrevNext?(e.openBlock(),e.createElementBlock("li",{key:0,class:e.normalizeClass(["page-item",{disabled:r.value}])},[e.createElementVNode("button",{class:"page-link",type:"button",disabled:r.value,"aria-disabled":r.value,onClick:f[0]||(f[0]=h=>n(t.currentPage-1))},[e.renderSlot(c.$slots,"prev",{disabled:r.value},()=>[e.createTextVNode(e.toDisplayString(t.prevText),1)])],8,Je)],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,h=>(e.openBlock(),e.createElementBlock("li",{key:h,class:e.normalizeClass(["page-item",{active:h===t.currentPage}])},[e.createElementVNode("button",{class:"page-link",type:"button","aria-current":h===t.currentPage?"page":void 0,onClick:k=>n(h)},[e.renderSlot(c.$slots,"page",{page:h,active:h===t.currentPage},()=>[e.createTextVNode(e.toDisplayString(h),1)])],8,Ke)],2))),128)),t.showPrevNext?(e.openBlock(),e.createElementBlock("li",{key:1,class:e.normalizeClass(["page-item",{disabled:d.value}])},[e.createElementVNode("button",{class:"page-link",type:"button",disabled:d.value,"aria-disabled":d.value,onClick:f[1]||(f[1]=h=>n(t.currentPage+1))},[e.renderSlot(c.$slots,"next",{disabled:d.value},()=>[e.createTextVNode(e.toDisplayString(t.nextText),1)])],8,We)],2)):e.createCommentVNode("",!0)],2)],8,Ye))}}),Qe=["id","aria-labelledby"],_=e.defineComponent({__name:"VibeTabContent",props:{id:{type:String,default:void 0},tag:{type:String,default:"div"},panes:{type:Array,required:!0},fade:{type:Boolean,default:!0}},emits:["component-error","shown","hide","hidden"],setup(t,{emit:m}){const a=t,l=e.ref(null),o=new Map,i=n=>{const r=["tab-pane"];return a.fade&&r.push("fade"),n.active&&r.push("show","active"),r.join(" ")};return e.onMounted(async()=>{if(l.value)try{const r=(await import("bootstrap")).Tab}catch{}}),e.onBeforeUnmount(()=>{o.forEach(n=>n.dispose()),o.clear()}),(n,r)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{id:t.id,ref_key:"tabContentRef",ref:l,class:"tab-content"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.panes,(d,c)=>(e.openBlock(),e.createElementBlock("div",{key:d.id,id:d.id,class:e.normalizeClass(i(d)),role:"tabpanel","aria-labelledby":`${d.id}-tab`,tabindex:"0"},[e.renderSlot(n.$slots,"pane",{pane:d,index:c},()=>[e.createTextVNode(e.toDisplayString(d.content),1)])],10,Qe))),128))]),_:3},8,["id"]))}}),ee=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,required:!0}},emits:["item-click","component-error"],setup(t,{emit:m}){const a=t,l=m,o=e.computed(()=>{const d=["list-group"];return a.flush&&d.push("list-group-flush"),a.numbered&&d.push("list-group-numbered"),a.horizontal===!0?d.push("list-group-horizontal"):typeof a.horizontal=="string"&&d.push(`list-group-horizontal-${a.horizontal}`),d.join(" ")}),i=d=>d.href?"a":d.to?"router-link":"li",n=d=>{const c=["list-group-item"];return d.active&&c.push("active"),d.disabled&&c.push("disabled"),d.variant&&c.push(`list-group-item-${d.variant}`),c.join(" ")},r=(d,c,f)=>{d.disabled||l("item-click",{item:d,index:c,event:f})};return(d,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(o.value)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(f,h)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i(f)),{key:h,class:e.normalizeClass(n(f)),href:f.href,to:f.to,"aria-disabled":f.disabled,"aria-current":f.active,onClick:k=>r(f,h,k)},{default:e.withCtx(()=>[e.renderSlot(d.$slots,"item",{item:f,index:h},()=>[e.createTextVNode(e.toDisplayString(f.text),1)])]),_:2},1032,["class","href","to","aria-disabled","aria-current","onClick"]))),128))]),_:3},8,["class"]))}}),Ze=["aria-valuenow","aria-valuemax"],te=e.defineComponent({__name:"VibeProgress",props:{height:{type:String,default:void 0},bars:{type:Array,required:!0}},emits:["component-error"],setup(t,{emit:m}){const a=t,l=e.computed(()=>{if(a.height)return{height:a.height}}),o=r=>{const d=["progress-bar"];return r.variant&&d.push(`bg-${r.variant}`),(r.striped||r.animated)&&d.push("progress-bar-striped"),r.animated&&d.push("progress-bar-animated"),d.join(" ")},i=r=>{const d=r.max||100;return{width:`${Math.min(100,Math.max(0,r.value/d*100))}%`}},n=r=>r.label?r.label:r.showValue?`${r.value}%`:"";return(r,d)=>(e.openBlock(),e.createElementBlock("div",{class:"progress",style:e.normalizeStyle(l.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.bars,(c,f)=>(e.openBlock(),e.createElementBlock("div",{key:f,class:e.normalizeClass(o(c)),style:e.normalizeStyle(i(c)),role:"progressbar","aria-valuenow":c.value,"aria-valuemin":0,"aria-valuemax":c.max||100},[e.renderSlot(r.$slots,"label",{bar:c,index:f},()=>[e.createTextVNode(e.toDisplayString(n(c)),1)])],14,Ze))),128))],4))}});let ae=0;function N(t="vibe"){const m=e.getCurrentInstance(),a=m?m.uid:"no-instance";return ae++,`${t}-${a}-${ae}`}const _e=["id"],et={class:"accordion-header"},tt=["data-bs-target","aria-expanded","aria-controls","onClick"],at=["id","data-bs-parent"],lt={class:"accordion-body"},le=e.defineComponent({__name:"VibeAccordion",props:{id:{type:String,default:()=>N("accordion")},flush:{type:Boolean,default:!1},items:{type:Array,required:!0},alwaysOpen:{type:Boolean,default:!1}},emits:["item-click","show","shown","hide","hidden","component-error"],setup(t,{expose:m,emit:a}){const l=t,o=a,i=e.ref(null),n=new Map,r=b=>o("show",b),d=b=>o("shown",b),c=b=>o("hide",b),f=b=>o("hidden",b),h=async()=>{if(i.value)try{const s=(await import("bootstrap")).Collapse;i.value.querySelectorAll(".accordion-collapse").forEach(p=>{const y=p.id;if(!n.has(y)){const B=new s(p,{toggle:!1,parent:l.alwaysOpen?void 0:`#${l.id}`});n.set(y,B),p.addEventListener("show.bs.collapse",()=>r(y)),p.addEventListener("shown.bs.collapse",()=>d(y)),p.addEventListener("hide.bs.collapse",()=>c(y)),p.addEventListener("hidden.bs.collapse",()=>f(y)),l.items.find(E=>E.id===y)?.show&&B.show()}})}catch(b){o("component-error",{message:"Bootstrap JS not loaded. Accordion will use data attributes only.",componentName:"VibeAccordion",originalError:b})}};e.onMounted(h),e.onBeforeUnmount(()=>{n.forEach((b,s)=>{const u=document.getElementById(s);u&&(u.removeEventListener("show.bs.collapse",()=>r(s)),u.removeEventListener("shown.bs.collapse",()=>d(s)),u.removeEventListener("hide.bs.collapse",()=>c(s)),u.removeEventListener("hidden.bs.collapse",()=>f(s))),b.dispose()}),n.clear()}),e.watch(()=>l.items,async(b,s)=>{b.length!==s?.length&&(await e.nextTick(),await h()),b.forEach(u=>{const p=n.get(u.id);p&&(u.show?p.show():l.alwaysOpen||p.hide())})},{deep:!0});const k=(b,s)=>{o("item-click",{item:b,index:s})};return m({bsInstances:n,refresh:h}),(b,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"accordionRef",ref:i,id:t.id,class:e.normalizeClass(["accordion",{"accordion-flush":t.flush}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(u,p)=>(e.openBlock(),e.createElementBlock("div",{key:u.id,class:"accordion-item"},[e.createElementVNode("h2",et,[e.createElementVNode("button",{class:e.normalizeClass(["accordion-button",{collapsed:!u.show}]),type:"button","data-bs-toggle":"collapse","data-bs-target":`#${u.id}`,"aria-expanded":u.show,"aria-controls":u.id,onClick:y=>k(u,p)},[e.renderSlot(b.$slots,"title",{item:u,index:p},()=>[e.createTextVNode(e.toDisplayString(u.title),1)])],10,tt)]),e.createElementVNode("div",{id:u.id,class:e.normalizeClass(["accordion-collapse","collapse",{show:u.show}]),"data-bs-parent":t.alwaysOpen?void 0:`#${t.id}`},[e.createElementVNode("div",lt,[e.renderSlot(b.$slots,"content",{item:u,index:p},()=>[e.createTextVNode(e.toDisplayString(u.content),1)])])],10,at)]))),128))],10,_e))}}),oe=e.defineComponent({__name:"VibeCollapse",props:{id:{type:String,default:()=>N("collapse")},modelValue:{type:Boolean,default:!1},tag:{type:String,default:"div"},horizontal:{type:Boolean,default:!1},isNav:{type:Boolean,default:!1}},emits:["update:modelValue","show","shown","hide","hidden","component-error"],setup(t,{emit:m}){const a=t,l=m,o=e.inject("vibeNavbarCollapse",null),i=e.ref(null),n=e.ref(null),r=e.ref(!1),d=()=>{r.value=!0,l("show")},c=()=>{l("shown"),l("update:modelValue",!0)},f=()=>{l("hide")},h=()=>{r.value=!1,l("hidden"),l("update:modelValue",!1)};e.onMounted(async()=>{if(i.value)try{const u=(await import("bootstrap")).Collapse;n.value=new u(i.value,{toggle:!1}),i.value.addEventListener("show.bs.collapse",d),i.value.addEventListener("shown.bs.collapse",c),i.value.addEventListener("hide.bs.collapse",f),i.value.addEventListener("hidden.bs.collapse",h),(o&&a.id in o.collapseStates?o.collapseStates[a.id]:a.modelValue)&&n.value.show()}catch(s){l("component-error",{message:"Bootstrap JS not loaded. Collapse will use CSS classes only.",componentName:"VibeCollapse",originalError:s})}}),e.onBeforeUnmount(()=>{i.value&&(i.value.removeEventListener("show.bs.collapse",d),i.value.removeEventListener("shown.bs.collapse",c),i.value.removeEventListener("hide.bs.collapse",f),i.value.removeEventListener("hidden.bs.collapse",h)),n.value&&(n.value.dispose(),n.value=null)});const k=e.computed(()=>o&&a.id in o.collapseStates?o.collapseStates[a.id]:a.modelValue);e.watch(k,s=>{n.value&&(s&&!r.value?n.value.show():!s&&r.value&&n.value.hide())});const b=e.computed(()=>{const s=["collapse"];return a.isNav&&s.push("navbar-collapse"),a.horizontal&&s.push("collapse-horizontal"),!n.value&&k.value&&s.push("show"),s.join(" ")});return(s,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{ref_key:"collapseRef",ref:i,id:t.id,class:e.normalizeClass(b.value)},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},8,["id","class"]))}}),ot=["id","data-bs-auto-close"],nt=["id","data-bs-auto-close"],it=["aria-labelledby"],rt={key:0},st={key:1},dt={class:"dropdown-header"},ct={key:2},ne=e.defineComponent({__name:"VibeDropdown",props:{id:{type:String,default:()=>N("dropdown")},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,required:!0},autoClose:{type:[Boolean,String],default:!0}},emits:["item-click","show","shown","hide","hidden","component-error"],setup(t,{expose:m,emit:a}){const l=t,o=a,i=e.ref(null),n=e.ref(null),r=e.computed(()=>l.direction==="up"?"dropup":l.direction==="end"?"dropend":l.direction==="start"?"dropstart":"dropdown"),d=e.computed(()=>{const g=["btn",`btn-${l.variant}`];return l.size&&g.push(`btn-${l.size}`),g.join(" ")}),c=e.computed(()=>{const g=["dropdown-menu"];return l.menuEnd&&g.push("dropdown-menu-end"),g.join(" ")}),f=g=>{const E=["dropdown-item"];return g.active&&E.push("active"),g.disabled&&E.push("disabled"),E.join(" ")},h=()=>o("show"),k=()=>o("shown"),b=()=>o("hide"),s=()=>o("hidden");e.onMounted(async()=>{if(i.value)try{const E=(await import("bootstrap")).Dropdown,$=i.value.querySelector(".dropdown-toggle");$&&(n.value=new E($,{autoClose:l.autoClose}),$.addEventListener("show.bs.dropdown",h),$.addEventListener("shown.bs.dropdown",k),$.addEventListener("hide.bs.dropdown",b),$.addEventListener("hidden.bs.dropdown",s))}catch(g){o("component-error",{message:"Bootstrap JS not loaded. Dropdown will use data attributes only.",componentName:"VibeDropdown",originalError:g})}}),e.onBeforeUnmount(()=>{const g=i.value?.querySelector(".dropdown-toggle");g&&(g.removeEventListener("show.bs.dropdown",h),g.removeEventListener("shown.bs.dropdown",k),g.removeEventListener("hide.bs.dropdown",b),g.removeEventListener("hidden.bs.dropdown",s)),n.value&&(n.value.dispose(),n.value=null)});const u=(g,E,$)=>{!g.disabled&&!g.divider&&!g.header&&o("item-click",{item:g,index:E,event:$})};return m({show:()=>n.value?.show(),hide:()=>n.value?.hide(),toggle:()=>n.value?.toggle()}),(g,E)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dropdownRef",ref:i,class:e.normalizeClass(r.value)},[t.split?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("button",{class:e.normalizeClass(d.value),type:"button"},[e.renderSlot(g.$slots,"button",{},()=>[e.createTextVNode(e.toDisplayString(t.text),1)])],2),e.createElementVNode("button",{id:t.id,type:"button",class:e.normalizeClass([d.value,"dropdown-toggle","dropdown-toggle-split"]),"data-bs-toggle":"dropdown","aria-expanded":"false","data-bs-auto-close":t.autoClose},[...E[0]||(E[0]=[e.createElementVNode("span",{class:"visually-hidden"},"Toggle Dropdown",-1)])],10,nt)],64)):(e.openBlock(),e.createElementBlock("button",{key:0,id:t.id,class:e.normalizeClass([d.value,"dropdown-toggle"]),type:"button","data-bs-toggle":"dropdown","aria-expanded":"false","data-bs-auto-close":t.autoClose},[e.renderSlot(g.$slots,"button",{},()=>[e.createTextVNode(e.toDisplayString(t.text),1)])],10,ot)),e.createElementVNode("ul",{class:e.normalizeClass(c.value),"aria-labelledby":t.id},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,($,w)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:w},[$.divider?(e.openBlock(),e.createElementBlock("li",rt,[...E[1]||(E[1]=[e.createElementVNode("hr",{class:"dropdown-divider"},null,-1)])])):$.header?(e.openBlock(),e.createElementBlock("li",st,[e.createElementVNode("h6",dt,[e.renderSlot(g.$slots,"header",{item:$,index:w},()=>[e.createTextVNode(e.toDisplayString($.text),1)])])])):(e.openBlock(),e.createElementBlock("li",ct,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent($.href?"a":$.to?"router-link":"button"),{class:e.normalizeClass(f($)),href:$.href,to:$.to,type:!$.href&&!$.to?"button":void 0,disabled:$.disabled,onClick:z=>u($,w,z)},{default:e.withCtx(()=>[e.renderSlot(g.$slots,"item",{item:$,index:w},()=>[e.createTextVNode(e.toDisplayString($.text),1)])]),_:2},1032,["class","href","to","type","disabled","onClick"]))]))],64))),128))],10,it)],2))}}),mt=["id","aria-labelledby","aria-hidden","data-bs-backdrop","data-bs-keyboard"],ut={class:"modal-content"},ft={key:0,class:"modal-header"},pt=["id"],bt={class:"modal-body"},ht={key:1,class:"modal-footer"},ie=e.defineComponent({__name:"VibeModal",props:{id:{type:String,default:()=>N("modal")},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},teleport:{type:[String,Boolean],default:"body"}},emits:["update:modelValue","show","shown","hide","hidden","component-error"],setup(t,{expose:m,emit:a}){const l=t,o=a,i=e.ref(null),n=e.ref(null),r=e.ref(!1),d=e.computed(()=>{const y=["modal-dialog"];return l.size&&y.push(`modal-${l.size}`),l.centered&&y.push("modal-dialog-centered"),l.scrollable&&y.push("modal-dialog-scrollable"),l.fullscreen===!0?y.push("modal-fullscreen"):typeof l.fullscreen=="string"&&y.push(`modal-fullscreen-${l.fullscreen}-down`),y.join(" ")}),c=()=>{r.value=!0,o("show")},f=()=>{o("shown"),o("update:modelValue",!0)},h=()=>{o("hide")},k=()=>{r.value=!1,o("hidden"),o("update:modelValue",!1)},b=async()=>{if(i.value){n.value&&n.value.dispose();try{const B=(await import("bootstrap")).Modal;n.value=new B(i.value,{backdrop:l.staticBackdrop?"static":!0,keyboard:!l.staticBackdrop,focus:!0}),i.value.addEventListener("show.bs.modal",c),i.value.addEventListener("shown.bs.modal",f),i.value.addEventListener("hide.bs.modal",h),i.value.addEventListener("hidden.bs.modal",k),l.modelValue&&n.value.show()}catch(y){o("component-error",{message:"Bootstrap JS not loaded. Modal will use data attributes only.",componentName:"VibeModal",originalError:y})}}};e.onMounted(b),e.onBeforeUnmount(()=>{i.value&&(i.value.removeEventListener("show.bs.modal",c),i.value.removeEventListener("shown.bs.modal",f),i.value.removeEventListener("hide.bs.modal",h),i.value.removeEventListener("hidden.bs.modal",k)),n.value&&(r.value&&n.value.hide(),n.value.dispose(),n.value=null)}),e.watch(()=>l.modelValue,y=>{n.value&&(y&&!r.value?n.value.show():!y&&r.value&&n.value.hide())}),e.watch(()=>l.staticBackdrop,b);const s=()=>n.value?.show(),u=()=>n.value?.hide();return m({show:s,hide:u,handleUpdate:()=>n.value?.handleUpdate(),bsInstance:n}),(y,B)=>(e.openBlock(),e.createBlock(e.Teleport,{to:t.teleport===!0?"body":t.teleport||void 0,disabled:!t.teleport},[e.createElementVNode("div",{ref_key:"modalRef",ref:i,id:t.id,class:e.normalizeClass(["modal fade",{show:r.value}]),tabindex:"-1","aria-labelledby":`${t.id}-label`,"aria-hidden":!r.value,"data-bs-backdrop":t.staticBackdrop?"static":void 0,"data-bs-keyboard":!t.staticBackdrop},[e.createElementVNode("div",{class:e.normalizeClass(d.value)},[e.createElementVNode("div",ut,[t.hideHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ft,[e.createElementVNode("h5",{id:`${t.id}-label`,class:"modal-title"},[e.renderSlot(y.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])],8,pt),e.createElementVNode("button",{type:"button",class:"btn-close","aria-label":"Close",onClick:u})])),e.createElementVNode("div",bt,[e.renderSlot(y.$slots,"default")]),t.hideFooter?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ht,[e.renderSlot(y.$slots,"footer",{},()=>[e.createElementVNode("button",{type:"button",class:"btn btn-secondary",onClick:u},"Close")])]))])],2)],10,mt)],8,["to","disabled"]))}}),yt=["id","aria-labelledby","data-bs-backdrop","data-bs-scroll"],gt={class:"offcanvas-header"},kt=["id"],Bt={class:"offcanvas-body"},re=e.defineComponent({__name:"VibeOffcanvas",props:{id:{type:String,default:()=>N("offcanvas")},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},teleport:{type:[String,Boolean],default:"body"}},emits:["update:modelValue","show","shown","hide","hidden","component-error"],setup(t,{expose:m,emit:a}){const l=t,o=a,i=e.ref(null),n=e.ref(null),r=e.ref(!1),d=e.computed(()=>`offcanvas offcanvas-${l.placement}`),c=()=>{r.value=!0,o("show")},f=()=>{o("shown"),o("update:modelValue",!0)},h=()=>{o("hide")},k=()=>{r.value=!1,o("hidden"),o("update:modelValue",!1)},b=async()=>{if(i.value){n.value&&n.value.dispose();try{const y=(await import("bootstrap")).Offcanvas;n.value=new y(i.value,{backdrop:l.backdrop===!1?!1:l.backdrop==="static"?"static":!0,scroll:l.scroll,keyboard:l.backdrop!=="static"}),i.value.addEventListener("show.bs.offcanvas",c),i.value.addEventListener("shown.bs.offcanvas",f),i.value.addEventListener("hide.bs.offcanvas",h),i.value.addEventListener("hidden.bs.offcanvas",k),l.modelValue&&n.value.show()}catch(p){o("component-error",{message:"Bootstrap JS not loaded. Offcanvas will use data attributes only.",componentName:"VibeOffcanvas",originalError:p})}}};e.onMounted(b),e.onBeforeUnmount(()=>{i.value&&(i.value.removeEventListener("show.bs.offcanvas",c),i.value.removeEventListener("shown.bs.offcanvas",f),i.value.removeEventListener("hide.bs.offcanvas",h),i.value.removeEventListener("hidden.bs.offcanvas",k)),n.value&&(r.value&&n.value.hide(),n.value.dispose(),n.value=null)}),e.watch(()=>l.modelValue,p=>{n.value&&(p&&!r.value?n.value.show():!p&&r.value&&n.value.hide())}),e.watch([()=>l.placement,()=>l.backdrop,()=>l.scroll],b);const s=()=>n.value?.show(),u=()=>n.value?.hide();return m({show:s,hide:u,bsInstance:n}),(p,y)=>(e.openBlock(),e.createBlock(e.Teleport,{to:t.teleport===!0?"body":t.teleport||void 0,disabled:!t.teleport},[e.createElementVNode("div",{ref_key:"offcanvasRef",ref:i,id:t.id,class:e.normalizeClass(d.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",gt,[e.createElementVNode("h5",{id:`${t.id}-label`,class:"offcanvas-title"},[e.renderSlot(p.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])],8,kt),e.createElementVNode("button",{type:"button",class:"btn-close","aria-label":"Close",onClick:u})]),e.createElementVNode("div",Bt,[e.renderSlot(p.$slots,"default")])],10,yt)],8,["to","disabled"]))}}),St=["id","data-bs-autohide","data-bs-delay"],Ct={key:0,class:"toast-header"},Vt={class:"me-auto"},vt={class:"toast-body"},se=e.defineComponent({__name:"VibeToast",props:{id:{type:String,default:()=>N("toast")},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},teleport:{type:[String,Boolean],default:"body"},placement:{type:String,default:"top-end"}},emits:["update:modelValue","show","shown","hide","hidden","component-error"],setup(t,{expose:m,emit:a}){const l=t,o=a,i=e.ref(null),n=e.ref(null),r=e.ref(!1),d=e.computed(()=>{const y=["toast"];return l.variant&&y.push(`text-bg-${l.variant}`),y.join(" ")}),c=e.computed(()=>{const y=["toast-container","position-fixed","p-3"],B=l.placement;return B.includes("top")&&y.push("top-0"),B.includes("bottom")&&y.push("bottom-0"),B.includes("middle")&&y.push("top-50","start-50","translate-middle"),B.includes("start")&&y.push("start-0"),B.includes("end")&&y.push("end-0"),B.includes("center")&&!B.includes("middle")&&y.push("start-50","translate-middle-x"),y.join(" ")}),f=()=>{r.value=!0,o("show")},h=()=>{o("shown"),o("update:modelValue",!0)},k=()=>{o("hide")},b=()=>{r.value=!1,o("hidden"),o("update:modelValue",!1)},s=async()=>{if(i.value){n.value&&n.value.dispose();try{const B=(await import("bootstrap")).Toast;n.value=new B(i.value,{autohide:l.autohide,delay:l.delay}),i.value.addEventListener("show.bs.toast",f),i.value.addEventListener("shown.bs.toast",h),i.value.addEventListener("hide.bs.toast",k),i.value.addEventListener("hidden.bs.toast",b),l.modelValue&&n.value.show()}catch(y){o("component-error",{message:"Bootstrap JS not loaded. Toast will use data attributes only.",componentName:"VibeToast",originalError:y})}}};e.onMounted(s),e.onBeforeUnmount(()=>{i.value&&(i.value.removeEventListener("show.bs.toast",f),i.value.removeEventListener("shown.bs.toast",h),i.value.removeEventListener("hide.bs.toast",k),i.value.removeEventListener("hidden.bs.toast",b)),n.value&&(n.value.dispose(),n.value=null)}),e.watch(()=>l.modelValue,y=>{n.value&&(y&&!r.value?n.value.show():!y&&r.value&&n.value.hide())}),e.watch([()=>l.autohide,()=>l.delay],s);const u=()=>n.value?.show(),p=()=>n.value?.hide();return m({show:u,hide:p,bsInstance:n}),(y,B)=>(e.openBlock(),e.createBlock(e.Teleport,{to:t.teleport===!0?"body":t.teleport||void 0,disabled:!t.teleport},[e.createElementVNode("div",{class:e.normalizeClass(c.value),style:{"z-index":"1090"}},[e.createElementVNode("div",{ref_key:"toastRef",ref:i,id:t.id,class:e.normalizeClass(d.value),role:"alert","aria-live":"assertive","aria-atomic":"true","data-bs-autohide":t.autohide,"data-bs-delay":t.delay},[t.title||y.$slots.header?(e.openBlock(),e.createElementBlock("div",Ct,[e.renderSlot(y.$slots,"header",{},()=>[e.createElementVNode("strong",Vt,e.toDisplayString(t.title),1)]),e.createElementVNode("button",{type:"button",class:"btn-close","aria-label":"Close",onClick:p})])):e.createCommentVNode("",!0),e.createElementVNode("div",vt,[e.renderSlot(y.$slots,"default")])],10,St)],2)],8,["to","disabled"]))}}),$t=["id","data-bs-ride","data-bs-interval","data-bs-keyboard","data-bs-pause","data-bs-wrap","data-bs-touch"],wt={key:0,class:"carousel-indicators"},Et=["data-bs-target","data-bs-slide-to","aria-current","aria-label"],Nt={class:"carousel-inner"},xt=["data-bs-interval"],Tt=["src","alt"],zt={key:0,class:"carousel-caption d-none d-md-block"},Lt={key:0},Dt={key:1},Ft=["data-bs-target"],Mt=["data-bs-target"],de=e.defineComponent({__name:"VibeCarousel",props:{id:{type:String,default:()=>N("carousel")},modelValue:{type:Number,default: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,required:!0}},emits:["update:modelValue","slide","slid","component-error"],setup(t,{expose:m,emit:a}){const l=t,o=a,i=e.ref(null),n=e.ref(null),r=e.ref(l.modelValue),d=e.computed(()=>{const b=["carousel","slide"];return l.dark&&b.push("carousel-dark"),l.fade&&b.push("carousel-fade"),b.join(" ")}),c=b=>{o("slide",b)},f=b=>{r.value=b.to,o("update:modelValue",b.to),o("slid",b)},h=async()=>{if(i.value){n.value&&n.value.dispose();try{const s=(await import("bootstrap")).Carousel;n.value=new s(i.value,{interval:l.interval,keyboard:l.keyboard,pause:l.pause,ride:l.ride===!0?"carousel":l.ride,wrap:l.wrap,touch:l.touch}),i.value.addEventListener("slide.bs.carousel",c),i.value.addEventListener("slid.bs.carousel",f),l.modelValue!==0&&n.value.to(l.modelValue)}catch(b){o("component-error",{message:"Bootstrap JS not loaded. Carousel will use data attributes only.",componentName:"VibeCarousel",originalError:b})}}};e.onMounted(h),e.onBeforeUnmount(()=>{i.value&&(i.value.removeEventListener("slide.bs.carousel",c),i.value.removeEventListener("slid.bs.carousel",f)),n.value&&(n.value.dispose(),n.value=null)}),e.watch(()=>l.modelValue,b=>{n.value&&b!==r.value&&n.value.to(b)}),e.watch(()=>l.items,async()=>{await e.nextTick(),await h()},{deep:!0});const k=(b,s)=>b.alt?b.alt:b.caption?b.caption:b.captionText?b.captionText:`Carousel slide ${s+1}`;return m({bsInstance:n,refresh:h}),(b,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"carouselRef",ref:i,id:t.id,class:e.normalizeClass(d.value),"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.indicators?(e.openBlock(),e.createElementBlock("div",wt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(u,p)=>(e.openBlock(),e.createElementBlock("button",{key:`indicator-${p}`,type:"button","data-bs-target":`#${t.id}`,"data-bs-slide-to":p,class:e.normalizeClass({active:p===r.value}),"aria-current":p===r.value,"aria-label":`Slide ${p+1}`},null,10,Et))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",Nt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(u,p)=>(e.openBlock(),e.createElementBlock("div",{key:`slide-${p}`,class:e.normalizeClass(["carousel-item",{active:p===r.value}]),"data-bs-interval":u.interval},[e.createElementVNode("img",{src:u.src,alt:k(u,p),class:"d-block w-100"},null,8,Tt),u.caption||u.captionText||b.$slots.caption?(e.openBlock(),e.createElementBlock("div",zt,[e.renderSlot(b.$slots,"caption",{item:u,index:p},()=>[u.caption?(e.openBlock(),e.createElementBlock("h5",Lt,e.toDisplayString(u.caption),1)):e.createCommentVNode("",!0),u.captionText?(e.openBlock(),e.createElementBlock("p",Dt,e.toDisplayString(u.captionText),1)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)],10,xt))),128))]),t.controls?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("button",{class:"carousel-control-prev",type:"button","data-bs-target":`#${t.id}`,"data-bs-slide":"prev"},[...s[0]||(s[0]=[e.createElementVNode("span",{class:"carousel-control-prev-icon","aria-hidden":"true"},null,-1),e.createElementVNode("span",{class:"visually-hidden"},"Previous",-1)])],8,Ft),e.createElementVNode("button",{class:"carousel-control-next",type:"button","data-bs-target":`#${t.id}`,"data-bs-slide":"next"},[...s[1]||(s[1]=[e.createElementVNode("span",{class:"carousel-control-next-icon","aria-hidden":"true"},null,-1),e.createElementVNode("span",{class:"visually-hidden"},"Next",-1)])],8,Mt)],64)):e.createCommentVNode("",!0)],10,$t))}}),It=["data-bs-placement","data-bs-title","data-bs-trigger","data-bs-html"],ce=e.defineComponent({__name:"VibeTooltip",props:{content:{type:String,default:void 0},text:{type:String,default:void 0},placement:{type:String,default:"top"},trigger:{type:String,default:"hover focus"},html:{type:Boolean,default:!1}},emits:["component-error"],setup(t,{expose:m,emit:a}){const l=t,o=a,i=e.ref(null),n=e.ref(null),r=async()=>{if(i.value){n.value&&n.value.dispose();try{const c=(await import("bootstrap")).Tooltip;n.value=new c(i.value,{title:l.text||l.content||"",placement:l.placement,trigger:l.trigger,html:l.html})}catch(d){o("component-error",{message:"Bootstrap JS not loaded. Tooltip will use data attributes only.",componentName:"VibeTooltip",originalError:d})}}};return e.onMounted(r),e.onBeforeUnmount(()=>{n.value&&(n.value.dispose(),n.value=null)}),e.watch([()=>l.content,()=>l.text],()=>{n.value&&n.value.setContent({".tooltip-inner":l.text||l.content||""})}),e.watch([()=>l.placement,()=>l.trigger,()=>l.html],r),m({bsInstance:n}),(d,c)=>(e.openBlock(),e.createElementBlock("span",{ref_key:"tooltipRef",ref:i,"data-bs-toggle":"tooltip","data-bs-placement":t.placement,"data-bs-title":t.text||t.content,"data-bs-trigger":t.trigger,"data-bs-html":t.html},[e.renderSlot(d.$slots,"default")],8,It))}}),Pt=["data-bs-placement","data-bs-title","data-bs-content","data-bs-trigger","data-bs-html"],me=e.defineComponent({__name:"VibePopover",props:{title:{type:String,default:void 0},content:{type:String,default:void 0},text:{type:String,default:void 0},placement:{type:String,default:"top"},trigger:{type:String,default:"click"},html:{type:Boolean,default:!1}},emits:["component-error"],setup(t,{expose:m,emit:a}){const l=t,o=a,i=e.ref(null),n=e.ref(null),r=async()=>{if(i.value){n.value&&n.value.dispose();try{const c=(await import("bootstrap")).Popover;n.value=new c(i.value,{title:l.title,content:l.text||l.content||"",placement:l.placement,trigger:l.trigger,html:l.html})}catch(d){o("component-error",{message:"Bootstrap JS not loaded. Popover will use data attributes only.",componentName:"VibePopover",originalError:d})}}};return e.onMounted(r),e.onBeforeUnmount(()=>{n.value&&(n.value.dispose(),n.value=null)}),e.watch([()=>l.content,()=>l.text,()=>l.title],()=>{n.value&&n.value.setContent({".popover-header":l.title||"",".popover-body":l.text||l.content||""})}),e.watch([()=>l.placement,()=>l.trigger,()=>l.html],r),m({bsInstance:n}),(d,c)=>(e.openBlock(),e.createElementBlock("span",{ref_key:"popoverRef",ref:i,"data-bs-toggle":"popover","data-bs-placement":t.placement,"data-bs-title":t.title,"data-bs-content":t.text||t.content,"data-bs-trigger":t.trigger,"data-bs-html":t.html},[e.renderSlot(d.$slots,"default")],8,Pt))}}),ue=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,{expose:m,emit:a}){const l=t,o=a,i=e.ref(null),n=e.ref(null),r=c=>{o("activate",c)};return e.onMounted(async()=>{if(i.value)try{const f=(await import("bootstrap")).ScrollSpy;n.value=new f(i.value,{target:l.target,offset:l.offset,method:l.method,smoothScroll:l.smoothScroll}),i.value.addEventListener("activate.bs.scrollspy",r)}catch(c){o("component-error",{message:"Bootstrap JS not loaded. ScrollSpy will use data attributes only.",componentName:"VibeScrollspy",originalError:c})}}),e.onBeforeUnmount(()=>{i.value&&i.value.removeEventListener("activate.bs.scrollspy",r),n.value&&(n.value.dispose(),n.value=null)}),m({refresh:()=>{n.value&&n.value.refresh()}}),(c,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{ref_key:"scrollspyRef",ref:i,"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",style:{position:"relative",height:"100%",overflow:"auto"}},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},8,["data-bs-target","data-bs-offset","data-bs-method","data-bs-smooth-scroll"]))}}),fe=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:m}){const a=t,l=m,o=e.computed(()=>{const r=["bi",`bi-${a.icon}`];return a.size&&(["1x","2x","3x","4x","5x"].includes(a.size)||r.push(`bi-${a.size}`)),a.customClass&&r.push(a.customClass),r.join(" ")}),i=e.computed(()=>{const r={};if(a.fontSize)r.fontSize=a.fontSize;else if(a.size){const c={"1x":"1rem","2x":"2rem","3x":"3rem","4x":"4rem","5x":"5rem"};c[a.size]&&(r.fontSize=c[a.size])}a.color&&(r.color=a.color);const d=[];return a.flipH&&d.push("scaleX(-1)"),a.flipV&&d.push("scaleY(-1)"),a.rotate&&d.push(`rotate(${a.rotate}deg)`),d.length>0&&(r.transform=d.join(" "),r.display="inline-block"),Object.keys(r).length>0?r:void 0}),n=r=>{l("click",r)};return(r,d)=>(e.openBlock(),e.createElementBlock("i",{class:e.normalizeClass(o.value),style:e.normalizeStyle(i.value),"aria-hidden":!0,onClick:n},null,6))}}),Rt={class:"vibe-datatable"},qt={class:"row mb-3"},jt={key:0,class:"col-md-6 mb-2 mb-md-0"},At=["placeholder"],Ot={key:1,class:"col-md-6"},Ht={class:"d-flex justify-content-md-end align-items-center"},Gt=["value"],Xt=["onClick"],Ut={key:0,class:"ms-1"},Yt=["onClick"],Jt={key:0},Kt=["colspan"],Wt={class:"row"},Qt={key:0,class:"col-md-6 mb-2 mb-md-0"},Zt={class:"datatable-info"},_t={key:1,class:"col-md-6"},ea={class:"pagination justify-content-md-end mb-0"},ta={key:0,class:"page-item"},aa={key:1,class:"page-item disabled"},la=["onClick"],oa={key:2,class:"page-item disabled"},na={key:3,class:"page-item"},ia=e.defineComponent({__name:"VibeDataTable",props:e.mergeModels({items:{type:Array,default:()=>[]},columns:{type:Array,required:!0},rowKey:{type:String,default:"id"},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},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)"},perPageOptions:{type:Array,default:()=>[5,10,25,50,100]}},{currentPage:{default:1},currentPageModifiers:{},perPage:{default:10},perPageModifiers:{},sortBy:{default:void 0},sortByModifiers:{},sortDesc:{type:Boolean,default:!1},sortDescModifiers:{}}),emits:e.mergeModels(["row-clicked","component-error"],["update:currentPage","update:perPage","update:sortBy","update:sortDesc"]),setup(t,{emit:m}){const a=t,l=e.useModel(t,"currentPage"),o=e.useModel(t,"perPage"),i=e.useModel(t,"sortBy"),n=e.useModel(t,"sortDesc"),r=m,d=e.ref(""),c=e.ref(null),f=e.ref(""),h=(S,V)=>a.rowKey&&S[a.rowKey]!==void 0?String(S[a.rowKey]):V;e.watch(d,S=>{c.value!==null&&clearTimeout(c.value),c.value=setTimeout(()=>{f.value=S,l.value=1,c.value=null},a.searchDebounce)}),e.onBeforeUnmount(()=>{c.value!==null&&(clearTimeout(c.value),c.value=null)});const k=e.computed(()=>{if(!a.searchable||!f.value)return a.items||[];const S=f.value.toLowerCase();return(a.items||[]).filter(V=>(a.columns||[]).some(v=>{if(v.searchable===!1)return!1;const x=V[v.key];return x==null?!1:String(x).toLowerCase().includes(S)}))}),b=(S,V,v)=>{if(S==null)return 1;if(V==null)return-1;if(typeof S=="string"&&typeof V=="string"){const x=S.toLowerCase(),T=V.toLowerCase();return x<T?v?1:-1:x>T?v?-1:1:0}if(typeof S=="number"&&typeof V=="number")return S<V?v?1:-1:S>V?v?-1:1:0;if(typeof S=="boolean"&&typeof V=="boolean")return S===V?0:(S?1:-1)*(v?-1:1);if(S instanceof Date&&V instanceof Date){const x=S.getTime(),T=V.getTime();return x<T?v?1:-1:x>T?v?-1:1:0}return 0},s=e.computed(()=>{if(!a.sortable||!i.value)return k.value;const S=[...k.value],V=i.value;return S.sort((v,x)=>b(v[V],x[V],n.value)),S}),u=e.computed(()=>{if(!a.paginated)return s.value;const S=(l.value-1)*o.value,V=S+o.value;return s.value.slice(S,V)}),p=e.computed(()=>a.items.length),y=e.computed(()=>k.value.length),B=e.computed(()=>Math.ceil(y.value/o.value)),g=e.computed(()=>y.value===0?0:(l.value-1)*o.value+1),E=e.computed(()=>{const S=l.value*o.value;return Math.min(S,y.value)}),$=e.computed(()=>(y.value!==p.value?a.filteredInfoText:a.infoText).replace("{start}",String(g.value)).replace("{end}",String(E.value)).replace("{total}",String(y.value)).replace("{totalRows}",String(p.value))),w=e.computed(()=>{const S=["table"];return a.striped&&S.push("table-striped"),a.bordered&&S.push("table-bordered"),a.borderless&&S.push("table-borderless"),a.hover&&S.push("table-hover"),a.small&&S.push("table-sm"),a.variant&&S.push(`table-${a.variant}`),S.join(" ")}),z=S=>{!a.sortable||S.sortable===!1||(i.value===S.key?n.value=!n.value:(i.value=S.key,n.value=!1))},L=S=>{S<1||S>B.value||(l.value=S)},F=()=>{l.value=1},wl=(S,V)=>{r("row-clicked",S,V)},El=(S,V)=>{const v=S[V.key];return V.formatter?V.formatter(v,S):v},Nl=S=>!a.sortable||S.sortable===!1?"":i.value!==S.key?"⇅":n.value?"↓":"↑",xl=S=>{const V={...S.thStyle};return a.sortable&&S.sortable!==!1&&(V.cursor="pointer"),V};return(S,V)=>(e.openBlock(),e.createElementBlock("div",Rt,[e.createElementVNode("div",qt,[t.searchable?(e.openBlock(),e.createElementBlock("div",jt,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":V[0]||(V[0]=v=>d.value=v),type:"search",class:"form-control",placeholder:t.searchPlaceholder},null,8,At),[[e.vModelText,d.value]])])):e.createCommentVNode("",!0),t.showPerPage&&t.paginated?(e.openBlock(),e.createElementBlock("div",Ot,[e.createElementVNode("div",Ht,[V[6]||(V[6]=e.createElementVNode("label",{class:"me-2 mb-0"},"Show",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":V[1]||(V[1]=v=>o.value=v),class:"form-select form-select-sm",style:{width:"auto"},onChange:F},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.perPageOptions,v=>(e.openBlock(),e.createElementBlock("option",{key:v,value:v},e.toDisplayString(v),9,Gt))),128))],544),[[e.vModelSelect,o.value,void 0,{number:!0}]]),V[7]||(V[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(w.value)},[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,v=>(e.openBlock(),e.createElementBlock("th",{key:v.key,class:e.normalizeClass(v.headerClass),style:e.normalizeStyle(xl(v)),onClick:x=>z(v)},[e.createTextVNode(e.toDisplayString(v.label)+" ",1),t.sortable&&v.sortable!==!1?(e.openBlock(),e.createElementBlock("span",Ut,e.toDisplayString(Nl(v)),1)):e.createCommentVNode("",!0)],14,Xt))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,(v,x)=>(e.openBlock(),e.createElementBlock("tr",{key:h(v,x),onClick:T=>wl(v,x),style:{cursor:"pointer"}},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,T=>(e.openBlock(),e.createElementBlock("td",{key:T.key,class:e.normalizeClass(T.class),style:e.normalizeStyle(T.tdStyle)},[e.renderSlot(S.$slots,`cell(${T.key})`,{item:v,value:v[T.key],index:x},()=>[e.createTextVNode(e.toDisplayString(El(v,T)),1)],!0)],6))),128))],8,Yt))),128)),u.value.length===0&&t.showEmpty?(e.openBlock(),e.createElementBlock("tr",Jt,[e.createElementVNode("td",{colspan:t.columns?.length||1,class:"text-center"},e.toDisplayString(t.emptyText),9,Kt)])):e.createCommentVNode("",!0)])],2)],2),e.createElementVNode("div",Wt,[t.showInfo?(e.openBlock(),e.createElementBlock("div",Qt,[e.createElementVNode("div",Zt,e.toDisplayString($.value),1)])):e.createCommentVNode("",!0),t.paginated&&B.value>1?(e.openBlock(),e.createElementBlock("div",_t,[e.createElementVNode("nav",null,[e.createElementVNode("ul",ea,[e.createElementVNode("li",{class:e.normalizeClass(["page-item",{disabled:l.value===1}])},[e.createElementVNode("a",{class:"page-link",href:"#",onClick:V[2]||(V[2]=e.withModifiers(v=>L(l.value-1),["prevent"]))}," Previous ")],2),l.value>3?(e.openBlock(),e.createElementBlock("li",ta,[e.createElementVNode("a",{class:"page-link",href:"#",onClick:V[3]||(V[3]=e.withModifiers(v=>L(1),["prevent"]))},"1")])):e.createCommentVNode("",!0),l.value>4?(e.openBlock(),e.createElementBlock("li",aa,[...V[8]||(V[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},(v,x)=>x+1).filter(v=>v>=l.value-2&&v<=l.value+2),v=>(e.openBlock(),e.createElementBlock("li",{key:v,class:e.normalizeClass(["page-item",{active:v===l.value}])},[e.createElementVNode("a",{class:"page-link",href:"#",onClick:e.withModifiers(x=>L(v),["prevent"])},e.toDisplayString(v),9,la)],2))),128)),l.value<B.value-3?(e.openBlock(),e.createElementBlock("li",oa,[...V[9]||(V[9]=[e.createElementVNode("span",{class:"page-link"},"...",-1)])])):e.createCommentVNode("",!0),l.value<B.value-2?(e.openBlock(),e.createElementBlock("li",na,[e.createElementVNode("a",{class:"page-link",href:"#",onClick:V[4]||(V[4]=e.withModifiers(v=>L(B.value),["prevent"]))},e.toDisplayString(B.value),1)])):e.createCommentVNode("",!0),e.createElementVNode("li",{class:e.normalizeClass(["page-item",{disabled:l.value===B.value}])},[e.createElementVNode("a",{class:"page-link",href:"#",onClick:V[5]||(V[5]=e.withModifiers(v=>L(l.value+1),["prevent"]))}," Next ")],2)])])])):e.createCommentVNode("",!0)])]))}}),D=(t,m)=>{const a=t.__vccOpts||t;for(const[l,o]of m)a[l]=o;return a},pe=D(ia,[["__scopeId","data-v-d5aa8072"]]),ra=["for"],sa={key:0,class:"text-danger"},da=["id","type","value","placeholder","disabled","readonly","required","aria-invalid","aria-describedby"],ca=["id"],ma={key:0,class:"valid-feedback",style:{display:"block"}},ua=["id"],be=e.defineComponent({__name:"VibeFormInput",props:{modelValue:{type:[String,Number],default:""},type:{type:String,default:"text"},id:{type:String,default:void 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:m}){const a=t,l=m,o=e.inject("vibeFormGroup",null),i=e.computed(()=>a.id||o?.consumeId()||N("input")),n=e.computed(()=>!!a.label&&!o?.hasLabel.value),r=e.computed(()=>!!a.validationState&&!o?.hasValidation.value),d=e.computed(()=>!!a.helpText&&!o?.hasHelp.value),c=e.computed(()=>{const s=[];return a.plaintext?s.push("form-control-plaintext"):(s.push("form-control"),a.size&&s.push(`form-control-${a.size}`)),a.validationState==="valid"&&s.push("is-valid"),a.validationState==="invalid"&&s.push("is-invalid"),s.join(" ")}),f=s=>{const u=s.target,p=a.type==="number"?u.value===""?"":Number(u.value):u.value;l("update:modelValue",p),l("input",s),a.validateOn==="input"&&l("validate")},h=s=>{l("change",s),a.validateOn==="change"&&l("validate")},k=s=>{l("blur",s),a.validateOn==="blur"&&l("validate")},b=s=>{l("focus",s)};return(s,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"mb-3":n.value||d.value||r.value})},[n.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",sa,"*")):e.createCommentVNode("",!0)],8,ra)):e.createCommentVNode("",!0),e.createElementVNode("input",{id:i.value,type:t.type,class:e.normalizeClass(c.value),value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly||t.plaintext,required:t.required,"aria-invalid":t.validationState==="invalid","aria-describedby":t.validationMessage||t.helpText?`${i.value}-feedback`:void 0,onInput:f,onChange:h,onBlur:k,onFocus:b},null,42,da),d.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,ca)):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",ma,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide a valid value."),9,ua)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),fa=["for"],pa={key:0,class:"text-danger"},ba=["id","value","multiple","size","disabled","required","aria-invalid","aria-describedby"],ha={key:0,value:"",disabled:"",selected:""},ya=["value","disabled"],ga=["id"],ka={key:0,class:"valid-feedback",style:{display:"block"}},Ba=["id"],he=e.defineComponent({__name:"VibeFormSelect",props:{modelValue:{type:[String,Number,Array],default:""},id:{type:String,default:void 0},label:{type:String,default:void 0},options:{type:Array,default:()=>[]},multiple:{type:Boolean,default:!1},selectSize:{type:Number,default:void 0},htmlSize:{type:Number,default:void 0},placeholder:{type:String,default:void 0},disabled:{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:"change"},helpText:{type:String,default:void 0}},emits:["update:modelValue","validate","blur","focus","change"],setup(t,{emit:m}){const a=t,l=m,o=e.inject("vibeFormGroup",null),i=e.computed(()=>a.id||o?.consumeId()||N("select")),n=e.computed(()=>!!a.label&&!o?.hasLabel.value),r=e.computed(()=>!!a.validationState&&!o?.hasValidation.value),d=e.computed(()=>!!a.helpText&&!o?.hasHelp.value),c=e.computed(()=>{const s=["form-select"];return a.size&&s.push(`form-select-${a.size}`),a.validationState==="valid"&&s.push("is-valid"),a.validationState==="invalid"&&s.push("is-invalid"),s.join(" ")}),f=s=>{const u=s.target;let p;a.multiple?p=Array.from(u.selectedOptions).map(y=>y.value):p=u.value,l("update:modelValue",p)},h=s=>{l("change",s),a.validateOn==="change"&&l("validate")},k=s=>{l("blur",s),a.validateOn==="blur"&&l("validate")},b=s=>{l("focus",s)};return(s,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"mb-3":n.value||d.value||r.value})},[n.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",pa,"*")):e.createCommentVNode("",!0)],8,fa)):e.createCommentVNode("",!0),e.createElementVNode("select",{id:i.value,class:e.normalizeClass(c.value),value:t.modelValue,multiple:t.multiple,size:t.htmlSize||t.selectSize,disabled:t.disabled,required:t.required,"aria-invalid":t.validationState==="invalid","aria-describedby":t.validationMessage||t.helpText?`${i.value}-feedback`:void 0,onInput:f,onChange:h,onBlur:k,onFocus:b},[t.placeholder?(e.openBlock(),e.createElementBlock("option",ha,e.toDisplayString(t.placeholder),1)):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,p=>(e.openBlock(),e.createElementBlock("option",{key:String(p.value),value:p.value,disabled:p.disabled},e.toDisplayString(p.text),9,ya))),128))])],42,ba),d.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,ga)):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",ka,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please select an option."),9,Ba)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Sa=["for"],Ca={key:0,class:"text-danger"},Va=["id","value","placeholder","rows","maxlength","disabled","readonly","required","aria-invalid","aria-describedby"],va=["id"],$a={key:0,class:"ms-auto"},wa={key:0,class:"valid-feedback",style:{display:"block"}},Ea=["id"],ye=e.defineComponent({__name:"VibeFormTextarea",props:{modelValue:{type:String,default:""},id:{type:String,default:void 0},label:{type:String,default:void 0},placeholder:{type:String,default:void 0},rows:{type:[Number,String],default:3},maxlength:{type:[Number,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},noResize:{type:Boolean,default:!1},showCharCount:{type:Boolean,default:!1}},emits:["update:modelValue","validate","blur","focus","input","change"],setup(t,{emit:m}){const a=t,l=m,o=e.inject("vibeFormGroup",null),i=e.computed(()=>a.id||o?.consumeId()||N("textarea")),n=e.computed(()=>!!a.label&&!o?.hasLabel.value),r=e.computed(()=>!!a.validationState&&!o?.hasValidation.value),d=e.computed(()=>(!!a.helpText||a.showCharCount)&&!o?.hasHelp.value),c=e.computed(()=>{const p=["form-control"];return a.size&&p.push(`form-control-${a.size}`),a.validationState==="valid"&&p.push("is-valid"),a.validationState==="invalid"&&p.push("is-invalid"),p.join(" ")}),f=e.computed(()=>{if(a.noResize)return{resize:"none"}}),h=e.computed(()=>a.modelValue?.length||0),k=p=>{const y=p.target;l("update:modelValue",y.value),l("input",p),a.validateOn==="input"&&l("validate")},b=p=>{l("change",p),a.validateOn==="change"&&l("validate")},s=p=>{l("blur",p),a.validateOn==="blur"&&l("validate")},u=p=>{l("focus",p)};return(p,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"mb-3":n.value||d.value||r.value})},[n.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,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("textarea",{id:i.value,class:e.normalizeClass(c.value),style:e.normalizeStyle(f.value),value:t.modelValue,placeholder:t.placeholder,rows:t.rows,maxlength:t.maxlength,disabled:t.disabled,readonly:t.readonly,required:t.required,"aria-invalid":t.validationState==="invalid","aria-describedby":t.validationMessage||t.helpText||t.showCharCount?`${i.value}-feedback`:void 0,onInput:k,onChange:b,onBlur:s,onFocus:u},null,46,Va),d.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text d-flex justify-content-between"},[e.createElementVNode("span",null,e.toDisplayString(t.helpText),1),t.showCharCount?(e.openBlock(),e.createElementBlock("span",$a,[t.maxlength?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(h.value)+" / "+e.toDisplayString(t.maxlength),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(h.value),1)],64))])):e.createCommentVNode("",!0)],8,va)):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",wa,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide a valid value."),9,Ea)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Na=["for"],xa={key:0,class:"text-danger"},Ta=["disabled"],za=["id","value","disabled","readonly","required","min","max","step","aria-invalid","aria-describedby"],La=["disabled"],Da=["id"],Fa={key:0,class:"valid-feedback",style:{display:"block"}},Ma=["id"],ge=D(e.defineComponent({__name:"VibeFormSpinbutton",props:{modelValue:{type:Number,default:0,validator:t=>!0},id:{type:String,default:void 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:m}){const a=t,l=m,o=e.inject("vibeFormGroup",null),i=e.computed(()=>a.id||o?.consumeId()||N("spinbutton")),n=e.computed(()=>!!a.label&&!o?.hasLabel.value),r=e.computed(()=>!!a.validationState&&!o?.hasValidation.value),d=e.computed(()=>!!a.helpText&&!o?.hasHelp.value),c=e.computed(()=>{const g=["form-control"];return a.size&&g.push(`form-control-${a.size}`),a.validationState==="valid"&&g.push("is-valid"),a.validationState==="invalid"&&g.push("is-invalid"),g.join(" ")}),f=e.computed(()=>{const g=["input-group"];return a.size&&g.push(`input-group-${a.size}`),a.vertical&&g.push("input-group-vertical"),g.join(" ")}),h=e.computed(()=>a.disabled||a.readonly?!1:a.min===void 0||a.wrap?!0:a.modelValue>a.min),k=e.computed(()=>a.disabled||a.readonly?!1:a.max===void 0||a.wrap?!0:a.modelValue<a.max),b=g=>{const E=g.target;let $=E.value===""?0:Number(E.value);a.min!==void 0&&$<a.min&&($=a.min),a.max!==void 0&&$>a.max&&($=a.max),l("update:modelValue",$),l("input",g),a.validateOn==="input"&&l("validate")},s=g=>{l("change",g),a.validateOn==="change"&&l("validate")},u=g=>{l("blur",g),a.validateOn==="blur"&&l("validate")},p=g=>{l("focus",g)},y=()=>{if(!k.value)return;let g=a.modelValue+a.step;a.max!==void 0&&g>a.max&&(g=a.wrap?a.min??0:a.max),l("update:modelValue",g),l("increment",g),a.validateOn==="change"&&l("validate")},B=()=>{if(!h.value)return;let g=a.modelValue-a.step;a.min!==void 0&&g<a.min&&(g=a.wrap?a.max??0:a.min),l("update:modelValue",g),l("decrement",g),a.validateOn==="change"&&l("validate")};return(g,E)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"mb-3":n.value||d.value||r.value})},[n.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",xa,"*")):e.createCommentVNode("",!0)],8,Na)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(f.value)},[e.createElementVNode("button",{class:"btn btn-outline-secondary",type:"button",disabled:!h.value,onClick:B,"aria-label":"Decrement"},[...E[0]||(E[0]=[e.createElementVNode("span",{"aria-hidden":"true"},"−",-1)])],8,Ta),e.createElementVNode("input",{id:i.value,type:"number",class:e.normalizeClass(c.value),value:t.modelValue,disabled:t.disabled,readonly:t.readonly,required:t.required,min:t.min,max:t.max,step:t.step,"aria-invalid":t.validationState==="invalid","aria-describedby":t.validationMessage||t.helpText?`${i.value}-feedback`:void 0,onInput:b,onChange:s,onBlur:u,onFocus:p},null,42,za),e.createElementVNode("button",{class:"btn btn-outline-secondary",type:"button",disabled:!k.value,onClick:y,"aria-label":"Increment"},[...E[1]||(E[1]=[e.createElementVNode("span",{"aria-hidden":"true"},"+",-1)])],8,La)],2),d.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,Da)):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",Fa,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide a valid value."),9,Ma)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-49746a62"]]),Ia=["for"],Pa={key:0,class:"text-danger"},Ra=["id","type","value","disabled","readonly","required","min","max","aria-invalid","aria-describedby"],qa=["id"],ja={key:0,class:"valid-feedback",style:{display:"block"}},Aa=["id"],ke=e.defineComponent({__name:"VibeFormDatepicker",props:{modelValue:{type:String,default:"",validator:t=>!0},id:{type:String,default:void 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:m}){const a=t,l=m,o=e.inject("vibeFormGroup",null),i=e.computed(()=>a.id||o?.consumeId()||N("datepicker")),n=e.computed(()=>!!a.label&&!o?.hasLabel.value),r=e.computed(()=>!!a.validationState&&!o?.hasValidation.value),d=e.computed(()=>!!a.helpText&&!o?.hasHelp.value),c=e.computed(()=>{const s=["form-control"];return a.size&&s.push(`form-control-${a.size}`),a.validationState==="valid"&&s.push("is-valid"),a.validationState==="invalid"&&s.push("is-invalid"),s.join(" ")}),f=s=>{const u=s.target;l("update:modelValue",u.value),l("input",s),a.validateOn==="input"&&l("validate")},h=s=>{l("change",s),a.validateOn==="change"&&l("validate")},k=s=>{l("blur",s),a.validateOn==="blur"&&l("validate")},b=s=>{l("focus",s)};return(s,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"mb-3":n.value||d.value||r.value})},[n.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Pa,"*")):e.createCommentVNode("",!0)],8,Ia)):e.createCommentVNode("",!0),e.createElementVNode("input",{id:i.value,type:t.type,class:e.normalizeClass(c.value),value:t.modelValue,disabled:t.disabled,readonly:t.readonly,required:t.required,min:t.min,max:t.max,"aria-invalid":t.validationState==="invalid","aria-describedby":t.validationMessage||t.helpText?`${i.value}-feedback`:void 0,onInput:f,onChange:h,onBlur:k,onFocus:b},null,42,Ra),d.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,qa)):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",ja,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide a valid date."),9,Aa)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Oa=["id","checked","disabled","required","indeterminate","aria-invalid","aria-describedby"],Ha=["for"],Ga={key:0,class:"text-danger"},Xa=["id"],Ua={key:0,class:"valid-feedback",style:{display:"block"}},Ya=["id"],Be=e.defineComponent({__name:"VibeFormCheckbox",props:{modelValue:{type:[Boolean,Array],default:!1},value:{type:[String,Number,Boolean],default:!0},id:{type:String,default:void 0},label:{type:String,default:void 0},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},indeterminate:{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:"change"},helpText:{type:String,default:void 0},reverse:{type:Boolean,default:!1}},emits:["update:modelValue","validate","blur","focus","change"],setup(t,{emit:m}){const a=t,l=m,o=e.inject("vibeFormGroup",null),i=e.computed(()=>a.id||o?.consumeId()||N("checkbox")),n=e.computed(()=>!!a.label&&!o?.hasLabel.value),r=e.computed(()=>!!a.validationState&&!o?.hasValidation.value),d=e.computed(()=>!!a.helpText&&!o?.hasHelp.value),c=e.computed(()=>{const u=["form-check"];return a.inline&&u.push("form-check-inline"),a.reverse&&u.push("form-check-reverse"),u.join(" ")}),f=e.computed(()=>{const u=["form-check-input"];return a.validationState==="valid"&&u.push("is-valid"),a.validationState==="invalid"&&u.push("is-invalid"),u.join(" ")}),h=e.computed(()=>Array.isArray(a.modelValue)?a.modelValue.includes(a.value):a.modelValue===a.value),k=u=>{const p=u.target;let y;if(Array.isArray(a.modelValue))if(y=[...a.modelValue],p.checked)y.push(a.value);else{const B=y.indexOf(a.value);B>-1&&y.splice(B,1)}else y=p.checked?a.value:a.value===!0?!1:null;l("update:modelValue",y),l("change",u),a.validateOn==="change"&&l("validate")},b=u=>{l("blur",u),a.validateOn==="blur"&&l("validate")},s=u=>{l("focus",u)};return(u,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([c.value,{"mb-3":n.value||d.value||r.value}])},[e.createElementVNode("input",{id:i.value,type:"checkbox",class:e.normalizeClass(f.value),checked:h.value,disabled:t.disabled,required:t.required,indeterminate:t.indeterminate,"aria-invalid":t.validationState==="invalid","aria-describedby":t.validationMessage||t.helpText?`${i.value}-feedback`:void 0,onChange:k,onBlur:b,onFocus:s},null,42,Oa),n.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-check-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Ga,"*")):e.createCommentVNode("",!0)],8,Ha)):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,Xa)):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",Ua,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please check this box."),9,Ya)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Ja=["id","name","value","checked","disabled","required","aria-invalid","aria-describedby"],Ka=["for"],Wa={key:0,class:"text-danger"},Qa=["id"],Za={key:0,class:"valid-feedback",style:{display:"block"}},_a=["id"],Se=e.defineComponent({__name:"VibeFormRadio",props:{modelValue:{type:[String,Number,Boolean],default:""},value:{type:[String,Number,Boolean],required:!0},name:{type:String,required:!0},id:{type:String,default:void 0},label:{type:String,default:void 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:"change"},helpText:{type:String,default:void 0},reverse:{type:Boolean,default:!1}},emits:["update:modelValue","validate","blur","focus","change"],setup(t,{emit:m}){const a=t,l=m,o=e.inject("vibeFormGroup",null),i=e.computed(()=>a.id||o?.consumeId()||N("radio")),n=e.computed(()=>!!a.label&&!o?.hasLabel.value),r=e.computed(()=>!!a.validationState&&!o?.hasValidation.value),d=e.computed(()=>!!a.helpText&&!o?.hasHelp.value),c=e.computed(()=>{const u=["form-check"];return a.inline&&u.push("form-check-inline"),a.reverse&&u.push("form-check-reverse"),u.join(" ")}),f=e.computed(()=>{const u=["form-check-input"];return a.validationState==="valid"&&u.push("is-valid"),a.validationState==="invalid"&&u.push("is-invalid"),u.join(" ")}),h=e.computed(()=>a.modelValue===a.value),k=u=>{l("update:modelValue",a.value),l("change",u),a.validateOn==="change"&&l("validate")},b=u=>{l("blur",u),a.validateOn==="blur"&&l("validate")},s=u=>{l("focus",u)};return(u,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([c.value,{"mb-3":n.value||d.value||r.value}])},[e.createElementVNode("input",{id:i.value,type:"radio",class:e.normalizeClass(f.value),name:t.name,value:t.value,checked:h.value,disabled:t.disabled,required:t.required,"aria-invalid":t.validationState==="invalid","aria-describedby":t.validationMessage||t.helpText?`${i.value}-feedback`:void 0,onChange:k,onBlur:b,onFocus:s},null,42,Ja),n.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-check-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Wa,"*")):e.createCommentVNode("",!0)],8,Ka)):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,Qa)):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",Za,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please select an option."),9,_a)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),el=["id","checked","disabled","required","aria-invalid","aria-describedby"],tl=["for"],al={key:0,class:"text-danger"},ll=["id"],ol={key:0,class:"valid-feedback",style:{display:"block"}},nl=["id"],Ce=e.defineComponent({__name:"VibeFormSwitch",props:{modelValue:{type:Boolean,default:!1},id:{type:String,default:void 0},label:{type:String,default:void 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:"change"},helpText:{type:String,default:void 0}},emits:["update:modelValue","validate","blur","focus","change"],setup(t,{emit:m}){const a=t,l=m,o=e.inject("vibeFormGroup",null),i=e.computed(()=>a.id||o?.consumeId()||N("switch")),n=e.computed(()=>!!a.label&&!o?.hasLabel.value),r=e.computed(()=>!!a.validationState&&!o?.hasValidation.value),d=e.computed(()=>!!a.helpText&&!o?.hasHelp.value),c=e.computed(()=>{const s=["form-check","form-switch"];return a.inline&&s.push("form-check-inline"),s.join(" ")}),f=e.computed(()=>{const s=["form-check-input"];return a.validationState==="valid"&&s.push("is-valid"),a.validationState==="invalid"&&s.push("is-invalid"),s.join(" ")}),h=s=>{const u=s.target;l("update:modelValue",u.checked),l("change",s),a.validateOn==="change"&&l("validate")},k=s=>{l("blur",s),a.validateOn==="blur"&&l("validate")},b=s=>{l("focus",s)};return(s,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([c.value,{"mb-3":n.value||d.value||r.value}])},[e.createElementVNode("input",{id:i.value,type:"checkbox",role:"switch",class:e.normalizeClass(f.value),checked:t.modelValue,disabled:t.disabled,required:t.required,"aria-invalid":t.validationState==="invalid","aria-describedby":t.validationMessage||t.helpText?`${i.value}-feedback`:void 0,onChange:h,onBlur:k,onFocus:b},null,42,el),n.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-check-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",al,"*")):e.createCommentVNode("",!0)],8,tl)):e.createCommentVNode("",!0),d.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,ll)):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[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:1,id:`${i.value}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please toggle this switch."),9,nl)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),il=["for"],rl={key:0,class:"text-danger"},sl=["id"],dl={key:1,class:"valid-feedback",style:{display:"block"}},cl=["id"],ml=["for"],ul={key:0,class:"text-danger"},fl=["id"],pl={key:2,class:"valid-feedback",style:{display:"block"}},bl=["id"],Ve=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 m=t,a=e.computed(()=>m.labelFor||N("form-group")),l=e.ref(!1),o=()=>l.value?null:(l.value=!0,a.value);e.provide("vibeFormGroup",{id:a,consumeId:o,hasLabel:e.computed(()=>!!m.label),hasValidation:e.computed(()=>!!m.validationState),hasHelp:e.computed(()=>!!m.helpText)});const i=e.computed(()=>{const c=[];return m.floating?c.push("form-floating"):m.row?c.push("row","mb-3"):c.push("mb-3"),c.join(" ")}),n=e.computed(()=>{const c=[];return m.floating?c.push("form-label"):m.row?(c.push("col-form-label"),m.labelCols&&c.push(`col-sm-${m.labelCols}`),m.labelAlign&&c.push(`text-${m.labelAlign}`)):c.push("form-label"),c.join(" ")}),r=e.computed(()=>m.row&&m.labelCols?`col-sm-${12-Number(m.labelCols)}`:""),d=e.computed(()=>`${a.value}-feedback`);return(c,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(i.value)},[t.label&&!t.floating?(e.openBlock(),e.createElementBlock("label",{key:0,for:a.value,class:e.normalizeClass(n.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.row&&t.labelCols?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(r.value)},[e.renderSlot(c.$slots,"default"),t.helpText&&!t.validationMessage?(e.openBlock(),e.createElementBlock("div",{key:0,id:d.value,class:"form-text"},e.toDisplayString(t.helpText),9,sl)):e.createCommentVNode("",!0),t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",dl,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:2,id:d.value,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide a valid value."),9,cl)):e.createCommentVNode("",!0)],2)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.renderSlot(c.$slots,"default"),t.label&&t.floating?(e.openBlock(),e.createElementBlock("label",{key:0,for:a.value,class:e.normalizeClass(n.value)},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",ul,"*")):e.createCommentVNode("",!0)],10,ml)):e.createCommentVNode("",!0),t.helpText&&!t.validationMessage?(e.openBlock(),e.createElementBlock("div",{key:1,id:d.value,class:"form-text"},e.toDisplayString(t.helpText),9,fl)):e.createCommentVNode("",!0),t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",pl,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:3,id:d.value,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide a valid value."),9,bl)):e.createCommentVNode("",!0)],64))],2))}}),hl=["for"],yl={key:0,class:"text-danger"},gl={key:1,class:"alert alert-warning",role:"alert"},kl=["id"],Bl=["id"],Sl={key:0,class:"valid-feedback",style:{display:"block"}},Cl=["id"],ve=D(e.defineComponent({__name:"VibeFormWysiwyg",props:{modelValue:{type:String,default:""},id:{type:String,default:()=>N("wysiwyg")},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:m}){const a=t,l=m,o=e.inject("vibeFormGroup",null),i=e.computed(()=>a.id||o?.id.value||N("wysiwyg")),n=e.computed(()=>!!a.label&&!o?.hasLabel.value),r=e.computed(()=>!!a.validationState&&!o?.hasValidation.value),d=e.computed(()=>!!a.helpText&&!o?.hasHelp.value),c=e.ref(null),f=e.ref(null),h=e.ref(!1),k=e.ref(null),b=e.ref(!1),s=e.ref(null),u=e.ref(null),p=e.ref(null),y=e.computed(()=>{const w=["vibe-wysiwyg-container"];return a.validationState==="valid"&&w.push("is-valid"),a.validationState==="invalid"&&w.push("is-invalid"),a.disabled&&w.push("disabled"),w.join(" ")}),B=[[{header:[1,2,3,!1]}],["bold","italic","underline","strike"],[{list:"ordered"},{list:"bullet"}],[{color:[]},{background:[]}],["link","image"],["clean"]],g=()=>a.toolbar===!1?!1:a.toolbar===!0||a.toolbar===void 0?B:a.toolbar,E=w=>{f.value&&(b.value=!0,f.value.setContents([],"silent"),w&&f.value.clipboard.dangerouslyPasteHTML(w,"silent"),b.value=!1)},$=()=>!f.value||f.value.getText().trim().length===0?"":f.value.getSemanticHTML();return e.onMounted(async()=>{try{const w=await import("quill"),z=w.default||w;if(await import("quill/dist/quill.snow.css"),c.value){const L={theme:a.theme,placeholder:a.placeholder,readOnly:a.readonly||a.disabled,modules:{toolbar:g()}};f.value=new z(c.value,L),a.modelValue&&E(a.modelValue),p.value=()=>{if(b.value)return;const F=$();l("update:modelValue",F),l("change"),a.validateOn==="change"&&l("validate")},f.value.on("text-change",p.value),s.value=()=>{l("blur"),a.validateOn==="blur"&&l("validate")},f.value.root.addEventListener("blur",s.value),u.value=()=>{l("focus")},f.value.root.addEventListener("focus",u.value),h.value=!0,l("ready",f.value)}}catch(w){console.error("Failed to load Quill editor:",w),k.value="Failed to load WYSIWYG editor. Please install quill: npm install quill",h.value=!1}}),e.onBeforeUnmount(()=>{if(f.value){if(p.value&&(f.value.off("text-change",p.value),p.value=null),s.value&&(f.value.root.removeEventListener("blur",s.value),s.value=null),u.value&&(f.value.root.removeEventListener("focus",u.value),u.value=null),c.value){const w=c.value.parentElement?.querySelector(".ql-toolbar");w&&w.remove()}f.value=null}}),e.watch(()=>a.modelValue,w=>{if(!f.value)return;$()!==(w||"")&&E(w||"")}),e.watch(()=>a.disabled,w=>{f.value&&f.value.enable(!w)}),e.watch(()=>a.readonly,w=>{f.value&&f.value.enable(!w)}),(w,z)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"mb-3":n.value||d.value||r.value})},[n.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",yl,"*")):e.createCommentVNode("",!0)],8,hl)):e.createCommentVNode("",!0),k.value?(e.openBlock(),e.createElementBlock("div",gl,e.toDisplayString(k.value),1)):(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(y.value),style:e.normalizeStyle({minHeight:t.height})},[e.createElementVNode("div",{ref_key:"editorContainer",ref:c,id:i.value},null,8,kl)],6)),d.value?(e.openBlock(),e.createElementBlock("div",{key:3,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,Bl)):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[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:1,id:`${i.value}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide valid content."),9,Cl)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-1ed73fd7"]]),Vl={install(t){t.component("VibeAlert",M),t.component("VibeBadge",I),t.component("VibeButton",P),t.component("VibeButtonGroup",R),t.component("VibeCloseButton",q),t.component("VibeSpinner",j),t.component("VibePlaceholder",A),t.component("VibeContainer",O),t.component("VibeRow",H),t.component("VibeCol",G),t.component("VibeCard",X),t.component("VibeBreadcrumb",U),t.component("VibeNav",Y),t.component("VibeNavbar",J),t.component("VibeNavbarBrand",K),t.component("VibeNavbarToggle",W),t.component("VibeNavbarNav",Q),t.component("VibePagination",Z),t.component("VibeTabContent",_),t.component("VibeListGroup",ee),t.component("VibeProgress",te),t.component("VibeAccordion",le),t.component("VibeCollapse",oe),t.component("VibeDropdown",ne),t.component("VibeModal",ie),t.component("VibeOffcanvas",re),t.component("VibeToast",se),t.component("VibeCarousel",de),t.component("VibeTooltip",ce),t.component("VibePopover",me),t.component("VibeScrollspy",ue),t.component("VibeIcon",fe),t.component("VibeDataTable",pe),t.component("VibeFormInput",be),t.component("VibeFormSelect",he),t.component("VibeFormTextarea",ye),t.component("VibeFormSpinbutton",ge),t.component("VibeFormDatepicker",ke),t.component("VibeFormCheckbox",Be),t.component("VibeFormRadio",Se),t.component("VibeFormSwitch",Ce),t.component("VibeFormGroup",Ve),t.component("VibeFormWysiwyg",ve)}};function vl(t=""){const m=e.ref(t),a=e.ref(null),l=e.ref(""),o=e.ref(!1),i=e.ref(!1),n=e.ref(!1),r=async b=>{if(!b)return a.value=null,l.value="",{valid:!0};n.value=!0;try{const s=Array.isArray(b)?b:[{validator:b}];for(const u of s){const p=await u.validator(m.value);if(p===!1||typeof p=="string")return a.value="invalid",l.value=typeof p=="string"?p:u.message||"Invalid value",n.value=!1,{valid:!1,message:l.value}}return a.value="valid",l.value="",n.value=!1,{valid:!0}}catch{return a.value="invalid",l.value="Validation error occurred",n.value=!1,{valid:!1,message:l.value}}},d=()=>{m.value=t,a.value=null,l.value="",o.value=!1,i.value=!1,n.value=!1},c=()=>{i.value=!0},f=()=>{o.value=!0},h=e.computed(()=>a.value==="valid"),k=e.computed(()=>a.value==="invalid");return{value:m,validationState:a,validationMessage:l,isDirty:o,isTouched:i,isValidating:n,isValid:h,isInvalid:k,validate:r,reset:d,markAsTouched:c,markAsDirty:f}}const $l={required:(t="This field is required")=>({validator:m=>Array.isArray(m)?m.length>0||t:typeof m=="string"?m.trim().length>0||t:m!=null&&m!==""||t,message:t}),email:(t="Please enter a valid email address")=>({validator:m=>m?/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(m)||t:!0,message:t}),minLength:(t,m)=>({validator:a=>a?a.length>=t||m||`Minimum length is ${t} characters`:!0,message:m}),maxLength:(t,m)=>({validator:a=>a?a.length<=t||m||`Maximum length is ${t} characters`:!0,message:m}),min:(t,m)=>({validator:a=>{if(a==null||a==="")return!0;const l=Number(a);return Number.isNaN(l)?m||"Value must be a number":l>=t||m||`Minimum value is ${t}`},message:m}),max:(t,m)=>({validator:a=>{if(a==null||a==="")return!0;const l=Number(a);return Number.isNaN(l)?m||"Value must be a number":l<=t||m||`Maximum value is ${t}`},message:m}),pattern:(t,m="Invalid format")=>({validator:a=>a?t.test(a)||m:!0,message:m}),url:(t="Please enter a valid URL")=>({validator:m=>{if(!m)return!0;try{return new URL(m),!0}catch{return t}},message:t}),async:t=>({validator:t})};C.VibeAccordion=le,C.VibeAlert=M,C.VibeBadge=I,C.VibeBreadcrumb=U,C.VibeButton=P,C.VibeButtonGroup=R,C.VibeCard=X,C.VibeCarousel=de,C.VibeCloseButton=q,C.VibeCol=G,C.VibeCollapse=oe,C.VibeContainer=O,C.VibeDataTable=pe,C.VibeDropdown=ne,C.VibeFormCheckbox=Be,C.VibeFormDatepicker=ke,C.VibeFormGroup=Ve,C.VibeFormInput=be,C.VibeFormRadio=Se,C.VibeFormSelect=he,C.VibeFormSpinbutton=ge,C.VibeFormSwitch=Ce,C.VibeFormTextarea=ye,C.VibeFormWysiwyg=ve,C.VibeIcon=fe,C.VibeListGroup=ee,C.VibeModal=ie,C.VibeNav=Y,C.VibeNavbar=J,C.VibeNavbarBrand=K,C.VibeNavbarNav=Q,C.VibeNavbarToggle=W,C.VibeOffcanvas=re,C.VibePagination=Z,C.VibePlaceholder=A,C.VibePopover=me,C.VibeProgress=te,C.VibeRow=H,C.VibeScrollspy=ue,C.VibeSpinner=j,C.VibeTabContent=_,C.VibeToast=se,C.VibeTooltip=ce,C.default=Vl,C.useFormValidation=vl,C.useId=N,C.validators=$l,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
|
1
|
+
(function(B,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(B=typeof globalThis<"u"?globalThis:B||self,e(B.VibeUI={},B.Vue))})(this,(function(B,e){"use strict";const Y=e.defineComponent({__name:"VibeAlert",props:{variant:{type:String,default:"primary"},subtle:{type:Boolean,default:!1},modelValue:{type:Boolean,default:!0},dismissable:{type:Boolean,default:!1},message:{type:String,required:!0},fade:{type:Boolean,default:!0}},emits:["update:modelValue","close","closed","component-error"],setup(t,{emit:r}){const a=t,o=r,l=e.ref(null),i=e.ref(null),n=e.ref(a.modelValue),s=()=>{o("close")},u=()=>{n.value=!1,o("update:modelValue",!1),o("closed")};e.onMounted(async()=>{if(l.value)try{const g=(await import("bootstrap")).Alert;i.value=new g(l.value),l.value.addEventListener("close.bs.alert",s),l.value.addEventListener("closed.bs.alert",u)}catch(m){o("component-error",{message:"Bootstrap JS not loaded. Alert will use basic Vue logic.",componentName:"VibeAlert",originalError:m})}}),e.onBeforeUnmount(()=>{l.value&&(l.value.removeEventListener("close.bs.alert",s),l.value.removeEventListener("closed.bs.alert",u)),i.value&&(i.value.dispose(),i.value=null)}),e.watch(()=>a.modelValue,m=>{m?n.value=!0:i.value&&n.value?i.value.close():n.value=!1});const c=()=>{i.value?i.value.close():(n.value=!1,o("update:modelValue",!1),o("closed"))},b=e.computed(()=>{const m=["alert"];return a.subtle?m.push(`bg-${a.variant}-subtle`,`text-${a.variant}-emphasis`,`border-${a.variant}-subtle`):m.push(`alert-${a.variant}`),a.dismissable&&m.push("alert-dismissible"),a.fade&&m.push("fade","show"),m.join(" ")});return(m,g)=>n.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"alertRef",ref:l,class:e.normalizeClass(b.value),role:"alert"},[e.renderSlot(m.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)]),t.dismissable?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"btn-close","aria-label":"Close",onClick:c})):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)}}),J=e.defineComponent({__name:"VibeBadge",props:{variant:{type:String,default:"primary"},subtle:{type:Boolean,default:!1},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"];return a.subtle?l.push(`bg-${a.variant}-subtle`,`text-${a.variant}-emphasis`):l.push(`bg-${a.variant}`),a.pill&&l.push("rounded-pill"),l.join(" ")});return(l,i)=>(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:"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},focusRing:{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"),i=e.computed(()=>{const s=["btn"];return a.outline?s.push(`btn-outline-${a.variant}`):s.push(`btn-${a.variant}`),a.size&&s.push(`btn-${a.size}`),a.active&&s.push("active"),a.focusRing&&s.push("focus-ring"),s.join(" ")}),n=s=>{a.disabled||o("click",s)};return(s,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{class:e.normalizeClass(i.value),type:t.href||t.to?void 0:t.type,href:t.href,to:t.to,disabled:t.disabled,"aria-disabled":t.disabled,onClick:n},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},8,["class","type","href","to","disabled","aria-disabled"]))}}),Oe=["role","aria-label"],W=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,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value),role:t.role,"aria-label":t.ariaLabel},[e.renderSlot(l.$slots,"default")],10,Oe))}}),He=["disabled","aria-label"],Q=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=i=>{a.disabled||o("click",i)};return(i,n)=>(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,He))}}),Ge={class:"visually-hidden"},Z=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,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(o.value),role:"status"},{default:e.withCtx(()=>[e.createElementVNode("span",Ge,e.toDisplayString(t.label),1)]),_:1},8,["class"]))}}),_=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 n=["placeholder"];return a.variant&&n.push(`bg-${a.variant}`),a.size&&n.push(`placeholder-${a.size}`),n.join(" ")}),l=e.computed(()=>{if(a.animation)return`placeholder-${a.animation}`}),i=e.computed(()=>{if(a.width)return{width:typeof a.width=="number"?`${a.width}%`:a.width}});return(n,s)=>(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(i.value)},[e.renderSlot(n.$slots,"default")],6)]),_:3},8,["class"]))}}),ee=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,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(o.value)},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["class"]))}}),te=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 i=["sm","md","lg","xl","xxl"];return i.forEach(n=>{const s=n.charAt(0).toUpperCase()+n.slice(1),u=`gutters${s}`;a[u]!==void 0&&l.push(`g-${n}-${a[u]}`);const c=`guttersX${s}`;a[c]!==void 0&&l.push(`gx-${n}-${a[c]}`);const b=`guttersY${s}`;a[b]!==void 0&&l.push(`gy-${n}-${a[b]}`)}),a.rowCols!==void 0&&l.push(`row-cols-${a.rowCols}`),i.forEach(n=>{const s=`rowCols${n.charAt(0).toUpperCase()+n.slice(1)}`;a[s]!==void 0&&l.push(`row-cols-${n}-${a[s]}`)}),a.alignItems&&l.push(`align-items-${a.alignItems}`),a.justifyContent&&l.push(`justify-content-${a.justifyContent}`),l.join(" ")});return(l,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(o.value)},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["class"]))}}),ae=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:s,value:u})=>{u===!0?l.push(`col-${s}`):u==="auto"?l.push(`col-${s}-auto`):u!==void 0&&l.push(`col-${s}-${u}`)})):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,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(o.value)},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["class"]))}}),Xe=["src","alt"],Ue={key:1,class:"card-header"},Ye={key:2,class:"card-body"},Je={key:0,class:"card-title"},Ke={key:1,class:"card-text"},We={key:3,class:"card-footer"},Qe=["src","alt"],oe=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},imgSrc:{type:String,default:void 0},imgAlt:{type:String,default:""},imgTop:{type:Boolean,default:!0},imgBottom:{type:Boolean,default:!1}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.computed(()=>{const l=["card"];return a.variant&&l.push(`text-bg-${a.variant}`),a.border&&l.push(`border-${a.border}`),a.textVariant&&l.push(`text-${a.textVariant}`),l.join(" ")});return(l,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(o.value)},{default:e.withCtx(()=>[t.imgSrc&&t.imgTop?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.imgSrc,alt:t.imgAlt,class:"card-img-top"},null,8,Xe)):e.createCommentVNode("",!0),t.header||l.$slots.header?(e.openBlock(),e.createElementBlock("div",Ue,[e.renderSlot(l.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.header),1)])])):e.createCommentVNode("",!0),t.title||t.body||l.$slots.default||l.$slots.body?(e.openBlock(),e.createElementBlock("div",Ye,[t.title||l.$slots.title?(e.openBlock(),e.createElementBlock("h5",Je,[e.renderSlot(l.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])])):e.createCommentVNode("",!0),t.body||l.$slots.body?(e.openBlock(),e.createElementBlock("p",Ke,[e.renderSlot(l.$slots,"body",{},()=>[e.createTextVNode(e.toDisplayString(t.body),1)])])):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default")])):e.createCommentVNode("",!0),t.footer||l.$slots.footer?(e.openBlock(),e.createElementBlock("div",We,[e.renderSlot(l.$slots,"footer",{},()=>[e.createTextVNode(e.toDisplayString(t.footer),1)])])):e.createCommentVNode("",!0),t.imgSrc&&t.imgBottom?(e.openBlock(),e.createElementBlock("img",{key:4,src:t.imgSrc,alt:t.imgAlt,class:"card-img-bottom"},null,8,Qe)):e.createCommentVNode("",!0)]),_:3},8,["class"]))}}),Ze=["aria-label"],_e={class:"breadcrumb"},et=["aria-current"],le=e.defineComponent({__name:"VibeBreadcrumb",props:{ariaLabel:{type:String,default:"breadcrumb"},items:{type:Array,required:!0}},emits:["item-click","component-error"],setup(t,{emit:r}){const a=r,o=(l,i,n)=>{l.active||a("item-click",{item:l,index:i,event:n})};return(l,i)=>(e.openBlock(),e.createElementBlock("nav",{"aria-label":t.ariaLabel},[e.createElementVNode("ol",_e,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(n,s)=>(e.openBlock(),e.createElementBlock("li",{key:s,class:e.normalizeClass(["breadcrumb-item",{active:n.active}]),"aria-current":n.active?"page":void 0},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.href?"a":n.to?"router-link":"span"),{href:n.href,to:n.to,onClick:u=>o(n,s,u)},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"item",{item:n,index:s},()=>[e.createTextVNode(e.toDisplayString(n.text),1)])]),_:2},1032,["href","to","onClick"]))],10,et))),128))])],8,Ze))}}),tt={class:"dropdown-menu"},at={key:0,class:"dropdown-divider"},ot={key:1,class:"dropdown-header"},ne=e.defineComponent({__name:"VibeNav",props:{items:{type:Array,required:!0},pills:{type:Boolean,default:!1},tabs:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},justified:{type:Boolean,default:!1},fill:{type:Boolean,default:!1},underline:{type:Boolean,default:!1},tag:{type:String,default:"ul"}},emits:["item-click","show","shown","hide","hidden","component-error"],setup(t,{expose:r,emit:a}){const o=t,l=a,i=e.ref(null),n=new Map,s=e.computed(()=>{const d=["nav"];return o.pills&&d.push("nav-pills"),o.tabs&&d.push("nav-tabs"),o.vertical&&d.push("flex-column"),o.justified&&d.push("nav-justified"),o.fill&&d.push("nav-fill"),o.underline&&d.push("nav-underline"),d.join(" ")}),u=d=>l("show",d),c=d=>l("shown",d),b=d=>l("hide",d),m=d=>l("hidden",d),g=async()=>{if(i.value)try{const f=(await import("bootstrap")).Tab;i.value.querySelectorAll('[data-bs-toggle="tab"], [data-bs-toggle="pill"]').forEach(y=>{const C=y;if(!n.has(C)){const k=new f(C);n.set(C,k),C.addEventListener("show.bs.tab",u),C.addEventListener("shown.bs.tab",c),C.addEventListener("hide.bs.tab",b),C.addEventListener("hidden.bs.tab",m)}})}catch(d){l("component-error",{message:"Bootstrap JS not loaded. Nav will use basic Vue logic.",componentName:"VibeNav",originalError:d})}};e.onMounted(g),e.onBeforeUnmount(()=>{n.forEach((d,f)=>{f.removeEventListener("show.bs.tab",u),f.removeEventListener("shown.bs.tab",c),f.removeEventListener("hide.bs.tab",b),f.removeEventListener("hidden.bs.tab",m),d.dispose()}),n.clear()}),e.watch(()=>o.items,async()=>{await e.nextTick(),await g()},{deep:!0});const h=(d,f,p)=>{d.disabled||l("item-click",{item:d,index:f,event:p})};return r({bsInstances:n,refresh:g}),(d,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{ref_key:"navRef",ref:i,class:e.normalizeClass(s.value)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(p,y)=>(e.openBlock(),e.createElementBlock("li",{key:y,class:e.normalizeClass(["nav-item",{dropdown:p.children&&p.children.length>0}])},[p.children&&p.children.length>0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("a",{class:e.normalizeClass(["nav-link dropdown-toggle",{active:p.active,disabled:p.disabled}]),"data-bs-toggle":"dropdown",href:"#",role:"button","aria-expanded":"false"},e.toDisplayString(p.text),3),e.createElementVNode("ul",tt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.children,(C,k)=>(e.openBlock(),e.createElementBlock("li",{key:k},[C.divider?(e.openBlock(),e.createElementBlock("hr",at)):C.header?(e.openBlock(),e.createElementBlock("h6",ot,e.toDisplayString(C.text),1)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(C.href?"a":C.to?"router-link":"button"),{key:2,class:e.normalizeClass(["dropdown-item",{active:C.active,disabled:C.disabled}]),href:C.href,to:C.to,type:!C.href&&!C.to?"button":void 0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(C.text),1)]),_:2},1032,["class","href","to","type"]))]))),128))])],64)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(p.href?"a":p.to?"router-link":"button"),{key:1,class:e.normalizeClass(["nav-link",{active:p.active,disabled:p.disabled}]),href:p.href,to:p.to,type:!p.href&&!p.to?"button":void 0,"aria-current":p.active?"page":void 0,"data-bs-toggle":(t.tabs||t.pills)&&p.href&&p.href.startsWith("#")?t.tabs?"tab":"pill":void 0,"data-bs-target":p.href&&p.href.startsWith("#")?p.href:void 0,onClick:C=>h(p,y,C)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.text),1)]),_:2},1032,["class","href","to","type","aria-current","data-bs-toggle","data-bs-target","onClick"]))],2))),128))]),_:1},8,["class"]))}}),lt=e.defineComponent({__name:"VibeNavbar",props:{variant:{type:String,default:"light"},theme:{type:String,default:void 0},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.reactive({}),l=u=>{o[u]=!o[u]};e.provide("vibeNavbarCollapse",{collapseStates:o,toggleCollapse:l});const i=e.computed(()=>{const u=["navbar"];return a.expand===!0?u.push("navbar-expand"):typeof a.expand=="string"&&u.push(`navbar-expand-${a.expand}`),u.push(`bg-${a.variant}`),a.position&&u.push(a.position),u.join(" ")}),n=e.computed(()=>{if(a.theme)return a.theme;if(a.variant==="dark")return"dark";if(a.variant==="light")return"light"}),s=e.computed(()=>{if(a.container!==!1)return a.container===!0?"container-fluid":`container-${a.container}`});return(u,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(i.value),"data-bs-theme":n.value},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(s.value)},[e.renderSlot(u.$slots,"default",{},void 0,!0)],2)):e.renderSlot(u.$slots,"default",{key:1},void 0,!0)]),_:3},8,["class","data-bs-theme"]))}}),I=(t,r)=>{const a=t.__vccOpts||t;for(const[o,l]of r)a[o]=l;return a},ie=I(lt,[["__scopeId","data-v-8228b170"]]),re=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,i)=>(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"]))}}),nt=["data-bs-target","aria-controls","aria-expanded","aria-label"],se=e.defineComponent({__name:"VibeNavbarToggle",props:{target:{type:String,required:!0},ariaLabel:{type:String,default:"Toggle navigation"}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.inject("vibeNavbarCollapse",null),l=e.computed(()=>o?.collapseStates[a.target]??!1),i=async()=>{o&&o.toggleCollapse(a.target);try{const n=document.getElementById(a.target);n&&(await import("bootstrap")).Collapse.getOrCreateInstance(n).toggle()}catch{}};return(n,s)=>(e.openBlock(),e.createElementBlock("button",{class:"navbar-toggler",type:"button","data-bs-target":`#${t.target}`,"data-bs-toggle":"collapse","aria-controls":t.target,"aria-expanded":l.value,"aria-label":t.ariaLabel,onClick:i},[...s[0]||(s[0]=[e.createElementVNode("span",{class:"navbar-toggler-icon"},null,-1)])],8,nt))}}),it={class:"dropdown-menu"},rt={key:0},st={key:1},dt={class:"dropdown-header"},ct={key:2},de=e.defineComponent({__name:"VibeNavbarNav",props:{tag:{type:String,default:"ul"},items:{type:Array,default:void 0}},emits:["item-click","dropdown-item-click","component-error"],setup(t,{emit:r}){const a=r,o=c=>{const b=["nav-item"];return c.children?.length&&b.push("dropdown"),b.join(" ")},l=c=>{const b=["nav-link"];return c.active&&b.push("active"),c.disabled&&b.push("disabled"),c.children?.length&&b.push("dropdown-toggle"),b.join(" ")},i=c=>c.href?"a":c.to?"router-link":"a",n=c=>{const b=["dropdown-item"];return c.active&&b.push("active"),c.disabled&&b.push("disabled"),b.join(" ")},s=(c,b,m)=>{c.disabled||a("item-click",{item:c,index:b,event:m})},u=(c,b,m,g,h)=>{!m.disabled&&!m.divider&&!m.header&&a("dropdown-item-click",{item:c,itemIndex:b,child:m,childIndex:g,event:h})};return(c,b)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:"navbar-nav"},{default:e.withCtx(()=>[t.items&&t.items.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(m,g)=>(e.openBlock(),e.createElementBlock("li",{key:g,class:e.normalizeClass(o(m))},[m.children?.length?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("a",{class:e.normalizeClass(l(m)),href:"#",role:"button","data-bs-toggle":"dropdown","aria-expanded":"false"},[e.renderSlot(c.$slots,"item",{item:m,index:g},()=>[e.createTextVNode(e.toDisplayString(m.text),1)])],2),e.createElementVNode("ul",it,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.children,(h,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:d},[h.divider?(e.openBlock(),e.createElementBlock("li",rt,[...b[0]||(b[0]=[e.createElementVNode("hr",{class:"dropdown-divider"},null,-1)])])):h.header?(e.openBlock(),e.createElementBlock("li",st,[e.createElementVNode("h6",dt,e.toDisplayString(h.text),1)])):(e.openBlock(),e.createElementBlock("li",ct,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h.href?"a":h.to?"router-link":"button"),{class:e.normalizeClass(n(h)),href:h.href,to:h.to,type:!h.href&&!h.to?"button":void 0,onClick:f=>u(m,g,h,d,f)},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"dropdown-item",{item:m,child:h,index:g,childIndex:d},()=>[e.createTextVNode(e.toDisplayString(h.text),1)])]),_:2},1032,["class","href","to","type","onClick"]))]))],64))),128))])],64)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i(m)),{key:1,class:e.normalizeClass(l(m)),href:m.href,to:m.to,"aria-current":m.active?"page":void 0,"aria-disabled":m.disabled,onClick:h=>s(m,g,h)},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"item",{item:m,index:g},()=>[e.createTextVNode(e.toDisplayString(m.text),1)])]),_:2},1032,["class","href","to","aria-current","aria-disabled","onClick"]))],2))),128)):e.renderSlot(c.$slots,"default",{key:1})]),_:3}))}}),ut=["aria-label"],mt=["disabled","aria-disabled"],ft=["aria-current","onClick"],pt=["disabled","aria-disabled"],ce=e.defineComponent({__name:"VibePagination",props:{size:{type:String,default:void 0},ariaLabel:{type:String,default:"Pagination"},totalPages:{type:Number,required:!0},currentPage:{type:Number,default:1},showPrevNext:{type:Boolean,default:!0},prevText:{type:String,default:"Previous"},nextText:{type:String,default:"Next"}},emits:["update:currentPage","page-click","component-error"],setup(t,{emit:r}){const a=t,o=r,l=e.computed(()=>{const c=["pagination"];return a.size&&c.push(`pagination-${a.size}`),c.join(" ")}),i=e.computed(()=>Array.from({length:a.totalPages},(c,b)=>b+1)),n=c=>{c>=1&&c<=a.totalPages&&(o("update:currentPage",c),o("page-click",c))},s=e.computed(()=>a.currentPage===1),u=e.computed(()=>a.currentPage===a.totalPages);return(c,b)=>(e.openBlock(),e.createElementBlock("nav",{"aria-label":t.ariaLabel},[e.createElementVNode("ul",{class:e.normalizeClass(l.value)},[t.showPrevNext?(e.openBlock(),e.createElementBlock("li",{key:0,class:e.normalizeClass(["page-item",{disabled:s.value}])},[e.createElementVNode("button",{class:"page-link",type:"button",disabled:s.value,"aria-disabled":s.value,onClick:b[0]||(b[0]=m=>n(t.currentPage-1))},[e.renderSlot(c.$slots,"prev",{disabled:s.value},()=>[e.createTextVNode(e.toDisplayString(t.prevText),1)])],8,mt)],2)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,m=>(e.openBlock(),e.createElementBlock("li",{key:m,class:e.normalizeClass(["page-item",{active:m===t.currentPage}])},[e.createElementVNode("button",{class:"page-link",type:"button","aria-current":m===t.currentPage?"page":void 0,onClick:g=>n(m)},[e.renderSlot(c.$slots,"page",{page:m,active:m===t.currentPage},()=>[e.createTextVNode(e.toDisplayString(m),1)])],8,ft)],2))),128)),t.showPrevNext?(e.openBlock(),e.createElementBlock("li",{key:1,class:e.normalizeClass(["page-item",{disabled:u.value}])},[e.createElementVNode("button",{class:"page-link",type:"button",disabled:u.value,"aria-disabled":u.value,onClick:b[1]||(b[1]=m=>n(t.currentPage+1))},[e.renderSlot(c.$slots,"next",{disabled:u.value},()=>[e.createTextVNode(e.toDisplayString(t.nextText),1)])],8,pt)],2)):e.createCommentVNode("",!0)],2)],8,ut))}}),bt=["id","aria-labelledby"],ue=e.defineComponent({__name:"VibeTabContent",props:{id:{type:String,default:void 0},tag:{type:String,default:"div"},panes:{type:Array,required:!0},fade:{type:Boolean,default:!0}},emits:["component-error","shown","hide","hidden"],setup(t,{emit:r}){const a=t,o=e.ref(null),l=new Map,i=n=>{const s=["tab-pane"];return a.fade&&s.push("fade"),n.active&&s.push("show","active"),s.join(" ")};return e.onMounted(async()=>{if(o.value)try{const s=(await import("bootstrap")).Tab}catch{}}),e.onBeforeUnmount(()=>{l.forEach(n=>n.dispose()),l.clear()}),(n,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{id:t.id,ref_key:"tabContentRef",ref:o,class:"tab-content"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.panes,(u,c)=>(e.openBlock(),e.createElementBlock("div",{key:u.id,id:u.id,class:e.normalizeClass(i(u)),role:"tabpanel","aria-labelledby":`${u.id}-tab`,tabindex:"0"},[e.renderSlot(n.$slots,"pane",{pane:u,index:c},()=>[e.createTextVNode(e.toDisplayString(u.content),1)])],10,bt))),128))]),_:3},8,["id"]))}}),me=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,required:!0}},emits:["item-click","component-error"],setup(t,{emit:r}){const a=t,o=r,l=e.computed(()=>{const u=["list-group"];return a.flush&&u.push("list-group-flush"),a.numbered&&u.push("list-group-numbered"),a.horizontal===!0?u.push("list-group-horizontal"):typeof a.horizontal=="string"&&u.push(`list-group-horizontal-${a.horizontal}`),u.join(" ")}),i=u=>u.href?"a":u.to?"router-link":"li",n=u=>{const c=["list-group-item"];return u.active&&c.push("active"),u.disabled&&c.push("disabled"),u.variant&&c.push(`list-group-item-${u.variant}`),c.join(" ")},s=(u,c,b)=>{u.disabled||o("item-click",{item:u,index:c,event:b})};return(u,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(l.value)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(b,m)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i(b)),{key:m,class:e.normalizeClass(n(b)),href:b.href,to:b.to,"aria-disabled":b.disabled,"aria-current":b.active,onClick:g=>s(b,m,g)},{default:e.withCtx(()=>[e.renderSlot(u.$slots,"item",{item:b,index:m},()=>[e.createTextVNode(e.toDisplayString(b.text),1)])]),_:2},1032,["class","href","to","aria-disabled","aria-current","onClick"]))),128))]),_:3},8,["class"]))}}),ht=["aria-valuenow","aria-valuemax"],fe=e.defineComponent({__name:"VibeProgress",props:{height:{type:String,default:void 0},bars:{type:Array,required:!0}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=e.computed(()=>{if(a.height)return{height:a.height}}),l=s=>{const u=["progress-bar"];return s.variant&&u.push(`bg-${s.variant}`),(s.striped||s.animated)&&u.push("progress-bar-striped"),s.animated&&u.push("progress-bar-animated"),u.join(" ")},i=s=>{const u=s.max||100;return{width:`${Math.min(100,Math.max(0,s.value/u*100))}%`}},n=s=>s.label?s.label:s.showValue?`${s.value}%`:"";return(s,u)=>(e.openBlock(),e.createElementBlock("div",{class:"progress",style:e.normalizeStyle(o.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.bars,(c,b)=>(e.openBlock(),e.createElementBlock("div",{key:b,class:e.normalizeClass(l(c)),style:e.normalizeStyle(i(c)),role:"progressbar","aria-valuenow":c.value,"aria-valuemin":0,"aria-valuemax":c.max||100},[e.renderSlot(s.$slots,"label",{bar:c,index:b},()=>[e.createTextVNode(e.toDisplayString(n(c)),1)])],14,ht))),128))],4))}});let pe=0;function N(t="vibe"){const r=e.getCurrentInstance(),a=r?r.uid:"no-instance";return pe++,`${t}-${a}-${pe}`}const yt=["id"],gt={class:"accordion-header"},kt=["data-bs-target","aria-expanded","aria-controls","onClick"],Bt=["id","data-bs-parent"],St={class:"accordion-body"},be=e.defineComponent({__name:"VibeAccordion",props:{id:{type:String,default:()=>N("accordion")},flush:{type:Boolean,default:!1},items:{type:Array,required:!0},alwaysOpen:{type:Boolean,default:!1}},emits:["item-click","show","shown","hide","hidden","component-error"],setup(t,{expose:r,emit:a}){const o=t,l=a,i=e.ref(null),n=new Map,s=h=>l("show",h),u=h=>l("shown",h),c=h=>l("hide",h),b=h=>l("hidden",h),m=async()=>{if(i.value)try{const d=(await import("bootstrap")).Collapse;i.value.querySelectorAll(".accordion-collapse").forEach(p=>{const y=p.id;if(!n.has(y)){const C=new d(p,{toggle:!1,parent:o.alwaysOpen?void 0:`#${o.id}`});n.set(y,C),p.addEventListener("show.bs.collapse",()=>s(y)),p.addEventListener("shown.bs.collapse",()=>u(y)),p.addEventListener("hide.bs.collapse",()=>c(y)),p.addEventListener("hidden.bs.collapse",()=>b(y)),o.items.find(E=>E.id===y)?.show&&C.show()}})}catch(h){l("component-error",{message:"Bootstrap JS not loaded. Accordion will use data attributes only.",componentName:"VibeAccordion",originalError:h})}};e.onMounted(m),e.onBeforeUnmount(()=>{n.forEach((h,d)=>{const f=document.getElementById(d);f&&(f.removeEventListener("show.bs.collapse",()=>s(d)),f.removeEventListener("shown.bs.collapse",()=>u(d)),f.removeEventListener("hide.bs.collapse",()=>c(d)),f.removeEventListener("hidden.bs.collapse",()=>b(d))),h.dispose()}),n.clear()}),e.watch(()=>o.items,async(h,d)=>{h.length!==d?.length&&(await e.nextTick(),await m()),h.forEach(f=>{const p=n.get(f.id);p&&(f.show?p.show():o.alwaysOpen||p.hide())})},{deep:!0});const g=(h,d)=>{l("item-click",{item:h,index:d})};return r({bsInstances:n,refresh:m}),(h,d)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"accordionRef",ref:i,id:t.id,class:e.normalizeClass(["accordion",{"accordion-flush":t.flush}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(f,p)=>(e.openBlock(),e.createElementBlock("div",{key:f.id,class:"accordion-item"},[e.createElementVNode("h2",gt,[e.createElementVNode("button",{class:e.normalizeClass(["accordion-button",{collapsed:!f.show}]),type:"button","data-bs-toggle":"collapse","data-bs-target":`#${f.id}`,"aria-expanded":f.show,"aria-controls":f.id,onClick:y=>g(f,p)},[e.renderSlot(h.$slots,"title",{item:f,index:p},()=>[e.createTextVNode(e.toDisplayString(f.title),1)])],10,kt)]),e.createElementVNode("div",{id:f.id,class:e.normalizeClass(["accordion-collapse","collapse",{show:f.show}]),"data-bs-parent":t.alwaysOpen?void 0:`#${t.id}`},[e.createElementVNode("div",St,[e.renderSlot(h.$slots,"content",{item:f,index:p},()=>[e.createTextVNode(e.toDisplayString(f.content),1)])])],10,Bt)]))),128))],10,yt))}}),he=e.defineComponent({__name:"VibeCollapse",props:{id:{type:String,default:()=>N("collapse")},modelValue:{type:Boolean,default:!1},tag:{type:String,default:"div"},horizontal:{type:Boolean,default:!1},isNav:{type:Boolean,default:!1}},emits:["update:modelValue","show","shown","hide","hidden","component-error"],setup(t,{emit:r}){const a=t,o=r,l=e.inject("vibeNavbarCollapse",null),i=e.ref(null),n=e.ref(null),s=e.ref(!1),u=()=>{s.value=!0,o("show")},c=()=>{o("shown"),o("update:modelValue",!0)},b=()=>{o("hide")},m=()=>{s.value=!1,o("hidden"),o("update:modelValue",!1)};e.onMounted(async()=>{if(i.value)try{const f=(await import("bootstrap")).Collapse;n.value=new f(i.value,{toggle:!1}),i.value.addEventListener("show.bs.collapse",u),i.value.addEventListener("shown.bs.collapse",c),i.value.addEventListener("hide.bs.collapse",b),i.value.addEventListener("hidden.bs.collapse",m),(l&&a.id in l.collapseStates?l.collapseStates[a.id]:a.modelValue)&&n.value.show()}catch(d){o("component-error",{message:"Bootstrap JS not loaded. Collapse will use CSS classes only.",componentName:"VibeCollapse",originalError:d})}}),e.onBeforeUnmount(()=>{i.value&&(i.value.removeEventListener("show.bs.collapse",u),i.value.removeEventListener("shown.bs.collapse",c),i.value.removeEventListener("hide.bs.collapse",b),i.value.removeEventListener("hidden.bs.collapse",m)),n.value&&(n.value.dispose(),n.value=null)});const g=e.computed(()=>l&&a.id in l.collapseStates?l.collapseStates[a.id]:a.modelValue);e.watch(g,d=>{n.value&&(d&&!s.value?n.value.show():!d&&s.value&&n.value.hide())});const h=e.computed(()=>{const d=["collapse"];return a.isNav&&d.push("navbar-collapse"),a.horizontal&&d.push("collapse-horizontal"),!n.value&&g.value&&d.push("show"),d.join(" ")});return(d,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{ref_key:"collapseRef",ref:i,id:t.id,class:e.normalizeClass(h.value)},{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3},8,["id","class"]))}}),Ct=["id","data-bs-auto-close"],Vt=["id","data-bs-auto-close"],vt=["aria-labelledby"],wt={key:0},$t={key:1},Et={class:"dropdown-header"},Nt={key:2},ye=e.defineComponent({__name:"VibeDropdown",props:{id:{type:String,default:()=>N("dropdown")},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,required:!0},autoClose:{type:[Boolean,String],default:!0}},emits:["item-click","show","shown","hide","hidden","component-error"],setup(t,{expose:r,emit:a}){const o=t,l=a,i=e.ref(null),n=e.ref(null),s=e.computed(()=>o.direction==="up"?"dropup":o.direction==="end"?"dropend":o.direction==="start"?"dropstart":"dropdown"),u=e.computed(()=>{const k=["btn",`btn-${o.variant}`];return o.size&&k.push(`btn-${o.size}`),k.join(" ")}),c=e.computed(()=>{const k=["dropdown-menu"];return o.menuEnd&&k.push("dropdown-menu-end"),k.join(" ")}),b=k=>{const E=["dropdown-item"];return k.active&&E.push("active"),k.disabled&&E.push("disabled"),E.join(" ")},m=()=>l("show"),g=()=>l("shown"),h=()=>l("hide"),d=()=>l("hidden");e.onMounted(async()=>{if(i.value)try{const E=(await import("bootstrap")).Dropdown,w=i.value.querySelector(".dropdown-toggle");w&&(n.value=new E(w,{autoClose:o.autoClose}),w.addEventListener("show.bs.dropdown",m),w.addEventListener("shown.bs.dropdown",g),w.addEventListener("hide.bs.dropdown",h),w.addEventListener("hidden.bs.dropdown",d))}catch(k){l("component-error",{message:"Bootstrap JS not loaded. Dropdown will use data attributes only.",componentName:"VibeDropdown",originalError:k})}}),e.onBeforeUnmount(()=>{const k=i.value?.querySelector(".dropdown-toggle");k&&(k.removeEventListener("show.bs.dropdown",m),k.removeEventListener("shown.bs.dropdown",g),k.removeEventListener("hide.bs.dropdown",h),k.removeEventListener("hidden.bs.dropdown",d)),n.value&&(n.value.dispose(),n.value=null)});const f=(k,E,w)=>{!k.disabled&&!k.divider&&!k.header&&l("item-click",{item:k,index:E,event:w})};return r({show:()=>n.value?.show(),hide:()=>n.value?.hide(),toggle:()=>n.value?.toggle()}),(k,E)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dropdownRef",ref:i,class:e.normalizeClass(s.value)},[t.split?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("button",{class:e.normalizeClass(u.value),type:"button"},[e.renderSlot(k.$slots,"button",{},()=>[e.createTextVNode(e.toDisplayString(t.text),1)])],2),e.createElementVNode("button",{id:t.id,type:"button",class:e.normalizeClass([u.value,"dropdown-toggle","dropdown-toggle-split"]),"data-bs-toggle":"dropdown","aria-expanded":"false","data-bs-auto-close":t.autoClose},[...E[0]||(E[0]=[e.createElementVNode("span",{class:"visually-hidden"},"Toggle Dropdown",-1)])],10,Vt)],64)):(e.openBlock(),e.createElementBlock("button",{key:0,id:t.id,class:e.normalizeClass([u.value,"dropdown-toggle"]),type:"button","data-bs-toggle":"dropdown","aria-expanded":"false","data-bs-auto-close":t.autoClose},[e.renderSlot(k.$slots,"button",{},()=>[e.createTextVNode(e.toDisplayString(t.text),1)])],10,Ct)),e.createElementVNode("ul",{class:e.normalizeClass(c.value),"aria-labelledby":t.id},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(w,L)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:L},[w.divider?(e.openBlock(),e.createElementBlock("li",wt,[...E[1]||(E[1]=[e.createElementVNode("hr",{class:"dropdown-divider"},null,-1)])])):w.header?(e.openBlock(),e.createElementBlock("li",$t,[e.createElementVNode("h6",Et,[e.renderSlot(k.$slots,"header",{item:w,index:L},()=>[e.createTextVNode(e.toDisplayString(w.text),1)])])])):(e.openBlock(),e.createElementBlock("li",Nt,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(w.href?"a":w.to?"router-link":"button"),{class:e.normalizeClass(b(w)),href:w.href,to:w.to,type:!w.href&&!w.to?"button":void 0,disabled:w.disabled,onClick:F=>f(w,L,F)},{default:e.withCtx(()=>[e.renderSlot(k.$slots,"item",{item:w,index:L},()=>[e.createTextVNode(e.toDisplayString(w.text),1)])]),_:2},1032,["class","href","to","type","disabled","onClick"]))]))],64))),128))],10,vt)],2))}}),M=[];function ge(t){if(M.length>0){t.preventDefault();const r=M.pop();r&&r()}}function j(t){e.onMounted(()=>{M.push(t),M.length===1&&typeof document<"u"&&document.addEventListener("backbutton",ge)}),e.onUnmounted(()=>{const r=M.indexOf(t);r!==-1&&M.splice(r,1),M.length===0&&typeof document<"u"&&document.removeEventListener("backbutton",ge)})}const xt=["id","aria-labelledby","aria-hidden","data-bs-backdrop","data-bs-keyboard"],Tt={class:"modal-content"},Lt={key:0,class:"modal-header"},zt=["id"],Dt={class:"modal-body"},Mt={key:1,class:"modal-footer"},ke=I(e.defineComponent({__name:"VibeModal",props:{id:{type:String,default:()=>N("modal")},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},teleport:{type:[String,Boolean],default:"body"}},emits:["update:modelValue","show","shown","hide","hidden","component-error"],setup(t,{expose:r,emit:a}){const o=t,l=a,i=e.ref(null),n=e.ref(null),s=e.ref(!1),u=e.computed(()=>{const y=["modal-dialog"];return o.size&&y.push(`modal-${o.size}`),o.centered&&y.push("modal-dialog-centered"),o.scrollable&&y.push("modal-dialog-scrollable"),o.fullscreen===!0?y.push("modal-fullscreen"):typeof o.fullscreen=="string"&&y.push(`modal-fullscreen-${o.fullscreen}-down`),y.join(" ")}),c=()=>{s.value=!0,l("show")},b=()=>{l("shown"),l("update:modelValue",!0)},m=()=>{l("hide")},g=()=>{s.value=!1,l("hidden"),l("update:modelValue",!1)},h=async()=>{if(i.value){n.value&&n.value.dispose();try{const C=(await import("bootstrap")).Modal;n.value=new C(i.value,{backdrop:o.staticBackdrop?"static":!0,keyboard:!o.staticBackdrop,focus:!0}),i.value.addEventListener("show.bs.modal",c),i.value.addEventListener("shown.bs.modal",b),i.value.addEventListener("hide.bs.modal",m),i.value.addEventListener("hidden.bs.modal",g),o.modelValue&&n.value.show()}catch(y){l("component-error",{message:"Bootstrap JS not loaded. Modal will use data attributes only.",componentName:"VibeModal",originalError:y})}}};e.onMounted(h),e.onBeforeUnmount(()=>{i.value&&(i.value.removeEventListener("show.bs.modal",c),i.value.removeEventListener("shown.bs.modal",b),i.value.removeEventListener("hide.bs.modal",m),i.value.removeEventListener("hidden.bs.modal",g)),n.value&&(s.value&&n.value.hide(),n.value.dispose(),n.value=null)}),e.watch(()=>o.modelValue,y=>{n.value&&(y&&!s.value?n.value.show():!y&&s.value&&n.value.hide())}),e.watch(()=>o.staticBackdrop,h);const d=()=>n.value?.show(),f=()=>n.value?.hide(),p=()=>n.value?.handleUpdate();return j(()=>{s.value&&f()}),r({show:d,hide:f,handleUpdate:p,bsInstance:n}),(y,C)=>(e.openBlock(),e.createBlock(e.Teleport,{to:t.teleport===!0?"body":t.teleport||void 0,disabled:!t.teleport},[e.createElementVNode("div",{ref_key:"modalRef",ref:i,id:t.id,class:e.normalizeClass(["modal fade",{show:s.value}]),tabindex:"-1","aria-labelledby":`${t.id}-label`,"aria-hidden":!s.value,"data-bs-backdrop":t.staticBackdrop?"static":void 0,"data-bs-keyboard":!t.staticBackdrop},[e.createElementVNode("div",{class:e.normalizeClass(u.value)},[e.createElementVNode("div",Tt,[t.hideHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Lt,[e.createElementVNode("h5",{id:`${t.id}-label`,class:"modal-title"},[e.renderSlot(y.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)],!0)],8,zt),e.createElementVNode("button",{type:"button",class:"btn-close","aria-label":"Close",onClick:f})])),e.createElementVNode("div",Dt,[e.renderSlot(y.$slots,"default",{},void 0,!0)]),t.hideFooter?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Mt,[e.renderSlot(y.$slots,"footer",{},()=>[e.createElementVNode("button",{type:"button",class:"btn btn-secondary",onClick:f},"Close")],!0)]))])],2)],10,xt)],8,["to","disabled"]))}}),[["__scopeId","data-v-c11ac690"]]),Ft=["id","aria-labelledby","data-bs-backdrop","data-bs-scroll"],It={class:"offcanvas-header"},Rt=["id"],Pt={class:"offcanvas-body"},Be=I(e.defineComponent({__name:"VibeOffcanvas",props:{id:{type:String,default:()=>N("offcanvas")},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},teleport:{type:[String,Boolean],default:"body"}},emits:["update:modelValue","show","shown","hide","hidden","component-error"],setup(t,{expose:r,emit:a}){const o=t,l=a,i=e.ref(null),n=e.ref(null),s=e.ref(!1),u=e.computed(()=>`offcanvas offcanvas-${o.placement}`),c=()=>{s.value=!0,l("show")},b=()=>{l("shown"),l("update:modelValue",!0)},m=()=>{l("hide")},g=()=>{s.value=!1,l("hidden"),l("update:modelValue",!1)},h=async()=>{if(i.value){n.value&&n.value.dispose();try{const y=(await import("bootstrap")).Offcanvas;n.value=new y(i.value,{backdrop:o.backdrop===!1?!1:o.backdrop==="static"?"static":!0,scroll:o.scroll,keyboard:o.backdrop!=="static"}),i.value.addEventListener("show.bs.offcanvas",c),i.value.addEventListener("shown.bs.offcanvas",b),i.value.addEventListener("hide.bs.offcanvas",m),i.value.addEventListener("hidden.bs.offcanvas",g),o.modelValue&&n.value.show()}catch(p){l("component-error",{message:"Bootstrap JS not loaded. Offcanvas will use data attributes only.",componentName:"VibeOffcanvas",originalError:p})}}};e.onMounted(h),e.onBeforeUnmount(()=>{i.value&&(i.value.removeEventListener("show.bs.offcanvas",c),i.value.removeEventListener("shown.bs.offcanvas",b),i.value.removeEventListener("hide.bs.offcanvas",m),i.value.removeEventListener("hidden.bs.offcanvas",g)),n.value&&(s.value&&n.value.hide(),n.value.dispose(),n.value=null)}),e.watch(()=>o.modelValue,p=>{n.value&&(p&&!s.value?n.value.show():!p&&s.value&&n.value.hide())}),e.watch([()=>o.placement,()=>o.backdrop,()=>o.scroll],h);const d=()=>n.value?.show(),f=()=>n.value?.hide();return j(()=>{s.value&&f()}),r({show:d,hide:f,bsInstance:n}),(p,y)=>(e.openBlock(),e.createBlock(e.Teleport,{to:t.teleport===!0?"body":t.teleport||void 0,disabled:!t.teleport},[e.createElementVNode("div",{ref_key:"offcanvasRef",ref:i,id:t.id,class:e.normalizeClass(u.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",It,[e.createElementVNode("h5",{id:`${t.id}-label`,class:"offcanvas-title"},[e.renderSlot(p.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)],!0)],8,Rt),e.createElementVNode("button",{type:"button",class:"btn-close","aria-label":"Close",onClick:f})]),e.createElementVNode("div",Pt,[e.renderSlot(p.$slots,"default",{},void 0,!0)])],10,Ft)],8,["to","disabled"]))}}),[["__scopeId","data-v-f03bd194"]]),qt=["id","data-bs-autohide","data-bs-delay"],jt={key:0,class:"toast-header"},At={class:"me-auto"},Ot={class:"toast-body"},Se=e.defineComponent({__name:"VibeToast",props:{id:{type:String,default:()=>N("toast")},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},teleport:{type:[String,Boolean],default:"body"},placement:{type:String,default:"top-end"}},emits:["update:modelValue","show","shown","hide","hidden","component-error"],setup(t,{expose:r,emit:a}){const o=t,l=a,i=e.ref(null),n=e.ref(null),s=e.ref(!1),u=e.computed(()=>{const y=["toast"];return o.variant&&y.push(`text-bg-${o.variant}`),y.join(" ")}),c=e.computed(()=>{const y=["toast-container","position-fixed","p-3"],C=o.placement;return C.includes("top")&&y.push("top-0"),C.includes("bottom")&&y.push("bottom-0"),C.includes("middle")&&y.push("top-50","start-50","translate-middle"),C.includes("start")&&y.push("start-0"),C.includes("end")&&y.push("end-0"),C.includes("center")&&!C.includes("middle")&&y.push("start-50","translate-middle-x"),y.join(" ")}),b=()=>{s.value=!0,l("show")},m=()=>{l("shown"),l("update:modelValue",!0)},g=()=>{l("hide")},h=()=>{s.value=!1,l("hidden"),l("update:modelValue",!1)},d=async()=>{if(i.value){n.value&&n.value.dispose();try{const C=(await import("bootstrap")).Toast;n.value=new C(i.value,{autohide:o.autohide,delay:o.delay}),i.value.addEventListener("show.bs.toast",b),i.value.addEventListener("shown.bs.toast",m),i.value.addEventListener("hide.bs.toast",g),i.value.addEventListener("hidden.bs.toast",h),o.modelValue&&n.value.show()}catch(y){l("component-error",{message:"Bootstrap JS not loaded. Toast will use data attributes only.",componentName:"VibeToast",originalError:y})}}};e.onMounted(d),e.onBeforeUnmount(()=>{i.value&&(i.value.removeEventListener("show.bs.toast",b),i.value.removeEventListener("shown.bs.toast",m),i.value.removeEventListener("hide.bs.toast",g),i.value.removeEventListener("hidden.bs.toast",h)),n.value&&(n.value.dispose(),n.value=null)}),e.watch(()=>o.modelValue,y=>{n.value&&(y&&!s.value?n.value.show():!y&&s.value&&n.value.hide())}),e.watch([()=>o.autohide,()=>o.delay],d);const f=()=>n.value?.show(),p=()=>n.value?.hide();return r({show:f,hide:p,bsInstance:n}),(y,C)=>(e.openBlock(),e.createBlock(e.Teleport,{to:t.teleport===!0?"body":t.teleport||void 0,disabled:!t.teleport},[e.createElementVNode("div",{class:e.normalizeClass(c.value),style:{"z-index":"1090"}},[e.createElementVNode("div",{ref_key:"toastRef",ref:i,id:t.id,class:e.normalizeClass(u.value),role:"alert","aria-live":"assertive","aria-atomic":"true","data-bs-autohide":t.autohide,"data-bs-delay":t.delay},[t.title||y.$slots.header?(e.openBlock(),e.createElementBlock("div",jt,[e.renderSlot(y.$slots,"header",{},()=>[e.createElementVNode("strong",At,e.toDisplayString(t.title),1)]),e.createElementVNode("button",{type:"button",class:"btn-close","aria-label":"Close",onClick:p})])):e.createCommentVNode("",!0),e.createElementVNode("div",Ot,[e.renderSlot(y.$slots,"default")])],10,qt)],2)],8,["to","disabled"]))}}),Ht=["id","data-bs-ride","data-bs-interval","data-bs-keyboard","data-bs-pause","data-bs-wrap","data-bs-touch"],Gt={key:0,class:"carousel-indicators"},Xt=["data-bs-target","data-bs-slide-to","aria-current","aria-label"],Ut={class:"carousel-inner"},Yt=["data-bs-interval"],Jt=["src","alt"],Kt={key:0,class:"carousel-caption d-none d-md-block"},Wt={key:0},Qt={key:1},Zt=["data-bs-target"],_t=["data-bs-target"],Ce=e.defineComponent({__name:"VibeCarousel",props:{id:{type:String,default:()=>N("carousel")},modelValue:{type:Number,default: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,required:!0}},emits:["update:modelValue","slide","slid","component-error"],setup(t,{expose:r,emit:a}){const o=t,l=a,i=e.ref(null),n=e.ref(null),s=e.ref(o.modelValue),u=e.computed(()=>{const h=["carousel","slide"];return o.dark&&h.push("carousel-dark"),o.fade&&h.push("carousel-fade"),h.join(" ")}),c=h=>{l("slide",h)},b=h=>{s.value=h.to,l("update:modelValue",h.to),l("slid",h)},m=async()=>{if(i.value){n.value&&n.value.dispose();try{const d=(await import("bootstrap")).Carousel;n.value=new d(i.value,{interval:o.interval,keyboard:o.keyboard,pause:o.pause,ride:o.ride===!0?"carousel":o.ride,wrap:o.wrap,touch:o.touch}),i.value.addEventListener("slide.bs.carousel",c),i.value.addEventListener("slid.bs.carousel",b),o.modelValue!==0&&n.value.to(o.modelValue)}catch(h){l("component-error",{message:"Bootstrap JS not loaded. Carousel will use data attributes only.",componentName:"VibeCarousel",originalError:h})}}};e.onMounted(m),e.onBeforeUnmount(()=>{i.value&&(i.value.removeEventListener("slide.bs.carousel",c),i.value.removeEventListener("slid.bs.carousel",b)),n.value&&(n.value.dispose(),n.value=null)}),e.watch(()=>o.modelValue,h=>{n.value&&h!==s.value&&n.value.to(h)}),e.watch(()=>o.items,async()=>{await e.nextTick(),await m()},{deep:!0});const g=(h,d)=>h.alt?h.alt:h.caption?h.caption:h.captionText?h.captionText:`Carousel slide ${d+1}`;return r({bsInstance:n,refresh:m}),(h,d)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"carouselRef",ref:i,id:t.id,class:e.normalizeClass(u.value),"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.indicators?(e.openBlock(),e.createElementBlock("div",Gt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(f,p)=>(e.openBlock(),e.createElementBlock("button",{key:`indicator-${p}`,type:"button","data-bs-target":`#${t.id}`,"data-bs-slide-to":p,class:e.normalizeClass({active:p===s.value}),"aria-current":p===s.value,"aria-label":`Slide ${p+1}`},null,10,Xt))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",Ut,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,(f,p)=>(e.openBlock(),e.createElementBlock("div",{key:`slide-${p}`,class:e.normalizeClass(["carousel-item",{active:p===s.value}]),"data-bs-interval":f.interval},[e.createElementVNode("img",{src:f.src,alt:g(f,p),class:"d-block w-100"},null,8,Jt),f.caption||f.captionText||h.$slots.caption?(e.openBlock(),e.createElementBlock("div",Kt,[e.renderSlot(h.$slots,"caption",{item:f,index:p},()=>[f.caption?(e.openBlock(),e.createElementBlock("h5",Wt,e.toDisplayString(f.caption),1)):e.createCommentVNode("",!0),f.captionText?(e.openBlock(),e.createElementBlock("p",Qt,e.toDisplayString(f.captionText),1)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)],10,Yt))),128))]),t.controls?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("button",{class:"carousel-control-prev",type:"button","data-bs-target":`#${t.id}`,"data-bs-slide":"prev"},[...d[0]||(d[0]=[e.createElementVNode("span",{class:"carousel-control-prev-icon","aria-hidden":"true"},null,-1),e.createElementVNode("span",{class:"visually-hidden"},"Previous",-1)])],8,Zt),e.createElementVNode("button",{class:"carousel-control-next",type:"button","data-bs-target":`#${t.id}`,"data-bs-slide":"next"},[...d[1]||(d[1]=[e.createElementVNode("span",{class:"carousel-control-next-icon","aria-hidden":"true"},null,-1),e.createElementVNode("span",{class:"visually-hidden"},"Next",-1)])],8,_t)],64)):e.createCommentVNode("",!0)],10,Ht))}}),ea=["data-bs-placement","data-bs-title","data-bs-trigger","data-bs-html"],Ve=e.defineComponent({__name:"VibeTooltip",props:{content:{type:String,default:void 0},text:{type:String,default:void 0},placement:{type:String,default:"top"},trigger:{type:String,default:"hover focus"},html:{type:Boolean,default:!1}},emits:["component-error"],setup(t,{expose:r,emit:a}){const o=t,l=a,i=e.ref(null),n=e.ref(null),s=()=>typeof window<"u"&&("ontouchstart"in window||navigator.maxTouchPoints>0),u=e.computed(()=>s()&&o.trigger==="hover focus"?"click":o.trigger),c=async()=>{if(i.value){n.value&&n.value.dispose();try{const m=(await import("bootstrap")).Tooltip;n.value=new m(i.value,{title:o.text||o.content||"",placement:o.placement,trigger:u.value,html:o.html})}catch(b){l("component-error",{message:"Bootstrap JS not loaded. Tooltip will use data attributes only.",componentName:"VibeTooltip",originalError:b})}}};return e.onMounted(c),e.onBeforeUnmount(()=>{n.value&&(n.value.dispose(),n.value=null)}),e.watch([()=>o.content,()=>o.text],()=>{n.value&&n.value.setContent({".tooltip-inner":o.text||o.content||""})}),e.watch([()=>o.placement,()=>o.trigger,()=>o.html],c),r({bsInstance:n}),(b,m)=>(e.openBlock(),e.createElementBlock("span",{ref_key:"tooltipRef",ref:i,"data-bs-toggle":"tooltip","data-bs-placement":t.placement,"data-bs-title":t.text||t.content,"data-bs-trigger":t.trigger,"data-bs-html":t.html},[e.renderSlot(b.$slots,"default")],8,ea))}}),ta=["data-bs-placement","data-bs-title","data-bs-content","data-bs-trigger","data-bs-html"],ve=e.defineComponent({__name:"VibePopover",props:{title:{type:String,default:void 0},content:{type:String,default:void 0},text:{type:String,default:void 0},placement:{type:String,default:"top"},trigger:{type:String,default:"click"},html:{type:Boolean,default:!1}},emits:["component-error"],setup(t,{expose:r,emit:a}){const o=t,l=a,i=e.ref(null),n=e.ref(null),s=()=>typeof window<"u"&&("ontouchstart"in window||navigator.maxTouchPoints>0),u=e.computed(()=>s()&&o.trigger==="hover focus"?"click":o.trigger),c=async()=>{if(i.value){n.value&&n.value.dispose();try{const m=(await import("bootstrap")).Popover;n.value=new m(i.value,{title:o.title,content:o.text||o.content||"",placement:o.placement,trigger:u.value,html:o.html})}catch(b){l("component-error",{message:"Bootstrap JS not loaded. Popover will use data attributes only.",componentName:"VibePopover",originalError:b})}}};return e.onMounted(c),e.onBeforeUnmount(()=>{n.value&&(n.value.dispose(),n.value=null)}),e.watch([()=>o.content,()=>o.text,()=>o.title],()=>{n.value&&n.value.setContent({".popover-header":o.title||"",".popover-body":o.text||o.content||""})}),e.watch([()=>o.placement,()=>o.trigger,()=>o.html],c),r({bsInstance:n}),(b,m)=>(e.openBlock(),e.createElementBlock("span",{ref_key:"popoverRef",ref:i,"data-bs-toggle":"popover","data-bs-placement":t.placement,"data-bs-title":t.title,"data-bs-content":t.text||t.content,"data-bs-trigger":t.trigger,"data-bs-html":t.html},[e.renderSlot(b.$slots,"default")],8,ta))}}),we=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,{expose:r,emit:a}){const o=t,l=a,i=e.ref(null),n=e.ref(null),s=c=>{l("activate",c)};return e.onMounted(async()=>{if(i.value)try{const b=(await import("bootstrap")).ScrollSpy;n.value=new b(i.value,{target:o.target,offset:o.offset,method:o.method,smoothScroll:o.smoothScroll}),i.value.addEventListener("activate.bs.scrollspy",s)}catch(c){l("component-error",{message:"Bootstrap JS not loaded. ScrollSpy will use data attributes only.",componentName:"VibeScrollspy",originalError:c})}}),e.onBeforeUnmount(()=>{i.value&&i.value.removeEventListener("activate.bs.scrollspy",s),n.value&&(n.value.dispose(),n.value=null)}),r({refresh:()=>{n.value&&n.value.refresh()}}),(c,b)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{ref_key:"scrollspyRef",ref:i,"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",style:{position:"relative",height:"100%",overflow:"auto"}},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},8,["data-bs-target","data-bs-offset","data-bs-method","data-bs-smooth-scroll"]))}}),$e=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 s=["bi",`bi-${a.icon}`];return a.size&&(["1x","2x","3x","4x","5x"].includes(a.size)||s.push(`bi-${a.size}`)),a.customClass&&s.push(a.customClass),s.join(" ")}),i=e.computed(()=>{const s={};if(a.fontSize)s.fontSize=a.fontSize;else if(a.size){const c={"1x":"1rem","2x":"2rem","3x":"3rem","4x":"4rem","5x":"5rem"};c[a.size]&&(s.fontSize=c[a.size])}a.color&&(s.color=a.color);const u=[];return a.flipH&&u.push("scaleX(-1)"),a.flipV&&u.push("scaleY(-1)"),a.rotate&&u.push(`rotate(${a.rotate}deg)`),u.length>0&&(s.transform=u.join(" "),s.display="inline-block"),Object.keys(s).length>0?s:void 0}),n=s=>{o("click",s)};return(s,u)=>(e.openBlock(),e.createElementBlock("i",{class:e.normalizeClass(l.value),style:e.normalizeStyle(i.value),"aria-hidden":!0,onClick:n},null,6))}}),aa={class:"vibe-datatable"},oa={class:"row mb-3"},la={key:0,class:"col-md-6 mb-2 mb-md-0"},na=["placeholder"],ia={key:1,class:"col-md-6"},ra={class:"d-flex justify-content-md-end align-items-center"},sa=["value"],da=["onClick"],ca={key:0,class:"ms-1"},ua=["onClick"],ma=["data-label"],fa={key:0},pa=["colspan"],ba={class:"row"},ha={key:0,class:"col-md-6 mb-2 mb-md-0"},ya={class:"datatable-info"},ga={key:1,class:"col-md-6"},ka={class:"pagination justify-content-md-end mb-0"},Ba={key:0,class:"page-item"},Sa={key:1,class:"page-item disabled"},Ca=["onClick"],Va={key:2,class:"page-item disabled"},va={key:3,class:"page-item"},Ee=I(e.defineComponent({__name:"VibeDataTable",props:e.mergeModels({items:{type:Array,default:()=>[]},columns:{type:Array,required:!0},rowKey:{type:String,default:"id"},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},stack:{type:Boolean,default:!1},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},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)"},perPageOptions:{type:Array,default:()=>[5,10,25,50,100]}},{currentPage:{default:1},currentPageModifiers:{},perPage:{default:10},perPageModifiers:{},sortBy:{default:void 0},sortByModifiers:{},sortDesc:{type:Boolean,default:!1},sortDescModifiers:{}}),emits:e.mergeModels(["row-clicked","component-error"],["update:currentPage","update:perPage","update:sortBy","update:sortDesc"]),setup(t,{emit:r}){const a=t,o=e.useModel(t,"currentPage"),l=e.useModel(t,"perPage"),i=e.useModel(t,"sortBy"),n=e.useModel(t,"sortDesc"),s=r,u=e.ref(""),c=e.ref(null),b=e.ref(""),m=(S,V)=>a.rowKey&&S[a.rowKey]!==void 0?String(S[a.rowKey]):V;e.watch(u,S=>{c.value!==null&&clearTimeout(c.value),c.value=setTimeout(()=>{b.value=S,o.value=1,c.value=null},a.searchDebounce)}),e.onBeforeUnmount(()=>{c.value!==null&&(clearTimeout(c.value),c.value=null)});const g=e.computed(()=>{if(!a.searchable||!b.value)return a.items||[];const S=b.value.toLowerCase();return(a.items||[]).filter(V=>(a.columns||[]).some(v=>{if(v.searchable===!1)return!1;const x=V[v.key];return x==null?!1:String(x).toLowerCase().includes(S)}))}),h=(S,V,v)=>{if(S==null)return 1;if(V==null)return-1;if(typeof S=="string"&&typeof V=="string"){const x=S.toLowerCase(),T=V.toLowerCase();return x<T?v?1:-1:x>T?v?-1:1:0}if(typeof S=="number"&&typeof V=="number")return S<V?v?1:-1:S>V?v?-1:1:0;if(typeof S=="boolean"&&typeof V=="boolean")return S===V?0:(S?1:-1)*(v?-1:1);if(S instanceof Date&&V instanceof Date){const x=S.getTime(),T=V.getTime();return x<T?v?1:-1:x>T?v?-1:1:0}return 0},d=e.computed(()=>{if(!a.sortable||!i.value)return g.value;const S=[...g.value],V=i.value;return S.sort((v,x)=>h(v[V],x[V],n.value)),S}),f=e.computed(()=>{if(!a.paginated)return d.value;const S=(o.value-1)*l.value,V=S+l.value;return d.value.slice(S,V)}),p=e.computed(()=>a.items.length),y=e.computed(()=>g.value.length),C=e.computed(()=>Math.ceil(y.value/l.value)),k=e.computed(()=>y.value===0?0:(o.value-1)*l.value+1),E=e.computed(()=>{const S=o.value*l.value;return Math.min(S,y.value)}),w=e.computed(()=>(y.value!==p.value?a.filteredInfoText:a.infoText).replace("{start}",String(k.value)).replace("{end}",String(E.value)).replace("{total}",String(y.value)).replace("{totalRows}",String(p.value))),L=e.computed(()=>{const S=["table"];return a.striped&&S.push("table-striped"),a.bordered&&S.push("table-bordered"),a.borderless&&S.push("table-borderless"),a.hover&&S.push("table-hover"),a.small&&S.push("table-sm"),a.stack&&S.push("vibe-table-stack"),a.variant&&S.push(`table-${a.variant}`),S.join(" ")}),F=S=>{!a.sortable||S.sortable===!1||(i.value===S.key?n.value=!n.value:(i.value=S.key,n.value=!1))},z=S=>{S<1||S>C.value||(o.value=S)},$=()=>{o.value=1},D=(S,V)=>{s("row-clicked",S,V)},X=(S,V)=>{const v=S[V.key];return V.formatter?V.formatter(v,S):v},U=S=>!a.sortable||S.sortable===!1?"":i.value!==S.key?"⇅":n.value?"↓":"↑",Wo=S=>{const V={...S.thStyle};return a.sortable&&S.sortable!==!1&&(V.cursor="pointer"),V};return(S,V)=>(e.openBlock(),e.createElementBlock("div",aa,[e.createElementVNode("div",oa,[t.searchable?(e.openBlock(),e.createElementBlock("div",la,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":V[0]||(V[0]=v=>u.value=v),type:"search",class:"form-control",placeholder:t.searchPlaceholder},null,8,na),[[e.vModelText,u.value]])])):e.createCommentVNode("",!0),t.showPerPage&&t.paginated?(e.openBlock(),e.createElementBlock("div",ia,[e.createElementVNode("div",ra,[V[6]||(V[6]=e.createElementVNode("label",{class:"me-2 mb-0"},"Show",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":V[1]||(V[1]=v=>l.value=v),class:"form-select form-select-sm",style:{width:"auto"},onChange:$},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.perPageOptions,v=>(e.openBlock(),e.createElementBlock("option",{key:v,value:v},e.toDisplayString(v),9,sa))),128))],544),[[e.vModelSelect,l.value,void 0,{number:!0}]]),V[7]||(V[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,v=>(e.openBlock(),e.createElementBlock("th",{key:v.key,class:e.normalizeClass(v.headerClass),style:e.normalizeStyle(Wo(v)),onClick:x=>F(v)},[e.createTextVNode(e.toDisplayString(v.label)+" ",1),t.sortable&&v.sortable!==!1?(e.openBlock(),e.createElementBlock("span",ca,e.toDisplayString(U(v)),1)):e.createCommentVNode("",!0)],14,da))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(v,x)=>(e.openBlock(),e.createElementBlock("tr",{key:m(v,x),onClick:T=>D(v,x),style:{cursor:"pointer"}},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columns,T=>(e.openBlock(),e.createElementBlock("td",{key:T.key,class:e.normalizeClass(T.class),style:e.normalizeStyle(T.tdStyle),"data-label":T.label},[e.renderSlot(S.$slots,`cell(${T.key})`,{item:v,value:v[T.key],index:x},()=>[e.createTextVNode(e.toDisplayString(X(v,T)),1)],!0)],14,ma))),128))],8,ua))),128)),f.value.length===0&&t.showEmpty?(e.openBlock(),e.createElementBlock("tr",fa,[e.createElementVNode("td",{colspan:t.columns?.length||1,class:"text-center"},e.toDisplayString(t.emptyText),9,pa)])):e.createCommentVNode("",!0)])],2)],2),e.createElementVNode("div",ba,[t.showInfo?(e.openBlock(),e.createElementBlock("div",ha,[e.createElementVNode("div",ya,e.toDisplayString(w.value),1)])):e.createCommentVNode("",!0),t.paginated&&C.value>1?(e.openBlock(),e.createElementBlock("div",ga,[e.createElementVNode("nav",null,[e.createElementVNode("ul",ka,[e.createElementVNode("li",{class:e.normalizeClass(["page-item",{disabled:o.value===1}])},[e.createElementVNode("a",{class:"page-link",href:"#",onClick:V[2]||(V[2]=e.withModifiers(v=>z(o.value-1),["prevent"]))}," Previous ")],2),o.value>3?(e.openBlock(),e.createElementBlock("li",Ba,[e.createElementVNode("a",{class:"page-link",href:"#",onClick:V[3]||(V[3]=e.withModifiers(v=>z(1),["prevent"]))},"1")])):e.createCommentVNode("",!0),o.value>4?(e.openBlock(),e.createElementBlock("li",Sa,[...V[8]||(V[8]=[e.createElementVNode("span",{class:"page-link"},"...",-1)])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Array.from({length:C.value},(v,x)=>x+1).filter(v=>v>=o.value-2&&v<=o.value+2),v=>(e.openBlock(),e.createElementBlock("li",{key:v,class:e.normalizeClass(["page-item",{active:v===o.value}])},[e.createElementVNode("a",{class:"page-link",href:"#",onClick:e.withModifiers(x=>z(v),["prevent"])},e.toDisplayString(v),9,Ca)],2))),128)),o.value<C.value-3?(e.openBlock(),e.createElementBlock("li",Va,[...V[9]||(V[9]=[e.createElementVNode("span",{class:"page-link"},"...",-1)])])):e.createCommentVNode("",!0),o.value<C.value-2?(e.openBlock(),e.createElementBlock("li",va,[e.createElementVNode("a",{class:"page-link",href:"#",onClick:V[4]||(V[4]=e.withModifiers(v=>z(C.value),["prevent"]))},e.toDisplayString(C.value),1)])):e.createCommentVNode("",!0),e.createElementVNode("li",{class:e.normalizeClass(["page-item",{disabled:o.value===C.value}])},[e.createElementVNode("a",{class:"page-link",href:"#",onClick:V[5]||(V[5]=e.withModifiers(v=>z(o.value+1),["prevent"]))}," Next ")],2)])])])):e.createCommentVNode("",!0)])]))}}),[["__scopeId","data-v-c496dc70"]]),wa=["for"],$a={key:0,class:"text-danger"},Ea=["id","type","value","placeholder","disabled","readonly","required","aria-invalid","aria-describedby"],Na=["id"],xa={key:0,class:"valid-feedback",style:{display:"block"}},Ta=["id"],La=["id","type","value","placeholder","disabled","readonly","required","aria-invalid"],Ne=e.defineComponent({__name:"VibeFormInput",props:{modelValue:{type:[String,Number],default:""},type:{type:String,default:"text"},id:{type:String,default:void 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},noWrapper:{type:Boolean,default:!1},focusRing:{type:Boolean,default:!1}},emits:["update:modelValue","validate","blur","focus","input","change"],setup(t,{emit:r}){const a=t,o=r,l=e.inject("vibeFormGroup",null),i=e.computed(()=>a.id||l?.consumeId()||N("input")),n=e.computed(()=>!!a.label&&!l?.hasLabel.value),s=e.computed(()=>!!a.validationState&&!l?.hasValidation.value),u=e.computed(()=>!!a.helpText&&!l?.hasHelp.value),c=e.computed(()=>{const d=[];return a.plaintext?d.push("form-control-plaintext"):(d.push("form-control"),a.size&&d.push(`form-control-${a.size}`)),a.validationState==="valid"&&d.push("is-valid"),a.validationState==="invalid"&&d.push("is-invalid"),a.focusRing&&d.push("focus-ring"),d.join(" ")}),b=d=>{const f=d.target,p=a.type==="number"?f.value===""?"":Number(f.value):f.value;o("update:modelValue",p),o("input",d),a.validateOn==="input"&&o("validate")},m=d=>{o("change",d),a.validateOn==="change"&&o("validate")},g=d=>{o("blur",d),a.validateOn==="blur"&&o("validate")},h=d=>{o("focus",d)};return(d,f)=>t.noWrapper?(e.openBlock(),e.createElementBlock("input",{key:1,id:i.value,type:t.type,class:e.normalizeClass(c.value),value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly||t.plaintext,required:t.required,"aria-invalid":t.validationState==="invalid",onInput:b,onChange:m,onBlur:g,onFocus:h},null,42,La)):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass({"mb-3":n.value||u.value||s.value})},[n.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",$a,"*")):e.createCommentVNode("",!0)],8,wa)):e.createCommentVNode("",!0),e.createElementVNode("input",{id:i.value,type:t.type,class:e.normalizeClass(c.value),value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly||t.plaintext,required:t.required,"aria-invalid":t.validationState==="invalid","aria-describedby":t.validationMessage||t.helpText?`${i.value}-feedback`:void 0,onInput:b,onChange:m,onBlur:g,onFocus:h},null,42,Ea),u.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,Na)):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",xa,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide a valid value."),9,Ta)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),za=["for"],Da={key:0,class:"text-danger"},Ma=["id","value","multiple","size","disabled","required","aria-invalid","aria-describedby"],Fa={key:0,value:"",disabled:"",selected:""},Ia=["value","disabled"],Ra=["id"],Pa={key:0,class:"valid-feedback",style:{display:"block"}},qa=["id"],xe=e.defineComponent({__name:"VibeFormSelect",props:{modelValue:{type:[String,Number,Array],default:""},id:{type:String,default:void 0},label:{type:String,default:void 0},options:{type:Array,default:()=>[]},multiple:{type:Boolean,default:!1},selectSize:{type:Number,default:void 0},htmlSize:{type:Number,default:void 0},placeholder:{type:String,default:void 0},disabled:{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:"change"},helpText:{type:String,default:void 0}},emits:["update:modelValue","validate","blur","focus","change"],setup(t,{emit:r}){const a=t,o=r,l=e.inject("vibeFormGroup",null),i=e.computed(()=>a.id||l?.consumeId()||N("select")),n=e.computed(()=>!!a.label&&!l?.hasLabel.value),s=e.computed(()=>!!a.validationState&&!l?.hasValidation.value),u=e.computed(()=>!!a.helpText&&!l?.hasHelp.value),c=e.computed(()=>{const d=["form-select"];return a.size&&d.push(`form-select-${a.size}`),a.validationState==="valid"&&d.push("is-valid"),a.validationState==="invalid"&&d.push("is-invalid"),d.join(" ")}),b=d=>{const f=d.target;let p;a.multiple?p=Array.from(f.selectedOptions).map(y=>y.value):p=f.value,o("update:modelValue",p)},m=d=>{o("change",d),a.validateOn==="change"&&o("validate")},g=d=>{o("blur",d),a.validateOn==="blur"&&o("validate")},h=d=>{o("focus",d)};return(d,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"mb-3":n.value||u.value||s.value})},[n.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Da,"*")):e.createCommentVNode("",!0)],8,za)):e.createCommentVNode("",!0),e.createElementVNode("select",{id:i.value,class:e.normalizeClass(c.value),value:t.modelValue,multiple:t.multiple,size:t.htmlSize||t.selectSize,disabled:t.disabled,required:t.required,"aria-invalid":t.validationState==="invalid","aria-describedby":t.validationMessage||t.helpText?`${i.value}-feedback`:void 0,onInput:b,onChange:m,onBlur:g,onFocus:h},[t.placeholder?(e.openBlock(),e.createElementBlock("option",Fa,e.toDisplayString(t.placeholder),1)):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,p=>(e.openBlock(),e.createElementBlock("option",{key:String(p.value),value:p.value,disabled:p.disabled},e.toDisplayString(p.text),9,Ia))),128))])],42,Ma),u.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,Ra)):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",Pa,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please select an option."),9,qa)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),ja=["for"],Aa={key:0,class:"text-danger"},Oa=["id","value","placeholder","rows","maxlength","disabled","readonly","required","aria-invalid","aria-describedby"],Ha=["id"],Ga={key:0,class:"ms-auto"},Xa={key:0,class:"valid-feedback",style:{display:"block"}},Ua=["id"],Te=e.defineComponent({__name:"VibeFormTextarea",props:{modelValue:{type:String,default:""},id:{type:String,default:void 0},label:{type:String,default:void 0},placeholder:{type:String,default:void 0},rows:{type:[Number,String],default:3},maxlength:{type:[Number,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},noResize:{type:Boolean,default:!1},showCharCount:{type:Boolean,default:!1}},emits:["update:modelValue","validate","blur","focus","input","change"],setup(t,{emit:r}){const a=t,o=r,l=e.inject("vibeFormGroup",null),i=e.computed(()=>a.id||l?.consumeId()||N("textarea")),n=e.computed(()=>!!a.label&&!l?.hasLabel.value),s=e.computed(()=>!!a.validationState&&!l?.hasValidation.value),u=e.computed(()=>(!!a.helpText||a.showCharCount)&&!l?.hasHelp.value),c=e.computed(()=>{const p=["form-control"];return a.size&&p.push(`form-control-${a.size}`),a.validationState==="valid"&&p.push("is-valid"),a.validationState==="invalid"&&p.push("is-invalid"),p.join(" ")}),b=e.computed(()=>{if(a.noResize)return{resize:"none"}}),m=e.computed(()=>a.modelValue?.length||0),g=p=>{const y=p.target;o("update:modelValue",y.value),o("input",p),a.validateOn==="input"&&o("validate")},h=p=>{o("change",p),a.validateOn==="change"&&o("validate")},d=p=>{o("blur",p),a.validateOn==="blur"&&o("validate")},f=p=>{o("focus",p)};return(p,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"mb-3":n.value||u.value||s.value})},[n.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Aa,"*")):e.createCommentVNode("",!0)],8,ja)):e.createCommentVNode("",!0),e.createElementVNode("textarea",{id:i.value,class:e.normalizeClass(c.value),style:e.normalizeStyle(b.value),value:t.modelValue,placeholder:t.placeholder,rows:t.rows,maxlength:t.maxlength,disabled:t.disabled,readonly:t.readonly,required:t.required,"aria-invalid":t.validationState==="invalid","aria-describedby":t.validationMessage||t.helpText||t.showCharCount?`${i.value}-feedback`:void 0,onInput:g,onChange:h,onBlur:d,onFocus:f},null,46,Oa),u.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text d-flex justify-content-between"},[e.createElementVNode("span",null,e.toDisplayString(t.helpText),1),t.showCharCount?(e.openBlock(),e.createElementBlock("span",Ga,[t.maxlength?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(m.value)+" / "+e.toDisplayString(t.maxlength),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(m.value),1)],64))])):e.createCommentVNode("",!0)],8,Ha)):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",Xa,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide a valid value."),9,Ua)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Ya=["for"],Ja={key:0,class:"text-danger"},Ka=["disabled"],Wa=["id","value","disabled","readonly","required","min","max","step","aria-invalid","aria-describedby"],Qa=["disabled"],Za=["id"],_a={key:0,class:"valid-feedback",style:{display:"block"}},eo=["id"],Le=I(e.defineComponent({__name:"VibeFormSpinbutton",props:{modelValue:{type:Number,default:0,validator:t=>!0},id:{type:String,default:void 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.inject("vibeFormGroup",null),i=e.computed(()=>a.id||l?.consumeId()||N("spinbutton")),n=e.computed(()=>!!a.label&&!l?.hasLabel.value),s=e.computed(()=>!!a.validationState&&!l?.hasValidation.value),u=e.computed(()=>!!a.helpText&&!l?.hasHelp.value),c=e.computed(()=>{const k=["form-control"];return a.size&&k.push(`form-control-${a.size}`),a.validationState==="valid"&&k.push("is-valid"),a.validationState==="invalid"&&k.push("is-invalid"),k.join(" ")}),b=e.computed(()=>{const k=["input-group"];return a.size&&k.push(`input-group-${a.size}`),a.vertical&&k.push("input-group-vertical"),k.join(" ")}),m=e.computed(()=>a.disabled||a.readonly?!1:a.min===void 0||a.wrap?!0:a.modelValue>a.min),g=e.computed(()=>a.disabled||a.readonly?!1:a.max===void 0||a.wrap?!0:a.modelValue<a.max),h=k=>{const E=k.target;let w=E.value===""?0:Number(E.value);a.min!==void 0&&w<a.min&&(w=a.min),a.max!==void 0&&w>a.max&&(w=a.max),o("update:modelValue",w),o("input",k),a.validateOn==="input"&&o("validate")},d=k=>{o("change",k),a.validateOn==="change"&&o("validate")},f=k=>{o("blur",k),a.validateOn==="blur"&&o("validate")},p=k=>{o("focus",k)},y=()=>{if(!g.value)return;let k=a.modelValue+a.step;a.max!==void 0&&k>a.max&&(k=a.wrap?a.min??0:a.max),o("update:modelValue",k),o("increment",k),a.validateOn==="change"&&o("validate")},C=()=>{if(!m.value)return;let k=a.modelValue-a.step;a.min!==void 0&&k<a.min&&(k=a.wrap?a.max??0:a.min),o("update:modelValue",k),o("decrement",k),a.validateOn==="change"&&o("validate")};return(k,E)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"mb-3":n.value||u.value||s.value})},[n.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Ja,"*")):e.createCommentVNode("",!0)],8,Ya)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(b.value)},[e.createElementVNode("button",{class:"btn btn-outline-secondary",type:"button",disabled:!m.value,onClick:C,"aria-label":"Decrement"},[...E[0]||(E[0]=[e.createElementVNode("span",{"aria-hidden":"true"},"−",-1)])],8,Ka),e.createElementVNode("input",{id:i.value,type:"number",class:e.normalizeClass(c.value),value:t.modelValue,disabled:t.disabled,readonly:t.readonly,required:t.required,min:t.min,max:t.max,step:t.step,"aria-invalid":t.validationState==="invalid","aria-describedby":t.validationMessage||t.helpText?`${i.value}-feedback`:void 0,onInput:h,onChange:d,onBlur:f,onFocus:p},null,42,Wa),e.createElementVNode("button",{class:"btn btn-outline-secondary",type:"button",disabled:!g.value,onClick:y,"aria-label":"Increment"},[...E[1]||(E[1]=[e.createElementVNode("span",{"aria-hidden":"true"},"+",-1)])],8,Qa)],2),u.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,Za)):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",_a,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide a valid value."),9,eo)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-49746a62"]]),to=["for"],ao={key:0,class:"text-danger"},oo=["id","type","value","disabled","readonly","required","min","max","aria-invalid","aria-describedby"],lo=["id"],no={key:0,class:"valid-feedback",style:{display:"block"}},io=["id"],ze=e.defineComponent({__name:"VibeFormDatepicker",props:{modelValue:{type:String,default:"",validator:t=>!0},id:{type:String,default:void 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.inject("vibeFormGroup",null),i=e.computed(()=>a.id||l?.consumeId()||N("datepicker")),n=e.computed(()=>!!a.label&&!l?.hasLabel.value),s=e.computed(()=>!!a.validationState&&!l?.hasValidation.value),u=e.computed(()=>!!a.helpText&&!l?.hasHelp.value),c=e.computed(()=>{const d=["form-control"];return a.size&&d.push(`form-control-${a.size}`),a.validationState==="valid"&&d.push("is-valid"),a.validationState==="invalid"&&d.push("is-invalid"),d.join(" ")}),b=d=>{const f=d.target;o("update:modelValue",f.value),o("input",d),a.validateOn==="input"&&o("validate")},m=d=>{o("change",d),a.validateOn==="change"&&o("validate")},g=d=>{o("blur",d),a.validateOn==="blur"&&o("validate")},h=d=>{o("focus",d)};return(d,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"mb-3":n.value||u.value||s.value})},[n.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",ao,"*")):e.createCommentVNode("",!0)],8,to)):e.createCommentVNode("",!0),e.createElementVNode("input",{id:i.value,type:t.type,class:e.normalizeClass(c.value),value:t.modelValue,disabled:t.disabled,readonly:t.readonly,required:t.required,min:t.min,max:t.max,"aria-invalid":t.validationState==="invalid","aria-describedby":t.validationMessage||t.helpText?`${i.value}-feedback`:void 0,onInput:b,onChange:m,onBlur:g,onFocus:h},null,42,oo),u.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,lo)):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",no,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide a valid date."),9,io)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),ro=["id","checked","disabled","required","indeterminate","aria-invalid","aria-describedby"],so=["for"],co={key:0,class:"text-danger"},uo=["id"],mo={key:0,class:"valid-feedback",style:{display:"block"}},fo=["id"],De=e.defineComponent({__name:"VibeFormCheckbox",props:{modelValue:{type:[Boolean,Array],default:!1},value:{type:[String,Number,Boolean],default:!0},id:{type:String,default:void 0},label:{type:String,default:void 0},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},indeterminate:{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:"change"},helpText:{type:String,default:void 0},reverse:{type:Boolean,default:!1}},emits:["update:modelValue","validate","blur","focus","change"],setup(t,{emit:r}){const a=t,o=r,l=e.inject("vibeFormGroup",null),i=e.computed(()=>a.id||l?.consumeId()||N("checkbox")),n=e.computed(()=>!!a.label&&!l?.hasLabel.value),s=e.computed(()=>!!a.validationState&&!l?.hasValidation.value),u=e.computed(()=>!!a.helpText&&!l?.hasHelp.value),c=e.computed(()=>{const f=["form-check"];return a.inline&&f.push("form-check-inline"),a.reverse&&f.push("form-check-reverse"),f.join(" ")}),b=e.computed(()=>{const f=["form-check-input"];return a.validationState==="valid"&&f.push("is-valid"),a.validationState==="invalid"&&f.push("is-invalid"),f.join(" ")}),m=e.computed(()=>Array.isArray(a.modelValue)?a.modelValue.includes(a.value):a.modelValue===a.value),g=f=>{const p=f.target;let y;if(Array.isArray(a.modelValue))if(y=[...a.modelValue],p.checked)y.push(a.value);else{const C=y.indexOf(a.value);C>-1&&y.splice(C,1)}else y=p.checked?a.value:a.value===!0?!1:null;o("update:modelValue",y),o("change",f),a.validateOn==="change"&&o("validate")},h=f=>{o("blur",f),a.validateOn==="blur"&&o("validate")},d=f=>{o("focus",f)};return(f,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([c.value,{"mb-3":n.value||u.value||s.value}])},[e.createElementVNode("input",{id:i.value,type:"checkbox",class:e.normalizeClass(b.value),checked:m.value,disabled:t.disabled,required:t.required,indeterminate:t.indeterminate,"aria-invalid":t.validationState==="invalid","aria-describedby":t.validationMessage||t.helpText?`${i.value}-feedback`:void 0,onChange:g,onBlur:h,onFocus:d},null,42,ro),n.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-check-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",co,"*")):e.createCommentVNode("",!0)],8,so)):e.createCommentVNode("",!0),u.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,uo)):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",mo,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please check this box."),9,fo)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),po=["id","name","value","checked","disabled","required","aria-invalid","aria-describedby"],bo=["for"],ho={key:0,class:"text-danger"},yo=["id"],go={key:0,class:"valid-feedback",style:{display:"block"}},ko=["id"],Me=e.defineComponent({__name:"VibeFormRadio",props:{modelValue:{type:[String,Number,Boolean],default:""},value:{type:[String,Number,Boolean],required:!0},name:{type:String,required:!0},id:{type:String,default:void 0},label:{type:String,default:void 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:"change"},helpText:{type:String,default:void 0},reverse:{type:Boolean,default:!1}},emits:["update:modelValue","validate","blur","focus","change"],setup(t,{emit:r}){const a=t,o=r,l=e.inject("vibeFormGroup",null),i=e.computed(()=>a.id||l?.consumeId()||N("radio")),n=e.computed(()=>!!a.label&&!l?.hasLabel.value),s=e.computed(()=>!!a.validationState&&!l?.hasValidation.value),u=e.computed(()=>!!a.helpText&&!l?.hasHelp.value),c=e.computed(()=>{const f=["form-check"];return a.inline&&f.push("form-check-inline"),a.reverse&&f.push("form-check-reverse"),f.join(" ")}),b=e.computed(()=>{const f=["form-check-input"];return a.validationState==="valid"&&f.push("is-valid"),a.validationState==="invalid"&&f.push("is-invalid"),f.join(" ")}),m=e.computed(()=>a.modelValue===a.value),g=f=>{o("update:modelValue",a.value),o("change",f),a.validateOn==="change"&&o("validate")},h=f=>{o("blur",f),a.validateOn==="blur"&&o("validate")},d=f=>{o("focus",f)};return(f,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([c.value,{"mb-3":n.value||u.value||s.value}])},[e.createElementVNode("input",{id:i.value,type:"radio",class:e.normalizeClass(b.value),name:t.name,value:t.value,checked:m.value,disabled:t.disabled,required:t.required,"aria-invalid":t.validationState==="invalid","aria-describedby":t.validationMessage||t.helpText?`${i.value}-feedback`:void 0,onChange:g,onBlur:h,onFocus:d},null,42,po),n.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-check-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",ho,"*")):e.createCommentVNode("",!0)],8,bo)):e.createCommentVNode("",!0),u.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,yo)):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",go,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please select an option."),9,ko)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Bo=["id","checked","disabled","required","aria-invalid","aria-describedby"],So=["for"],Co={key:0,class:"text-danger"},Vo=["id"],vo={key:0,class:"valid-feedback",style:{display:"block"}},wo=["id"],Fe=e.defineComponent({__name:"VibeFormSwitch",props:{modelValue:{type:Boolean,default:!1},id:{type:String,default:void 0},label:{type:String,default:void 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:"change"},helpText:{type:String,default:void 0}},emits:["update:modelValue","validate","blur","focus","change"],setup(t,{emit:r}){const a=t,o=r,l=e.inject("vibeFormGroup",null),i=e.computed(()=>a.id||l?.consumeId()||N("switch")),n=e.computed(()=>!!a.label&&!l?.hasLabel.value),s=e.computed(()=>!!a.validationState&&!l?.hasValidation.value),u=e.computed(()=>!!a.helpText&&!l?.hasHelp.value),c=e.computed(()=>{const d=["form-check","form-switch"];return a.inline&&d.push("form-check-inline"),d.join(" ")}),b=e.computed(()=>{const d=["form-check-input"];return a.validationState==="valid"&&d.push("is-valid"),a.validationState==="invalid"&&d.push("is-invalid"),d.join(" ")}),m=d=>{const f=d.target;o("update:modelValue",f.checked),o("change",d),a.validateOn==="change"&&o("validate")},g=d=>{o("blur",d),a.validateOn==="blur"&&o("validate")},h=d=>{o("focus",d)};return(d,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([c.value,{"mb-3":n.value||u.value||s.value}])},[e.createElementVNode("input",{id:i.value,type:"checkbox",role:"switch",class:e.normalizeClass(b.value),checked:t.modelValue,disabled:t.disabled,required:t.required,"aria-invalid":t.validationState==="invalid","aria-describedby":t.validationMessage||t.helpText?`${i.value}-feedback`:void 0,onChange:m,onBlur:g,onFocus:h},null,42,Bo),n.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-check-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Co,"*")):e.createCommentVNode("",!0)],8,So)):e.createCommentVNode("",!0),u.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,Vo)):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",vo,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please toggle this switch."),9,wo)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),$o=["for"],Eo={key:0,class:"text-danger"},No=["id"],xo={key:1,class:"valid-feedback",style:{display:"block"}},To=["id"],Lo=["for"],zo={key:0,class:"text-danger"},Do=["id"],Mo={key:2,class:"valid-feedback",style:{display:"block"}},Fo=["id"],Ie=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(()=>r.labelFor||N("form-group")),o=e.ref(!1),l=()=>o.value?null:(o.value=!0,a.value);e.provide("vibeFormGroup",{id:a,consumeId:l,hasLabel:e.computed(()=>!!r.label),hasValidation:e.computed(()=>!!r.validationState),hasHelp:e.computed(()=>!!r.helpText)});const i=e.computed(()=>{const c=[];return r.floating?c.push("form-floating"):r.row?c.push("row","mb-3"):c.push("mb-3"),c.join(" ")}),n=e.computed(()=>{const c=[];return r.floating?c.push("form-label"):r.row?(c.push("col-form-label"),r.labelCols&&c.push(`col-sm-${r.labelCols}`),r.labelAlign&&c.push(`text-${r.labelAlign}`)):c.push("form-label"),c.join(" ")}),s=e.computed(()=>r.row&&r.labelCols?`col-sm-${12-Number(r.labelCols)}`:""),u=e.computed(()=>`${a.value}-feedback`);return(c,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(i.value)},[t.label&&!t.floating?(e.openBlock(),e.createElementBlock("label",{key:0,for:a.value,class:e.normalizeClass(n.value)},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Eo,"*")):e.createCommentVNode("",!0)],10,$o)):e.createCommentVNode("",!0),t.row&&t.labelCols?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(s.value)},[e.renderSlot(c.$slots,"default"),t.helpText&&!t.validationMessage?(e.openBlock(),e.createElementBlock("div",{key:0,id:u.value,class:"form-text"},e.toDisplayString(t.helpText),9,No)):e.createCommentVNode("",!0),t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",xo,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:2,id:u.value,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide a valid value."),9,To)):e.createCommentVNode("",!0)],2)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.renderSlot(c.$slots,"default"),t.label&&t.floating?(e.openBlock(),e.createElementBlock("label",{key:0,for:a.value,class:e.normalizeClass(n.value)},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",zo,"*")):e.createCommentVNode("",!0)],10,Lo)):e.createCommentVNode("",!0),t.helpText&&!t.validationMessage?(e.openBlock(),e.createElementBlock("div",{key:1,id:u.value,class:"form-text"},e.toDisplayString(t.helpText),9,Do)):e.createCommentVNode("",!0),t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",Mo,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:3,id:u.value,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide a valid value."),9,Fo)):e.createCommentVNode("",!0)],64))],2))}}),R={sm:576,md:768,lg:992,xl:1200,xxl:1400};function Re(){const t=e.ref(!1),r=e.ref(!1),a=e.ref(!1),o=e.ref(!1),l=e.ref(!1),i=()=>{typeof window>"u"||(t.value=window.matchMedia(`(min-width: ${R.sm}px)`).matches,r.value=window.matchMedia(`(min-width: ${R.md}px)`).matches,a.value=window.matchMedia(`(min-width: ${R.lg}px)`).matches,o.value=window.matchMedia(`(min-width: ${R.xl}px)`).matches,l.value=window.matchMedia(`(min-width: ${R.xxl}px)`).matches)};i();const n=e.computed(()=>!t.value),s=e.computed(()=>!r.value),u=e.computed(()=>r.value&&!a.value);return typeof window<"u"&&Object.entries(R).forEach(([c,b])=>{const m=window.matchMedia(`(min-width: ${b}px)`),g=()=>{i()};m.addEventListener("change",g),e.getCurrentInstance()&&e.onUnmounted(()=>m.removeEventListener("change",g))}),{isXs:n,isSm:t,isMd:r,isLg:a,isXl:o,isXxl:l,isMobile:s,isTablet:u}}const Io=["for"],Ro={key:0,class:"text-danger"},Po={key:1,class:"alert alert-warning",role:"alert"},qo=["id"],jo=["id"],Ao={key:0,class:"valid-feedback",style:{display:"block"}},Oo=["id"],Pe=I(e.defineComponent({__name:"VibeFormWysiwyg",props:{modelValue:{type:String,default:""},id:{type:String,default:()=>N("wysiwyg")},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},mobileToolbar:{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.inject("vibeFormGroup",null),i=e.computed(()=>a.id||l?.id.value||N("wysiwyg")),{isMobile:n}=Re(),s=e.computed(()=>!!a.label&&!l?.hasLabel.value),u=e.computed(()=>!!a.validationState&&!l?.hasValidation.value),c=e.computed(()=>!!a.helpText&&!l?.hasHelp.value),b=e.ref(null),m=e.ref(null),g=e.ref(!1),h=e.ref(null),d=e.ref(!1),f=e.ref(null),p=e.ref(null),y=e.ref(null),C=e.computed(()=>{const $=["vibe-wysiwyg-container"];return a.validationState==="valid"&&$.push("is-valid"),a.validationState==="invalid"&&$.push("is-invalid"),a.disabled&&$.push("disabled"),$.join(" ")}),k=[[{header:[1,2,3,!1]}],["bold","italic","underline","strike"],[{list:"ordered"},{list:"bullet"}],[{color:[]},{background:[]}],["link","image"],["clean"]],E=[["bold","italic","underline"],[{list:"ordered"},{list:"bullet"}],["link","clean"]],w=()=>a.toolbar===!1?!1:n.value?a.mobileToolbar===!1?!1:a.mobileToolbar!==void 0?a.mobileToolbar:E:a.toolbar===!0||a.toolbar===void 0?k:a.toolbar,L=$=>{m.value&&(d.value=!0,m.value.setContents([],"silent"),$&&m.value.clipboard.dangerouslyPasteHTML($,"silent"),d.value=!1)},F=()=>!m.value||m.value.getText().trim().length===0?"":m.value.getSemanticHTML(),z=async()=>{try{const $=await import("quill"),D=$.default||$;if(await import("quill/dist/quill.snow.css"),b.value){const X={theme:a.theme,placeholder:a.placeholder,readOnly:a.readonly||a.disabled,modules:{toolbar:w()}};m.value=new D(b.value,X),a.modelValue&&L(a.modelValue),y.value=()=>{if(d.value)return;const U=F();o("update:modelValue",U),o("change"),a.validateOn==="change"&&o("validate")},m.value.on("text-change",y.value),f.value=()=>{o("blur"),a.validateOn==="blur"&&o("validate")},m.value.root.addEventListener("blur",f.value),p.value=()=>{o("focus")},m.value.root.addEventListener("focus",p.value),g.value=!0,o("ready",m.value)}}catch($){console.error("Failed to load Quill editor:",$),h.value="Failed to load WYSIWYG editor. Please install quill: npm install quill",g.value=!1}};return e.onMounted(z),e.onBeforeUnmount(()=>{if(m.value){if(y.value&&(m.value.off("text-change",y.value),y.value=null),f.value&&(m.value.root.removeEventListener("blur",f.value),f.value=null),p.value&&(m.value.root.removeEventListener("focus",p.value),p.value=null),b.value){const $=b.value.parentElement?.querySelector(".ql-toolbar");$&&$.remove()}m.value=null}}),e.watch(()=>a.modelValue,$=>{if(!m.value)return;F()!==($||"")&&L($||"")}),e.watch(()=>a.disabled,$=>{m.value&&m.value.enable(!$)}),e.watch(()=>a.readonly,$=>{m.value&&m.value.enable(!$)}),e.watch(n,async()=>{if(m.value){const $=F();y.value&&m.value.off("text-change",y.value),f.value&&m.value.root.removeEventListener("blur",f.value),p.value&&m.value.root.removeEventListener("focus",p.value);const D=b.value?.parentElement?.querySelector(".ql-toolbar");D&&D.remove(),b.value&&(b.value.innerHTML=""),await e.nextTick(),await z(),$&&L($)}}),($,D)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"mb-3":s.value||c.value||u.value})},[s.value?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"form-label"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.required?(e.openBlock(),e.createElementBlock("span",Ro,"*")):e.createCommentVNode("",!0)],8,Io)):e.createCommentVNode("",!0),h.value?(e.openBlock(),e.createElementBlock("div",Po,e.toDisplayString(h.value),1)):(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(C.value),style:e.normalizeStyle({minHeight:t.height})},[e.createElementVNode("div",{ref_key:"editorContainer",ref:b,id:i.value},null,8,qo)],6)),c.value?(e.openBlock(),e.createElementBlock("div",{key:3,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,jo)):e.createCommentVNode("",!0),u.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",Ao,e.toDisplayString(t.validationMessage||"Looks good!"),1)):e.createCommentVNode("",!0),t.validationState==="invalid"?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"invalid-feedback",style:{display:"block"}},e.toDisplayString(t.validationMessage||"Please provide valid content."),9,Oo)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-952f7269"]]),Ho={key:0,class:"input-group-text"},Go={key:0,class:"input-group-text"},qe=e.defineComponent({__name:"VibeInputGroup",props:{size:{type:String,default:void 0},prepend:{type:String,default:void 0},append:{type:String,default:void 0},tag:{type:String,default:"div"}},setup(t){const r=t,a=e.computed(()=>{const o=["input-group"];return r.size&&o.push(`input-group-${r.size}`),o.join(" ")});return(o,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(a.value)},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"prepend",{},()=>[t.prepend?(e.openBlock(),e.createElementBlock("span",Ho,e.toDisplayString(t.prepend),1)):e.createCommentVNode("",!0)]),e.renderSlot(o.$slots,"default"),e.renderSlot(o.$slots,"append",{},()=>[t.append?(e.openBlock(),e.createElementBlock("span",Go,e.toDisplayString(t.append),1)):e.createCommentVNode("",!0)])]),_:3},8,["class"]))}}),je=e.defineComponent({__name:"VibeLink",props:{tag:{type:String,default:"a"},href:{type:String,default:void 0},to:{type:[String,Object],default:void 0},variant:{type:String,default:void 0},underline:{type:[Boolean,String],default:!0},underlineVariant:{type:String,default:void 0},underlineOpacity:{type:[String,Number],default:void 0},offset:{type:[String,Number],default:void 0},opacity:{type:[String,Number],default:void 0},focusRing:{type:Boolean,default:!1}},setup(t){const r=t,a=e.computed(()=>!!r.to),o=e.computed(()=>a.value?"router-link":r.tag),l=e.computed(()=>{const i=[];return r.variant&&i.push(`link-${r.variant}`),r.underline===!1||r.underline==="0"?i.push("link-underline-0"):typeof r.underline=="string"&&["1","2","3"].includes(r.underline)&&i.push("link-underline",`link-underline-opacity-${r.underline}`),r.underlineVariant&&i.push(`link-underline-${r.underlineVariant}`),r.underlineOpacity!==void 0&&i.push(`link-underline-opacity-${r.underlineOpacity}`),r.offset!==void 0&&i.push(`link-offset-${r.offset}`),r.opacity!==void 0&&i.push(`link-opacity-${r.opacity}`),r.focusRing&&i.push("focus-ring"),i.join(" ")});return(i,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{class:e.normalizeClass(l.value),href:t.href,to:t.to},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},8,["class","href","to"]))}}),Xo={install(t){t.component("VibeAlert",Y),t.component("VibeBadge",J),t.component("VibeButton",K),t.component("VibeButtonGroup",W),t.component("VibeCloseButton",Q),t.component("VibeSpinner",Z),t.component("VibePlaceholder",_),t.component("VibeContainer",ee),t.component("VibeRow",te),t.component("VibeCol",ae),t.component("VibeCard",oe),t.component("VibeBreadcrumb",le),t.component("VibeNav",ne),t.component("VibeNavbar",ie),t.component("VibeNavbarBrand",re),t.component("VibeNavbarToggle",se),t.component("VibeNavbarNav",de),t.component("VibePagination",ce),t.component("VibeTabContent",ue),t.component("VibeListGroup",me),t.component("VibeProgress",fe),t.component("VibeAccordion",be),t.component("VibeCollapse",he),t.component("VibeDropdown",ye),t.component("VibeModal",ke),t.component("VibeOffcanvas",Be),t.component("VibeToast",Se),t.component("VibeCarousel",Ce),t.component("VibeTooltip",Ve),t.component("VibePopover",ve),t.component("VibeScrollspy",we),t.component("VibeIcon",$e),t.component("VibeDataTable",Ee),t.component("VibeFormInput",Ne),t.component("VibeFormSelect",xe),t.component("VibeFormTextarea",Te),t.component("VibeFormSpinbutton",Le),t.component("VibeFormDatepicker",ze),t.component("VibeFormCheckbox",De),t.component("VibeFormRadio",Me),t.component("VibeFormSwitch",Fe),t.component("VibeFormGroup",Ie),t.component("VibeFormWysiwyg",Pe),t.component("VibeInputGroup",qe),t.component("VibeLink",je)}};function Uo(t=""){const r=e.ref(t),a=e.ref(null),o=e.ref(""),l=e.ref(!1),i=e.ref(!1),n=e.ref(!1),s=async h=>{if(!h)return a.value=null,o.value="",{valid:!0};n.value=!0;try{const d=Array.isArray(h)?h:[{validator:h}];for(const f of d){const p=await f.validator(r.value);if(p===!1||typeof p=="string")return a.value="invalid",o.value=typeof p=="string"?p:f.message||"Invalid value",n.value=!1,{valid:!1,message:o.value}}return a.value="valid",o.value="",n.value=!1,{valid:!0}}catch{return a.value="invalid",o.value="Validation error occurred",n.value=!1,{valid:!1,message:o.value}}},u=()=>{r.value=t,a.value=null,o.value="",l.value=!1,i.value=!1,n.value=!1},c=()=>{i.value=!0},b=()=>{l.value=!0},m=e.computed(()=>a.value==="valid"),g=e.computed(()=>a.value==="invalid");return{value:r,validationState:a,validationMessage:o,isDirty:l,isTouched:i,isValidating:n,isValid:m,isInvalid:g,validate:s,reset:u,markAsTouched:c,markAsDirty:b}}const Yo={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=>{if(a==null||a==="")return!0;const o=Number(a);return Number.isNaN(o)?r||"Value must be a number":o>=t||r||`Minimum value is ${t}`},message:r}),max:(t,r)=>({validator:a=>{if(a==null||a==="")return!0;const o=Number(a);return Number.isNaN(o)?r||"Value must be a number":o<=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})},A="vibe-color-mode",O={light:"dark",dark:"auto",auto:"light"},P=e.ref("auto");let H=!1;const G=[];function Jo(){return typeof window>"u"?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function Ae(t){if(typeof document>"u")return;const r=t==="auto"?Jo():t;document.documentElement.setAttribute("data-bs-theme",r)}function q(t){P.value=t,Ae(t),G.forEach(r=>r(t))}q("auto"),typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{P.value==="auto"&&(Ae("auto"),G.forEach(t=>t("auto")))});function Ko(){function t(i){if(i in O){try{localStorage.setItem(A,i)}catch{}q(i)}}function r(){if(H)return;let i="auto";try{const n=localStorage.getItem(A);n!==null&&n in O&&(i=n)}catch{}q(i),H=!0}function a(){try{localStorage.removeItem(A)}catch{}H=!1,q("auto")}function o(){t(O[P.value]??"auto")}function l(i){G.push(i)}return{colorMode:P,setColorMode:t,toggleColorMode:o,initColorMode:r,clearColorMode:a,onColorModeChange:l}}B.VibeAccordion=be,B.VibeAlert=Y,B.VibeBadge=J,B.VibeBreadcrumb=le,B.VibeButton=K,B.VibeButtonGroup=W,B.VibeCard=oe,B.VibeCarousel=Ce,B.VibeCloseButton=Q,B.VibeCol=ae,B.VibeCollapse=he,B.VibeContainer=ee,B.VibeDataTable=Ee,B.VibeDropdown=ye,B.VibeFormCheckbox=De,B.VibeFormDatepicker=ze,B.VibeFormGroup=Ie,B.VibeFormInput=Ne,B.VibeFormRadio=Me,B.VibeFormSelect=xe,B.VibeFormSpinbutton=Le,B.VibeFormSwitch=Fe,B.VibeFormTextarea=Te,B.VibeFormWysiwyg=Pe,B.VibeIcon=$e,B.VibeInputGroup=qe,B.VibeLink=je,B.VibeListGroup=me,B.VibeModal=ke,B.VibeNav=ne,B.VibeNavbar=ie,B.VibeNavbarBrand=re,B.VibeNavbarNav=de,B.VibeNavbarToggle=se,B.VibeOffcanvas=Be,B.VibePagination=ce,B.VibePlaceholder=_,B.VibePopover=ve,B.VibeProgress=fe,B.VibeRow=te,B.VibeScrollspy=we,B.VibeSpinner=Z,B.VibeTabContent=ue,B.VibeToast=Se,B.VibeTooltip=Ve,B.default=Xo,B.useBackButton=j,B.useBreakpoints=Re,B.useColorMode=Ko,B.useFormValidation=Uo,B.useId=N,B.validators=Yo,Object.defineProperties(B,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|