@velkymx/vibeui 0.8.2 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/AGENTS.md +44 -0
  2. package/README.md +245 -58
  3. package/dist/purify.es-1D-VntFD.mjs +679 -0
  4. package/dist/src/App.vue.d.ts +3 -0
  5. package/dist/src/components/HelloWorld.vue.d.ts +6 -0
  6. package/dist/src/components/VibeAccordion.vue.d.ts +89 -0
  7. package/dist/{components → src/components}/VibeAlert.vue.d.ts +24 -30
  8. package/dist/src/components/VibeAutocomplete.vue.d.ts +74 -0
  9. package/dist/{components → src/components}/VibeBadge.vue.d.ts +10 -18
  10. package/dist/src/components/VibeBreadcrumb.vue.d.ts +51 -0
  11. package/dist/{components → src/components}/VibeButton.vue.d.ts +16 -20
  12. package/dist/{components → src/components}/VibeButtonGroup.vue.d.ts +10 -18
  13. package/dist/{components → src/components}/VibeCard.vue.d.ts +51 -24
  14. package/dist/{components → src/components}/VibeCarousel.vue.d.ts +27 -49
  15. package/dist/src/components/VibeChartBar.vue.d.ts +61 -0
  16. package/dist/src/components/VibeChartLine.vue.d.ts +70 -0
  17. package/dist/src/components/VibeChartPie.vue.d.ts +34 -0
  18. package/dist/{components → src/components}/VibeCloseButton.vue.d.ts +9 -7
  19. package/dist/{components → src/components}/VibeCol.vue.d.ts +9 -17
  20. package/dist/src/components/VibeCollapse.vue.d.ts +76 -0
  21. package/dist/src/components/VibeContainer.vue.d.ts +36 -0
  22. package/dist/src/components/VibeDataTable.vue.d.ts +131 -0
  23. package/dist/src/components/VibeDatePicker.vue.d.ts +120 -0
  24. package/dist/src/components/VibeDraggable.vue.d.ts +77 -0
  25. package/dist/{components → src/components}/VibeDropdown.vue.d.ts +46 -43
  26. package/dist/src/components/VibeDroppable.vue.d.ts +70 -0
  27. package/dist/src/components/VibeFileInput.vue.d.ts +127 -0
  28. package/dist/{components → src/components}/VibeFormCheckbox.vue.d.ts +30 -22
  29. package/dist/{components → src/components}/VibeFormDatepicker.vue.d.ts +27 -30
  30. package/dist/{components → src/components}/VibeFormGroup.vue.d.ts +11 -14
  31. package/dist/{components → src/components}/VibeFormInput.vue.d.ts +22 -23
  32. package/dist/{components → src/components}/VibeFormRadio.vue.d.ts +23 -24
  33. package/dist/{components → src/components}/VibeFormSelect.vue.d.ts +28 -34
  34. package/dist/{components → src/components}/VibeFormSpinbutton.vue.d.ts +31 -34
  35. package/dist/{components → src/components}/VibeFormSwitch.vue.d.ts +22 -23
  36. package/dist/{components → src/components}/VibeFormTextarea.vue.d.ts +24 -25
  37. package/dist/{components → src/components}/VibeFormWysiwyg.vue.d.ts +24 -23
  38. package/dist/src/components/VibeHero.vue.d.ts +108 -0
  39. package/dist/{components → src/components}/VibeIcon.vue.d.ts +27 -7
  40. package/dist/{components → src/components}/VibeInputGroup.vue.d.ts +11 -13
  41. package/dist/{components → src/components}/VibeLink.vue.d.ts +14 -18
  42. package/dist/{components → src/components}/VibeListGroup.vue.d.ts +26 -22
  43. package/dist/{components → src/components}/VibeModal.vue.d.ts +29 -45
  44. package/dist/{components → src/components}/VibeNav.vue.d.ts +40 -20
  45. package/dist/{components → src/components}/VibeNavbar.vue.d.ts +12 -19
  46. package/dist/src/components/VibeNavbarBrand.vue.d.ts +34 -0
  47. package/dist/src/components/VibeNavbarNav.vue.d.ts +80 -0
  48. package/dist/{components → src/components}/VibeNavbarToggle.vue.d.ts +7 -5
  49. package/dist/{components → src/components}/VibeOffcanvas.vue.d.ts +28 -43
  50. package/dist/{components → src/components}/VibePagination.vue.d.ts +38 -29
  51. package/dist/{components → src/components}/VibePlaceholder.vue.d.ts +9 -17
  52. package/dist/src/components/VibePopover.vue.d.ts +72 -0
  53. package/dist/src/components/VibeProgress.vue.d.ts +37 -0
  54. package/dist/src/components/VibeResizable.vue.d.ts +140 -0
  55. package/dist/{components → src/components}/VibeRow.vue.d.ts +9 -17
  56. package/dist/src/components/VibeScrollspy.vue.d.ts +89 -0
  57. package/dist/src/components/VibeSkeleton.vue.d.ts +54 -0
  58. package/dist/src/components/VibeSlider.vue.d.ts +77 -0
  59. package/dist/src/components/VibeSortable.vue.d.ts +59 -0
  60. package/dist/{components → src/components}/VibeSpinner.vue.d.ts +4 -7
  61. package/dist/src/components/VibeStepper.vue.d.ts +133 -0
  62. package/dist/src/components/VibeTab.vue.d.ts +41 -0
  63. package/dist/src/components/VibeTabContent.vue.d.ts +56 -0
  64. package/dist/src/components/VibeTabs.vue.d.ts +78 -0
  65. package/dist/{components → src/components}/VibeToast.vue.d.ts +40 -42
  66. package/dist/src/components/VibeToastHost.vue.d.ts +16 -0
  67. package/dist/src/components/VibeTooltip.vue.d.ts +63 -0
  68. package/dist/src/components/chart/chartColors.d.ts +3 -0
  69. package/dist/src/components/chart/chartResize.d.ts +2 -0
  70. package/dist/src/components/chart/chartTooltip.d.ts +2 -0
  71. package/dist/src/components/chart/chartTypes.d.ts +6 -0
  72. package/dist/src/components/chart/drawBar.d.ts +5 -0
  73. package/dist/src/components/chart/drawLine.d.ts +18 -0
  74. package/dist/src/components/chart/drawPie.d.ts +4 -0
  75. package/dist/src/components/dndStore.d.ts +7 -0
  76. package/dist/{components → src/components}/index.d.ts +18 -1
  77. package/dist/{composables → src/composables}/useBreakpoints.d.ts +1 -0
  78. package/dist/{composables → src/composables}/useColorMode.d.ts +1 -1
  79. package/dist/src/composables/useForm.d.ts +22 -0
  80. package/dist/src/composables/useId.d.ts +2 -0
  81. package/dist/src/composables/usePosition.d.ts +20 -0
  82. package/dist/src/composables/useToast.d.ts +52 -0
  83. package/dist/src/directives/vTooltip.d.ts +24 -0
  84. package/dist/{index.d.ts → src/index.d.ts} +6 -0
  85. package/dist/src/injectionKeys.d.ts +28 -0
  86. package/dist/{types.d.ts → src/types.d.ts} +32 -6
  87. package/dist/src/utils/safeCss.d.ts +16 -0
  88. package/dist/src/utils/safeHref.d.ts +7 -0
  89. package/dist/src/utils/sanitizeHtml.d.ts +13 -0
  90. package/dist/vibeui.css +2 -1
  91. package/dist/vibeui.es.js +8351 -3508
  92. package/dist/vibeui.umd.js +3 -1
  93. package/docs/README.md +85 -13
  94. package/docs/components/advanced/popover.md +27 -52
  95. package/docs/components/advanced/scrollspy.md +57 -15
  96. package/docs/components/advanced/tooltip.md +26 -47
  97. package/docs/components/card/card.md +9 -1
  98. package/docs/components/charts/chart-bar.md +129 -0
  99. package/docs/components/charts/chart-line.md +136 -0
  100. package/docs/components/charts/chart-pie.md +102 -0
  101. package/docs/components/core/alert.md +27 -5
  102. package/docs/components/core/badge.md +0 -6
  103. package/docs/components/core/button-group.md +0 -6
  104. package/docs/components/core/button.md +1 -1
  105. package/docs/components/core/close-button.md +5 -5
  106. package/docs/components/core/link.md +60 -17
  107. package/docs/components/core/placeholder.md +0 -6
  108. package/docs/components/core/skeleton.md +40 -0
  109. package/docs/components/core/spinner.md +0 -6
  110. package/docs/components/data/datatable.md +29 -10
  111. package/docs/components/hero/hero.md +64 -0
  112. package/docs/components/interactive/accordion.md +29 -0
  113. package/docs/components/interactive/carousel.md +19 -4
  114. package/docs/components/interactive/collapse.md +3 -2
  115. package/docs/components/interactive/date-picker.md +78 -0
  116. package/docs/components/interactive/draggable.md +91 -0
  117. package/docs/components/interactive/dropdown.md +54 -18
  118. package/docs/components/interactive/modal.md +15 -20
  119. package/docs/components/interactive/offcanvas.md +4 -1
  120. package/docs/components/interactive/resizable.md +73 -0
  121. package/docs/components/interactive/slider.md +57 -0
  122. package/docs/components/interactive/sortable.md +52 -0
  123. package/docs/components/interactive/stepper.md +83 -0
  124. package/docs/components/interactive/tabs.md +66 -0
  125. package/docs/components/interactive/toast.md +93 -30
  126. package/docs/components/layout/col.md +0 -6
  127. package/docs/components/layout/container.md +0 -6
  128. package/docs/components/layout/row.md +0 -6
  129. package/docs/components/list/list-group.md +4 -0
  130. package/docs/components/navigation/breadcrumb.md +4 -0
  131. package/docs/components/navigation/nav.md +64 -1
  132. package/docs/components/navigation/navbar.md +2 -0
  133. package/docs/components/navigation/pagination.md +16 -0
  134. package/docs/components/progress/progress.md +7 -1
  135. package/docs/composables/color-mode.md +44 -6
  136. package/docs/composables/use-form.md +78 -0
  137. package/docs/composables/use-position.md +68 -0
  138. package/docs/composables/use-toast.md +91 -0
  139. package/docs/directives/v-tooltip.md +58 -0
  140. package/docs/forms/README.md +60 -61
  141. package/docs/forms/autocomplete.md +96 -0
  142. package/docs/forms/file-input.md +97 -0
  143. package/docs/forms/form-checkbox.md +75 -25
  144. package/docs/forms/form-datepicker.md +58 -28
  145. package/docs/forms/form-group.md +79 -44
  146. package/docs/forms/form-input.md +88 -31
  147. package/docs/forms/form-radio.md +60 -36
  148. package/docs/forms/form-select.md +75 -31
  149. package/docs/forms/form-spinbutton.md +72 -33
  150. package/docs/forms/form-switch.md +53 -25
  151. package/docs/forms/form-textarea.md +60 -29
  152. package/docs/forms/form-wysiwyg.md +73 -38
  153. package/docs/forms/input-group.md +53 -34
  154. package/docs/forms/validation.md +135 -521
  155. package/docs/getting-started/starter-template.md +136 -0
  156. package/docs/superpowers/plans/2026-05-12-vibe-charts.md +1999 -0
  157. package/docs/superpowers/plans/2026-05-29-e2e-browser-testing.md +615 -0
  158. package/docs/superpowers/specs/2026-05-12-charting-design.md +185 -0
  159. package/docs/superpowers/specs/2026-05-29-e2e-browser-testing-design.md +168 -0
  160. package/docs/utilities/position.md +82 -0
  161. package/docs/versioning.md +57 -0
  162. package/examples/README.md +201 -0
  163. package/examples/album.html +262 -0
  164. package/examples/blog.html +166 -0
  165. package/examples/carousel.html +114 -0
  166. package/examples/checkout.html +275 -0
  167. package/examples/cover.html +89 -0
  168. package/examples/dashboard.html +156 -0
  169. package/examples/index.html +129 -0
  170. package/examples/jumbotron.html +56 -0
  171. package/examples/mobile-dashboard.html +138 -0
  172. package/examples/pricing.html +172 -0
  173. package/examples/product.html +145 -0
  174. package/examples/sidebars.html +166 -0
  175. package/examples/sign-in.html +119 -0
  176. package/examples/starter.html +314 -0
  177. package/examples/sticky-footer-navbar.html +70 -0
  178. package/examples/sticky-footer.html +60 -0
  179. package/examples/test-simple.html +91 -0
  180. package/llms.txt +407 -47
  181. package/package.json +42 -13
  182. package/dist/App.vue.d.ts +0 -2
  183. package/dist/components/HelloWorld.vue.d.ts +0 -5
  184. package/dist/components/VibeAccordion.vue.d.ts +0 -90
  185. package/dist/components/VibeBreadcrumb.vue.d.ts +0 -47
  186. package/dist/components/VibeCollapse.vue.d.ts +0 -84
  187. package/dist/components/VibeContainer.vue.d.ts +0 -44
  188. package/dist/components/VibeDataTable.vue.d.ts +0 -76
  189. package/dist/components/VibeNavbarBrand.vue.d.ts +0 -42
  190. package/dist/components/VibeNavbarNav.vue.d.ts +0 -61
  191. package/dist/components/VibePopover.vue.d.ts +0 -95
  192. package/dist/components/VibeProgress.vue.d.ts +0 -45
  193. package/dist/components/VibeScrollspy.vue.d.ts +0 -77
  194. package/dist/components/VibeTabContent.vue.d.ts +0 -74
  195. package/dist/components/VibeTooltip.vue.d.ts +0 -86
  196. package/dist/composables/useId.d.ts +0 -5
  197. package/dist/types/index.d.ts +0 -6
  198. /package/dist/{composables → src/composables}/useBackButton.d.ts +0 -0
  199. /package/dist/{composables → src/composables}/useFormValidation.d.ts +0 -0
  200. /package/dist/{main.d.ts → src/main.d.ts} +0 -0
@@ -1 +1,3 @@
1
- (function(S,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(S=typeof globalThis<"u"?globalThis:S||self,e(S.VibeUI={},S.Vue))})(this,(function(S,e){"use strict";const J=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)}}),K=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"]))}}),W=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"]))}}),He=["role","aria-label"],Q=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,He))}}),Ge=["disabled","aria-label"],Z=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,Ge))}}),Xe={class:"visually-hidden"},_=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",Xe,e.toDisplayString(t.label),1)]),_:1},8,["class"]))}}),ee=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"]))}}),te=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"]))}}),ae=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"]))}}),oe=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"]))}}),Ue=["src","alt"],Ye={key:1,class:"card-header"},Je={key:2,class:"card-body"},Ke={key:0,class:"card-title"},We={key:1,class:"card-text"},Qe={key:3,class:"card-footer"},Ze=["src","alt"],le=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,Ue)):e.createCommentVNode("",!0),t.header||l.$slots.header?(e.openBlock(),e.createElementBlock("div",Ye,[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",Je,[t.title||l.$slots.title?(e.openBlock(),e.createElementBlock("h5",Ke,[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",We,[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",Qe,[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,Ze)):e.createCommentVNode("",!0)]),_:3},8,["class"]))}}),_e=["aria-label"],et={class:"breadcrumb"},tt=["aria-current"],ne=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",et,[(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,tt))),128))])],8,_e))}}),at={class:"dropdown-menu"},ot={key:0,class:"dropdown-divider"},lt={key:1,class:"dropdown-header"},ie=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 B=y;if(!n.has(B)){const k=new f(B);n.set(B,k),B.addEventListener("show.bs.tab",u),B.addEventListener("shown.bs.tab",c),B.addEventListener("hide.bs.tab",b),B.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",at,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.children,(B,k)=>(e.openBlock(),e.createElementBlock("li",{key:k},[B.divider?(e.openBlock(),e.createElementBlock("hr",ot)):B.header?(e.openBlock(),e.createElementBlock("h6",lt,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=>h(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"]))}}),nt=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},re=I(nt,[["__scopeId","data-v-8228b170"]]),se=e.defineComponent({__name:"VibeNavbarBrand",props:{href:{type:String,default:void 0},to:{type:[String,Object],default:void 0}},emits:["component-error"],setup(t,{emit:r}){const a=t,o=a.href?"a":a.to?"router-link":"span";return(l,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"]))}}),it=["data-bs-target","aria-controls","aria-expanded","aria-label"],de=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,it))}}),rt={class:"dropdown-menu"},st={key:0},dt={key:1},ct={class:"dropdown-header"},ut={key:2},ce=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",rt,[(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",st,[...b[0]||(b[0]=[e.createElementVNode("hr",{class:"dropdown-divider"},null,-1)])])):h.header?(e.openBlock(),e.createElementBlock("li",dt,[e.createElementVNode("h6",ct,e.toDisplayString(h.text),1)])):(e.openBlock(),e.createElementBlock("li",ut,[(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}))}}),mt=["aria-label"],ft=["disabled","aria-disabled"],pt=["aria-current","onClick"],bt=["disabled","aria-disabled"],ue=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,ft)],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,pt)],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,bt)],2)):e.createCommentVNode("",!0)],2)],8,mt))}}),ht=["id","aria-labelledby"],me=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,ht))),128))]),_:3},8,["id"]))}}),fe=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"]))}}),yt=["aria-valuenow","aria-valuemax"],pe=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,yt))),128))],4))}});let be=0;function N(t="vibe"){const r=e.getCurrentInstance(),a=r?r.uid:"no-instance";return be++,`${t}-${a}-${be}`}const gt=["id"],kt={class:"accordion-header"},Bt=["data-bs-target","aria-expanded","aria-controls","onClick"],St=["id","data-bs-parent"],Ct={class:"accordion-body"},he=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 B=new d(p,{toggle:!1,parent:o.alwaysOpen?void 0:`#${o.id}`});n.set(y,B),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&&B.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",kt,[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,Bt)]),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",Ct,[e.renderSlot(h.$slots,"content",{item:f,index:p},()=>[e.createTextVNode(e.toDisplayString(f.content),1)])])],10,St)]))),128))],10,gt))}}),ye=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"]))}}),Vt=["id","data-bs-auto-close"],vt=["id","data-bs-auto-close"],wt=["aria-labelledby"],$t={key:0},Et={key:1},Nt={class:"dropdown-header"},xt={key:2},ge=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,Vt)),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,z)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:z},[w.divider?(e.openBlock(),e.createElementBlock("li",$t,[...E[1]||(E[1]=[e.createElementVNode("hr",{class:"dropdown-divider"},null,-1)])])):w.header?(e.openBlock(),e.createElementBlock("li",Et,[e.createElementVNode("h6",Nt,[e.renderSlot(k.$slots,"header",{item:w,index:z},()=>[e.createTextVNode(e.toDisplayString(w.text),1)])])])):(e.openBlock(),e.createElementBlock("li",xt,[(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,z,F)},{default:e.withCtx(()=>[e.renderSlot(k.$slots,"item",{item:w,index:z},()=>[e.createTextVNode(e.toDisplayString(w.text),1)])]),_:2},1032,["class","href","to","type","disabled","onClick"]))]))],64))),128))],10,wt)],2))}}),M=[];function ke(t){if(M.length>0){t.preventDefault();const r=M.pop();r&&r()}}function A(t){e.onMounted(()=>{M.push(t),M.length===1&&typeof document<"u"&&document.addEventListener("backbutton",ke)}),e.onUnmounted(()=>{const r=M.indexOf(t);r!==-1&&M.splice(r,1),M.length===0&&typeof document<"u"&&document.removeEventListener("backbutton",ke)})}const Tt=["id","aria-labelledby","aria-hidden","data-bs-backdrop","data-bs-keyboard"],Lt={class:"modal-content"},zt={key:0,class:"modal-header"},Dt=["id"],Mt={class:"modal-body"},Ft={key:1,class:"modal-footer"},Be=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 B=(await import("bootstrap")).Modal;n.value=new B(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 A(()=>{s.value&&f()}),r({show:d,hide:f,handleUpdate: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",{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",Lt,[t.hideHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",zt,[e.createElementVNode("h5",{id:`${t.id}-label`,class:"modal-title"},[e.renderSlot(y.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)],!0)],8,Dt),e.createElementVNode("button",{type:"button",class:"btn-close","aria-label":"Close",onClick:f})])),e.createElementVNode("div",Mt,[e.renderSlot(y.$slots,"default",{},void 0,!0)]),t.hideFooter?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ft,[e.renderSlot(y.$slots,"footer",{},()=>[e.createElementVNode("button",{type:"button",class:"btn btn-secondary",onClick:f},"Close")],!0)]))])],2)],10,Tt)],8,["to","disabled"]))}}),[["__scopeId","data-v-c11ac690"]]),It=["id","aria-labelledby","data-bs-backdrop","data-bs-scroll"],Rt={class:"offcanvas-header"},Pt=["id"],qt={class:"offcanvas-body"},Se=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 A(()=>{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",Rt,[e.createElementVNode("h5",{id:`${t.id}-label`,class:"offcanvas-title"},[e.renderSlot(p.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)],!0)],8,Pt),e.createElementVNode("button",{type:"button",class:"btn-close","aria-label":"Close",onClick:f})]),e.createElementVNode("div",qt,[e.renderSlot(p.$slots,"default",{},void 0,!0)])],10,It)],8,["to","disabled"]))}}),[["__scopeId","data-v-f03bd194"]]),jt=["id","data-bs-autohide","data-bs-delay"],At={key:0,class:"toast-header"},Ot={class:"me-auto"},Ht={class:"toast-body"},Ce=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"],B=o.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(" ")}),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 B=(await import("bootstrap")).Toast;n.value=new B(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,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(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",At,[e.renderSlot(y.$slots,"header",{},()=>[e.createElementVNode("strong",Ot,e.toDisplayString(t.title),1)]),e.createElementVNode("button",{type:"button",class:"btn-close","aria-label":"Close",onClick:p})])):e.createCommentVNode("",!0),e.createElementVNode("div",Ht,[e.renderSlot(y.$slots,"default")])],10,jt)],2)],8,["to","disabled"]))}}),Gt=["id","data-bs-ride","data-bs-interval","data-bs-keyboard","data-bs-pause","data-bs-wrap","data-bs-touch"],Xt={key:0,class:"carousel-indicators"},Ut=["data-bs-target","data-bs-slide-to","aria-current","aria-label"],Yt={class:"carousel-inner"},Jt=["data-bs-interval"],Kt=["src","alt"],Wt={key:0,class:"carousel-caption d-none d-md-block"},Qt={key:0},Zt={key:1},_t=["data-bs-target"],ea=["data-bs-target"],Ve=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",Xt,[(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,Ut))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",Yt,[(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,Kt),f.caption||f.captionText||h.$slots.caption?(e.openBlock(),e.createElementBlock("div",Wt,[e.renderSlot(h.$slots,"caption",{item:f,index:p},()=>[f.caption?(e.openBlock(),e.createElementBlock("h5",Qt,e.toDisplayString(f.caption),1)):e.createCommentVNode("",!0),f.captionText?(e.openBlock(),e.createElementBlock("p",Zt,e.toDisplayString(f.captionText),1)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)],10,Jt))),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,_t),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,ea)],64)):e.createCommentVNode("",!0)],10,Gt))}}),ta=["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,ta))}}),aa=["data-bs-placement","data-bs-title","data-bs-content","data-bs-trigger","data-bs-html"],we=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,aa))}}),$e=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"]))}}),Ee=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))}}),oa={class:"vibe-datatable"},la={class:"row mb-3"},na={key:0,class:"col-md-6 mb-2 mb-md-0"},ia=["placeholder"],ra={key:1,class:"col-md-6"},sa={class:"d-flex justify-content-md-end align-items-center"},da=["value"],ca=["onClick"],ua={key:0,class:"ms-1"},ma=["onClick"],fa=["data-label"],pa={key:0},ba=["colspan"],ha={class:"row"},ya={key:0,class:"col-md-6 mb-2 mb-md-0"},ga={class:"datatable-info"},ka={key:1,class:"col-md-6"},Ba={class:"pagination justify-content-md-end mb-0"},Sa={key:0,class:"page-item"},Ca={key:1,class:"page-item disabled"},Va=["onClick"],va={key:2,class:"page-item disabled"},wa={key:3,class:"page-item"},Ne=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=(C,V)=>a.rowKey&&C[a.rowKey]!==void 0?String(C[a.rowKey]):V;e.watch(u,C=>{c.value!==null&&clearTimeout(c.value),c.value=setTimeout(()=>{b.value=C,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 C=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(C)}))}),h=(C,V,v)=>{if(C==null)return 1;if(V==null)return-1;if(typeof C=="string"&&typeof V=="string"){const x=C.toLowerCase(),T=V.toLowerCase();return x<T?v?1:-1:x>T?v?-1:1:0}if(typeof C=="number"&&typeof V=="number")return C<V?v?1:-1:C>V?v?-1:1:0;if(typeof C=="boolean"&&typeof V=="boolean")return C===V?0:(C?1:-1)*(v?-1:1);if(C instanceof Date&&V instanceof Date){const x=C.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 C=[...g.value],V=i.value;return C.sort((v,x)=>h(v[V],x[V],n.value)),C}),f=e.computed(()=>{if(!a.paginated)return d.value;const C=(o.value-1)*l.value,V=C+l.value;return d.value.slice(C,V)}),p=e.computed(()=>a.items.length),y=e.computed(()=>g.value.length),B=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 C=o.value*l.value;return Math.min(C,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))),z=e.computed(()=>{const C=["table"];return a.striped&&C.push("table-striped"),a.bordered&&C.push("table-bordered"),a.borderless&&C.push("table-borderless"),a.hover&&C.push("table-hover"),a.small&&C.push("table-sm"),a.stack&&C.push("vibe-table-stack"),a.variant&&C.push(`table-${a.variant}`),C.join(" ")}),F=C=>{!a.sortable||C.sortable===!1||(i.value===C.key?n.value=!n.value:(i.value=C.key,n.value=!1))},L=C=>{C<1||C>B.value||(o.value=C)},j=()=>{o.value=1},$=(C,V)=>{s("row-clicked",C,V)},D=(C,V)=>{const v=C[V.key];return V.formatter?V.formatter(v,C):v},U=C=>!a.sortable||C.sortable===!1?"":i.value!==C.key?"⇅":n.value?"↓":"↑",Y=C=>{const V={...C.thStyle};return a.sortable&&C.sortable!==!1&&(V.cursor="pointer"),V};return(C,V)=>(e.openBlock(),e.createElementBlock("div",oa,[e.createElementVNode("div",la,[t.searchable?(e.openBlock(),e.createElementBlock("div",na,[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,ia),[[e.vModelText,u.value]])])):e.createCommentVNode("",!0),t.showPerPage&&t.paginated?(e.openBlock(),e.createElementBlock("div",ra,[e.createElementVNode("div",sa,[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:j},[(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,da))),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(z.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(Y(v)),onClick:x=>F(v)},[e.createTextVNode(e.toDisplayString(v.label)+" ",1),t.sortable&&v.sortable!==!1?(e.openBlock(),e.createElementBlock("span",ua,e.toDisplayString(U(v)),1)):e.createCommentVNode("",!0)],14,ca))),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=>$(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(C.$slots,`cell(${T.key})`,{item:v,value:v[T.key],index:x},()=>[e.createTextVNode(e.toDisplayString(D(v,T)),1)],!0)],14,fa))),128))],8,ma))),128)),f.value.length===0&&t.showEmpty?(e.openBlock(),e.createElementBlock("tr",pa,[e.createElementVNode("td",{colspan:t.columns?.length||1,class:"text-center"},e.toDisplayString(t.emptyText),9,ba)])):e.createCommentVNode("",!0)])],2)],2),e.createElementVNode("div",ha,[t.showInfo?(e.openBlock(),e.createElementBlock("div",ya,[e.createElementVNode("div",ga,e.toDisplayString(w.value),1)])):e.createCommentVNode("",!0),t.paginated&&B.value>1?(e.openBlock(),e.createElementBlock("div",ka,[e.createElementVNode("nav",null,[e.createElementVNode("ul",Ba,[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=>L(o.value-1),["prevent"]))}," Previous ")],2),o.value>3?(e.openBlock(),e.createElementBlock("li",Sa,[e.createElementVNode("a",{class:"page-link",href:"#",onClick:V[3]||(V[3]=e.withModifiers(v=>L(1),["prevent"]))},"1")])):e.createCommentVNode("",!0),o.value>4?(e.openBlock(),e.createElementBlock("li",Ca,[...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>=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=>L(v),["prevent"])},e.toDisplayString(v),9,Va)],2))),128)),o.value<B.value-3?(e.openBlock(),e.createElementBlock("li",va,[...V[9]||(V[9]=[e.createElementVNode("span",{class:"page-link"},"...",-1)])])):e.createCommentVNode("",!0),o.value<B.value-2?(e.openBlock(),e.createElementBlock("li",wa,[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:o.value===B.value}])},[e.createElementVNode("a",{class:"page-link",href:"#",onClick:V[5]||(V[5]=e.withModifiers(v=>L(o.value+1),["prevent"]))}," Next ")],2)])])])):e.createCommentVNode("",!0)])]))}}),[["__scopeId","data-v-c496dc70"]]),$a=["for"],Ea={key:0,class:"text-danger"},Na=["id","type","value","placeholder","disabled","readonly","required","aria-invalid","aria-describedby"],xa=["id"],Ta={key:0,class:"valid-feedback",style:{display:"block"}},La=["id"],za=["id","type","value","placeholder","disabled","readonly","required","aria-invalid"],xe=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,za)):(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",Ea,"*")):e.createCommentVNode("",!0)],8,$a)):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,Na),u.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,xa)):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",Ta,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,La)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Da=["for"],Ma={key:0,class:"text-danger"},Fa=["id","value","multiple","size","disabled","required","aria-invalid","aria-describedby"],Ia={key:0,value:"",disabled:"",selected:""},Ra=["value","disabled"],Pa=["id"],qa={key:0,class:"valid-feedback",style:{display:"block"}},ja=["id"],Te=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",Ma,"*")):e.createCommentVNode("",!0)],8,Da)):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",Ia,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,Ra))),128))])],42,Fa),u.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,Pa)):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",qa,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,ja)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Aa=["for"],Oa={key:0,class:"text-danger"},Ha=["id","value","placeholder","rows","maxlength","disabled","readonly","required","aria-invalid","aria-describedby"],Ga=["id"],Xa={key:0,class:"ms-auto"},Ua={key:0,class:"valid-feedback",style:{display:"block"}},Ya=["id"],Le=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",Oa,"*")):e.createCommentVNode("",!0)],8,Aa)):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,Ha),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",Xa,[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,Ga)):e.createCommentVNode("",!0),s.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 provide a valid value."),9,Ya)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Ja=["for"],Ka={key:0,class:"text-danger"},Wa=["disabled"],Qa=["id","value","disabled","readonly","required","min","max","step","aria-invalid","aria-describedby"],Za=["disabled"],_a=["id"],eo={key:0,class:"valid-feedback",style:{display:"block"}},to=["id"],ze=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")},B=()=>{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",Ka,"*")):e.createCommentVNode("",!0)],8,Ja)):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:B,"aria-label":"Decrement"},[...E[0]||(E[0]=[e.createElementVNode("span",{"aria-hidden":"true"},"−",-1)])],8,Wa),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,Qa),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,Za)],2),u.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,_a)):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",eo,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,to)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-49746a62"]]),ao=["for"],oo={key:0,class:"text-danger"},lo=["id","type","value","disabled","readonly","required","min","max","aria-invalid","aria-describedby"],no=["id"],io={key:0,class:"valid-feedback",style:{display:"block"}},ro=["id"],De=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",oo,"*")):e.createCommentVNode("",!0)],8,ao)):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,lo),u.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,no)):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",io,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,ro)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),so=["id","checked","disabled","required","indeterminate","aria-invalid","aria-describedby"],co=["for"],uo={key:0,class:"text-danger"},mo=["id"],fo={key:0,class:"valid-feedback",style:{display:"block"}},po=["id"],Me=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 B=y.indexOf(a.value);B>-1&&y.splice(B,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,so),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",uo,"*")):e.createCommentVNode("",!0)],8,co)):e.createCommentVNode("",!0),u.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,mo)):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",fo,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,po)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),bo=["id","name","value","checked","disabled","required","aria-invalid","aria-describedby"],ho=["for"],yo={key:0,class:"text-danger"},go=["id"],ko={key:0,class:"valid-feedback",style:{display:"block"}},Bo=["id"],Fe=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,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",yo,"*")):e.createCommentVNode("",!0)],8,ho)):e.createCommentVNode("",!0),u.value?(e.openBlock(),e.createElementBlock("div",{key:1,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,go)):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",ko,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,Bo)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),So=["id","checked","disabled","required","aria-invalid","aria-describedby"],Co=["for"],Vo={key:0,class:"text-danger"},vo=["id"],wo={key:0,class:"valid-feedback",style:{display:"block"}},$o=["id"],Ie=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,So),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",Vo,"*")):e.createCommentVNode("",!0)],8,Co)):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",wo,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,$o)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),Eo=["for"],No={key:0,class:"text-danger"},xo=["id"],To={key:1,class:"valid-feedback",style:{display:"block"}},Lo=["id"],zo=["for"],Do={key:0,class:"text-danger"},Mo=["id"],Fo={key:2,class:"valid-feedback",style:{display:"block"}},Io=["id"],Re=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",No,"*")):e.createCommentVNode("",!0)],10,Eo)):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,xo)):e.createCommentVNode("",!0),t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",To,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,Lo)):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",Do,"*")):e.createCommentVNode("",!0)],10,zo)):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,Mo)):e.createCommentVNode("",!0),t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",Fo,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,Io)):e.createCommentVNode("",!0)],64))],2))}}),R={sm:576,md:768,lg:992,xl:1200,xxl:1400};function Pe(){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 Ro=["for"],Po={key:0,class:"text-danger"},qo={key:1,class:"alert alert-warning",role:"alert"},jo=["id"],Ao=["id"],Oo={key:0,class:"valid-feedback",style:{display:"block"}},Ho=["id"],qe=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}=Pe(),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),B=e.ref(null),k=e.computed(()=>{const $=["vibe-wysiwyg-container"];return a.validationState==="valid"&&$.push("is-valid"),a.validationState==="invalid"&&$.push("is-invalid"),a.disabled&&$.push("disabled"),$.join(" ")}),E=[[{header:[1,2,3,!1]}],["bold","italic","underline","strike"],[{list:"ordered"},{list:"bullet"}],[{color:[]},{background:[]}],["link","image"],["clean"]],w=[["bold","italic","underline"],[{list:"ordered"},{list:"bullet"}],["link","clean"]],z=()=>a.toolbar===!1?!1:n.value?a.mobileToolbar===!1?!1:a.mobileToolbar!==void 0?a.mobileToolbar:w:a.toolbar===!0||a.toolbar===void 0?E:a.toolbar,F=$=>{m.value&&(d.value=!0,m.value.setContents([],"silent"),$&&m.value.clipboard.dangerouslyPasteHTML($,"silent"),d.value=!1)},L=()=>!m.value||m.value.getText().trim().length===0?"":m.value.getSemanticHTML(),j=async()=>{try{const $=await import("quill"),D=$.default||$;if(await import("quill/dist/quill.snow.css"),b.value){const U={theme:a.theme,placeholder:a.placeholder,readOnly:a.readonly||a.disabled,modules:{toolbar:z()}};m.value=new D(b.value,U),a.modelValue&&F(a.modelValue),y.value=()=>{if(d.value)return;const Y=L();o("update:modelValue",Y),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),B.value=()=>{},m.value.on("selection-change",B.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(j),e.onBeforeUnmount(()=>{if(m.value){if(m.value.enable(!1),y.value&&(m.value.off("text-change",y.value),y.value=null),B.value&&(m.value.off("selection-change",B.value),B.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),m.value.selection=null,b.value){const $=b.value.parentElement?.querySelector(".ql-toolbar");$&&$.remove()}m.value=null}}),e.watch(()=>a.modelValue,$=>{if(!m.value)return;L()!==($||"")&&F($||"")}),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 $=L();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 j(),$&&F($)}}),($,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",Po,"*")):e.createCommentVNode("",!0)],8,Ro)):e.createCommentVNode("",!0),h.value?(e.openBlock(),e.createElementBlock("div",qo,e.toDisplayString(h.value),1)):(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(k.value),style:e.normalizeStyle({minHeight:t.height})},[e.createElementVNode("div",{ref_key:"editorContainer",ref:b,id:i.value},null,8,jo)],6)),c.value?(e.openBlock(),e.createElementBlock("div",{key:3,id:`${i.value}-feedback`,class:"form-text"},e.toDisplayString(t.helpText),9,Ao)):e.createCommentVNode("",!0),u.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[t.validationState==="valid"?(e.openBlock(),e.createElementBlock("div",Oo,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,Ho)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-822ccb91"]]),Go={key:0,class:"input-group-text"},Xo={key:0,class:"input-group-text"},je=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",Go,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",Xo,e.toDisplayString(t.append),1)):e.createCommentVNode("",!0)])]),_:3},8,["class"]))}}),Ae=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"]))}}),Uo={install(t){t.component("VibeAlert",J),t.component("VibeBadge",K),t.component("VibeButton",W),t.component("VibeButtonGroup",Q),t.component("VibeCloseButton",Z),t.component("VibeSpinner",_),t.component("VibePlaceholder",ee),t.component("VibeContainer",te),t.component("VibeRow",ae),t.component("VibeCol",oe),t.component("VibeCard",le),t.component("VibeBreadcrumb",ne),t.component("VibeNav",ie),t.component("VibeNavbar",re),t.component("VibeNavbarBrand",se),t.component("VibeNavbarToggle",de),t.component("VibeNavbarNav",ce),t.component("VibePagination",ue),t.component("VibeTabContent",me),t.component("VibeListGroup",fe),t.component("VibeProgress",pe),t.component("VibeAccordion",he),t.component("VibeCollapse",ye),t.component("VibeDropdown",ge),t.component("VibeModal",Be),t.component("VibeOffcanvas",Se),t.component("VibeToast",Ce),t.component("VibeCarousel",Ve),t.component("VibeTooltip",ve),t.component("VibePopover",we),t.component("VibeScrollspy",$e),t.component("VibeIcon",Ee),t.component("VibeDataTable",Ne),t.component("VibeFormInput",xe),t.component("VibeFormSelect",Te),t.component("VibeFormTextarea",Le),t.component("VibeFormSpinbutton",ze),t.component("VibeFormDatepicker",De),t.component("VibeFormCheckbox",Me),t.component("VibeFormRadio",Fe),t.component("VibeFormSwitch",Ie),t.component("VibeFormGroup",Re),t.component("VibeFormWysiwyg",qe),t.component("VibeInputGroup",je),t.component("VibeLink",Ae)}};function Yo(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 Jo={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})},O="vibe-color-mode",H={light:"dark",dark:"auto",auto:"light"},P=e.ref("auto");let G=!1;const X=[];function Ko(){return typeof window>"u"?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function Oe(t){if(typeof document>"u")return;const r=t==="auto"?Ko():t;document.documentElement.setAttribute("data-bs-theme",r)}function q(t){P.value=t,Oe(t),X.forEach(r=>r(t))}q("auto"),typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",()=>{P.value==="auto"&&(Oe("auto"),X.forEach(t=>t("auto")))});function Wo(){function t(i){if(i in H){try{localStorage.setItem(O,i)}catch{}q(i)}}function r(){if(G)return;let i="auto";try{const n=localStorage.getItem(O);n!==null&&n in H&&(i=n)}catch{}q(i),G=!0}function a(){try{localStorage.removeItem(O)}catch{}G=!1,q("auto")}function o(){t(H[P.value]??"auto")}function l(i){X.push(i)}return{colorMode:P,setColorMode:t,toggleColorMode:o,initColorMode:r,clearColorMode:a,onColorModeChange:l}}S.VibeAccordion=he,S.VibeAlert=J,S.VibeBadge=K,S.VibeBreadcrumb=ne,S.VibeButton=W,S.VibeButtonGroup=Q,S.VibeCard=le,S.VibeCarousel=Ve,S.VibeCloseButton=Z,S.VibeCol=oe,S.VibeCollapse=ye,S.VibeContainer=te,S.VibeDataTable=Ne,S.VibeDropdown=ge,S.VibeFormCheckbox=Me,S.VibeFormDatepicker=De,S.VibeFormGroup=Re,S.VibeFormInput=xe,S.VibeFormRadio=Fe,S.VibeFormSelect=Te,S.VibeFormSpinbutton=ze,S.VibeFormSwitch=Ie,S.VibeFormTextarea=Le,S.VibeFormWysiwyg=qe,S.VibeIcon=Ee,S.VibeInputGroup=je,S.VibeLink=Ae,S.VibeListGroup=fe,S.VibeModal=Be,S.VibeNav=ie,S.VibeNavbar=re,S.VibeNavbarBrand=se,S.VibeNavbarNav=ce,S.VibeNavbarToggle=de,S.VibeOffcanvas=Se,S.VibePagination=ue,S.VibePlaceholder=ee,S.VibePopover=we,S.VibeProgress=pe,S.VibeRow=ae,S.VibeScrollspy=$e,S.VibeSpinner=_,S.VibeTabContent=me,S.VibeToast=Ce,S.VibeTooltip=ve,S.default=Uo,S.useBackButton=A,S.useBreakpoints=Pe,S.useColorMode=Wo,S.useFormValidation=Yo,S.useId=N,S.validators=Jo,Object.defineProperties(S,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("vue"),require("quill")):typeof define==`function`&&define.amd?define([`exports`,`vue`,`quill`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.VibeUI={},e.Vue,e.Quill))})(this,function(e,t,n){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var r=Object.defineProperty,i=(e,t)=>()=>(e&&(t=e(e=0)),t),a=(e,t)=>{let n={};for(var i in e)r(n,i,{get:e[i],enumerable:!0});return t||r(n,Symbol.toStringTag,{value:`Module`}),n},o=(0,t.defineComponent)({__name:`VibeAlert`,props:{variant:{type:String,default:`primary`},subtle:{type:Boolean,default:!1},modelValue:{type:Boolean,default:!0},dismissible:{type:Boolean,default:!1},message:{type:String,default:``},fade:{type:Boolean,default:!0}},emits:[`update:modelValue`,`close`,`closed`,`component-error`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.shallowRef)(null),s=(0,t.ref)(r.modelValue),c=!1,l=!1,u=!1,d=!1,f=()=>{i(`close`)},p=()=>{o.value=null,s.value=!1,i(`update:modelValue`,!1),i(`closed`)},m=()=>{c||!a.value||(a.value.addEventListener(`close.bs.alert`,f),a.value.addEventListener(`closed.bs.alert`,p),c=!0)},h=()=>{!c||!a.value||(a.value.removeEventListener(`close.bs.alert`,f),a.value.removeEventListener(`closed.bs.alert`,p),c=!1)},g=async()=>{if(l){u=!0;return}l=!0,h();try{if(!a.value||o.value)return;let e=await import(`bootstrap`);if(!a.value||d)return;o.value=new e.Alert(a.value),m()}catch(e){i(`component-error`,{message:`Bootstrap JS not loaded. Alert will use basic Vue logic.`,componentName:`VibeAlert`,originalError:e})}finally{l=!1,u&&(u=!1,g())}};(0,t.onMounted)(()=>{s.value&&g()}),(0,t.onBeforeUnmount)(()=>{d=!0,h(),o.value&&=(o.value.dispose(),null)}),(0,t.watch)(()=>r.modelValue,async e=>{e?(s.value=!0,await(0,t.nextTick)(),g()):s.value?o.value?o.value.close():(s.value=!1,i(`update:modelValue`,!1),i(`closed`)):s.value=!1});let _=()=>{o.value?o.value.close():(s.value=!1,i(`update:modelValue`,!1),i(`closed`))},v=(0,t.computed)(()=>{let e=[`alert`];return r.subtle?e.push(`bg-${r.variant}-subtle`,`text-${r.variant}-emphasis`,`border-${r.variant}-subtle`):e.push(`alert-${r.variant}`),r.dismissible&&e.push(`alert-dismissible`),r.fade&&e.push(`fade`,`show`),e.join(` `)});return(n,r)=>s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`alertRef`,ref:a,class:(0,t.normalizeClass)(v.value),role:`alert`},[e.message?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createTextVNode)((0,t.toDisplayString)(e.message),1)],64)):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(n.$slots,`default`),e.dismissible?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`btn-close`,"aria-label":`Close`,onClick:_})):(0,t.createCommentVNode)(``,!0)],2)):(0,t.createCommentVNode)(``,!0)}}),s=(0,t.defineComponent)({__name:`VibeBadge`,props:{variant:{type:String,default:`primary`},subtle:{type:Boolean,default:!1},pill:{type:Boolean,default:!1},tag:{type:String,default:`span`}},setup(e){let n=e,r=(0,t.computed)(()=>{let e=[`badge`];return n.subtle?e.push(`bg-${n.variant}-subtle`,`text-${n.variant}-emphasis`):e.push(`bg-${n.variant}`),n.pill&&e.push(`rounded-pill`),e.join(` `)});return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{class:(0,t.normalizeClass)(r.value)},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`)]),_:3},8,[`class`]))}}),c=(0,t.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(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>r.href?`a`:r.to?r.disabled?`span`:`router-link`:`button`),o=(0,t.computed)(()=>{let e=[`btn`];return r.variant===`link`?e.push(`btn-link`):r.outline?e.push(`btn-outline-${r.variant}`):e.push(`btn-${r.variant}`),r.size&&e.push(`btn-${r.size}`),r.active&&e.push(`active`),r.focusRing&&e.push(`focus-ring`),r.disabled&&a.value!==`button`&&e.push(`disabled`),e.join(` `)}),s=e=>{if(r.disabled){e.preventDefault();return}i(`click`,e)};return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(a.value),{class:(0,t.normalizeClass)(o.value),type:e.href||e.to?void 0:e.type,href:e.href,to:e.to||void 0,disabled:a.value===`button`?e.disabled:void 0,"aria-disabled":e.disabled||void 0,onClick:s},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`)]),_:3},8,[`class`,`type`,`href`,`to`,`disabled`,`aria-disabled`]))}}),l=[`role`,`aria-label`],u=(0,t.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}},setup(e){let n=e,r=(0,t.computed)(()=>{let e=[n.vertical?`btn-group-vertical`:`btn-group`];return n.size&&e.push(`btn-group-${n.size}`),e.join(` `)});return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)(r.value),role:e.role,"aria-label":e.ariaLabel},[(0,t.renderSlot)(n.$slots,`default`)],10,l))}}),d=[`disabled`,`aria-label`],f=(0,t.defineComponent)({__name:`VibeCloseButton`,props:{disabled:{type:Boolean,default:!1},white:{type:Boolean,default:!1},ariaLabel:{type:String,default:`Close`}},emits:[`click`,`component-error`],setup(e,{emit:n}){let r=e,i=n,a=e=>{r.disabled||i(`click`,e)};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:`button`,class:(0,t.normalizeClass)([`btn-close`,{"btn-close-white":e.white}]),disabled:e.disabled,"aria-label":e.ariaLabel,onClick:a},null,10,d))}}),p={class:`visually-hidden`},m=(0,t.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`}},setup(e){let n=e,r=(0,t.computed)(()=>{let e=[`spinner-${n.type}`];return n.variant&&e.push(`text-${n.variant}`),n.size&&e.push(`spinner-${n.type}-${n.size}`),e.join(` `)});return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{class:(0,t.normalizeClass)(r.value),role:`status`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,p,(0,t.toDisplayString)(e.label),1)]),_:1},8,[`class`]))}}),h=(0,t.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`}},setup(e){let n=e,r=(0,t.computed)(()=>{let e=[`placeholder`];return n.variant&&e.push(`bg-${n.variant}`),n.size&&e.push(`placeholder-${n.size}`),e.join(` `)}),i=(0,t.computed)(()=>{if(n.animation)return`placeholder-${n.animation}`}),a=(0,t.computed)(()=>{if(n.width)return{width:typeof n.width==`number`?`${n.width}%`:n.width}});return(n,o)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{class:(0,t.normalizeClass)(i.value)},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)(r.value),style:(0,t.normalizeStyle)(a.value)},[(0,t.renderSlot)(n.$slots,`default`)],6)]),_:3},8,[`class`]))}}),g=(0,t.defineComponent)({inheritAttrs:!1,__name:`VibeSkeleton`,props:{variant:{type:String,default:`text`},width:{type:[String,Number],default:void 0},height:{type:[String,Number],default:void 0},lines:{type:Number,default:1},animated:{type:Boolean,default:!0}},setup(e){let n=e,r=e=>{if(e!==void 0)return typeof e==`number`?`${e}px`:e},i=(0,t.computed)(()=>{let e=[`vibe-skeleton`];return n.animated&&e.push(`vibe-skeleton-animated`),e}),a=(0,t.computed)(()=>Math.max(1,n.lines)),o=(0,t.computed)(()=>n.variant===`circle`?r(n.width):void 0),s=(0,t.computed)(()=>{if(n.variant!==`circle`)return;let e=r(n.height);return e===void 0?r(n.width):e}),c={"aria-busy":`true`,role:`status`};return(n,l)=>e.variant===`text`?((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:0},(0,t.renderList)(a.value,i=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,(0,t.mergeProps)({key:i,class:[`vibe-skeleton`,`vibe-skeleton-text`,e.animated?`vibe-skeleton-animated`:``,i===a.value&&a.value>1?`vibe-skeleton-text-last`:``],style:{width:i===a.value&&a.value>1?`60%`:r(e.width),height:r(e.height)}},{ref_for:!0},i===1?n.$attrs:void 0,{role:`status`,"aria-busy":`true`}),null,16))),128)):e.variant===`rect`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,(0,t.mergeProps)({key:1,class:[...i.value,`vibe-skeleton-rect`],style:{width:r(e.width),height:r(e.height)}},{...n.$attrs,...c}),null,16)):e.variant===`circle`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,(0,t.mergeProps)({key:2,class:[...i.value,`vibe-skeleton-circle`],style:{width:o.value,height:s.value}},{...n.$attrs,...c}),null,16)):e.variant===`card`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,(0,t.mergeProps)({key:3,class:`vibe-skeleton-card`},{...n.$attrs,...c}),[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`vibe-skeleton`,`vibe-skeleton-rect`,e.animated?`vibe-skeleton-animated`:``]),style:(0,t.normalizeStyle)({width:`100%`,height:r(e.height)||`160px`})},null,6),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`vibe-skeleton`,`vibe-skeleton-text`,e.animated?`vibe-skeleton-animated`:``]),style:{width:`80%`}},null,2),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`vibe-skeleton`,`vibe-skeleton-text`,`vibe-skeleton-text-last`,e.animated?`vibe-skeleton-animated`:``]),style:{width:`50%`}},null,2)],16)):(0,t.createCommentVNode)(``,!0)}}),_=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},v=_(g,[[`__scopeId`,`data-v-56cea6eb`]]),y=(0,t.defineComponent)({__name:`VibeContainer`,props:{fluid:{type:[Boolean,String],default:!1},tag:{type:String,default:`div`}},setup(e){let n=e,r=(0,t.computed)(()=>n.fluid===!1?`container`:n.fluid===!0?`container-fluid`:`container-${n.fluid}`);return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{class:(0,t.normalizeClass)(r.value)},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`)]),_:3},8,[`class`]))}}),b=(0,t.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}},setup(e){let n=e,r=(0,t.computed)(()=>{let e=[`row`];n.gutters!==void 0&&e.push(`g-${n.gutters}`),n.guttersX!==void 0&&e.push(`gx-${n.guttersX}`),n.guttersY!==void 0&&e.push(`gy-${n.guttersY}`);let t=[`sm`,`md`,`lg`,`xl`,`xxl`];return t.forEach(t=>{let r=t.charAt(0).toUpperCase()+t.slice(1),i=`gutters${r}`;n[i]!==void 0&&e.push(`g-${t}-${n[i]}`);let a=`guttersX${r}`;n[a]!==void 0&&e.push(`gx-${t}-${n[a]}`);let o=`guttersY${r}`;n[o]!==void 0&&e.push(`gy-${t}-${n[o]}`)}),n.rowCols!==void 0&&e.push(`row-cols-${n.rowCols}`),t.forEach(t=>{let r=`rowCols${t.charAt(0).toUpperCase()+t.slice(1)}`;n[r]!==void 0&&e.push(`row-cols-${t}-${n[r]}`)}),n.alignItems&&e.push(`align-items-${n.alignItems}`),n.justifyContent&&e.push(`justify-content-${n.justifyContent}`),e.join(` `)});return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{class:(0,t.normalizeClass)(r.value)},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`)]),_:3},8,[`class`]))}}),x=(0,t.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}},setup(e){let n=e,r=(0,t.computed)(()=>{let e=[];return n.cols!==void 0||n.sm!==void 0||n.md!==void 0||n.lg!==void 0||n.xl!==void 0||n.xxl!==void 0?(n.cols===!0?e.push(`col`):n.cols===`auto`?e.push(`col-auto`):n.cols&&e.push(`col-${n.cols}`),[{name:`sm`,value:n.sm},{name:`md`,value:n.md},{name:`lg`,value:n.lg},{name:`xl`,value:n.xl},{name:`xxl`,value:n.xxl}].forEach(({name:t,value:n})=>{n===!0?e.push(`col-${t}`):n===`auto`?e.push(`col-${t}-auto`):n!==void 0&&e.push(`col-${t}-${n}`)})):e.push(`col`),n.offset!==void 0&&e.push(`offset-${n.offset}`),n.offsetSm!==void 0&&e.push(`offset-sm-${n.offsetSm}`),n.offsetMd!==void 0&&e.push(`offset-md-${n.offsetMd}`),n.offsetLg!==void 0&&e.push(`offset-lg-${n.offsetLg}`),n.offsetXl!==void 0&&e.push(`offset-xl-${n.offsetXl}`),n.offsetXxl!==void 0&&e.push(`offset-xxl-${n.offsetXxl}`),n.order!==void 0&&e.push(`order-${n.order}`),n.orderSm!==void 0&&e.push(`order-sm-${n.orderSm}`),n.orderMd!==void 0&&e.push(`order-md-${n.orderMd}`),n.orderLg!==void 0&&e.push(`order-lg-${n.orderLg}`),n.orderXl!==void 0&&e.push(`order-xl-${n.orderXl}`),n.orderXxl!==void 0&&e.push(`order-xxl-${n.orderXxl}`),n.alignSelf&&e.push(`align-self-${n.alignSelf}`),e.join(` `)});return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{class:(0,t.normalizeClass)(r.value)},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`)]),_:3},8,[`class`]))}}),S=[`src`,`alt`],C={key:0,class:`card-title`},w={key:1,class:`card-text`},T=[`src`,`alt`],E=(0,t.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},headerClass:{type:[String,Array,Object],default:void 0},bodyClass:{type:[String,Array,Object],default:void 0},footerClass:{type:[String,Array,Object],default:void 0},imgSrc:{type:String,default:void 0},imgAlt:{type:String,default:``},imgTop:{type:Boolean,default:!1},imgBottom:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.computed)(()=>{let e=[`card`];return n.variant&&e.push(`text-bg-${n.variant}`),n.border&&e.push(`border-${n.border}`),n.textVariant&&e.push(`text-${n.textVariant}`),e.join(` `)});return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{class:(0,t.normalizeClass)(r.value)},{default:(0,t.withCtx)(()=>[e.imgSrc&&e.imgTop?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,src:e.imgSrc,alt:e.imgAlt,class:`card-img-top`},null,8,S)):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(n.$slots,`image`),e.header||n.$slots.header?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:(0,t.normalizeClass)([`card-header`,e.headerClass])},[(0,t.renderSlot)(n.$slots,`header`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.header),1)])],2)):(0,t.createCommentVNode)(``,!0),e.title||e.body||n.$slots.title||n.$slots.body||n.$slots.default?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,class:(0,t.normalizeClass)([`card-body`,e.bodyClass])},[e.title||n.$slots.title?((0,t.openBlock)(),(0,t.createElementBlock)(`h5`,C,[(0,t.renderSlot)(n.$slots,`title`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)])])):(0,t.createCommentVNode)(``,!0),e.body||n.$slots.body?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,w,[(0,t.renderSlot)(n.$slots,`body`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.body),1)])])):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(n.$slots,`default`)],2)):(0,t.createCommentVNode)(``,!0),e.footer||n.$slots.footer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:3,class:(0,t.normalizeClass)([`card-footer`,e.footerClass])},[(0,t.renderSlot)(n.$slots,`footer`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.footer),1)])],2)):(0,t.createCommentVNode)(``,!0),e.imgSrc&&e.imgBottom?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:4,src:e.imgSrc,alt:e.imgAlt,class:`card-img-bottom`},null,8,T)):(0,t.createCommentVNode)(``,!0)]),_:3},8,[`class`]))}}),ee=/^(https?:\/\/|\/(?!\/)|\.\.?\/|#)/i;function D(e){if(!(e===void 0||e===``))return ee.test(e)?e:void 0}var O=/^(auto|0|[\d.]+(%|px|rem|em|vh|vw|dvh|dvw|svh|svw|ch|ex|vmin|vmax))$/,te=/^(#[0-9a-fA-F]{3,8}|rgba?\(\s*[\d.,\s]+\)|hsla?\(\s*[\d.,\s%]+\)|var\(--[\w-]+(?:\s*,\s*[^)]+)?\)|[a-zA-Z]+)$/,k=new Set([`width`,`minWidth`,`maxWidth`,`textAlign`,`verticalAlign`,`padding`,`paddingLeft`,`paddingRight`,`paddingTop`,`paddingBottom`,`whiteSpace`,`overflow`,`textOverflow`,`fontWeight`,`fontSize`,`color`,`backgroundColor`,`cursor`,`border`,`borderLeft`,`borderRight`,`borderTop`,`borderBottom`]);function A(e){if(e!==void 0)return O.test(e.trim())?e:void 0}function j(e){if(e!==void 0)return te.test(e.trim())?e:void 0}function ne(e){return e?Object.fromEntries(Object.entries(e).filter(([e])=>k.has(e))):{}}var re=(0,t.defineComponent)({__name:`VibeHero`,props:{variant:{type:String,default:void 0},textVariant:{type:String,default:void 0},border:{type:String,default:void 0},align:{type:String,default:`center`},fluid:{type:[Boolean,String],default:!1},minHeight:{type:String,default:void 0},bgImage:{type:String,default:void 0},overlay:{type:[Boolean,String],default:!1},gradient:{type:String,default:void 0},tag:{type:String,default:`section`}},setup(e){let n=e,r=/^(?:repeating-)?(?:linear|radial|conic)-gradient\([^;{}]*\)$/i,i=e=>{if(!e)return;let t=e.trim();if(!/url\(|expression\(|javascript:/i.test(t))return r.test(t)?t:void 0},a=(0,t.computed)(()=>{let e=[`py-5`,`text-${n.align}`];return n.variant&&e.push(`bg-${n.variant}`),n.textVariant&&e.push(`text-${n.textVariant}`),n.border&&e.push(`border`,`border-${n.border}`,`rounded-3`),A(n.minHeight)&&e.push(`d-flex`,`align-items-center`),e}),o=(0,t.computed)(()=>n.fluid===!0?`container-fluid`:typeof n.fluid==`string`?`container-${n.fluid}`:`container`),s=(0,t.computed)(()=>{let e={},t=D(n.bgImage),r=i(n.gradient),a=[];if(r)a.push(r);else if(t&&n.overlay){let e=typeof n.overlay==`string`?j(n.overlay)??`rgba(0, 0, 0, 0.5)`:`rgba(0, 0, 0, 0.5)`;a.push(`linear-gradient(${e}, ${e})`)}t&&a.push(`url("${t}")`),a.length&&(e.backgroundImage=a.join(`, `),t&&(e.backgroundSize=`cover`,e.backgroundPosition=`center`));let o=A(n.minHeight);return o&&(e.minHeight=o),e}),c=(0,t.computed)(()=>Object.keys(s.value).length>0);return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{class:(0,t.normalizeClass)(a.value),style:(0,t.normalizeStyle)(c.value?s.value:void 0)},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)(o.value)},[(0,t.renderSlot)(n.$slots,`default`)],2)]),_:3},8,[`class`,`style`]))}}),ie=[`aria-label`],ae={class:`breadcrumb`},oe=[`aria-current`],M=(0,t.defineComponent)({__name:`VibeBreadcrumb`,props:{ariaLabel:{type:String,default:`breadcrumb`},items:{type:Array,required:!0}},emits:[`item-click`,`component-error`],setup(e,{emit:n}){let r=n,i=(e,t,n)=>{e.active||r(`item-click`,{item:e,index:t,event:n})};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`nav`,{"aria-label":e.ariaLabel},[(0,t.createElementVNode)(`ol`,ae,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.items,(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:e.href||e.text||String(r),class:(0,t.normalizeClass)([`breadcrumb-item`,{active:e.active}]),"aria-current":e.active?`page`:void 0},[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.active?`span`:(0,t.unref)(D)(e.href)?`a`:e.to?`router-link`:`span`),{href:e.active?void 0:(0,t.unref)(D)(e.href),to:e.active?void 0:e.to,onClick:t=>i(e,r,t)},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`item`,{item:e,index:r},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.text),1)])]),_:2},1032,[`href`,`to`,`onClick`]))],10,oe))),128))])],8,ie))}}),se={class:`dropdown-menu`},N={key:0,class:`dropdown-divider`},ce={key:1,class:`dropdown-header`},P=(0,t.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(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(null),s=new Map,c=!1,l=!1,u=(0,t.computed)(()=>{let e=[`nav`];return i.pills&&e.push(`nav-pills`),i.tabs&&e.push(`nav-tabs`),i.vertical&&e.push(`flex-column`),i.justified&&e.push(`nav-justified`),i.fill&&e.push(`nav-fill`),i.underline&&e.push(`nav-underline`),e.join(` `)}),d=e=>a(`show`,e),f=e=>a(`shown`,e),p=e=>a(`hide`,e),m=e=>a(`hidden`,e),h=async()=>{if(!(!o.value||c)){c=!0;try{let e=(await import(`bootstrap`)).Tab;if(!o.value||l)return;o.value.querySelectorAll(`[data-bs-toggle="tab"], [data-bs-toggle="pill"]`).forEach(t=>{let n=t;if(!s.has(n)){let t=new e(n);s.set(n,t),n.addEventListener(`show.bs.tab`,d),n.addEventListener(`shown.bs.tab`,f),n.addEventListener(`hide.bs.tab`,p),n.addEventListener(`hidden.bs.tab`,m)}})}catch(e){a(`component-error`,{message:`Bootstrap JS not loaded. Nav will use basic Vue logic.`,componentName:`VibeNav`,originalError:e})}finally{c=!1}}};(0,t.onMounted)(h),(0,t.onBeforeUnmount)(()=>{l=!0,s.forEach((e,t)=>{t.removeEventListener(`show.bs.tab`,d),t.removeEventListener(`shown.bs.tab`,f),t.removeEventListener(`hide.bs.tab`,p),t.removeEventListener(`hidden.bs.tab`,m),e.dispose()}),s.clear()}),(0,t.watch)(()=>i.items,async()=>{s.forEach((e,t)=>{t.removeEventListener(`show.bs.tab`,d),t.removeEventListener(`shown.bs.tab`,f),t.removeEventListener(`hide.bs.tab`,p),t.removeEventListener(`hidden.bs.tab`,m),e.dispose()}),s.clear(),await(0,t.nextTick)(),await h()},{deep:!1});let g=e=>{if(e.href?.startsWith(`#`))return e.href;if(e.target)return e.target;if(typeof e.to==`string`){let t=e.to.indexOf(`#`);if(t!==-1)return e.to.slice(t)}},_=(e,t,n)=>{e.disabled||a(`item-click`,{item:e,index:t,event:n})};return n({refresh:async()=>{s.forEach((e,t)=>{t.removeEventListener(`show.bs.tab`,d),t.removeEventListener(`shown.bs.tab`,f),t.removeEventListener(`hide.bs.tab`,p),t.removeEventListener(`hidden.bs.tab`,m),e.dispose()}),s.clear(),await(0,t.nextTick)(),await h()},_unsafe_bsInstances:s}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{ref_key:`navRef`,ref:o,class:(0,t.normalizeClass)(u.value)},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.items,(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:r.href||(r.to?String(r.to):void 0)||r.text||String(i),class:(0,t.normalizeClass)([`nav-item`,{dropdown:r.children&&r.children.length>0}])},[r.children&&r.children.length>0?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`nav-link dropdown-toggle`,{active:r.active,disabled:r.disabled}]),"data-bs-toggle":`dropdown`,"aria-expanded":`false`},(0,t.toDisplayString)(r.text),3),(0,t.createElementVNode)(`ul`,se,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(r.children,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:e.href||e.text||String(n)},[e.divider?((0,t.openBlock)(),(0,t.createElementBlock)(`hr`,N)):e.header?((0,t.openBlock)(),(0,t.createElementBlock)(`h6`,ce,(0,t.toDisplayString)(e.text),1)):((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(D)(e.href)?`a`:e.to?`router-link`:`button`),{key:2,class:(0,t.normalizeClass)([`dropdown-item`,{active:e.active,disabled:e.disabled}]),href:(0,t.unref)(D)(e.href),to:e.to,type:!e.href&&!e.to?`button`:void 0},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.text),1)]),_:2},1032,[`class`,`href`,`to`,`type`]))]))),128))])],64)):((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(D)(r.href)?`a`:r.to?`router-link`:`button`),{key:1,class:(0,t.normalizeClass)([`nav-link`,{active:r.active,disabled:r.disabled}]),href:(0,t.unref)(D)(r.href),to:r.to,type:!r.href&&!r.to?`button`:void 0,disabled:!r.href&&!r.to&&r.disabled||void 0,"aria-current":r.active?`page`:void 0,"data-bs-toggle":(e.tabs||e.pills)&&g(r)?e.tabs?`tab`:`pill`:void 0,"data-bs-target":g(r),onClick:e=>_(r,i,e)},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`item`,{item:r,index:i},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(r.text),1)])]),_:2},1032,[`class`,`href`,`to`,`type`,`disabled`,`aria-current`,`data-bs-toggle`,`data-bs-target`,`onClick`]))],2))),128))]),_:3},8,[`class`]))}}),F=Symbol(`vibeFormGroup`),le=Symbol(`vibeNavbarCollapse`),ue=Symbol(`vibeTabsContext`),de=_((0,t.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`}},setup(e){let n=e,r=(0,t.reactive)({});(0,t.provide)(le,{collapseStates:r,toggleCollapse:e=>{r[e]=!r[e]}});let i=(0,t.computed)(()=>{let e=[`navbar`];return n.expand===!0?e.push(`navbar-expand`):typeof n.expand==`string`&&e.push(`navbar-expand-${n.expand}`),n.variant&&e.push(`bg-${n.variant}`),n.position&&e.push(n.position),e.join(` `)}),a=(0,t.computed)(()=>{if(n.theme)return n.theme;if(n.variant===`dark`)return`dark`;if(n.variant===`light`)return`light`}),o=(0,t.computed)(()=>{if(n.container!==!1)return n.container===!0?`container-fluid`:`container-${n.container}`});return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{class:(0,t.normalizeClass)(i.value),"data-bs-theme":a.value},{default:(0,t.withCtx)(()=>[o.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)(o.value)},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],2)):(0,t.renderSlot)(n.$slots,`default`,{key:1},void 0,!0)]),_:3},8,[`class`,`data-bs-theme`]))}}),[[`__scopeId`,`data-v-c3e6fe24`]]),fe=(0,t.defineComponent)({__name:`VibeNavbarBrand`,props:{href:{type:String,default:void 0},to:{type:[String,Object],default:void 0}},setup(e){let n=e,r=D(n.href)?`a`:n.to?`router-link`:`span`;return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(r)),{class:`navbar-brand`,href:(0,t.unref)(D)(e.href),to:e.to},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`)]),_:3},8,[`href`,`to`]))}}),pe=[`aria-controls`,`aria-expanded`,`aria-label`],me=(0,t.defineComponent)({__name:`VibeNavbarToggle`,props:{target:{type:String,required:!0},ariaLabel:{type:String,default:`Toggle navigation`}},emits:[`component-error`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.inject)(le,null),o=(0,t.computed)(()=>a?.collapseStates[r.target]??!1),s=async()=>{a&&a.toggleCollapse(r.target);try{let e=document.getElementById(r.target);e&&(await import(`bootstrap`)).Collapse.getOrCreateInstance(e).toggle()}catch(e){a&&a.toggleCollapse(r.target),i(`component-error`,{message:`Bootstrap JS toggle failed.`,componentName:`VibeNavbarToggle`,originalError:e})}};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{class:`navbar-toggler`,type:`button`,"aria-controls":e.target,"aria-expanded":o.value,"aria-label":e.ariaLabel,onClick:s},[...r[0]||=[(0,t.createElementVNode)(`span`,{class:`navbar-toggler-icon`},null,-1)]],8,pe))}}),he={class:`dropdown-menu`},ge={key:0},_e={key:1},ve={class:`dropdown-header`},ye={key:2},be=(0,t.defineComponent)({__name:`VibeNavbarNav`,props:{tag:{type:String,default:`ul`},items:{type:Array,default:void 0}},emits:[`item-click`,`dropdown-item-click`,`component-error`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=new Map,s=async()=>{if(a.value)try{let e=(await import(`bootstrap`)).Dropdown;a.value.querySelectorAll(`[data-bs-toggle="dropdown"]`).forEach(t=>{o.has(t)||o.set(t,new e(t))})}catch(e){i(`component-error`,{message:`Bootstrap JS not loaded. Dropdowns will use data attributes only.`,componentName:`VibeNavbarNav`,originalError:e})}};(0,t.onMounted)(s),(0,t.onBeforeUnmount)(()=>{o.forEach(e=>e.dispose()),o.clear()}),(0,t.watch)(()=>r.items,async()=>{o.forEach(e=>e.dispose()),o.clear(),await(0,t.nextTick)(),await s()},{deep:!1});let c=e=>{let t=[`nav-item`];return e.children?.length&&t.push(`dropdown`),t.join(` `)},l=e=>{let t=[`nav-link`];return e.active&&t.push(`active`),e.disabled&&t.push(`disabled`),e.children?.length&&t.push(`dropdown-toggle`),t.join(` `)},u=e=>e.href?`a`:e.to?`router-link`:`button`,d=e=>{let t=[`dropdown-item`];return e.active&&t.push(`active`),e.disabled&&t.push(`disabled`),t.join(` `)},f=(e,t,n)=>{e.disabled||i(`item-click`,{item:e,index:t,event:n})},p=(e,t,n,r,a)=>{!n.disabled&&!n.divider&&!n.header&&i(`dropdown-item-click`,{item:e,itemIndex:t,child:n,childIndex:r,event:a})};return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{ref_key:`navbarNavRef`,ref:a,class:`navbar-nav`},{default:(0,t.withCtx)(()=>[e.items&&e.items.length>0?((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:0},(0,t.renderList)(e.items,(e,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:e.href||e.text||String(i),class:(0,t.normalizeClass)(c(e))},[e.children?.length?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)(l(e)),"data-bs-toggle":`dropdown`,"aria-expanded":`false`},[(0,t.renderSlot)(n.$slots,`item`,{item:e,index:i},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.text),1)])],2),(0,t.createElementVNode)(`ul`,he,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.children,(a,o)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:a.href||a.text||String(o)},[a.divider?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,ge,[...r[0]||=[(0,t.createElementVNode)(`hr`,{class:`dropdown-divider`},null,-1)]])):a.header?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,_e,[(0,t.createElementVNode)(`h6`,ve,(0,t.toDisplayString)(a.text),1)])):((0,t.openBlock)(),(0,t.createElementBlock)(`li`,ye,[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(a.href?`a`:a.to?`router-link`:`button`),{class:(0,t.normalizeClass)(d(a)),href:a.href,to:a.to,type:!a.href&&!a.to?`button`:void 0,onClick:t=>p(e,i,a,o,t)},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`dropdown-item`,{item:e,child:a,index:i,childIndex:o},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(a.text),1)])]),_:2},1032,[`class`,`href`,`to`,`type`,`onClick`]))]))],64))),128))])],64)):((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(u(e)),{key:1,class:(0,t.normalizeClass)(l(e)),href:e.href||void 0,to:e.to,type:!e.href&&!e.to?`button`:void 0,"aria-current":e.active?`page`:void 0,"aria-disabled":e.disabled,onClick:t=>f(e,i,t)},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`item`,{item:e,index:i},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.text),1)])]),_:2},1032,[`class`,`href`,`to`,`type`,`aria-current`,`aria-disabled`,`onClick`]))],2))),128)):(0,t.renderSlot)(n.$slots,`default`,{key:1})]),_:3},512))}}),xe=[`aria-label`],Se=[`disabled`],Ce={key:0,class:`page-item disabled`,"aria-hidden":`true`},we=[`aria-current`,`onClick`],Te=[`disabled`],Ee=(0,t.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,validator:e=>!0},showPrevNext:{type:Boolean,default:!0},prevText:{type:String,default:`Previous`},nextText:{type:String,default:`Next`},maxVisiblePages:{type:Number,default:7}},emits:[`update:currentPage`,`page-click`,`component-error`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>{let e=[`pagination`];return r.size&&e.push(`pagination-${r.size}`),e.join(` `)}),o=(0,t.computed)(()=>{let e=r.totalPages;if(e===0)return[];let t=Math.max(5,r.maxVisiblePages);if(e<=t)return Array.from({length:e},(e,t)=>t+1);let n=Math.max(1,t-4),i=Math.floor(n/2),a=Math.max(2,r.currentPage-i),o=a+n-1;o>e-1&&(o=e-1,a=Math.max(2,o-n+1));let s=[1];a>2&&s.push(null);for(let e=a;e<=o;e++)s.push(e);return o<e-1&&s.push(null),s.push(e),s}),s=e=>{e>=1&&e<=r.totalPages&&(i(`update:currentPage`,e),i(`page-click`,e))},c=(0,t.computed)(()=>r.totalPages===0||r.currentPage<=1),l=(0,t.computed)(()=>r.totalPages===0||r.currentPage>=r.totalPages);return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`nav`,{"aria-label":e.ariaLabel},[(0,t.createElementVNode)(`ul`,{class:(0,t.normalizeClass)(a.value)},[e.showPrevNext?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:0,class:(0,t.normalizeClass)([`page-item`,{disabled:c.value}])},[(0,t.createElementVNode)(`button`,{class:`page-link`,type:`button`,disabled:c.value,onClick:r[0]||=t=>s(e.currentPage-1)},[(0,t.renderSlot)(n.$slots,`prev`,{disabled:c.value},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.prevText),1)])],8,Se)],2)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(o.value,(i,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:i===null?`e${a}`:`p${i}`},[i===null?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,Ce,[...r[2]||=[(0,t.createElementVNode)(`span`,{class:`page-link`},`…`,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:1,class:(0,t.normalizeClass)([`page-item`,{active:i===e.currentPage}])},[(0,t.createElementVNode)(`button`,{class:`page-link`,type:`button`,"aria-current":i===e.currentPage?`page`:void 0,onClick:e=>s(i)},[(0,t.renderSlot)(n.$slots,`page`,{page:i,active:i===e.currentPage},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(i),1)])],8,we)],2))],64))),128)),e.showPrevNext?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:1,class:(0,t.normalizeClass)([`page-item`,{disabled:l.value}])},[(0,t.createElementVNode)(`button`,{class:`page-link`,type:`button`,disabled:l.value,onClick:r[1]||=t=>s(e.currentPage+1)},[(0,t.renderSlot)(n.$slots,`next`,{disabled:l.value},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.nextText),1)])],8,Te)],2)):(0,t.createCommentVNode)(``,!0)],2)],8,xe))}}),De=[`id`,`aria-labelledby`],Oe=(0,t.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}},setup(e){let n=e,r=e=>{let t=[`tab-pane`];return n.fade&&t.push(`fade`),e.active&&t.push(`show`,`active`),t.join(` `)};return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{id:e.id,class:`tab-content`},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.panes,(e,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,id:e.id,class:(0,t.normalizeClass)(r(e)),role:`tabpanel`,"aria-labelledby":`${e.id}-tab`,tabindex:`0`},[(0,t.renderSlot)(n.$slots,`pane`,{pane:e,index:i},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.content),1)])],10,De))),128))]),_:3},8,[`id`]))}}),I=[`disabled`,`aria-selected`,`onClick`],ke=(0,t.defineComponent)({__name:`VibeTabs`,props:{modelValue:{type:String,default:void 0},variant:{type:String,default:`tabs`},fill:{type:Boolean,default:!1},justified:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.reactive)([]),o=(0,t.ref)(r.modelValue),s=(0,t.reactive)(new Set),c=(0,t.computed)(()=>o.value);(0,t.watch)(()=>r.modelValue,e=>{e===void 0?o.value=void 0:e!==o.value&&(o.value=e,s.add(e))});let l=e=>{o.value!==e&&(o.value=e,s.add(e),i(`update:modelValue`,e),i(`change`,e))},u=(0,t.computed)(()=>{let e=[`nav`];return r.variant===`tabs`?e.push(`nav-tabs`):r.variant===`pills`?e.push(`nav-pills`):r.variant===`underline`&&e.push(`nav-underline`),r.fill&&e.push(`nav-fill`),r.justified&&e.push(`nav-justified`),r.vertical&&e.push(`flex-column`),e.join(` `)}),d=(0,t.computed)(()=>r.vertical?`d-flex`:``);return(0,t.provide)(ue,{register:(e,n,r)=>{a.find(t=>t.name===e)||(a.push({name:e,label:n,disabled:r}),o.value===void 0&&!r&&(o.value=e,s.add(e),(0,t.nextTick)(()=>i(`update:modelValue`,e))))},unregister:e=>{let t=o.value===e,n=a.filter(t=>t.name!==e);if(a.splice(0,a.length,...n),t){let e=a.find(e=>!e.disabled)?.name;o.value=e,e!==void 0&&(s.add(e),i(`update:modelValue`,e),i(`change`,e))}},isActive:e=>o.value===e,hasBeenActive:e=>s.has(e),get lazy(){return r.lazy}}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`vibe-tabs`,d.value])},[(0,t.createElementVNode)(`ul`,{class:(0,t.normalizeClass)(u.value),role:`tablist`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:e.name,class:`nav-item`,role:`presentation`},[(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`nav-link`,{active:e.name===c.value,disabled:e.disabled}]),disabled:e.disabled,"aria-selected":e.name===c.value,role:`tab`,onClick:t=>l(e.name)},(0,t.toDisplayString)(e.label),11,I)]))),128))],2),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`tab-content`,{"flex-grow-1 ms-3":e.vertical}])},[(0,t.renderSlot)(n.$slots,`default`)],2)],2))}}),Ae=(0,t.defineComponent)({__name:`VibeTab`,props:{name:{type:String,required:!0},label:{type:String,required:!0},disabled:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.inject)(ue,null);r||console.error(`[VibeTab] must be a descendant of <VibeTabs>`),(0,t.onMounted)(()=>{r?.register(n.name,n.label,n.disabled)}),(0,t.onBeforeUnmount)(()=>{r?.unregister(n.name)});let i=(0,t.computed)(()=>r?.isActive(n.name)??!1),a=(0,t.computed)(()=>!r||!r.lazy?!0:r.hasBeenActive(n.name));return(e,n)=>a.value?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`tab-pane`,{active:i.value,show:i.value}]),role:`tabpanel`},[(0,t.renderSlot)(e.$slots,`default`)],2)),[[t.vShow,i.value]]):(0,t.createCommentVNode)(``,!0)}}),je=(0,t.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(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>{let e=[`list-group`];return r.flush&&e.push(`list-group-flush`),r.numbered&&e.push(`list-group-numbered`),r.horizontal===!0?e.push(`list-group-horizontal`):typeof r.horizontal==`string`&&e.push(`list-group-horizontal-${r.horizontal}`),e.join(` `)}),o=e=>{let t=[`list-group-item`];return e.active&&t.push(`active`),e.disabled&&t.push(`disabled`),e.variant&&t.push(`list-group-item-${e.variant}`),t.join(` `)},s=(e,t,n)=>{e.disabled||i(`item-click`,{item:e,index:t,event:n})};return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{class:(0,t.normalizeClass)(a.value)},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.items,(e,r)=>(0,t.withMemo)([e.href,e.to,e.active,e.disabled,e.variant,e.text],()=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(D)(e.href)?`a`:e.to?`router-link`:`li`),{class:(0,t.normalizeClass)(o(e)),href:(0,t.unref)(D)(e.href),to:e.to,"aria-disabled":e.disabled||void 0,"aria-current":e.active,onClick:t=>s(e,r,t)},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`item`,{item:e,index:r},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.text),1)])]),_:2},1032,[`class`,`href`,`to`,`aria-disabled`,`aria-current`,`onClick`])),{key:e.href??e.text??r},0)),128))]),_:3},8,[`class`]))}}),Me=[`aria-label`,`aria-valuenow`,`aria-valuemax`],Ne=(0,t.defineComponent)({__name:`VibeProgress`,props:{height:{type:String,default:void 0},bars:{type:Array,required:!0}},setup(e){let n=e,r=(0,t.computed)(()=>{let e=A(n.height);return e?{height:e}:void 0}),i=e=>{let t=[`progress-bar`];return e.variant&&t.push(`bg-${e.variant}`),(e.striped||e.animated)&&t.push(`progress-bar-striped`),e.animated&&t.push(`progress-bar-animated`),t.join(` `)},a=e=>{if(e.max!==void 0&&e.max<=0)return{width:`0%`};let t=e.max||100,n=Number.isFinite(e.value)?e.value:0;return{width:`${Math.min(100,Math.max(0,n/t*100))}%`}},o=e=>{if(e.label)return e.label;if(e.showValue){let t=e.max||100;return`${Math.min(100,Math.max(0,Math.round(e.value/t*100)))}%`}return``};return(n,s)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`progress`,style:(0,t.normalizeStyle)(r.value)},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.bars,(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.label??`${e.value}-${r}`,class:(0,t.normalizeClass)(i(e)),style:(0,t.normalizeStyle)(a(e)),role:`progressbar`,"aria-label":e.label||`Progress`,"aria-valuenow":e.value,"aria-valuemin":0,"aria-valuemax":e.max||100},[(0,t.renderSlot)(n.$slots,`label`,{bar:e,index:r},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(o(e)),1)])],14,Me))),128))],4))}}),Pe=0,Fe=new WeakMap;function L(e=`vibe`){let n=(0,t.getCurrentInstance)();if(!n)return`${e}-${++Pe}`;let r=(Fe.get(n)??0)+1;return Fe.set(n,r),`${e}-${n.uid}-${r}`}var Ie=[`id`],Le={class:`accordion-header`},Re=[`data-bs-target`,`aria-expanded`,`aria-controls`,`onClick`],ze=[`id`,`data-bs-parent`],Be={class:`accordion-body`},Ve=(0,t.defineComponent)({__name:`VibeAccordion`,props:{id:{type:String,default:void 0},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(e,{expose:n,emit:r}){let i=L(`accordion`),a=e,o=(0,t.computed)(()=>a.id||i),s=r,c=(0,t.ref)(null),l=new Map,u=new Map,d=!1,f=!1,p=new Map,m=e=>s(`show`,e),h=e=>s(`shown`,e),g=e=>s(`hide`,e),_=e=>s(`hidden`,e),v=e=>{let t=u.get(e),n=p.get(e);t&&n&&(t.removeEventListener(`show.bs.collapse`,n.show),t.removeEventListener(`shown.bs.collapse`,n.shown),t.removeEventListener(`hide.bs.collapse`,n.hide),t.removeEventListener(`hidden.bs.collapse`,n.hidden)),u.delete(e),p.delete(e),l.get(e)?.dispose(),l.delete(e)},y=async()=>{if(c.value){if(d){f=!0;return}d=!0,f=!1;try{let e=(await import(`bootstrap`)).Collapse;c.value.querySelectorAll(`.accordion-collapse`).forEach(t=>{let n=t.id;if(!l.has(n)){let r=t;u.set(n,r);let i=new e(r,{toggle:!1,parent:a.alwaysOpen?void 0:`#${o.value}`});l.set(n,i);let s={show:()=>m(n),shown:()=>h(n),hide:()=>g(n),hidden:()=>_(n)};p.set(n,s),t.addEventListener(`show.bs.collapse`,s.show),t.addEventListener(`shown.bs.collapse`,s.shown),t.addEventListener(`hide.bs.collapse`,s.hide),t.addEventListener(`hidden.bs.collapse`,s.hidden),a.items.find(e=>e.id===n)?.show&&i.show()}})}catch(e){s(`component-error`,{message:`Bootstrap JS not loaded. Accordion will use data attributes only.`,componentName:`VibeAccordion`,originalError:e})}finally{d=!1,f&&(f=!1,y())}}};(0,t.onMounted)(y),(0,t.onBeforeUnmount)(()=>{l.forEach((e,t)=>v(t))}),(0,t.watch)([()=>a.items,()=>a.alwaysOpen],async()=>{let e=[...l.keys()];for(let t of e)v(t);l.clear(),u.clear(),await(0,t.nextTick)(),await y()},{deep:!1});let b=(e,t)=>{s(`item-click`,{item:e,index:t})};return n({refresh:y,_unsafe_bsInstances:l}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`accordionRef`,ref:c,id:o.value,class:(0,t.normalizeClass)([`accordion`,{"accordion-flush":e.flush}])},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.items,(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:r.id,class:`accordion-item`},[(0,t.createElementVNode)(`h2`,Le,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`accordion-button`,{collapsed:!r.show}]),type:`button`,"data-bs-toggle":`collapse`,"data-bs-target":`#${r.id}`,"aria-expanded":r.show,"aria-controls":r.id,onClick:e=>b(r,i)},[(0,t.renderSlot)(n.$slots,`title`,{item:r,index:i},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(r.title),1)])],10,Re)]),(0,t.createElementVNode)(`div`,{id:r.id,class:(0,t.normalizeClass)([`accordion-collapse`,`collapse`]),"data-bs-parent":e.alwaysOpen?void 0:`#${o.value}`},[(0,t.createElementVNode)(`div`,Be,[(0,t.renderSlot)(n.$slots,`content`,{item:r,index:i},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(r.content),1)])])],8,ze)]))),128))],10,Ie))}}),He=(0,t.defineComponent)({__name:`VibeCollapse`,props:{id:{type:String,default:void 0},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(e,{emit:n}){let r=L(`collapse`),i=e,a=n,o=(0,t.inject)(le,null),s=(0,t.computed)(()=>i.id||r),c=(0,t.ref)(null),l=(0,t.shallowRef)(null),u=(0,t.ref)(!1),d=(0,t.ref)(!1),f=null,p=()=>{u.value=!0,a(`show`)},m=()=>{a(`shown`),a(`update:modelValue`,!0)},h=()=>{a(`hide`)},g=()=>{u.value=!1,a(`hidden`),a(`update:modelValue`,!1)};(0,t.onMounted)(async()=>{if(c.value)try{let e=(await import(`bootstrap`)).Collapse;if(!c.value)return;l.value=new e(c.value,{toggle:!1}),c.value.addEventListener(`show.bs.collapse`,p),c.value.addEventListener(`shown.bs.collapse`,m),c.value.addEventListener(`hide.bs.collapse`,h),c.value.addEventListener(`hidden.bs.collapse`,g);let n=f===null?o&&s.value in o.collapseStates?o.collapseStates[s.value]:i.modelValue:f;if(f=null,d.value=!0,await(0,t.nextTick)(),!l.value)return;n&&l.value.show()}catch(e){d.value=!0,a(`component-error`,{message:`Bootstrap JS not loaded. Collapse will use CSS classes only.`,componentName:`VibeCollapse`,originalError:e})}}),(0,t.onBeforeUnmount)(()=>{c.value&&(c.value.removeEventListener(`show.bs.collapse`,p),c.value.removeEventListener(`shown.bs.collapse`,m),c.value.removeEventListener(`hide.bs.collapse`,h),c.value.removeEventListener(`hidden.bs.collapse`,g)),l.value&&=(l.value.dispose(),null)});let _=(0,t.computed)(()=>o&&s.value in o.collapseStates?o.collapseStates[s.value]:i.modelValue);(0,t.watch)(_,e=>{if(!d.value){f=e;return}l.value&&(e&&!u.value?l.value.show():!e&&u.value&&l.value.hide())}),(0,t.watch)(()=>i.modelValue,e=>{o&&s.value in o.collapseStates&&o.collapseStates[s.value]!==e&&(o.collapseStates[s.value]=e)});let v=(0,t.computed)(()=>{let e=[`collapse`];return i.isNav&&e.push(`navbar-collapse`),i.horizontal&&e.push(`collapse-horizontal`),!d.value&&_.value&&e.push(`show`),e.join(` `)});return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{ref_key:`collapseRef`,ref:c,id:s.value,class:(0,t.normalizeClass)(v.value)},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`)]),_:3},8,[`id`,`class`]))}}),Ue=[`id`,`data-bs-auto-close`],We=[`id`,`data-bs-auto-close`],R=[`aria-labelledby`],Ge={key:0},Ke={key:1},qe={class:`dropdown-header`},Je={key:2},Ye=(0,t.defineComponent)({__name:`VibeDropdown`,props:{id:{type:String,default:void 0},text:{type:String,default:`Dropdown`},variant:{type:String,default:`primary`},size:{type:String,default:void 0},split:{type:Boolean,default:!1},direction:{type:String,default:`down`},menuEnd:{type:Boolean,default:!1},items:{type:Array,required:!0},autoClose:{type:[Boolean,String],default:!0}},emits:[`item-click`,`show`,`shown`,`hide`,`hidden`,`component-error`],setup(e,{expose:n,emit:r}){let i=L(`dropdown`),a=e,o=r,s=(0,t.computed)(()=>a.id||i),c=(0,t.ref)(null),l=(0,t.shallowRef)(null),u=null,d=!1,f=!1,p=!1,m=(0,t.computed)(()=>a.direction===`up`?`dropup`:a.direction===`end`?`dropend`:a.direction===`start`?`dropstart`:`dropdown`),h=(0,t.computed)(()=>{let e=[`btn`,`btn-${a.variant}`];return a.size&&e.push(`btn-${a.size}`),e.join(` `)}),g=(0,t.computed)(()=>{let e=[`dropdown-menu`];return a.menuEnd&&e.push(`dropdown-menu-end`),e.join(` `)}),_=(0,t.computed)(()=>{let e=new Map;for(let t of a.items){let n=[`dropdown-item`];t.active&&n.push(`active`),t.disabled&&n.push(`disabled`),e.set(t,n.join(` `))}return e}),v=()=>o(`show`),y=()=>o(`shown`),b=()=>o(`hide`),x=()=>o(`hidden`),S=async()=>{if(!(!c.value||f)){f=!0;try{let e=(await import(`bootstrap`)).Dropdown;if(!c.value||p)return;u=c.value.querySelector(`.dropdown-toggle`),u&&(l.value=new e(u,{autoClose:a.autoClose}),u.addEventListener(`show.bs.dropdown`,v),u.addEventListener(`shown.bs.dropdown`,y),u.addEventListener(`hide.bs.dropdown`,b),u.addEventListener(`hidden.bs.dropdown`,x))}catch(e){o(`component-error`,{message:`Bootstrap JS not loaded. Dropdown will use data attributes only.`,componentName:`VibeDropdown`,originalError:e})}finally{f=!1}}},C=()=>{u&&=(u.removeEventListener(`show.bs.dropdown`,v),u.removeEventListener(`shown.bs.dropdown`,y),u.removeEventListener(`hide.bs.dropdown`,b),u.removeEventListener(`hidden.bs.dropdown`,x),null),l.value&&=(l.value.dispose(),null)};(0,t.onMounted)(S),(0,t.onBeforeUnmount)(()=>{p=!0,C()}),(0,t.watch)(()=>a.autoClose,async()=>{if(!d){d=!0;try{C(),await S()}finally{d=!1}}});let w=(e,t,n)=>{!e.disabled&&!e.divider&&!e.header&&o(`item-click`,{item:e,index:t,event:n})};return n({show:()=>l.value?.show(),hide:()=>l.value?.hide(),toggle:()=>l.value?.toggle()}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`dropdownRef`,ref:c,class:(0,t.normalizeClass)(m.value)},[e.split?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)(h.value),type:`button`},[(0,t.renderSlot)(n.$slots,`button`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.text),1)])],2),(0,t.createElementVNode)(`button`,{id:s.value,type:`button`,class:(0,t.normalizeClass)([h.value,`dropdown-toggle`,`dropdown-toggle-split`]),"data-bs-toggle":`dropdown`,"aria-expanded":`false`,"data-bs-auto-close":e.autoClose},[...r[0]||=[(0,t.createElementVNode)(`span`,{class:`visually-hidden`},`Toggle Dropdown`,-1)]],10,We)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,id:s.value,class:(0,t.normalizeClass)([h.value,`dropdown-toggle`]),type:`button`,"data-bs-toggle":`dropdown`,"aria-expanded":`false`,"data-bs-auto-close":e.autoClose},[(0,t.renderSlot)(n.$slots,`button`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.text),1)])],10,Ue)),(0,t.createElementVNode)(`ul`,{class:(0,t.normalizeClass)(g.value),"aria-labelledby":s.value},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.items,(e,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:e.text||e.href||String(e.to)||i},[e.divider?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,Ge,[...r[1]||=[(0,t.createElementVNode)(`hr`,{class:`dropdown-divider`},null,-1)]])):e.header?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,Ke,[(0,t.createElementVNode)(`h6`,qe,[(0,t.renderSlot)(n.$slots,`header`,{item:e,index:i},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.text),1)])])])):((0,t.openBlock)(),(0,t.createElementBlock)(`li`,Je,[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(D)(e.href)?`a`:e.to?`router-link`:`button`),{class:(0,t.normalizeClass)(_.value.get(e)),href:(0,t.unref)(D)(e.href),to:e.to,type:!e.href&&!e.to?`button`:void 0,disabled:e.disabled,onClick:t=>w(e,i,t)},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`item`,{item:e,index:i},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.text),1)])]),_:2},1032,[`class`,`href`,`to`,`type`,`disabled`,`onClick`]))]))],64))),128))],10,R)],2))}}),Xe=[];function Ze(e){if(Xe.length>0){e.preventDefault();let t=Xe.pop();t&&t.action()}}function z(e){let n=Symbol();(0,t.onMounted)(()=>{Xe.push({token:n,action:e}),Xe.length===1&&typeof document<`u`&&document.addEventListener(`backbutton`,Ze)}),(0,t.onUnmounted)(()=>{let e=Xe.findIndex(e=>e.token===n);e!==-1&&Xe.splice(e,1),Xe.length===0&&typeof document<`u`&&document.removeEventListener(`backbutton`,Ze)})}var Qe=[`id`,`aria-labelledby`,`aria-hidden`,`data-bs-backdrop`,`data-bs-keyboard`],$e={class:`modal-content`},et={key:0,class:`modal-header`},tt=[`id`],nt={class:`modal-body`},rt={key:1,class:`modal-footer`},it=_((0,t.defineComponent)({__name:`VibeModal`,props:{id:{type:String,default:void 0},modelValue:{type:Boolean,default:!1},title:{type:String,default:``},size:{type:String,default:void 0},centered:{type:Boolean,default:!1},scrollable:{type:Boolean,default:!1},fullscreen:{type:[Boolean,String],default:!1},staticBackdrop:{type:Boolean,default:!1},hideHeader:{type:Boolean,default:!1},hideFooter:{type:Boolean,default:!1},teleport:{type:[String,Boolean],default:`body`}},emits:[`update:modelValue`,`show`,`shown`,`hide`,`hidden`,`component-error`],setup(e,{expose:n,emit:r}){let i=L(`modal`),a=e,o=r,s=(0,t.computed)(()=>a.id||i),c=(0,t.ref)(null),l=(0,t.shallowRef)(null),u=(0,t.ref)(!1),d=null,f=!1,p=!1,m=!1,h=(0,t.computed)(()=>{let e=[`modal-dialog`];return a.size&&e.push(`modal-${a.size}`),a.centered&&e.push(`modal-dialog-centered`),a.scrollable&&e.push(`modal-dialog-scrollable`),a.fullscreen===!0?e.push(`modal-fullscreen`):typeof a.fullscreen==`string`&&e.push(`modal-fullscreen-${a.fullscreen}-down`),e.join(` `)}),g=()=>{typeof document<`u`&&(d=document.activeElement),o(`show`)},_=()=>{u.value=!0,o(`shown`),o(`update:modelValue`,!0)},v=()=>{o(`hide`)},y=()=>{u.value=!1,o(`hidden`),o(`update:modelValue`,!1),d&&typeof d.focus==`function`&&d.focus(),d=null};function b(){p||!c.value||(c.value.addEventListener(`show.bs.modal`,g),c.value.addEventListener(`shown.bs.modal`,_),c.value.addEventListener(`hide.bs.modal`,v),c.value.addEventListener(`hidden.bs.modal`,y),p=!0)}function x(){!p||!c.value||(c.value.removeEventListener(`show.bs.modal`,g),c.value.removeEventListener(`shown.bs.modal`,_),c.value.removeEventListener(`hide.bs.modal`,v),c.value.removeEventListener(`hidden.bs.modal`,y),p=!1)}let S=async()=>{if(c.value&&!f){f=!0;try{l.value&&=(x(),l.value.dispose(),null);let e=await import(`bootstrap`);if(!c.value||m)return;let t=e.Modal;l.value=new t(c.value,{backdrop:a.staticBackdrop?`static`:!0,keyboard:!a.staticBackdrop,focus:!0}),b(),a.modelValue&&l.value.show()}catch(e){o(`component-error`,{message:`Bootstrap JS not loaded. Modal will use data attributes only.`,componentName:`VibeModal`,originalError:e})}finally{f=!1}}};(0,t.onMounted)(S),(0,t.onBeforeUnmount)(()=>{m=!0,x(),l.value?.dispose(),l.value=null}),(0,t.watch)(()=>a.modelValue,e=>{l.value&&(e&&!u.value?l.value.show():!e&&u.value&&l.value.hide())}),(0,t.watch)(()=>a.staticBackdrop,S);let C=()=>l.value?.show(),w=()=>l.value?.hide();return z(()=>{u.value&&w()}),n({show:C,hide:w,handleUpdate:()=>l.value?.handleUpdate(),_unsafe_bsInstance:l}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:e.teleport===!0?`body`:e.teleport||void 0,disabled:!e.teleport},[(0,t.createElementVNode)(`div`,{ref_key:`modalRef`,ref:c,id:s.value,class:`modal fade`,tabindex:`-1`,"aria-labelledby":`${s.value}-label`,"aria-hidden":u.value?void 0:`true`,"data-bs-backdrop":e.staticBackdrop?`static`:void 0,"data-bs-keyboard":!e.staticBackdrop},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)(h.value)},[(0,t.createElementVNode)(`div`,$e,[e.hideHeader?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,et,[(0,t.createElementVNode)(`h5`,{id:`${s.value}-label`,class:`modal-title`},[(0,t.renderSlot)(n.$slots,`header`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)],8,tt),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn-close`,"aria-label":`Close`,onClick:w})])),(0,t.createElementVNode)(`div`,nt,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),e.hideFooter?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,rt,[(0,t.renderSlot)(n.$slots,`footer`,{},()=>[(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-secondary`,onClick:w},`Close`)],!0)]))])],2)],8,Qe)],8,[`to`,`disabled`]))}}),[[`__scopeId`,`data-v-ed3ac656`]]),B=[`id`,`aria-labelledby`,`data-bs-backdrop`,`data-bs-scroll`],at={class:`offcanvas-header`},ot=[`id`],st={class:`offcanvas-body`},ct=_((0,t.defineComponent)({__name:`VibeOffcanvas`,props:{id:{type:String,default:void 0},modelValue:{type:Boolean,default:!1},title:{type:String,default:``},placement:{type:String,default:`start`},backdrop:{type:[Boolean,String],default:!0},scroll:{type:Boolean,default:!1},teleport:{type:[String,Boolean],default:`body`}},emits:[`update:modelValue`,`show`,`shown`,`hide`,`hidden`,`component-error`],setup(e,{expose:n,emit:r}){let i=L(`offcanvas`),a=e,o=r,s=(0,t.computed)(()=>a.id||i),c=(0,t.ref)(null),l=(0,t.shallowRef)(null),u=(0,t.ref)(!1),d=!1,f=!1,p=!1,m=null,h=(0,t.computed)(()=>`offcanvas offcanvas-${a.placement}`),g=()=>{typeof document<`u`&&(m=document.activeElement),o(`show`)},_=()=>{u.value=!0,o(`shown`),o(`update:modelValue`,!0)},v=()=>{o(`hide`)},y=()=>{u.value=!1,o(`hidden`),o(`update:modelValue`,!1),m&&typeof m.focus==`function`&&m.focus(),m=null};function b(){f||!c.value||(c.value.addEventListener(`show.bs.offcanvas`,g),c.value.addEventListener(`shown.bs.offcanvas`,_),c.value.addEventListener(`hide.bs.offcanvas`,v),c.value.addEventListener(`hidden.bs.offcanvas`,y),f=!0)}function x(){!f||!c.value||(c.value.removeEventListener(`show.bs.offcanvas`,g),c.value.removeEventListener(`shown.bs.offcanvas`,_),c.value.removeEventListener(`hide.bs.offcanvas`,v),c.value.removeEventListener(`hidden.bs.offcanvas`,y),f=!1)}let S=async()=>{if(c.value&&!d){d=!0;try{l.value&&=(x(),l.value.dispose(),null);let e=await import(`bootstrap`);if(!c.value||p)return;let t=e.Offcanvas;l.value=new t(c.value,{backdrop:a.backdrop===!1?!1:a.backdrop===`static`?`static`:!0,scroll:a.scroll,keyboard:a.backdrop!==`static`}),b(),a.modelValue&&l.value.show()}catch(e){o(`component-error`,{message:`Bootstrap JS not loaded. Offcanvas will use data attributes only.`,componentName:`VibeOffcanvas`,originalError:e})}finally{d=!1}}};(0,t.onMounted)(S),(0,t.onBeforeUnmount)(()=>{p=!0,x(),l.value?.dispose(),l.value=null}),(0,t.watch)(()=>a.modelValue,e=>{l.value&&(e&&!u.value?l.value.show():!e&&u.value&&l.value.hide())}),(0,t.watch)([()=>a.placement,()=>a.backdrop,()=>a.scroll],S);let C=()=>l.value?.show(),w=()=>l.value?.hide();return z(()=>{u.value&&w()}),n({show:C,hide:w,_unsafe_bsInstance:l}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:e.teleport===!0?`body`:e.teleport||void 0,disabled:!e.teleport},[(0,t.createElementVNode)(`div`,{ref_key:`offcanvasRef`,ref:c,id:s.value,class:(0,t.normalizeClass)(h.value),tabindex:`-1`,"aria-labelledby":`${s.value}-label`,"data-bs-backdrop":e.backdrop===!1?`false`:e.backdrop===`static`?`static`:`true`,"data-bs-scroll":e.scroll},[(0,t.createElementVNode)(`div`,at,[(0,t.createElementVNode)(`h5`,{id:`${s.value}-label`,class:`offcanvas-title`},[(0,t.renderSlot)(n.$slots,`header`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)],!0)],8,ot),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn-close`,"aria-label":`Close`,onClick:w})]),(0,t.createElementVNode)(`div`,st,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],10,B)],8,[`to`,`disabled`]))}}),[[`__scopeId`,`data-v-417d55a1`]]),lt=[`id`,`data-bs-autohide`,`data-bs-delay`],ut={key:0,class:`toast-header`},dt={class:`me-auto`},ft={class:`toast-body`},pt=[`id`,`data-bs-autohide`,`data-bs-delay`],mt={key:0,class:`toast-header`},ht={class:`me-auto`},gt={class:`toast-body`},_t=(0,t.defineComponent)({__name:`VibeToast`,props:{id:{type:String,default:void 0},modelValue:{type:Boolean,default:!1},title:{type:String,default:``},variant:{type:String,default:void 0},autohide:{type:Boolean,default:!0},delay:{type:Number,default:5e3},teleport:{type:[String,Boolean],default:`body`},placement:{type:String,default:`top-end`},noContainer:{type:Boolean,default:!1}},emits:[`update:modelValue`,`show`,`shown`,`hide`,`hidden`,`component-error`],setup(e,{expose:n,emit:r}){let i=L(`toast`),a=e,o=r,s=(0,t.computed)(()=>a.id??i),c=(0,t.ref)(null),l=(0,t.shallowRef)(null),u=(0,t.ref)(!1),d=(0,t.computed)(()=>{let e=[`toast`];return a.variant&&e.push(`text-bg-${a.variant}`),e.join(` `)}),f=(0,t.computed)(()=>{let e=[`toast-container`,`position-fixed`,`p-3`],t=a.placement;return t.includes(`top`)&&e.push(`top-0`),t.includes(`bottom`)&&e.push(`bottom-0`),t.includes(`middle`)&&e.push(`top-50`,`start-50`,`translate-middle`),t.includes(`start`)&&e.push(`start-0`),t.includes(`end`)&&e.push(`end-0`),t.includes(`center`)&&!t.includes(`middle`)&&e.push(`start-50`,`translate-middle-x`),e.join(` `)}),p=()=>{o(`show`)},m=()=>{u.value=!0,o(`shown`),o(`update:modelValue`,!0)},h=()=>{o(`hide`)},g=()=>{u.value=!1,o(`hidden`),o(`update:modelValue`,!1)},_=()=>{let e=c.value;e&&(e.removeEventListener(`show.bs.toast`,p),e.removeEventListener(`shown.bs.toast`,m),e.removeEventListener(`hide.bs.toast`,h),e.removeEventListener(`hidden.bs.toast`,g))},v=!1,y=!1,b=async()=>{if(!(!c.value||v)){v=!0,_(),l.value&&=(l.value.dispose(),null);try{let e=await import(`bootstrap`);if(!c.value||y)return;let t=e.Toast;l.value=new t(c.value,{autohide:a.autohide,delay:a.delay}),c.value.addEventListener(`show.bs.toast`,p),c.value.addEventListener(`shown.bs.toast`,m),c.value.addEventListener(`hide.bs.toast`,h),c.value.addEventListener(`hidden.bs.toast`,g),a.modelValue&&l.value.show()}catch(e){o(`component-error`,{message:`Bootstrap JS not loaded. Toast will use data attributes only.`,componentName:`VibeToast`,originalError:e})}finally{v=!1}}};(0,t.onMounted)(b),(0,t.onBeforeUnmount)(()=>{y=!0,_(),l.value&&=(l.value.dispose(),null)}),(0,t.watch)(()=>a.modelValue,e=>{l.value&&(e&&!u.value?l.value.show():!e&&u.value&&l.value.hide())}),(0,t.watch)([()=>a.autohide,()=>a.delay],b);let x=()=>l.value?.show(),S=()=>l.value?.hide();return n({show:x,hide:S,_unsafe_bsInstance:l}),(n,r)=>e.noContainer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`toastRef`,ref:c,id:s.value,class:(0,t.normalizeClass)(d.value),role:`alert`,"aria-live":`assertive`,"aria-atomic":`true`,"data-bs-autohide":e.autohide,"data-bs-delay":e.delay},[e.title||n.$slots.header?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ut,[(0,t.renderSlot)(n.$slots,`header`,{},()=>[(0,t.createElementVNode)(`strong`,dt,(0,t.toDisplayString)(e.title),1)]),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn-close`,"aria-label":`Close`,onClick:S})])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,ft,[(0,t.renderSlot)(n.$slots,`default`)])],10,lt)):((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{key:1,to:e.teleport===!0?`body`:e.teleport||void 0,disabled:!e.teleport},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)(f.value),style:{"z-index":`1090`}},[(0,t.createElementVNode)(`div`,{ref_key:`toastRef`,ref:c,id:s.value,class:(0,t.normalizeClass)(d.value),role:`alert`,"aria-live":`assertive`,"aria-atomic":`true`,"data-bs-autohide":e.autohide,"data-bs-delay":e.delay},[e.title||n.$slots.header?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,mt,[(0,t.renderSlot)(n.$slots,`header`,{},()=>[(0,t.createElementVNode)(`strong`,ht,(0,t.toDisplayString)(e.title),1)]),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn-close`,"aria-label":`Close`,onClick:S})])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,gt,[(0,t.renderSlot)(n.$slots,`default`)])],10,pt)],2)],8,[`to`,`disabled`]))}}),vt=(0,t.reactive)({toasts:[]}),yt=new Map,bt=0,xt=()=>(bt+=1,`vibe-toast-${bt}`),St=(e,t)=>{let n=t.id??xt(),r=yt.get(n);if(r)return Object.assign(r,{body:e,title:t.title,variant:t.variant,placement:t.placement,autohide:t.autohide,delay:t.delay}),r;let i={id:n,body:e,title:t.title,variant:t.variant,placement:t.placement,autohide:t.autohide,delay:t.delay};return yt.set(n,i),vt.toasts.push(i),i},Ct=e=>{if(!yt.has(e))return!1;yt.delete(e);let t=vt.toasts.findIndex(t=>t.id===e);return t!==-1&&vt.toasts.splice(t,1),!0},wt=()=>{yt.clear(),vt.toasts.splice(0,vt.toasts.length)};function Tt(){return{get toasts(){return(0,t.readonly)(vt.toasts)},show:(e,t={})=>St(e,t),success:(e,t={})=>St(e,{...t,variant:`success`}),error:(e,t={})=>St(e,{...t,variant:`danger`}),warn:(e,t={})=>St(e,{...t,variant:`warning`}),info:(e,t={})=>St(e,{...t,variant:`info`}),dismiss:Ct,clear:wt}}var Et=()=>{wt(),bt=0},Dt=vt,Ot=(0,t.defineComponent)({__name:`VibeToastHost`,props:{defaultPlacement:{type:String,default:`top-end`}},setup(e){let n=e,{dismiss:r}=Tt(),i=(0,t.computed)(()=>{let e=new Map;for(let t of Dt.toasts){let r=t.placement??n.defaultPlacement,i=e.get(r);i?i.push(t):e.set(r,[t])}return Array.from(e.entries()).map(([e,t])=>({placement:e,toasts:t}))}),a=new Map,o=e=>{let t=a.get(e);if(t!==void 0)return t;let n=[`toast-container`,`position-fixed`,`p-3`];e.includes(`top`)&&n.push(`top-0`),e.includes(`bottom`)&&n.push(`bottom-0`),e.includes(`middle`)&&n.push(`top-50`,`start-50`,`translate-middle`),e.includes(`start`)&&n.push(`start-0`),e.includes(`end`)&&n.push(`end-0`),e.includes(`center`)&&!e.includes(`middle`)&&n.push(`start-50`,`translate-middle-x`);let r=n.join(` `);return a.set(e,r),r};return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(i.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.placement,class:(0,t.normalizeClass)(o(e.placement)),style:{"z-index":`1090`}},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.toasts,n=>((0,t.openBlock)(),(0,t.createBlock)(_t,{key:n.id,"no-container":``,"model-value":!0,title:n.title||``,variant:n.variant,placement:e.placement,autohide:n.autohide??!0,delay:n.delay??5e3,onHidden:e=>(0,t.unref)(r)(n.id)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(n.body),1)]),_:2},1032,[`title`,`variant`,`placement`,`autohide`,`delay`,`onHidden`]))),128))],2))),128))]))}}),kt=[`id`,`data-bs-ride`,`data-bs-interval`,`data-bs-keyboard`,`data-bs-pause`,`data-bs-wrap`,`data-bs-touch`],At={key:0,class:`carousel-indicators`},jt=[`data-bs-target`,`data-bs-slide-to`,`aria-current`,`aria-label`],Mt={class:`carousel-inner`},Nt=[`data-bs-interval`],Pt=[`src`,`alt`],Ft={key:1,class:`carousel-caption d-none d-md-block`},It={key:0},Lt={key:1},Rt=[`data-bs-target`],zt=[`data-bs-target`],Bt=(0,t.defineComponent)({__name:`VibeCarousel`,props:{id:{type:String,default:void 0},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(e,{expose:n,emit:r}){let i=L(`carousel`),a=e,o=r,s=(0,t.ref)(null),c=(0,t.shallowRef)(null),l=(0,t.ref)(a.modelValue),u=(0,t.computed)(()=>a.id||i),d=!1,f=(0,t.computed)(()=>{let e=[`carousel`,`slide`];return a.dark&&e.push(`carousel-dark`),a.fade&&e.push(`carousel-fade`),e.join(` `)}),p=e=>{o(`slide`,e)},m=e=>{l.value=e.to,o(`update:modelValue`,e.to),o(`slid`,e)},h=!1,g=(0,t.ref)(null),_=async()=>{if(s.value&&!h){h=!0;try{if(g.value&&=(g.value.removeEventListener(`slide.bs.carousel`,p),g.value.removeEventListener(`slid.bs.carousel`,m),null),c.value&&=(c.value.dispose(),null),!a.items.length)return;let e=await import(`bootstrap`);if(!s.value||d)return;let t=e.Carousel;c.value=new t(s.value,{interval:a.interval,keyboard:a.keyboard,pause:a.pause,ride:a.ride===!0?`carousel`:a.ride,wrap:a.wrap,touch:a.touch}),g.value=s.value,g.value.addEventListener(`slide.bs.carousel`,p),g.value.addEventListener(`slid.bs.carousel`,m),a.modelValue!==0&&c.value.to(a.modelValue)}catch(e){g.value=null,o(`component-error`,{message:`Bootstrap JS not loaded. Carousel will use data attributes only.`,componentName:`VibeCarousel`,originalError:e})}finally{h=!1}}};(0,t.onMounted)(_),(0,t.onBeforeUnmount)(()=>{d=!0,g.value&&=(g.value.removeEventListener(`slide.bs.carousel`,p),g.value.removeEventListener(`slid.bs.carousel`,m),null),c.value&&=(c.value.dispose(),null)}),(0,t.watch)(()=>a.modelValue,e=>{c.value&&e!==l.value&&c.value.to(e)}),(0,t.watch)(()=>a.items,async()=>{l.value=0,await(0,t.nextTick)(),await _()},{deep:!1});let v=(e,t)=>e.alt?e.alt:e.caption?e.caption:e.captionText?e.captionText:`Carousel slide ${t+1}`;return n({refresh:_,_unsafe_bsInstance:c}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`carouselRef`,ref:s,id:u.value,class:(0,t.normalizeClass)(f.value),"data-bs-ride":e.ride===!0?`carousel`:e.ride,"data-bs-interval":e.interval,"data-bs-keyboard":e.keyboard,"data-bs-pause":e.pause,"data-bs-wrap":e.wrap,"data-bs-touch":e.touch},[e.indicators?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,At,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.items,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:e.src??n,type:`button`,"data-bs-target":`#${u.value}`,"data-bs-slide-to":n,class:(0,t.normalizeClass)({active:n===l.value}),"aria-current":n===l.value,"aria-label":`Slide ${n+1}`},null,10,jt))),128))])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Mt,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.items,(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.src??r,class:(0,t.normalizeClass)([`carousel-item`,{active:r===l.value}]),"data-bs-interval":e.interval},[e.src?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,src:e.src,alt:v(e,r),class:`d-block w-100`},null,8,Pt)):(0,t.createCommentVNode)(``,!0),e.caption||e.captionText||n.$slots.caption?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ft,[(0,t.renderSlot)(n.$slots,`caption`,{item:e,index:r},()=>[e.caption?((0,t.openBlock)(),(0,t.createElementBlock)(`h5`,It,(0,t.toDisplayString)(e.caption),1)):(0,t.createCommentVNode)(``,!0),e.captionText?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Lt,(0,t.toDisplayString)(e.captionText),1)):(0,t.createCommentVNode)(``,!0)])])):(0,t.createCommentVNode)(``,!0)],10,Nt))),128))]),e.controls?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`button`,{class:`carousel-control-prev`,type:`button`,"data-bs-target":`#${u.value}`,"data-bs-slide":`prev`},[...r[0]||=[(0,t.createElementVNode)(`span`,{class:`carousel-control-prev-icon`,"aria-hidden":`true`},null,-1),(0,t.createElementVNode)(`span`,{class:`visually-hidden`},`Previous`,-1)]],8,Rt),(0,t.createElementVNode)(`button`,{class:`carousel-control-next`,type:`button`,"data-bs-target":`#${u.value}`,"data-bs-slide":`next`},[...r[1]||=[(0,t.createElementVNode)(`span`,{class:`carousel-control-next-icon`,"aria-hidden":`true`},null,-1),(0,t.createElementVNode)(`span`,{class:`visually-hidden`},`Next`,-1)]],8,zt)],64)):(0,t.createCommentVNode)(``,!0)],10,kt))}}),Vt=[`data-bs-placement`,`data-bs-title`,`data-bs-trigger`],Ht=(0,t.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`}},emits:[`component-error`],setup(e,{expose:n,emit:r}){let i=e,a=r;i.content!==void 0&&i.text===void 0&&console.warn("[VibeTooltip] The `content` prop is deprecated and may be removed in a future version. Use `text` instead.");let o=(0,t.ref)(null),s=(0,t.shallowRef)(null),c=!1,l=()=>typeof window<`u`&&(`ontouchstart`in window||typeof navigator<`u`&&navigator.maxTouchPoints>0),u=(0,t.computed)(()=>l()&&i.trigger===`hover focus`?`click`:i.trigger),d=!1,f=!1,p=async()=>{if(o.value){if(d){f=!0;return}d=!0,s.value&&s.value.dispose();try{let e=await import(`bootstrap`);if(!o.value||c)return;let t=e.Tooltip;s.value=new t(o.value,{title:i.text||i.content||``,placement:i.placement,trigger:u.value,html:!1})}catch(e){a(`component-error`,{message:`Bootstrap JS not loaded. Tooltip will use data attributes only.`,componentName:`VibeTooltip`,originalError:e})}finally{d=!1,f&&(f=!1,p())}}};return(0,t.onMounted)(p),(0,t.onBeforeUnmount)(()=>{c=!0,s.value&&=(s.value.dispose(),null)}),(0,t.watch)([()=>i.content,()=>i.text],()=>{s.value&&s.value.setContent({".tooltip-inner":i.text||i.content||``})}),(0,t.watch)([()=>i.placement,()=>i.trigger],p),n({_unsafe_bsInstance:s}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{ref_key:`tooltipRef`,ref:o,"data-bs-placement":e.placement,"data-bs-title":e.text||e.content,"data-bs-trigger":u.value},[(0,t.renderSlot)(n.$slots,`default`)],8,Vt))}}),Ut=[`data-bs-placement`,`data-bs-title`,`data-bs-content`,`data-bs-trigger`],Wt=(0,t.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`}},emits:[`component-error`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(null),s=(0,t.shallowRef)(null),c=!1,l=()=>typeof window<`u`&&(`ontouchstart`in window||typeof navigator<`u`&&navigator.maxTouchPoints>0),u=(0,t.computed)(()=>l()&&i.trigger===`hover focus`?`click`:i.trigger),d=!1,f=!1,p=async()=>{if(o.value){if(d){f=!0;return}d=!0,s.value&&s.value.dispose();try{let e=await import(`bootstrap`);if(!o.value||c)return;let t=e.Popover;s.value=new t(o.value,{title:i.title,content:i.text||i.content||``,placement:i.placement,trigger:u.value,html:!1})}catch(e){a(`component-error`,{message:`Bootstrap JS not loaded. Popover will use data attributes only.`,componentName:`VibePopover`,originalError:e})}finally{d=!1,f&&(f=!1,p())}}};return(0,t.onMounted)(p),(0,t.onBeforeUnmount)(()=>{c=!0,s.value&&=(s.value.dispose(),null)}),(0,t.watch)([()=>i.content,()=>i.text,()=>i.title],()=>{s.value&&s.value.setContent({".popover-header":i.title||``,".popover-body":i.text||i.content||``})}),(0,t.watch)([()=>i.placement,()=>i.trigger],p),n({_unsafe_bsInstance:s}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{ref_key:`popoverRef`,ref:o,"data-bs-placement":e.placement,"data-bs-title":e.title,"data-bs-content":e.text||e.content,"data-bs-trigger":u.value},[(0,t.renderSlot)(n.$slots,`default`)],8,Ut))}}),Gt=(0,t.defineComponent)({__name:`VibeScrollspy`,props:{target:{type:String,required:!0},offset:{type:Number,default:void 0},rootMargin:{type:String,default:`0px 0px -25%`},method:{type:String,default:`auto`},smoothScroll:{type:Boolean,default:!1},tag:{type:String,default:`div`},height:{type:String,default:`100%`}},emits:[`activate`,`component-error`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(null),s=(0,t.shallowRef)(null),c=!1,l=!1,u=e=>{a(`activate`,e)},d=async()=>{if(!(!o.value||c)){c=!0;try{let e=(await import(`bootstrap`)).ScrollSpy;if(!o.value||l)return;i.offset!==void 0&&console.warn("[VibeScrollspy] The `offset` prop is deprecated (Bootstrap 5.2+). Use `rootMargin` instead."),s.value=new e(o.value,{target:i.target,rootMargin:i.rootMargin,method:i.method,smoothScroll:i.smoothScroll}),o.value.addEventListener(`activate.bs.scrollspy`,u)}catch(e){a(`component-error`,{message:`Bootstrap JS not loaded. ScrollSpy will use data attributes only.`,componentName:`VibeScrollspy`,originalError:e})}finally{c=!1}}};(0,t.onMounted)(d),(0,t.watch)([()=>i.target,()=>i.rootMargin,()=>i.method,()=>i.smoothScroll],async()=>{o.value&&o.value.removeEventListener(`activate.bs.scrollspy`,u),s.value?.dispose(),s.value=null,await(0,t.nextTick)(),o.value&&await d()}),(0,t.onBeforeUnmount)(()=>{l=!0,o.value&&o.value.removeEventListener(`activate.bs.scrollspy`,u),s.value&&=(s.value.dispose(),null)});let f=(0,t.computed)(()=>A(i.height)??`100%`),p=()=>s.value?.refresh();return(0,t.onActivated)(p),n({refresh:p}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{ref_key:`scrollspyRef`,ref:o,"data-bs-spy":`scroll`,"data-bs-target":e.target,"data-bs-root-margin":e.rootMargin,"data-bs-method":e.method,"data-bs-smooth-scroll":e.smoothScroll?`true`:void 0,tabindex:`0`,style:(0,t.normalizeStyle)({position:`relative`,height:f.value,overflow:`auto`})},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`)]),_:3},8,[`data-bs-target`,`data-bs-root-margin`,`data-bs-method`,`data-bs-smooth-scroll`,`style`]))}}),Kt=[`aria-hidden`,`aria-label`,`role`],qt=(0,t.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},ariaHidden:{type:Boolean,default:!0},ariaLabel:{type:String,default:void 0}},emits:[`click`,`component-error`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>{let e=[`bi`,`bi-${r.icon}`];return r.customClass&&e.push(r.customClass),e.join(` `)}),o=(0,t.computed)(()=>{let e={};if(r.fontSize){let t=A(r.fontSize);t&&(e.fontSize=t)}else if(r.size){let t={sm:`0.875rem`,lg:`1.25rem`,"1x":`1rem`,"2x":`2rem`,"3x":`3rem`,"4x":`4rem`,"5x":`5rem`};t[r.size]&&(e.fontSize=t[r.size])}if(r.color){let t=j(r.color);t&&(e.color=t)}let t=[];return r.flipH&&t.push(`scaleX(-1)`),r.flipV&&t.push(`scaleY(-1)`),r.rotate&&t.push(`rotate(${r.rotate}deg)`),t.length>0&&(e.transform=t.join(` `),e.display=`inline-block`),Object.keys(e).length>0?e:void 0}),s=e=>{(r.ariaLabel||!r.ariaHidden)&&i(`click`,e)};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`i`,{class:(0,t.normalizeClass)(a.value),style:(0,t.normalizeStyle)(o.value),"aria-hidden":e.ariaLabel?void 0:e.ariaHidden?`true`:void 0,"aria-label":e.ariaLabel,role:e.ariaLabel?`img`:void 0,onClick:s},null,14,Kt))}}),Jt=[`--bs-primary`,`--bs-success`,`--bs-danger`,`--bs-warning`,`--bs-info`,`--bs-secondary`,`--bs-dark`,`--bs-light`];function Yt(e,t){let n=getComputedStyle(t);return e.map((e,t)=>e.color??n.getPropertyValue(Jt[t%Jt.length]).trim())}function Xt(e,t){let n=getComputedStyle(t);return Array.from({length:e},(e,t)=>n.getPropertyValue(Jt[t%Jt.length]).trim())}function Zt(e,n,r){let i=null,a=null;(0,t.onMounted)(()=>{if(typeof ResizeObserver>`u`)return;let t=null;i=new ResizeObserver(e=>{t=e[0]??null,!(!t||a!==null)&&(a=requestAnimationFrame(()=>{if(a=null,!t)return;let{width:e,height:n}=t.contentRect;t=null,r(e,n)}))}),e.value&&i.observe(e.value)}),(0,t.onUnmounted)(()=>{i?.disconnect(),a!==null&&cancelAnimationFrame(a)})}function Qt(e,t){return e===null&&t===null?!0:e===null||t===null?!1:e.datasetIndex===t.datasetIndex&&e.pointIndex===t.pointIndex}function $t(e,t,n){let r=null,i=document.createElement(`canvas`);i.style.cssText=`position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none`,e.appendChild(i);let a=()=>{i.width!==t.width&&(i.width=t.width),i.height!==t.height&&(i.height=t.height)},o=(e,t,n,r)=>{a();let o=i.getContext(`2d`);if(!o)return;let s=window.devicePixelRatio||1;o.clearRect(0,0,i.width,i.height),o.save(),o.setTransform(s,0,0,s,0,0),o.font=`12px sans-serif`;let c=String(e.label),l=`${c.length>60?c.slice(0,60)+`…`:c}: ${e.value}`,u=o.measureText(l).width+12,d=t+12,f=n-22-6;d+u>r.width&&(d=r.width-u-4),f<0&&(f=n+14),f=Math.min(f,r.height-22),o.fillStyle=`rgba(0,0,0,0.75)`,o.beginPath(),o.moveTo(d+4,f),o.lineTo(d+u-4,f),o.arcTo(d+u,f,d+u,f+4,4),o.lineTo(d+u,f+22-4),o.arcTo(d+u,f+22,d+u-4,f+22,4),o.lineTo(d+4,f+22),o.arcTo(d,f+22,d,f+22-4,4),o.lineTo(d,f+4),o.arcTo(d,f,d+4,f,4),o.closePath(),o.fill(),o.fillStyle=`#fff`,o.fillText(l,d+6,f+15),o.restore()},s=()=>{a();let e=i.getContext(`2d`);e&&e.clearRect(0,0,i.width,i.height)},c=e=>{let i=t.getBoundingClientRect(),a=e.clientX-i.left,c=e.clientY-i.top,l=n(a,c);Qt(l,r)||(r=l,l?o(l,a,c,i):s())},l=()=>{r!==null&&(r=null,s())};return t.addEventListener(`mousemove`,c),t.addEventListener(`mouseleave`,l),()=>{t.removeEventListener(`mousemove`,c),t.removeEventListener(`mouseleave`,l),i.remove()}}var en=5,tn=4,nn=12;function rn(e){return e?{left:50,right:10,top:10,bottom:30}:{left:10,right:10,top:10,bottom:10}}function an(e,t,n,r,i,a,o,s,c){let l=rn(a),u=n-l.left-l.right,d=r-l.top-l.bottom,f=t.datasets.flatMap(e=>e.data);if(f.length===0)return;let p=f.reduce((e,t)=>Math.min(e,t),f[0]),m=f.reduce((e,t)=>Math.max(e,t),f[0])-p||1,h=t.labels.length,g=u/Math.max(h-1,1),_=e=>l.left+e*g,v=e=>l.top+d-(e-p)/m*d;if(e.clearRect(0,0,n,r),o){e.strokeStyle=`rgba(0,0,0,0.1)`,e.lineWidth=1,e.setLineDash([4,4]);for(let t=0;t<=en;t++){let n=l.top+d/en*t;e.beginPath(),e.moveTo(l.left,n),e.lineTo(l.left+u,n),e.stroke()}e.setLineDash([])}if(a){e.save(),e.strokeStyle=`#666`,e.lineWidth=1,e.beginPath(),e.moveTo(l.left,l.top),e.lineTo(l.left,l.top+d),e.stroke(),e.beginPath(),e.moveTo(l.left,l.top+d),e.lineTo(l.left+u,l.top+d),e.stroke(),e.fillStyle=`#666`,e.font=`11px sans-serif`,e.textAlign=`center`,t.labels.forEach((t,n)=>e.fillText(String(t),_(n),l.top+d+18)),e.textAlign=`right`;for(let t=0;t<=en;t++){let n=p+m/en*(en-t),r=l.top+d/en*t;e.fillText(n.toFixed(0),l.left-5,r+4)}e.restore()}for(let[n,r]of t.datasets.entries()){let t=i[n],a=t=>{s&&r.data.length>=2?r.data.forEach((n,i)=>{let a=_(i),o=v(n);if(i===0)t&&e.moveTo(a,o);else{let t=(_(i-1)+a)/2;e.bezierCurveTo(t,v(r.data[i-1]),t,o,a,o)}}):r.data.forEach((n,r)=>{r===0&&t?e.moveTo(_(r),v(n)):e.lineTo(_(r),v(n))})};c&&r.data.length>0&&(e.beginPath(),a(!0),e.lineTo(_(r.data.length-1),l.top+d),e.lineTo(_(0),l.top+d),e.closePath(),e.fillStyle=`${t}33`,e.fill()),e.strokeStyle=t,e.lineWidth=2,e.beginPath(),a(!0),e.stroke(),e.fillStyle=t,r.data.forEach((t,n)=>{e.beginPath(),e.arc(_(n),v(t),tn,0,Math.PI*2),e.fill()})}}function on(e){let t=e.datasets.flatMap(e=>e.data);if(t.length===0)return null;let n=t.reduce((e,t)=>Math.min(e,t),t[0]),r=t.reduce((e,t)=>Math.max(e,t),t[0]);return{min:n,max:r,range:r-n||1}}function sn(e,t,n,r,i,a,o){let s=rn(a),c=r-s.left-s.right,l=i-s.top-s.bottom;if(!o)return null;let u=o.min,d=o.range,f=n.labels.length,p=c/Math.max(f-1,1),m=e=>s.left+e*p,h=e=>s.top+l-(e-u)/d*l;for(let[r,i]of n.datasets.entries())for(let[a,o]of i.data.entries())if(Math.hypot(e-m(a),t-h(o))<=nn)return{datasetIndex:r,pointIndex:a,value:o,label:n.labels?.[a]??``};return null}var cn={class:`vibe-chart`},ln={key:0,class:`vibe-chart-legend vibe-chart-legend--top`},un={key:1,class:`vibe-chart-legend vibe-chart-legend--bottom`},dn=_((0,t.defineComponent)({__name:`VibeChartLine`,props:{data:{type:Object,required:!0},legend:{type:String,default:`bottom`},height:{type:[Number,String],default:`auto`},showAxes:{type:Boolean,default:!0},showGrid:{type:Boolean,default:!0},smooth:{type:Boolean,default:!1},fill:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.ref)(null),i=(0,t.ref)(null),a=null,o=0,s=0,c=(0,t.computed)(()=>n.height===`auto`?{width:`100%`,aspectRatio:`16/9`}:{width:`100%`,height:typeof n.height==`number`?`${n.height}px`:n.height}),l=(0,t.ref)([]);function u(){l.value=r.value?Yt(n.data.datasets,r.value):[]}let d=null;function f(){if(u(),d=on(n.data),!i.value||!o||!s)return;let e=i.value,t=e.getContext(`2d`);if(!t)return;let r=window.devicePixelRatio||1,a=Math.round(o*r),c=Math.round(s*r);(e.width!==a||e.height!==c)&&(e.width=a,e.height=c),t.setTransform(r,0,0,r,0,0),an(t,n.data,o,s,l.value,n.showAxes,n.showGrid,n.smooth,n.fill)}return Zt(r,i,(e,t)=>{o=e,s=t,f()}),(0,t.onMounted)(()=>{u(),d=on(n.data),r.value&&i.value&&(a=$t(r.value,i.value,(e,t)=>sn(e,t,n.data,o,s,n.showAxes,d)))}),(0,t.watch)(()=>n.data,f,{deep:!0}),(0,t.watch)([()=>n.showAxes,()=>n.showGrid,()=>n.smooth,()=>n.fill],f),(0,t.onUnmounted)(()=>{a?.()}),(n,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,cn,[e.legend===`top`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ln,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.data.datasets,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:e.label??n,class:`vibe-chart-legend-item`},[(0,t.createElementVNode)(`span`,{class:`vibe-chart-legend-swatch`,style:(0,t.normalizeStyle)({background:l.value[n]})},null,4),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(e.label),1)]))),128))])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{ref_key:`containerEl`,ref:r,class:`vibe-chart-canvas-container`,style:(0,t.normalizeStyle)(c.value)},[(0,t.createElementVNode)(`canvas`,{ref_key:`canvasEl`,ref:i,role:`img`,"aria-label":`Chart`,style:{display:`block`,width:`100%`,height:`100%`}},null,512)],4),e.legend===`bottom`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,un,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.data.datasets,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:e.label??n,class:`vibe-chart-legend-item`},[(0,t.createElementVNode)(`span`,{class:`vibe-chart-legend-swatch`,style:(0,t.normalizeStyle)({background:l.value[n]})},null,4),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(e.label),1)]))),128))])):(0,t.createCommentVNode)(``,!0)]))}}),[[`__scopeId`,`data-v-a910a057`]]),fn=5,pn=.2;function mn(e){return e?{left:50,right:10,top:10,bottom:30}:{left:10,right:10,top:10,bottom:10}}function hn(e,t){return t?e.labels.map((t,n)=>e.datasets.reduce((e,t)=>e+(t.data[n]??0),0)).reduce((e,t)=>Math.max(e,t),0)||1:e.datasets.flatMap(e=>e.data).reduce((e,t)=>Math.max(e,t),0)||1}function gn(e,t,n,r,i,a,o,s){let c=mn(a),l=n-c.left-c.right,u=r-c.top-c.bottom,d=t.labels.length,f=t.datasets.length,p=hn(t,s),m=l/d,h=s?m*(1-pn):m*(1-pn)/f;if(e.clearRect(0,0,n,r),o){e.strokeStyle=`rgba(0,0,0,0.1)`,e.lineWidth=1,e.setLineDash([4,4]);for(let t=1;t<=fn;t++){let n=c.top+u/fn*t;e.beginPath(),e.moveTo(c.left,n),e.lineTo(c.left+l,n),e.stroke()}e.setLineDash([])}if(a){e.save(),e.strokeStyle=`#666`,e.lineWidth=1,e.beginPath(),e.moveTo(c.left,c.top),e.lineTo(c.left,c.top+u),e.stroke(),e.beginPath(),e.moveTo(c.left,c.top+u),e.lineTo(c.left+l,c.top+u),e.stroke(),e.fillStyle=`#666`,e.font=`11px sans-serif`,e.textAlign=`center`,t.labels.forEach((t,n)=>{e.fillText(String(t),c.left+n*m+m/2,c.top+u+18)}),e.textAlign=`right`;for(let t=0;t<=fn;t++){let n=p/fn*(fn-t),r=c.top+u/fn*t;e.fillText(n.toFixed(0),c.left-5,r+4)}e.restore()}if(s)for(let n=0;n<d;n++){let r=c.top+u,a=c.left+n*m+m*pn/2;for(let[o,s]of t.datasets.entries()){let t=Math.max(0,s.data[n]??0)/p*u;e.fillStyle=i[o],e.fillRect(a,r-t,h,t),r-=t}}else for(let[n,r]of t.datasets.entries()){e.fillStyle=i[n];for(let t=0;t<d;t++){let i=Math.max(0,r.data[t]??0)/p*u,a=c.left+t*m+m*pn/2+n*h;e.fillRect(a,c.top+u-i,h,i)}}}function _n(e,t,n,r,i,a,o,s){let c=mn(a),l=r-c.left-c.right,u=i-c.top-c.bottom,d=n.labels.length,f=n.datasets.length,p=l/d,m=o?p*(1-pn):p*(1-pn)/f,h=Math.floor((e-c.left)/p);if(h<0||h>=d)return null;let g=c.left+h*p+p*pn/2;if(o){if(e<g||e>g+m)return null;let r=c.top+u;for(let[e,i]of n.datasets.entries()){let a=Math.max(0,i.data[h]??0),o=a/s*u;if(t>=r-o&&t<=r)return{datasetIndex:e,pointIndex:h,value:a,label:n.labels?.[h]??``};r-=o}return null}for(let r=0;r<f;r++){let i=g+r*m;if(e<i||e>i+m)continue;let a=Math.max(0,n.datasets[r].data[h]??0),o=a/s*u;if(t>=c.top+u-o&&t<=c.top+u)return{datasetIndex:r,pointIndex:h,value:a,label:n.labels?.[h]??``}}return null}var vn={class:`vibe-chart`},yn={key:0,class:`vibe-chart-legend vibe-chart-legend--top`},bn={key:1,class:`vibe-chart-legend vibe-chart-legend--bottom`},xn=_((0,t.defineComponent)({__name:`VibeChartBar`,props:{data:{type:Object,required:!0},legend:{type:String,default:`bottom`},height:{type:[Number,String],default:`auto`},showAxes:{type:Boolean,default:!0},showGrid:{type:Boolean,default:!0},stacked:{type:Boolean,default:!1}},setup(e){let n=e,r=(0,t.ref)(null),i=(0,t.ref)(null),a=null,o=0,s=0,c=(0,t.computed)(()=>n.height===`auto`?{width:`100%`,aspectRatio:`16/9`}:{width:`100%`,height:typeof n.height==`number`?`${n.height}px`:n.height}),l=(0,t.ref)([]);function u(){l.value=r.value?Yt(n.data.datasets,r.value):[]}let d=1;function f(){if(u(),d=hn(n.data,n.stacked),!i.value||!o||!s)return;let e=i.value,t=e.getContext(`2d`);if(!t)return;let r=window.devicePixelRatio||1,a=Math.round(o*r),c=Math.round(s*r);(e.width!==a||e.height!==c)&&(e.width=a,e.height=c),t.setTransform(r,0,0,r,0,0),gn(t,n.data,o,s,l.value,n.showAxes,n.showGrid,n.stacked)}return Zt(r,i,(e,t)=>{o=e,s=t,f()}),(0,t.onMounted)(()=>{u(),d=hn(n.data,n.stacked),r.value&&i.value&&(a=$t(r.value,i.value,(e,t)=>_n(e,t,n.data,o,s,n.showAxes,n.stacked,d)))}),(0,t.watch)(()=>n.data,f,{deep:!0}),(0,t.watch)([()=>n.showAxes,()=>n.showGrid,()=>n.stacked],f),(0,t.onUnmounted)(()=>{a?.()}),(n,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,vn,[e.legend===`top`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,yn,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.data.datasets,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:e.label??n,class:`vibe-chart-legend-item`},[(0,t.createElementVNode)(`span`,{class:`vibe-chart-legend-swatch`,style:(0,t.normalizeStyle)({background:l.value[n]})},null,4),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(e.label),1)]))),128))])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{ref_key:`containerEl`,ref:r,class:`vibe-chart-canvas-container`,style:(0,t.normalizeStyle)(c.value)},[(0,t.createElementVNode)(`canvas`,{ref_key:`canvasEl`,ref:i,role:`img`,"aria-label":`Chart`,style:{display:`block`,width:`100%`,height:`100%`}},null,512)],4),e.legend===`bottom`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,bn,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.data.datasets,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:e.label??n,class:`vibe-chart-legend-item`},[(0,t.createElementVNode)(`span`,{class:`vibe-chart-legend-swatch`,style:(0,t.normalizeStyle)({background:l.value[n]})},null,4),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(e.label),1)]))),128))])):(0,t.createCommentVNode)(``,!0)]))}}),[[`__scopeId`,`data-v-b143798f`]]);function Sn(e,t,n,r,i){e.clearRect(0,0,n,r);let a=(t.datasets[0]?.data??[]).map(e=>Math.max(0,e)),o=a.reduce((e,t)=>e+t,0);if(o===0)return;let s=n/2,c=r/2,l=Math.min(n,r)*.4;e.strokeStyle=`#fff`,e.lineWidth=2;let u=-Math.PI/2;for(let[t,n]of a.entries()){let r=n/o*Math.PI*2;e.beginPath(),e.moveTo(s,c),e.arc(s,c,l,u,u+r),e.closePath(),e.fillStyle=i[t],e.fill(),e.stroke(),u+=r}}function Cn(e,t,n,r,i){let a=r/2,o=i/2,s=Math.min(r,i)*.4,c=e-a,l=t-o;if(Math.hypot(c,l)>s)return null;let u=(n.datasets[0]?.data??[]).map(e=>Math.max(0,e)),d=u.reduce((e,t)=>e+t,0);if(d===0)return null;let f=(Math.atan2(l,c)+Math.PI*2.5)%(Math.PI*2),p=0;for(let[e,t]of u.entries()){let r=t/d*Math.PI*2;if(f>=p&&f<p+r)return{datasetIndex:0,pointIndex:e,value:t,label:n.labels?.[e]??``};p+=r}return null}var wn={class:`vibe-chart`},Tn={key:0,class:`vibe-chart-legend vibe-chart-legend--top`},En={key:1,class:`vibe-chart-legend vibe-chart-legend--bottom`},Dn=_((0,t.defineComponent)({__name:`VibeChartPie`,props:{data:{type:Object,required:!0},legend:{type:String,default:`bottom`},height:{type:[Number,String],default:`auto`}},setup(e){let n=e,r=(0,t.ref)(null),i=(0,t.ref)(null),a=null,o=0,s=0,c=(0,t.computed)(()=>n.height===`auto`?{width:`100%`,aspectRatio:`1/1`}:{width:`100%`,height:typeof n.height==`number`?`${n.height}px`:n.height}),l=(0,t.ref)([]);function u(){l.value=r.value?Xt(n.data.labels?.length??0,r.value):[]}function d(){if(u(),!i.value||!o||!s)return;let e=i.value,t=e.getContext(`2d`);if(!t)return;let r=window.devicePixelRatio||1,a=Math.round(o*r),c=Math.round(s*r);(e.width!==a||e.height!==c)&&(e.width=a,e.height=c),t.setTransform(r,0,0,r,0,0),Sn(t,n.data,o,s,l.value)}return Zt(r,i,(e,t)=>{o=e,s=t,d()}),(0,t.onMounted)(()=>{u(),r.value&&i.value&&(a=$t(r.value,i.value,(e,t)=>Cn(e,t,n.data,o,s)))}),(0,t.watch)(()=>n.data,d,{deep:!0}),(0,t.onUnmounted)(()=>{a?.()}),(n,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,wn,[e.legend===`top`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Tn,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.data.labels,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:e??n,class:`vibe-chart-legend-item`},[(0,t.createElementVNode)(`span`,{class:`vibe-chart-legend-swatch`,style:(0,t.normalizeStyle)({background:l.value[n]})},null,4),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(e),1)]))),128))])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{ref_key:`containerEl`,ref:r,class:`vibe-chart-canvas-container`,style:(0,t.normalizeStyle)(c.value)},[(0,t.createElementVNode)(`canvas`,{ref_key:`canvasEl`,ref:i,role:`img`,"aria-label":`Chart`,style:{display:`block`,width:`100%`,height:`100%`}},null,512)],4),e.legend===`bottom`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,En,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.data.labels,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:e??n,class:`vibe-chart-legend-item`},[(0,t.createElementVNode)(`span`,{class:`vibe-chart-legend-swatch`,style:(0,t.normalizeStyle)({background:l.value[n]})},null,4),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(e),1)]))),128))])):(0,t.createCommentVNode)(``,!0)]))}}),[[`__scopeId`,`data-v-f45b7211`]]),On={class:`vibe-datatable`},kn={class:`row mb-3`},An={key:0,class:`col-md-6 mb-2 mb-md-0`},jn=[`placeholder`],Mn={key:1,class:`col-md-6`},Nn={class:`d-flex justify-content-md-end align-items-center`},Pn=[`value`],Fn=[`onClick`],In={key:0,class:`ms-1`},Ln=[`onClick`],Rn=[`data-label`],zn={key:0},Bn=[`colspan`],Vn={class:`row`},Hn={key:0,class:`col-md-6 mb-2 mb-md-0`},Un={class:`datatable-info`},Wn={key:1,class:`col-md-6`},Gn={class:`pagination justify-content-md-end mb-0`},Kn={key:0,class:`page-item`},qn={key:1,class:`page-item disabled`},Jn=[`onClick`],Yn={key:2,class:`page-item disabled`},Xn={key:3,class:`page-item`},Zn=_((0,t.defineComponent)({__name:`VibeDataTable`,props:(0,t.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:(0,t.mergeModels)([`row-clicked`,`component-error`],[`update:currentPage`,`update:perPage`,`update:sortBy`,`update:sortDesc`]),setup(e,{emit:n}){let r=e,i=(0,t.useModel)(e,`currentPage`),a=(0,t.useModel)(e,`perPage`),o=(0,t.useModel)(e,`sortBy`),s=(0,t.useModel)(e,`sortDesc`),c=n,l=(0,t.getCurrentInstance)(),u=(0,t.computed)(()=>{let e=l?.vnode.props;return typeof e?.onRowClicked==`function`||typeof e?.[`onRow-clicked`]==`function`}),d=(0,t.ref)(``),f=(0,t.ref)(null),p=(0,t.ref)(``),m=(e,t)=>r.rowKey&&e[r.rowKey]!==void 0?String(e[r.rowKey]):`__row_${S.value-1+t}`;(0,t.watch)(d,e=>{f.value!==null&&clearTimeout(f.value),f.value=setTimeout(()=>{p.value=e,i.value=1,f.value=null},r.searchDebounce)}),(0,t.onBeforeUnmount)(()=>{f.value!==null&&(clearTimeout(f.value),f.value=null)});let h=(0,t.computed)(()=>{if(!r.searchable||!p.value)return r.items||[];let e=p.value.toLowerCase();return(r.items||[]).filter(t=>(r.columns||[]).some(n=>{if(n.searchable===!1)return!1;let r=t[n.key];return r==null?!1:String(r).toLowerCase().includes(e)}))}),g=(e,t,n)=>{if(e==null)return 1;if(t==null)return-1;if(typeof e==`string`&&typeof t==`string`){let r=e.toLowerCase(),i=t.toLowerCase();return r<i?n?1:-1:r>i?n?-1:1:0}if(typeof e==`number`&&typeof t==`number`)return e<t?n?1:-1:e>t?n?-1:1:0;if(typeof e==`boolean`&&typeof t==`boolean`)return e===t?0:(e?1:-1)*(n?-1:1);if(e instanceof Date&&t instanceof Date){let r=e.getTime(),i=t.getTime();return r<i?n?1:-1:r>i?n?-1:1:0}return 0},_=(0,t.computed)(()=>{if(!r.sortable||!o.value)return h.value;let e=[...h.value],t=o.value;return e.sort((e,n)=>g(e[t],n[t],s.value)),e}),v=(0,t.computed)(()=>{if(!r.paginated)return _.value;let e=(i.value-1)*a.value,t=e+a.value;return _.value.slice(e,t)}),y=(0,t.computed)(()=>r.items.length),b=(0,t.computed)(()=>h.value.length),x=(0,t.computed)(()=>Math.ceil(b.value/Math.max(1,a.value))),S=(0,t.computed)(()=>b.value===0?0:(i.value-1)*a.value+1),C=(0,t.computed)(()=>{let e=i.value*a.value;return Math.min(e,b.value)}),w=(0,t.computed)(()=>(b.value===y.value?r.infoText:r.filteredInfoText).replace(`{start}`,String(S.value)).replace(`{end}`,String(C.value)).replace(`{total}`,String(b.value)).replace(`{totalRows}`,String(y.value))),T=(0,t.computed)(()=>{let e=i.value-2,t=i.value+2,n=[];for(let r=Math.max(1,e);r<=Math.min(x.value,t);r++)n.push(r);return n}),E=(0,t.computed)(()=>{let e=[`table`];return r.striped&&e.push(`table-striped`),r.bordered&&e.push(`table-bordered`),r.borderless&&e.push(`table-borderless`),r.hover&&e.push(`table-hover`),r.small&&e.push(`table-sm`),r.stack&&e.push(`vibe-table-stack`),r.variant&&e.push(`table-${r.variant}`),e.join(` `)}),ee=e=>{!r.sortable||e.sortable===!1||(o.value===e.key?s.value=!s.value:(o.value=e.key,s.value=!1))};(0,t.watch)(x,e=>{e>0&&i.value>e&&(i.value=e)});let D=e=>{e<1||e>x.value||(i.value=e)},O=()=>{i.value=1},te=(e,t)=>{c(`row-clicked`,e,S.value-1+t)},k=(e,t)=>{let n=e[t.key];return t.formatter?t.formatter(n,e):n},A=(0,t.computed)(()=>{let e=new Map;for(let t of r.columns)!r.sortable||t.sortable===!1?e.set(t,``):o.value===t.key?e.set(t,s.value?`↓`:`↑`):e.set(t,`⇅`);return e}),j=(0,t.computed)(()=>{let e=new Map;for(let t of r.columns){let n=ne(t.thStyle);r.sortable&&t.sortable!==!1&&(n.cursor=`pointer`),e.set(t,n)}return e}),re=(0,t.computed)(()=>{let e=new Map;for(let t of r.columns)e.set(t,ne(t.tdStyle));return e});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,On,[(0,t.createElementVNode)(`div`,kn,[e.searchable?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,An,[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[0]||=e=>d.value=e,type:`search`,class:`form-control`,placeholder:e.searchPlaceholder},null,8,jn),[[t.vModelText,d.value]])])):(0,t.createCommentVNode)(``,!0),e.showPerPage&&e.paginated?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Mn,[(0,t.createElementVNode)(`div`,Nn,[r[6]||=(0,t.createElementVNode)(`label`,{class:`me-2 mb-0`},`Show`,-1),(0,t.withDirectives)((0,t.createElementVNode)(`select`,{"onUpdate:modelValue":r[1]||=e=>a.value=e,class:`form-select form-select-sm`,style:{width:`auto`},onChange:O},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.perPageOptions,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`option`,{key:e,value:e},(0,t.toDisplayString)(e),9,Pn))),128))],544),[[t.vModelSelect,a.value,void 0,{number:!0}]]),r[7]||=(0,t.createElementVNode)(`span`,{class:`ms-2`},`entries`,-1)])])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)({"table-responsive":e.responsive})},[(0,t.createElementVNode)(`table`,{class:(0,t.normalizeClass)(E.value)},[(0,t.createElementVNode)(`thead`,null,[(0,t.createElementVNode)(`tr`,null,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.columns,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{key:n.key,class:(0,t.normalizeClass)(n.headerClass),style:(0,t.normalizeStyle)(j.value.get(n)),onClick:e=>ee(n)},[(0,t.createTextVNode)((0,t.toDisplayString)(n.label)+` `,1),e.sortable&&n.sortable!==!1?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,In,(0,t.toDisplayString)(A.value.get(n)),1)):(0,t.createCommentVNode)(``,!0)],14,Fn))),128))])]),(0,t.createElementVNode)(`tbody`,null,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(v.value,(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,{key:m(r,i),style:(0,t.normalizeStyle)(u.value?{cursor:`pointer`}:void 0),onClick:e=>te(r,i)},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.columns,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:e.key,class:(0,t.normalizeClass)(e.class),style:(0,t.normalizeStyle)(re.value.get(e)),"data-label":e.label},[(0,t.renderSlot)(n.$slots,`cell(${e.key})`,{item:r,value:r[e.key],index:i},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(k(r,e)),1)],!0)],14,Rn))),128))],12,Ln))),128)),v.value.length===0&&e.showEmpty?((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,zn,[(0,t.createElementVNode)(`td`,{colspan:e.columns?.length||1,class:`text-center`},(0,t.toDisplayString)(e.emptyText),9,Bn)])):(0,t.createCommentVNode)(``,!0)])],2)],2),(0,t.createElementVNode)(`div`,Vn,[e.showInfo?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Hn,[(0,t.createElementVNode)(`div`,Un,(0,t.toDisplayString)(w.value),1)])):(0,t.createCommentVNode)(``,!0),e.paginated&&x.value>1?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Wn,[(0,t.createElementVNode)(`nav`,null,[(0,t.createElementVNode)(`ul`,Gn,[(0,t.createElementVNode)(`li`,{class:(0,t.normalizeClass)([`page-item`,{disabled:i.value===1}])},[(0,t.createElementVNode)(`button`,{type:`button`,class:`page-link`,onClick:r[2]||=e=>D(i.value-1)},` Previous `)],2),i.value>3?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,Kn,[(0,t.createElementVNode)(`button`,{type:`button`,class:`page-link`,onClick:r[3]||=e=>D(1)},`1`)])):(0,t.createCommentVNode)(``,!0),i.value>4?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,qn,[...r[8]||=[(0,t.createElementVNode)(`span`,{class:`page-link`},`...`,-1)]])):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(T.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:e,class:(0,t.normalizeClass)([`page-item`,{active:e===i.value}])},[(0,t.createElementVNode)(`button`,{type:`button`,class:`page-link`,onClick:t=>D(e)},(0,t.toDisplayString)(e),9,Jn)],2))),128)),i.value<x.value-3?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,Yn,[...r[9]||=[(0,t.createElementVNode)(`span`,{class:`page-link`},`...`,-1)]])):(0,t.createCommentVNode)(``,!0),i.value<x.value-2?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,Xn,[(0,t.createElementVNode)(`button`,{type:`button`,class:`page-link`,onClick:r[4]||=e=>D(x.value)},(0,t.toDisplayString)(x.value),1)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`li`,{class:(0,t.normalizeClass)([`page-item`,{disabled:i.value===x.value}])},[(0,t.createElementVNode)(`button`,{type:`button`,class:`page-link`,onClick:r[5]||=e=>D(i.value+1)},` Next `)],2)])])])):(0,t.createCommentVNode)(``,!0)])]))}}),[[`__scopeId`,`data-v-7820466d`]]),Qn=[`for`],$n={key:0,class:`text-danger`},er=[`id`,`type`,`value`,`placeholder`,`disabled`,`readonly`,`required`,`aria-invalid`,`aria-describedby`],tr=[`id`],nr=[`id`],rr=[`id`],ir=[`id`,`type`,`value`,`placeholder`,`disabled`,`readonly`,`required`,`aria-invalid`,`aria-describedby`],ar=(0,t.defineComponent)({__name:`VibeFormInput`,props:(0,t.mergeModels)({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}},{modelValue:{default:``},modelModifiers:{}}),emits:(0,t.mergeModels)([`validate`,`blur`,`focus`,`input`,`change`],[`update:modelValue`]),setup(e,{emit:n}){let r=(0,t.useModel)(e,`modelValue`),i=e,a=n,o=(0,t.inject)(F,null),s=o?.consumeId(),c=L(`input`),l=(0,t.computed)(()=>i.id||s||c),u=(0,t.computed)(()=>`${l.value}-help`),d=(0,t.computed)(()=>`${l.value}-feedback`),f=(0,t.computed)(()=>!!i.label&&!o?.hasLabel.value),p=(0,t.computed)(()=>!!i.validationState&&!o?.hasValidation.value),m=(0,t.computed)(()=>!!i.helpText&&!o?.hasHelp.value),h=(0,t.computed)(()=>{let e=[];return i.plaintext?e.push(`form-control-plaintext`):(e.push(`form-control`),i.size&&e.push(`form-control-${i.size}`)),i.validationState===`valid`&&e.push(`is-valid`),i.validationState===`invalid`&&e.push(`is-invalid`),i.focusRing&&e.push(`focus-ring`),e.join(` `)}),g=e=>{let t=e.target;r.value=i.type===`number`?t.value===``?``:Number(t.value):t.value,a(`input`,e),i.validateOn===`input`&&a(`validate`)},_=e=>{a(`change`,e),i.validateOn===`change`&&a(`validate`)},v=e=>{a(`blur`,e),i.validateOn===`blur`&&a(`validate`)},y=e=>{a(`focus`,e)};return(n,i)=>e.noWrapper?((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:1,id:l.value,type:e.type,class:(0,t.normalizeClass)(h.value),value:r.value,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly||e.plaintext,required:e.required,"aria-invalid":e.validationState===`invalid`,"aria-describedby":(0,t.unref)(o)?e.helpText&&e.validationMessage?`${u.value} ${d.value}`:e.helpText?u.value:e.validationMessage?d.value:void 0:void 0,onInput:g,onChange:_,onBlur:v,onFocus:y},null,42,ir)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)({"mb-3":f.value||m.value||p.value})},[f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:l.value,class:`form-label`},[(0,t.createTextVNode)((0,t.toDisplayString)(e.label)+` `,1),e.required?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,$n,`*`)):(0,t.createCommentVNode)(``,!0)],8,Qn)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`input`,{id:l.value,type:e.type,class:(0,t.normalizeClass)(h.value),value:r.value,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly||e.plaintext,required:e.required,"aria-invalid":e.validationState===`invalid`,"aria-describedby":e.helpText&&e.validationMessage?`${u.value} ${d.value}`:e.helpText?u.value:e.validationMessage?d.value:void 0,onInput:g,onChange:_,onBlur:v,onFocus:y},null,42,er),m.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:u.value,class:`form-text`},(0,t.toDisplayString)(e.helpText),9,tr)):(0,t.createCommentVNode)(``,!0),p.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[e.validationState===`valid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,id:d.value,class:`valid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Looks good!`),9,nr)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:d.value,class:`invalid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please provide a valid value.`),9,rr)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),or=[`for`],sr={key:0,class:`text-danger`},cr=[`id`,`value`,`multiple`,`size`,`disabled`,`required`,`aria-invalid`,`aria-describedby`],lr={key:0,value:``,disabled:``,selected:``},ur=[`value`,`disabled`],dr=[`id`],fr=[`id`],pr=[`id`],mr=``,hr=`vi:`,gr=(0,t.defineComponent)({__name:`VibeFormSelect`,props:(0,t.mergeModels)({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}},{modelValue:{type:[String,Number,Boolean,null,Array],default:``},modelModifiers:{}}),emits:(0,t.mergeModels)([`validate`,`blur`,`focus`,`change`],[`update:modelValue`]),setup(e,{emit:n}){let r=e=>`${hr}${e}`,i=e=>{if(!e.startsWith(hr))return-1;let t=Number(e.slice(3));return Number.isInteger(t)&&t>=0?t:-1},a=(e,t)=>{for(let n=0;n<e.length;n++)if(Object.is(e[n].value,t))return n;return-1},o=(0,t.useModel)(e,`modelValue`),s=e,c=n,l=(0,t.inject)(F,null),u=l?.consumeId(),d=L(`select`),f=(0,t.computed)(()=>s.id||u||d),p=(0,t.computed)(()=>`${f.value}-help`),m=(0,t.computed)(()=>`${f.value}-feedback`),h=(0,t.computed)(()=>!!s.label&&!l?.hasLabel.value),g=(0,t.computed)(()=>!!s.validationState&&!l?.hasValidation.value),_=(0,t.computed)(()=>!!s.helpText&&!l?.hasHelp.value),v=(0,t.computed)(()=>{let e=[`form-select`];return s.size&&e.push(`form-select-${s.size}`),s.validationState===`valid`&&e.push(`is-valid`),s.validationState===`invalid`&&e.push(`is-invalid`),e.join(` `)}),y=e=>{let t=i(e);return t>=0&&t<s.options.length?s.options[t].value:``},b=e=>{let t=e.target,n;n=s.multiple?Array.from(t.selectedOptions).map(e=>y(e.value)):y(t.value),o.value=n},x=(0,t.computed)(()=>{if(Array.isArray(o.value))return o.value.map(e=>{let t=a(s.options,e);return t>=0?r(t):mr}).filter(e=>e!==mr);let e=a(s.options,o.value);return e>=0?r(e):mr}),S=e=>{c(`change`,e),s.validateOn===`change`&&c(`validate`)},C=e=>{c(`blur`,e),s.validateOn===`blur`&&c(`validate`)},w=e=>{c(`focus`,e)};return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)({"mb-3":h.value||_.value||g.value})},[h.value?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:f.value,class:`form-label`},[(0,t.createTextVNode)((0,t.toDisplayString)(e.label)+` `,1),e.required?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,sr,`*`)):(0,t.createCommentVNode)(``,!0)],8,or)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`select`,{id:f.value,class:(0,t.normalizeClass)(v.value),value:x.value,multiple:e.multiple,size:e.htmlSize||e.selectSize,disabled:e.disabled,required:e.required,"aria-invalid":e.validationState===`invalid`,"aria-describedby":e.helpText&&e.validationMessage?`${p.value} ${m.value}`:e.helpText?p.value:e.validationMessage?m.value:void 0,onInput:b,onChange:S,onBlur:C,onFocus:w},[e.placeholder&&!e.multiple?((0,t.openBlock)(),(0,t.createElementBlock)(`option`,lr,(0,t.toDisplayString)(e.placeholder),1)):(0,t.createCommentVNode)(``,!0),(0,t.renderSlot)(n.$slots,`default`,{},()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.options,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`option`,{key:e.value===void 0?e.text:String(e.value),value:r(n),disabled:e.disabled},(0,t.toDisplayString)(e.text),9,ur))),128))])],42,cr),_.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${f.value}-help`,class:`form-text`},(0,t.toDisplayString)(e.helpText),9,dr)):(0,t.createCommentVNode)(``,!0),g.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[e.validationState===`valid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,id:`${f.value}-feedback`,class:`valid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Looks good!`),9,fr)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${f.value}-feedback`,class:`invalid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please select an option.`),9,pr)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),_r=[`for`],vr={key:0,class:`text-danger`},yr=[`id`,`value`,`placeholder`,`rows`,`maxlength`,`disabled`,`readonly`,`required`,`aria-invalid`,`aria-describedby`],br=[`id`],xr={key:0,class:`ms-auto`},Sr=[`id`],Cr=[`id`],wr=(0,t.defineComponent)({__name:`VibeFormTextarea`,props:(0,t.mergeModels)({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}},{modelValue:{default:``},modelModifiers:{}}),emits:(0,t.mergeModels)([`validate`,`blur`,`focus`,`input`,`change`],[`update:modelValue`]),setup(e,{emit:n}){let r=(0,t.useModel)(e,`modelValue`),i=e,a=n,o=(0,t.inject)(F,null),s=o?.consumeId(),c=L(`textarea`),l=(0,t.computed)(()=>i.id||s||c),u=(0,t.computed)(()=>`${l.value}-help`),d=(0,t.computed)(()=>`${l.value}-feedback`),f=(0,t.computed)(()=>!!i.label&&!o?.hasLabel.value),p=(0,t.computed)(()=>!!i.validationState&&!o?.hasValidation.value),m=(0,t.computed)(()=>(!!i.helpText||i.showCharCount)&&!o?.hasHelp.value),h=(0,t.computed)(()=>{let e=[`form-control`];return i.size&&e.push(`form-control-${i.size}`),i.validationState===`valid`&&e.push(`is-valid`),i.validationState===`invalid`&&e.push(`is-invalid`),e.join(` `)}),g=(0,t.computed)(()=>{if(i.noResize)return{resize:`none`}}),_=(0,t.computed)(()=>r.value?.length||0),v=e=>{r.value=e.target.value,a(`input`,e),i.validateOn===`input`&&a(`validate`)},y=e=>{a(`change`,e),i.validateOn===`change`&&a(`validate`)},b=e=>{a(`blur`,e),i.validateOn===`blur`&&a(`validate`)},x=e=>{a(`focus`,e)};return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)({"mb-3":f.value||m.value||p.value})},[f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:l.value,class:`form-label`},[(0,t.createTextVNode)((0,t.toDisplayString)(e.label)+` `,1),e.required?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,vr,`*`)):(0,t.createCommentVNode)(``,!0)],8,_r)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`textarea`,{id:l.value,class:(0,t.normalizeClass)(h.value),style:(0,t.normalizeStyle)(g.value),value:r.value,placeholder:e.placeholder,rows:e.rows,maxlength:e.maxlength,disabled:e.disabled,readonly:e.readonly,required:e.required,"aria-invalid":e.validationState===`invalid`,"aria-describedby":(e.helpText||e.showCharCount)&&e.validationMessage?`${u.value} ${d.value}`:e.helpText||e.showCharCount?u.value:e.validationMessage?d.value:void 0,onInput:v,onChange:y,onBlur:b,onFocus:x},null,46,yr),m.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:u.value,class:`form-text d-flex justify-content-between`},[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.helpText),1),e.showCharCount?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,xr,[e.maxlength?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createTextVNode)((0,t.toDisplayString)(_.value)+` / `+(0,t.toDisplayString)(e.maxlength),1)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createTextVNode)((0,t.toDisplayString)(_.value),1)],64))])):(0,t.createCommentVNode)(``,!0)],8,br)):(0,t.createCommentVNode)(``,!0),p.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[e.validationState===`valid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,id:d.value,class:`valid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Looks good!`),9,Sr)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:d.value,class:`invalid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please provide a valid value.`),9,Cr)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),Tr=[`for`],Er={key:0,class:`text-danger`},Dr=[`disabled`],Or=[`id`,`value`,`disabled`,`readonly`,`required`,`min`,`max`,`step`,`aria-invalid`,`aria-describedby`],kr=[`disabled`],Ar=[`id`],jr=[`id`],Mr=[`id`],Nr=_((0,t.defineComponent)({__name:`VibeFormSpinbutton`,props:(0,t.mergeModels)({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}},{modelValue:{default:0,validator:e=>!0},modelModifiers:{}}),emits:(0,t.mergeModels)([`validate`,`blur`,`focus`,`input`,`change`,`increment`,`decrement`],[`update:modelValue`]),setup(e,{emit:n}){let r=(0,t.useModel)(e,`modelValue`),i=e,a=n,o=(0,t.inject)(F,null),s=o?.consumeId(),c=L(`spinbutton`),l=(0,t.computed)(()=>i.id||s||c),u=(0,t.computed)(()=>!!i.label&&!o?.hasLabel.value),d=(0,t.computed)(()=>!!i.validationState&&!o?.hasValidation.value),f=(0,t.computed)(()=>!!i.helpText&&!o?.hasHelp.value),p=(0,t.computed)(()=>{let e=[`form-control`];return i.size&&e.push(`form-control-${i.size}`),i.validationState===`valid`&&e.push(`is-valid`),i.validationState===`invalid`&&e.push(`is-invalid`),e.join(` `)}),m=(0,t.computed)(()=>{let e=[`input-group`];return i.size&&e.push(`input-group-${i.size}`),i.vertical&&e.push(`input-group-vertical`),e.join(` `)}),h=(0,t.ref)(r.value);(0,t.watch)(r,e=>{h.value=e??0});let g=(0,t.computed)(()=>i.disabled||i.readonly?!1:i.min===void 0||i.wrap?!0:h.value>i.min),_=(0,t.computed)(()=>i.disabled||i.readonly?!1:i.max===void 0||i.wrap?!0:h.value<i.max),v=e=>{let t=e;return i.min!==void 0&&t<i.min&&(t=i.min),i.max!==void 0&&t>i.max&&(t=i.max),t},y=e=>{let t=e.target,n=t.value===``?0:Number(t.value);h.value=n,r.value=n,a(`input`,e),i.validateOn===`input`&&a(`validate`)},b=e=>{let t=e.target,n=t.value===``?0:Number(t.value),o=v(n);h.value=o,o!==n&&(r.value=o),a(`change`,e),i.validateOn===`change`&&a(`validate`)},x=e=>{let t=e.target,n=t.value===``?0:Number(t.value),o=v(n);h.value=o,o!==n&&(r.value=o),a(`blur`,e),i.validateOn===`blur`&&a(`validate`)},S=e=>{a(`focus`,e)},C=(0,t.computed)(()=>Number.isFinite(i.step)&&i.step>0?i.step:1),w=(0,t.computed)(()=>{let e=String(C.value),t=e.indexOf(`.`);return t===-1?0:e.length-t-1}),T=e=>parseFloat(e.toFixed(w.value)),E=()=>{if(!_.value)return;let e=T(h.value+C.value);i.max!==void 0&&e>i.max&&(e=i.wrap?i.min??0:i.max),h.value=e,r.value=e,a(`increment`,e),a(`validate`)},ee=()=>{if(!g.value)return;let e=T(h.value-C.value);i.min!==void 0&&e<i.min&&(e=i.wrap?i.max??0:i.min),h.value=e,r.value=e,a(`decrement`,e),a(`validate`)};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)({"mb-3":u.value||f.value||d.value})},[u.value?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:l.value,class:`form-label`},[(0,t.createTextVNode)((0,t.toDisplayString)(e.label)+` `,1),e.required?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Er,`*`)):(0,t.createCommentVNode)(``,!0)],8,Tr)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)(m.value)},[(0,t.createElementVNode)(`button`,{class:`btn btn-outline-secondary`,type:`button`,disabled:!g.value,onClick:ee,"aria-label":`Decrement`},[...r[0]||=[(0,t.createElementVNode)(`span`,{"aria-hidden":`true`},`−`,-1)]],8,Dr),(0,t.createElementVNode)(`input`,{id:l.value,type:`number`,class:(0,t.normalizeClass)(p.value),value:h.value,disabled:e.disabled,readonly:e.readonly,required:e.required,min:e.min,max:e.max,step:C.value,"aria-invalid":e.validationState===`invalid`,"aria-describedby":e.helpText&&e.validationMessage?`${l.value}-help ${l.value}-feedback`:e.helpText?`${l.value}-help`:e.validationMessage?`${l.value}-feedback`:void 0,onInput:y,onChange:b,onBlur:x,onFocus:S},null,42,Or),(0,t.createElementVNode)(`button`,{class:`btn btn-outline-secondary`,type:`button`,disabled:!_.value,onClick:E,"aria-label":`Increment`},[...r[1]||=[(0,t.createElementVNode)(`span`,{"aria-hidden":`true`},`+`,-1)]],8,kr)],2),f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${l.value}-help`,class:`form-text`},(0,t.toDisplayString)(e.helpText),9,Ar)):(0,t.createCommentVNode)(``,!0),d.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[e.validationState===`valid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,id:`${l.value}-feedback`,class:`valid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Looks good!`),9,jr)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${l.value}-feedback`,class:`invalid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please provide a valid value.`),9,Mr)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-9dd7f0b5`]]),Pr=[`for`],Fr={key:0,class:`text-danger`},Ir=[`id`,`type`,`value`,`disabled`,`readonly`,`required`,`min`,`max`,`aria-invalid`,`aria-describedby`],Lr=[`id`],Rr=[`id`],zr=[`id`],Br=(0,t.defineComponent)({__name:`VibeFormDatepicker`,props:(0,t.mergeModels)({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`}},{modelValue:{default:``,validator:e=>!0},modelModifiers:{}}),emits:(0,t.mergeModels)([`validate`,`blur`,`focus`,`input`,`change`],[`update:modelValue`]),setup(e,{emit:n}){let r=(0,t.useModel)(e,`modelValue`),i=e,a=n,o=(0,t.inject)(F,null),s=o?.consumeId(),c=L(`datepicker`),l=(0,t.computed)(()=>i.id||s||c),u=(0,t.computed)(()=>`${l.value}-help`),d=(0,t.computed)(()=>`${l.value}-feedback`),f=(0,t.computed)(()=>!!i.label&&!o?.hasLabel.value),p=(0,t.computed)(()=>!!i.validationState&&!o?.hasValidation.value),m=(0,t.computed)(()=>!!i.helpText&&!o?.hasHelp.value),h=(0,t.computed)(()=>{let e=[`form-control`];return i.size&&e.push(`form-control-${i.size}`),i.validationState===`valid`&&e.push(`is-valid`),i.validationState===`invalid`&&e.push(`is-invalid`),e.join(` `)}),g=e=>{r.value=e.target.value,a(`input`,e),i.validateOn===`input`&&a(`validate`)},_=e=>{a(`change`,e),i.validateOn===`change`&&a(`validate`)},v=e=>{a(`blur`,e),i.validateOn===`blur`&&a(`validate`)},y=e=>{a(`focus`,e)};return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)({"mb-3":f.value||m.value||p.value})},[f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:l.value,class:`form-label`},[(0,t.createTextVNode)((0,t.toDisplayString)(e.label)+` `,1),e.required?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Fr,`*`)):(0,t.createCommentVNode)(``,!0)],8,Pr)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`input`,{id:l.value,type:e.type,class:(0,t.normalizeClass)(h.value),value:r.value,disabled:e.disabled,readonly:e.readonly,required:e.required,min:e.min,max:e.max,"aria-invalid":e.validationState===`invalid`,"aria-describedby":e.helpText&&e.validationMessage?`${u.value} ${d.value}`:e.helpText?u.value:e.validationMessage?d.value:void 0,onInput:g,onChange:_,onBlur:v,onFocus:y},null,42,Ir),m.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:u.value,class:`form-text`},(0,t.toDisplayString)(e.helpText),9,Lr)):(0,t.createCommentVNode)(``,!0),p.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[e.validationState===`valid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,id:d.value,class:`valid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Looks good!`),9,Rr)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:d.value,class:`invalid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please provide a valid date.`),9,zr)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),Vr={class:`vibe-file-input`},Hr=[`for`],Ur={class:`mb-0`},Wr=[`id`,`multiple`,`accept`,`disabled`],Gr={key:2,class:`form-text`},Kr=_((0,t.defineComponent)({__name:`VibeFileInput`,props:{modelValue:{type:Array,default:()=>[]},id:{type:String,default:void 0},label:{type:String,default:void 0},multiple:{type:Boolean,default:!1},accept:{type:String,default:void 0},maxSize:{type:Number,default:void 0},dragDrop:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},size:{type:String,default:void 0},helpText:{type:String,default:void 0},dropzoneText:{type:String,default:`Drag files here or click to browse`}},emits:[`update:modelValue`,`change`,`invalid`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=L(`file-input`),s=(0,t.computed)(()=>i.id||o),c=(0,t.ref)(!1),l=(0,t.ref)(null),u=(0,t.computed)(()=>{let e=[`form-control`];return i.size&&e.push(`form-control-${i.size}`),e.join(` `)}),d=(e,t)=>{let n=t.split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean);if(n.length===0)return!0;let r=e.type.toLowerCase(),i=e.name.toLowerCase();for(let e of n){if(e.startsWith(`.`)){if(i.endsWith(e))return!0;continue}if(e.endsWith(`/*`)){let t=e.slice(0,e.length-1);if(r.startsWith(t))return!0;continue}if(r===e)return!0}return!1},f=e=>{let t=[],n=[];for(let r of e){if(i.maxSize!==void 0&&r.size>i.maxSize){n.push(r);continue}if(i.accept&&!d(r,i.accept)){n.push(r);continue}t.push(r)}return{accepted:t,rejected:n}},p=e=>{let{accepted:t,rejected:n}=f(e);a(`update:modelValue`,t),a(`change`,t),n.length>0&&a(`invalid`,n)},m=e=>{let t=e.target;p(t.files?Array.from(t.files):[]),t.value=``},h=e=>{e.preventDefault(),g=0,c.value=!1,!i.disabled&&p(e.dataTransfer?.files?Array.from(e.dataTransfer.files):[])},g=0,_=e=>{e.preventDefault(),i.disabled||(g++,c.value=!0)},v=e=>{e.preventDefault()},y=e=>{e.preventDefault(),g=Math.max(0,g-1),g===0&&(c.value=!1)},b=()=>{i.disabled||l.value?.click()};n({clearFiles:()=>{l.value&&(l.value.value=``),a(`update:modelValue`,[]),a(`change`,[])}});let x=(0,t.computed)(()=>{let e=[`vibe-file-input-dropzone`];return c.value&&e.push(`vibe-file-input-dropzone-active`),i.disabled&&e.push(`vibe-file-input-dropzone-disabled`),e.join(` `)}),S=()=>{g=0,c.value=!1};return(0,t.onMounted)(()=>{typeof document>`u`||(document.addEventListener(`dragend`,S),document.addEventListener(`drop`,S))}),(0,t.onBeforeUnmount)(()=>{typeof document>`u`||(document.removeEventListener(`dragend`,S),document.removeEventListener(`drop`,S))}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Vr,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:s.value,class:`form-label`},(0,t.toDisplayString)(e.label),9,Hr)):(0,t.createCommentVNode)(``,!0),e.dragDrop?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:(0,t.normalizeClass)(x.value),onDrop:h,onDragenter:_,onDragover:v,onDragleave:y,onClick:b},[(0,t.renderSlot)(n.$slots,`dropzone`,{},()=>[(0,t.createElementVNode)(`p`,Ur,(0,t.toDisplayString)(e.dropzoneText),1)],!0)],34)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`input`,{id:s.value,ref_key:`inputRef`,ref:l,type:`file`,class:(0,t.normalizeClass)(e.dragDrop?``:u.value),multiple:e.multiple,accept:e.accept,disabled:e.disabled,style:(0,t.normalizeStyle)(e.dragDrop?`display: none`:void 0),onChange:m},null,46,Wr),e.helpText?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Gr,(0,t.toDisplayString)(e.helpText),1)):(0,t.createCommentVNode)(``,!0)]))}}),[[`__scopeId`,`data-v-d6447a0f`]]),qr=[`aria-label`,`aria-valuemin`,`aria-valuemax`,`aria-valuenow`,`aria-disabled`],Jr=[`aria-valuemin`,`aria-valuemax`,`aria-valuenow`,`aria-disabled`],Yr=_((0,t.defineComponent)({__name:`VibeSlider`,props:{modelValue:{type:[Number,Array],default:0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},range:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(null),s=null,c=(0,t.computed)(()=>o.value!==null),l=(0,t.ref)(Array.isArray(r.modelValue)?[...r.modelValue]:r.modelValue);(0,t.watch)(()=>r.modelValue,e=>{c.value||(l.value=Array.isArray(e)?[...e]:e)}),(0,t.onMounted)(()=>{let e=r.range,t=Array.isArray(r.modelValue);e&&!t?console.warn(`[VibeSlider] range=true expects modelValue as [low, high] tuple; received non-array. Slider will be inert.`):!e&&t&&console.warn(`[VibeSlider] range=false expects modelValue as a number; received array. Use range=true for tuple model.`),r.max<=r.min&&console.warn(`[VibeSlider] max (${r.max}) must be greater than min (${r.min}). Slider is rendered but inert.`)});let u=(0,t.computed)(()=>Math.max(0,r.max-r.min)),d=e=>Math.min(r.max,Math.max(r.min,e)),f=e=>u.value===0||r.step<=0?d(e):d(Math.round((e-r.min)/r.step)*r.step+r.min),p=(0,t.computed)(()=>Array.isArray(l.value)?d(l.value[0]):d(l.value)),m=(0,t.computed)(()=>Array.isArray(l.value)?d(l.value[1]):d(l.value)),h=e=>u.value===0?0:(e-r.min)/u.value*100,g=(0,t.computed)(()=>h(p.value)),_=(0,t.computed)(()=>h(m.value)),v=(0,t.computed)(()=>{let e=[`vibe-slider`];return r.vertical&&e.push(`vibe-slider-vertical`),r.disabled&&e.push(`vibe-slider-disabled`),r.range&&e.push(`vibe-slider-range`),e.join(` `)}),y=(0,t.computed)(()=>r.range?r.vertical?{bottom:`${g.value}%`,top:`${100-_.value}%`}:{left:`${g.value}%`,right:`${100-_.value}%`}:r.vertical?{bottom:`0%`,top:`${100-g.value}%`}:{left:`0%`,right:`${100-g.value}%`}),b=(0,t.computed)(()=>r.vertical?{bottom:`${g.value}%`}:{left:`${g.value}%`}),x=(0,t.computed)(()=>r.vertical?{bottom:`${_.value}%`}:{left:`${_.value}%`}),S=(e,t)=>{if(r.range&&Array.isArray(l.value)){let[n,r]=l.value,a=f(t),s,c,u=e;if(e===0?a>r?(s=r,c=a,u=1):(s=a,c=r):a<n?(s=a,c=n,u=0):(s=n,c=a),s===n&&c===r)return;u!==e&&o.value!==null&&(o.value=u);let d=[s,c];l.value=d,i(`update:modelValue`,d),i(`change`,d);return}let n=f(t);n!==p.value&&(l.value=n,i(`update:modelValue`,n),i(`change`,n))},C=e=>{if(!a.value)return r.min;let t=a.value.getBoundingClientRect(),n=r.vertical?1-(e.clientY-t.top)/t.height:(e.clientX-t.left)/t.width;return r.min+n*(r.max-r.min)},w=e=>{if(r.disabled||e.target.classList.contains(`vibe-slider-handle`))return;let t=C(e);S(r.range?Math.abs(t-p.value)<=Math.abs(t-m.value)?0:1:0,t)},T=(e,t)=>{if(r.disabled)return;let n=e===0?p.value:m.value,i=n;switch(t.key){case`ArrowRight`:case`ArrowUp`:i=n+r.step;break;case`ArrowLeft`:case`ArrowDown`:i=n-r.step;break;case`Home`:i=r.min;break;case`End`:i=r.max;break;case`PageUp`:i=n+r.step*10;break;case`PageDown`:i=n-r.step*10;break;default:return}t.preventDefault(),S(e,i)},E=(e,t)=>{r.disabled||!a.value||typeof window>`u`||(l.value=Array.isArray(r.modelValue)?[...r.modelValue]:r.modelValue,o.value=e,s=t.pointerId,window.addEventListener(`pointermove`,k),window.addEventListener(`pointerup`,A))},ee=e=>T(0,e),D=e=>T(1,e),O=e=>E(0,e),te=e=>E(1,e),k=e=>{if(o.value===null||!a.value||e.pointerId!==s)return;let t=a.value.getBoundingClientRect(),n=r.vertical?1-(e.clientY-t.top)/t.height:(e.clientX-t.left)/t.width,i=r.min+n*(r.max-r.min);S(o.value,i)},A=e=>{o.value===null||e.pointerId!==s||(o.value=null,s=null,window.removeEventListener(`pointermove`,k),window.removeEventListener(`pointerup`,A))};return(0,t.onBeforeUnmount)(()=>{typeof window<`u`&&(window.removeEventListener(`pointermove`,k),window.removeEventListener(`pointerup`,A)),o.value=null,s=null}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)(v.value)},[(0,t.createElementVNode)(`div`,{class:`vibe-slider-track`,ref_key:`trackRef`,ref:a,onPointerdown:w},[(0,t.createElementVNode)(`div`,{class:`vibe-slider-fill`,style:(0,t.normalizeStyle)(y.value)},null,4),(0,t.createElementVNode)(`div`,{class:`vibe-slider-handle`,role:`slider`,tabindex:`0`,"aria-label":e.range?`Minimum`:void 0,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":p.value,"aria-disabled":e.disabled||void 0,style:(0,t.normalizeStyle)(b.value),onKeydown:ee,onPointerdown:O},null,44,qr),e.range?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`vibe-slider-handle`,role:`slider`,tabindex:`0`,"aria-label":`Maximum`,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":m.value,"aria-disabled":e.disabled||void 0,style:(0,t.normalizeStyle)(x.value),onKeydown:D,onPointerdown:te},null,44,Jr)):(0,t.createCommentVNode)(``,!0)],544)],2))}}),[[`__scopeId`,`data-v-58d4508c`]]),Xr={class:`vibe-stepper-header`},Zr=[`tabindex`,`aria-disabled`,`onClick`,`onKeydown`],Qr={class:`vibe-stepper-marker`},$r={class:`vibe-stepper-label`},ei={key:0,class:`vibe-stepper-description`},ti={class:`vibe-stepper-body`},ni={class:`vibe-stepper-actions`},ri=[`disabled`],ii=_((0,t.defineComponent)({__name:`VibeStepper`,props:{modelValue:{type:Number,default:0},steps:{type:Array,required:!0},linear:{type:Boolean,default:!0},vertical:{type:Boolean,default:!1},beforeNext:{type:Function,default:void 0},beforePrev:{type:Function,default:void 0},nextText:{type:String,default:`Next`},prevText:{type:String,default:`Back`},finishText:{type:String,default:`Finish`}},emits:[`update:modelValue`,`finish`,`component-error`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>{let e=[`vibe-stepper`];return r.vertical&&e.push(`vibe-stepper-vertical`),e.join(` `)}),o=(0,t.ref)(!1),s=!1;(0,t.onBeforeUnmount)(()=>{s=!0}),(0,t.onDeactivated)(()=>{s=!0});let c=(0,t.computed)(()=>r.modelValue>=r.steps.length-1),l=(0,t.computed)(()=>r.modelValue<=0),u=e=>{let t=[`vibe-stepper-step`];return e===r.modelValue&&t.push(`vibe-stepper-active`),e<r.modelValue&&t.push(`vibe-stepper-completed`),r.steps[e]?.disabled&&t.push(`vibe-stepper-disabled`),r.linear&&e>r.modelValue&&t.push(`vibe-stepper-locked`),t.join(` `)},d=e=>r.steps[e]?.disabled?!1:r.linear?e<=r.modelValue:!0,f=async(e,t)=>{if(!e)return!0;try{let n=e(r.modelValue,t);return n instanceof Promise?await n:n}catch(e){return i(`component-error`,e),!1}},p=async()=>{if(!(!r.steps.length||o.value)){o.value=!0;try{let e=await f(r.beforeNext,`next`);if(s||!e)return;c.value?i(`finish`):i(`update:modelValue`,r.modelValue+1)}finally{s||(o.value=!1)}}},m=async()=>{if(!o.value&&!l.value){o.value=!0;try{let e=await f(r.beforePrev,`prev`);if(s||!e)return;i(`update:modelValue`,Math.max(0,r.modelValue-1))}finally{s||(o.value=!1)}}},h=async e=>{if(!o.value&&d(e)&&e!==r.modelValue){o.value=!0;try{let t=e>r.modelValue?`next`:`prev`,n=await f(t===`next`?r.beforeNext:r.beforePrev,t);if(s||!n)return;i(`update:modelValue`,e)}finally{s||(o.value=!1)}}},g=(0,t.computed)(()=>{if(!r.steps.length)return;let e=Math.max(0,Math.min(r.modelValue,r.steps.length-1));return r.steps[e]});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)(a.value)},[(0,t.createElementVNode)(`ol`,Xr,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.steps,(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:r.label??i,class:(0,t.normalizeClass)(u(i)),tabindex:d(i)||i===e.modelValue?0:-1,"aria-disabled":d(i)||i===e.modelValue?void 0:`true`,onClick:e=>h(i),onKeydown:[(0,t.withKeys)((0,t.withModifiers)(e=>h(i),[`prevent`]),[`enter`]),(0,t.withKeys)((0,t.withModifiers)(e=>h(i),[`prevent`]),[`space`])]},[(0,t.createElementVNode)(`span`,Qr,[(0,t.renderSlot)(n.$slots,`marker`,{index:i,step:r,active:i===e.modelValue},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(i+1),1)],!0)]),(0,t.createElementVNode)(`span`,$r,[(0,t.renderSlot)(n.$slots,`label`,{index:i,step:r},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(r.label),1)],!0),r.description?((0,t.openBlock)(),(0,t.createElementBlock)(`small`,ei,(0,t.toDisplayString)(r.description),1)):(0,t.createCommentVNode)(``,!0)])],42,Zr))),128))]),(0,t.createElementVNode)(`div`,ti,[(0,t.renderSlot)(n.$slots,`step`,{index:e.modelValue,step:g.value},void 0,!0)]),(0,t.createElementVNode)(`div`,ni,[(0,t.renderSlot)(n.$slots,`actions`,{next:p,prev:m,isFirst:l.value,isLast:c.value},()=>[(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-secondary`,disabled:l.value,"data-stepper-prev":``,onClick:m},(0,t.toDisplayString)(e.prevText),9,ri),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-primary`,"data-stepper-next":``,onClick:p},(0,t.toDisplayString)(c.value?e.finishText:e.nextText),1)],!0)])],2))}}),[[`__scopeId`,`data-v-d9646674`]]),ai=[`for`],oi=[`id`,`value`,`placeholder`,`disabled`,`aria-expanded`,`aria-controls`,`aria-activedescendant`],si=[`id`],ci=[`id`,`aria-selected`,`onMouseenter`,`onClick`],li={key:2,class:`vibe-autocomplete-empty`},ui=_((0,t.defineComponent)({__name:`VibeAutocomplete`,props:{modelValue:{type:String,default:``},source:{type:[Array,Function],required:!0},minChars:{type:Number,default:1},debounce:{type:Number,default:200},placeholder:{type:String,default:``},label:{type:String,default:void 0},id:{type:String,default:void 0},disabled:{type:Boolean,default:!1},itemText:{type:Function,default:void 0},maxResults:{type:Number,default:10}},emits:[`update:modelValue`,`select`],setup(e,{emit:n}){let r=e,i=n,a=L(`autocomplete`),o=(0,t.computed)(()=>r.id||a),s=(0,t.computed)(()=>`${o.value}-listbox`),c=(0,t.ref)(r.modelValue),l=(0,t.ref)([]),u=(0,t.ref)(-1),d=(0,t.ref)(!1),f=(0,t.ref)(null),p=(0,t.ref)(null),m=0;(0,t.watch)(()=>r.modelValue,e=>{e!==c.value&&(c.value=e)});let h=e=>r.itemText?r.itemText(e):typeof e==`string`?e:String(e),g=(e,t)=>{let n=t.toLowerCase();return e.filter(e=>h(e).toLowerCase().includes(n)).slice(0,r.maxResults)},_=()=>{if(u.value<0)return null;let e=l.value[u.value];return e===void 0?null:h(e)},v=e=>{if(e===null){u.value=-1;return}u.value=l.value.findIndex(t=>h(t)===e)},y=!1,b=async e=>{let t=_();if(typeof r.source==`function`){m+=1;let t=m,n=await r.source(e);if(t!==m||y)return;l.value=n.slice(0,r.maxResults)}else m+=1,l.value=g(r.source,e);y||(v(t),d.value=!0)},x=()=>{m+=1},S=e=>{if(f.value!==null&&clearTimeout(f.value),r.debounce<=0){b(e);return}f.value=setTimeout(()=>{b(e),f.value=null},r.debounce)},C=e=>{let t=e.target;if(c.value=t.value,i(`update:modelValue`,t.value),t.value.length<r.minChars){x(),l.value=[],d.value=!1;return}S(t.value)},w=()=>{r.disabled||c.value.length>=r.minChars&&b(c.value)},T=()=>{x(),d.value=!1,u.value=-1},E=e=>{c.value=h(e),i(`update:modelValue`,c.value),i(`select`,e),T()},ee=e=>{if(!r.disabled)if(e.key===`ArrowDown`){if(e.preventDefault(),!d.value){b(c.value);return}u.value=Math.min(l.value.length-1,u.value+1)}else if(e.key===`ArrowUp`){if(e.preventDefault(),!d.value)return;u.value=u.value<=0?l.value.length-1:u.value-1}else e.key===`Enter`?u.value>=0&&l.value[u.value]&&(e.preventDefault(),E(l.value[u.value])):e.key===`Escape`&&(e.preventDefault(),T())},D=e=>{if(!d.value)return;let t=p.value;t&&e.target instanceof Node&&t.contains(e.target)||T()};(0,t.watch)(d,e=>{typeof document>`u`||(e?document.addEventListener(`mousedown`,D):document.removeEventListener(`mousedown`,D))}),(0,t.onBeforeUnmount)(()=>{y=!0,x(),f.value!==null&&clearTimeout(f.value),typeof document<`u`&&document.removeEventListener(`mousedown`,D)});let O=(0,t.computed)(()=>d.value&&c.value.length>=r.minChars&&l.value.length===0);return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`vibe-autocomplete`,ref_key:`rootRef`,ref:p},[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:o.value,class:`form-label`},(0,t.toDisplayString)(e.label),9,ai)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`input`,{id:o.value,class:`form-control`,type:`text`,autocomplete:`off`,value:c.value,placeholder:e.placeholder,disabled:e.disabled,"aria-expanded":d.value,"aria-autocomplete":`list`,"aria-controls":d.value&&l.value.length>0?s.value:void 0,"aria-activedescendant":u.value>=0?`${o.value}-option-${u.value}`:void 0,role:`combobox`,onInput:C,onFocus:w,onKeydown:ee},null,40,oi),d.value&&l.value.length>0?((0,t.openBlock)(),(0,t.createElementBlock)(`ul`,{key:1,id:s.value,class:`vibe-autocomplete-menu`,role:`listbox`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(l.value,(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:h(e)+`\0`+r,id:`${o.value}-option-${r}`,class:(0,t.normalizeClass)([`vibe-autocomplete-item`,r===u.value?`vibe-autocomplete-item-highlighted`:``]),role:`option`,"aria-selected":r===u.value,onMouseenter:e=>u.value=r,onClick:t=>E(e)},[(0,t.renderSlot)(n.$slots,`item`,{item:e,index:r,label:h(e)},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(h(e)),1)],!0)],42,ci))),128))],8,si)):O.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,li,[(0,t.renderSlot)(n.$slots,`empty`,{},()=>[r[0]||=(0,t.createTextVNode)(`No results`,-1)],!0)])):(0,t.createCommentVNode)(``,!0)],512))}}),[[`__scopeId`,`data-v-5d8fb9ff`]]),di=_((0,t.defineComponent)({__name:`VibeSortable`,props:{modelValue:{type:Array,required:!0},itemKey:{type:String,default:void 0},disabled:{type:Boolean,default:!1},tag:{type:String,default:`div`},itemTag:{type:String,default:`div`}},emits:[`update:modelValue`,`reorder`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(e,t)=>{if(r.disabled){e.preventDefault();return}a.value=t,e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`)},s=e=>{r.disabled||a.value===null||(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`))},c=(e,t)=>{if(r.disabled)return;e.preventDefault();let n=a.value;if(a.value=null,n===null||n===t)return;let o=[...r.modelValue],[s]=o.splice(n,1);o.splice(t,0,s),i(`update:modelValue`,o),i(`reorder`,{from:n,to:t,item:s})},l=()=>{a.value=null},u=e=>Number(e.currentTarget.dataset.sortableIndex),d=e=>o(e,u(e)),f=e=>c(e,u(e)),p=()=>{a.value=null};return(0,t.onMounted)(()=>{document.addEventListener(`dragend`,p)}),(0,t.onBeforeUnmount)(()=>document.removeEventListener(`dragend`,p)),(0,t.onActivated)(()=>{a.value=null}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{class:`vibe-sortable`},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.modelValue,(r,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.itemTag),{key:e.itemKey?r[e.itemKey]:i,class:(0,t.normalizeClass)([`vibe-sortable-item`,{"vibe-sortable-dragging":a.value===i}]),draggable:!e.disabled,"data-vibe-sortable-item":``,"data-sortable-index":i,onDragstart:d,onDragover:s,onDrop:f,onDragend:l},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`,{item:r,index:i},void 0,!0)]),_:2},1064,[`class`,`draggable`,`data-sortable-index`]))),128))]),_:3}))}}),[[`__scopeId`,`data-v-eda2a0c7`]]),V={payload:void 0,group:``,active:!1},fi=!1,pi=()=>{V.payload=void 0,V.group=``,V.active=!1,hi()},mi=()=>{fi||typeof document>`u`||(fi=!0,document.addEventListener(`dragend`,pi),document.addEventListener(`drop`,pi))},hi=()=>{!fi||typeof document>`u`||(fi=!1,document.removeEventListener(`dragend`,pi),document.removeEventListener(`drop`,pi))},gi=(e,t)=>{typeof window>`u`||(V.payload=e,V.group=t,V.active=!0,mi())},_i=()=>{typeof window>`u`||(V.payload=void 0,V.group=``,V.active=!1,hi())},vi=()=>V.active?{payload:V.payload,group:V.group}:null,yi=_((0,t.defineComponent)({__name:`VibeDraggable`,props:{payload:{type:null,default:void 0},group:{type:String,default:`default`},disabled:{type:Boolean,default:!1},tag:{type:String,default:`div`}},emits:[`dragstart`,`dragend`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!1),o=e=>{if(r.disabled){e.preventDefault();return}a.value=!0,gi(r.payload,r.group),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`),i(`dragstart`,{payload:r.payload,group:r.group,event:e})},s=e=>{a.value=!1,_i(),i(`dragend`,{payload:r.payload,group:r.group,event:e})};return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{class:(0,t.normalizeClass)([`vibe-draggable`,{"vibe-draggable-dragging":a.value,"vibe-draggable-disabled":e.disabled}]),draggable:!e.disabled,"data-vibe-draggable":``,"data-vibe-group":e.group,onDragstart:o,onDragend:s},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`,{isDragging:a.value},void 0,!0)]),_:3},40,[`class`,`draggable`,`data-vibe-group`]))}}),[[`__scopeId`,`data-v-39b73254`]]),bi=_((0,t.defineComponent)({__name:`VibeDroppable`,props:{group:{type:String,default:`default`},acceptGroups:{type:Array,default:void 0},disabled:{type:Boolean,default:!1},tag:{type:String,default:`div`}},emits:[`drop`,`dragenter`,`dragleave`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!1),o=0;(0,t.watch)(()=>r.disabled,e=>{e&&(o=0,a.value=!1)});let s=e=>r.acceptGroups&&r.acceptGroups.length>0?r.acceptGroups.includes(e):e===r.group,c=()=>vi(),l=e=>{if(r.disabled)return;let t=c();t&&s(t.group)&&(o+=1,a.value=!0,i(`dragenter`,e))},u=e=>{r.disabled||(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`))},d=e=>{r.disabled||o===0||(--o,o<=0&&(a.value=!1,o=0,i(`dragleave`,e)))};(0,t.onBeforeUnmount)(()=>{o=0,a.value=!1});let f=e=>{if(r.disabled)return;e.preventDefault(),a.value=!1,o=0;let t=c();t&&s(t.group)&&i(`drop`,{payload:t.payload,group:t.group,event:e})};return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{class:(0,t.normalizeClass)([`vibe-droppable`,{"vibe-droppable-over":a.value,"vibe-droppable-disabled":e.disabled}]),"data-vibe-droppable":``,"data-vibe-group":e.group,onDragenter:l,onDragover:u,onDragleave:d,onDrop:f},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`,{isOver:a.value},void 0,!0)]),_:3},40,[`class`,`data-vibe-group`]))}}),[[`__scopeId`,`data-v-cb4f90ac`]]),xi=[`data-handle`,`onPointerdown`],Si=_((0,t.defineComponent)({__name:`VibeResizable`,props:{handles:{type:Array,default:()=>[`se`]},width:{type:Number,default:200},height:{type:Number,default:150},minWidth:{type:Number,default:20},maxWidth:{type:Number,default:1/0},minHeight:{type:Number,default:20},maxHeight:{type:Number,default:1/0},aspectRatio:{type:Number,default:void 0},grid:{type:Number,default:1},disabled:{type:Boolean,default:!1}},emits:[`update:width`,`update:height`,`resizestart`,`resize`,`resizeend`],setup(e,{emit:n}){let r=[`n`,`s`,`e`,`w`,`ne`,`nw`,`se`,`sw`],i=e,a=n,o=(0,t.ref)(i.width),s=(0,t.ref)(i.height),c=(0,t.ref)(null),l=(0,t.ref)(0),u=(0,t.ref)(0),d=(0,t.ref)(0),f=(0,t.ref)(0),p=null;(0,t.watch)(()=>i.width,e=>{e!==o.value&&(o.value=e)}),(0,t.watch)(()=>i.height,e=>{e!==s.value&&(s.value=e)});let m=e=>Math.round(e/i.grid)*i.grid,h=e=>Math.min(i.maxWidth,Math.max(i.minWidth,e)),g=e=>Math.min(i.maxHeight,Math.max(i.minHeight,e)),_=(0,t.computed)(()=>({width:`${o.value}px`,height:`${s.value}px`})),v=(0,t.computed)(()=>i.handles.filter(e=>r.includes(e))),y=(e,t)=>{i.disabled||(t.stopPropagation(),c.value=e,p=t.pointerId,l.value=t.clientX,u.value=t.clientY,d.value=o.value,f.value=s.value,t.target.setPointerCapture(t.pointerId),a(`resizestart`,{width:o.value,height:s.value}))},b=Object.fromEntries(r.map(e=>[e,t=>y(e,t)])),x=e=>{if(!c.value||e.pointerId!==p)return;let t=e.clientX-l.value,n=e.clientY-u.value,r=d.value,_=f.value,v=c.value;v.includes(`e`)&&(r=d.value+t),v.includes(`w`)&&(r=d.value-t),v.includes(`s`)&&(_=f.value+n),v.includes(`n`)&&(_=f.value-n);let y=v.includes(`e`)||v.includes(`w`),b=v.includes(`n`)||v.includes(`s`),x=y&&(!(y&&b)||!i.aspectRatio||Math.abs(t)>=Math.abs(n));if(i.aspectRatio)if(x){r=h(m(r)),_=r/i.aspectRatio;let e=g(_);e!==_&&(_=e,r=h(_*i.aspectRatio))}else{_=g(m(_)),r=_*i.aspectRatio;let e=h(r);e!==r&&(r=e,_=g(r/i.aspectRatio))}else r=h(m(r)),_=g(m(_));r!==o.value&&(o.value=r,a(`update:width`,r)),_!==s.value&&(s.value=_,a(`update:height`,_)),a(`resize`,{width:o.value,height:s.value,handle:v})},S=e=>{!c.value||e.pointerId!==p||(e.target.releasePointerCapture?.(e.pointerId),c.value=null,p=null,a(`resizeend`,{width:o.value,height:s.value}))};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`vibe-resizable`,{"vibe-resizable-disabled":e.disabled,"vibe-resizable-active":c.value!==null}]),style:(0,t.normalizeStyle)(_.value)},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(v.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:e,class:(0,t.normalizeClass)([`vibe-resizable-handle`,`vibe-resizable-handle-${e}`]),"data-handle":e,onPointerdown:(0,t.unref)(b)[e],onPointermove:x,onPointerup:S},null,42,xi))),128))],6))}}),[[`__scopeId`,`data-v-6582c06b`]]),Ci=[`for`],wi=[`id`,`value`,`placeholder`,`disabled`,`aria-expanded`],Ti=[`aria-label`],Ei={class:`vibe-datepicker-header`},Di={class:`vibe-datepicker-title`},Oi={class:`vibe-datepicker-weekdays`},ki={class:`vibe-datepicker-grid`},Ai=[`data-iso`,`disabled`,`onClick`],ji=_((0,t.defineComponent)({__name:`VibeDatePicker`,props:{modelValue:{type:[String,Array,null],default:null},range:{type:Boolean,default:!1},min:{type:String,default:void 0},max:{type:String,default:void 0},disabledDates:{type:Array,default:()=>[]},format:{type:Function,default:void 0},placeholder:{type:String,default:`Select date`},weekStart:{type:Number,default:0},id:{type:String,default:void 0},label:{type:String,default:void 0},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`,`open`,`close`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=L(`datepicker`),s=(0,t.computed)(()=>i.id||o),c=e=>String(e).padStart(2,`0`),l=e=>`${e.getFullYear()}-${c(e.getMonth()+1)}-${c(e.getDate())}`,u=/^\d{4}-\d{2}-\d{2}$/,d=e=>{if(!u.test(e))return new Date;let[t,n,r]=e.split(`-`).map(Number);return new Date(t,n-1,r)};(0,t.watch)(()=>[i.min,i.max],([e,t])=>{},{immediate:!0});let f=(0,t.ref)(!1),p=()=>new Date,m=(0,t.ref)(p().getFullYear()),h=(0,t.ref)(p().getMonth()),g=(0,t.ref)(null),_=(0,t.ref)(null),v=(0,t.ref)(null),y=(0,t.computed)(()=>Array.isArray(i.modelValue)?i.modelValue[0]:i.modelValue),b=(0,t.computed)(()=>Array.isArray(i.modelValue)?i.modelValue[1]:null);(0,t.watch)(()=>y.value,e=>{if(e){let t=d(e);m.value=t.getFullYear(),h.value=t.getMonth()}},{immediate:!0});let x=e=>i.min&&e<i.min||i.max&&e>i.max?!0:i.disabledDates.includes(e),S=l(p()),C=(0,t.computed)(()=>{let e=[],t=(new Date(m.value,h.value,1).getDay()-i.weekStart+7)%7,n=new Date(m.value,h.value,1-t);for(let t=0;t<42;t++){let r=new Date(n);r.setDate(n.getDate()+t);let a=l(r),o=r.getMonth()===h.value,s=y.value,c=b.value,u=a===s||a===c,d=i.range&&s!==null&&c!==null&&a>s&&a<c;e.push({iso:a,day:r.getDate(),inMonth:o,disabled:x(a),isToday:a===S,isSelected:u,isFocused:a===g.value,isInRange:d,isRangeStart:i.range&&a===s,isRangeEnd:i.range&&a===c})}return e}),w=(0,t.computed)(()=>new Date(m.value,h.value,1).toLocaleDateString(void 0,{month:`long`,year:`numeric`})),T=(0,t.computed)(()=>{let e=[];for(let t=0;t<7;t++){let n=new Date(2024,0,7+(t+i.weekStart)%7);e.push(n.toLocaleDateString(void 0,{weekday:`short`}))}return e}),E=(0,t.computed)(()=>{let e=i.format||(e=>e);if(i.range){let t=y.value?e(y.value):``,n=b.value?e(b.value):``;return!t&&!n?``:`${t} → ${n}`}return y.value?e(y.value):``}),ee=()=>{i.disabled||(f.value=!f.value,f.value?a(`open`):a(`close`))},D=()=>{f.value&&(f.value=!1,a(`close`))},O=()=>{h.value===0?(h.value=11,--m.value):--h.value},te=()=>{h.value===11?(h.value=0,m.value+=1):h.value+=1},k=e=>{if(e.disabled)return;if(!i.range){a(`update:modelValue`,e.iso),D();return}let t=y.value,n=b.value;if(!t||t&&n){a(`update:modelValue`,[e.iso,null]);return}e.iso<t?a(`update:modelValue`,[e.iso,t]):(a(`update:modelValue`,[t,e.iso]),D())},A=e=>{let t=[`vibe-datepicker-day`];return e.inMonth||t.push(`vibe-datepicker-day-outside`),e.disabled&&t.push(`vibe-datepicker-day-disabled`),e.isToday&&t.push(`vibe-datepicker-day-today`),e.isSelected&&t.push(`vibe-datepicker-day-selected`),e.isFocused&&t.push(`vibe-datepicker-day-focused`),e.isInRange&&t.push(`vibe-datepicker-day-in-range`),e.isRangeStart&&t.push(`vibe-datepicker-day-range-start`),e.isRangeEnd&&t.push(`vibe-datepicker-day-range-end`),t.join(` `)},j=async e=>{g.value=e;let n=d(e);(n.getFullYear()!==m.value||n.getMonth()!==h.value)&&(m.value=n.getFullYear(),h.value=n.getMonth()),await(0,t.nextTick)(),(v.value?.querySelector(`[data-iso="${e}"]`))?.focus()},ne=async e=>{let t=d(g.value||y.value||l(p()));t.setDate(t.getDate()+e),await j(l(t))},re=async e=>{let t=d(g.value||y.value||l(p())),n=t.getMonth()+e,r=t.getFullYear()+Math.floor(n/12),i=(n%12+12)%12,a=new Date(r,i+1,0).getDate();t.setFullYear(r,i,Math.min(t.getDate(),a)),await j(l(t))},ie=async e=>{switch(e.key){case`ArrowRight`:e.preventDefault(),await ne(1);break;case`ArrowLeft`:e.preventDefault(),await ne(-1);break;case`ArrowDown`:e.preventDefault(),await ne(7);break;case`ArrowUp`:e.preventDefault(),await ne(-7);break;case`PageDown`:e.preventDefault(),await re(1);break;case`PageUp`:e.preventDefault(),await re(-1);break;case`Home`:{e.preventDefault();let t=d(g.value||y.value||l(p())),n=(t.getDay()-i.weekStart+7)%7;t.setDate(t.getDate()-n),await j(l(t));break}case`End`:{e.preventDefault();let t=d(g.value||y.value||l(p())),n=(t.getDay()-i.weekStart+7)%7;t.setDate(t.getDate()+(6-n)),await j(l(t));break}case`Enter`:case` `:{e.preventDefault();let t=g.value;if(!t)break;let n=C.value.find(e=>e.iso===t);n&&k(n);break}case`Escape`:e.preventDefault(),D();break}},ae=e=>{if(!f.value)return;let t=_.value;t&&e.target instanceof Node&&t.contains(e.target)||D()};return(0,t.watch)(f,e=>{typeof document>`u`||(e?(g.value=y.value||l(p()),document.addEventListener(`mousedown`,ae)):(g.value=null,document.removeEventListener(`mousedown`,ae)))}),(0,t.onBeforeUnmount)(()=>{typeof document<`u`&&document.removeEventListener(`mousedown`,ae)}),n({open:()=>{f.value||ee()},close:D}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`vibe-datepicker`,ref_key:`rootRef`,ref:_},[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:s.value,class:`form-label`},(0,t.toDisplayString)(e.label),9,Ci)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`input`,{id:s.value,type:`text`,readonly:``,class:`form-control`,value:E.value,placeholder:e.placeholder,disabled:e.disabled,"aria-haspopup":`dialog`,"aria-expanded":f.value,onClick:ee},null,8,wi),f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,ref_key:`popoverRef`,ref:v,class:`vibe-datepicker-popover`,role:`dialog`,"aria-label":e.label||`Date picker`,onKeydown:ie},[(0,t.createElementVNode)(`div`,Ei,[(0,t.createElementVNode)(`button`,{type:`button`,class:`vibe-datepicker-nav`,"aria-label":`Previous month`,"data-prev-month":``,onClick:O},`‹`),(0,t.createElementVNode)(`span`,Di,(0,t.toDisplayString)(w.value),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`vibe-datepicker-nav`,"aria-label":`Next month`,"data-next-month":``,onClick:te},`›`)]),(0,t.createElementVNode)(`div`,Oi,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(T.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:e,class:`vibe-datepicker-weekday`},(0,t.toDisplayString)(e),1))),128))]),(0,t.createElementVNode)(`div`,ki,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(C.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:e.iso,type:`button`,class:(0,t.normalizeClass)(A(e)),"data-iso":e.iso,disabled:e.disabled,onClick:t=>k(e)},(0,t.toDisplayString)(e.day),11,Ai))),128))])],40,Ti)):(0,t.createCommentVNode)(``,!0)],512))}}),[[`__scopeId`,`data-v-0a5b8fa4`]]),Mi=[`id`,`checked`,`disabled`,`required`,`aria-invalid`,`aria-describedby`],Ni=[`for`],Pi={key:0,class:`text-danger`},Fi=[`id`],Ii=[`id`],Li=[`id`],Ri=(0,t.defineComponent)({__name:`VibeFormCheckbox`,props:(0,t.mergeModels)({value:{type:[String,Number,Boolean],default:!0},uncheckedValue:{type:[String,Number,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},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}},{modelValue:{type:[Boolean,String,Number,Array],default:!1},modelModifiers:{}}),emits:(0,t.mergeModels)([`validate`,`blur`,`focus`,`change`],[`update:modelValue`]),setup(e,{emit:n}){let r=(0,t.useModel)(e,`modelValue`),i=e,a=n,o=(0,t.inject)(F,null),s=o?.consumeId(),c=L(`checkbox`),l=(0,t.computed)(()=>i.id||s||c),u=(0,t.computed)(()=>`${l.value}-help`),d=(0,t.computed)(()=>`${l.value}-feedback`),f=(0,t.computed)(()=>!!i.label&&!o?.hasLabel.value),p=(0,t.computed)(()=>!!i.validationState&&!o?.hasValidation.value),m=(0,t.computed)(()=>!!i.helpText&&!o?.hasHelp.value),h=(0,t.computed)(()=>{let e=[`form-check`];return i.inline&&e.push(`form-check-inline`),i.reverse&&e.push(`form-check-reverse`),e.join(` `)}),g=(0,t.computed)(()=>{let e=[`form-check-input`];return i.validationState===`valid`&&e.push(`is-valid`),i.validationState===`invalid`&&e.push(`is-invalid`),e.join(` `)}),_=(0,t.computed)(()=>i.indeterminate?!1:Array.isArray(r.value)?r.value.includes(i.value):r.value===i.value),v=e=>{let t=e.target,n;if(Array.isArray(r.value))if(n=[...r.value],t.checked)n.push(i.value);else{let e=n.indexOf(i.value);e>-1&&n.splice(e,1)}else n=t.checked?i.value:i.uncheckedValue;r.value=n,a(`change`,e),i.validateOn===`change`&&a(`validate`)},y=e=>{a(`blur`,e),i.validateOn===`blur`&&a(`validate`)},b=e=>{a(`focus`,e)},x=(0,t.ref)(null);return(0,t.onMounted)(()=>{x.value&&(x.value.indeterminate=i.indeterminate)}),(0,t.watch)(()=>i.indeterminate,e=>{x.value&&(x.value.indeterminate=e)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([h.value,{"mb-3":f.value||m.value||p.value}])},[(0,t.createElementVNode)(`input`,{ref_key:`inputRef`,ref:x,id:l.value,type:`checkbox`,class:(0,t.normalizeClass)(g.value),checked:_.value,disabled:e.disabled,required:e.required,"aria-invalid":e.validationState===`invalid`,"aria-describedby":e.helpText&&e.validationMessage?`${u.value} ${d.value}`:e.helpText?u.value:e.validationMessage?d.value:void 0,onChange:v,onBlur:y,onFocus:b},null,42,Mi),f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:l.value,class:`form-check-label`},[(0,t.createTextVNode)((0,t.toDisplayString)(e.label)+` `,1),e.required?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Pi,`*`)):(0,t.createCommentVNode)(``,!0)],8,Ni)):(0,t.createCommentVNode)(``,!0),m.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${l.value}-help`,class:`form-text`},(0,t.toDisplayString)(e.helpText),9,Fi)):(0,t.createCommentVNode)(``,!0),p.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[e.validationState===`valid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,id:`${l.value}-feedback`,class:`valid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Looks good!`),9,Ii)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${l.value}-feedback`,class:`invalid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please check this box.`),9,Li)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),zi=[`id`,`name`,`value`,`checked`,`disabled`,`required`,`aria-invalid`,`aria-describedby`],Bi=[`for`],Vi={key:0,class:`text-danger`},Hi=[`id`],Ui=[`id`],Wi=[`id`],Gi=(0,t.defineComponent)({__name:`VibeFormRadio`,props:(0,t.mergeModels)({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}},{modelValue:{type:[String,Number,Boolean],default:``},modelModifiers:{}}),emits:(0,t.mergeModels)([`validate`,`blur`,`focus`,`change`],[`update:modelValue`]),setup(e,{emit:n}){let r=(0,t.useModel)(e,`modelValue`),i=e,a=n,o=(0,t.inject)(F,null),s=o?.consumeId(),c=L(`radio`),l=(0,t.computed)(()=>i.id||s||c);(0,t.computed)(()=>`${l.value}-help`),(0,t.computed)(()=>`${l.value}-feedback`);let u=(0,t.computed)(()=>!!i.label&&!o?.hasLabel.value),d=(0,t.computed)(()=>!!i.validationState&&!o?.hasValidation.value),f=(0,t.computed)(()=>!!i.helpText&&!o?.hasHelp.value),p=(0,t.computed)(()=>{let e=[`form-check`];return i.inline&&e.push(`form-check-inline`),i.reverse&&e.push(`form-check-reverse`),e.join(` `)}),m=(0,t.computed)(()=>{let e=[`form-check-input`];return i.validationState===`valid`&&e.push(`is-valid`),i.validationState===`invalid`&&e.push(`is-invalid`),e.join(` `)}),h=(0,t.computed)(()=>r.value===i.value),g=e=>{r.value=i.value,a(`change`,e),i.validateOn===`change`&&a(`validate`)},_=e=>{a(`blur`,e),i.validateOn===`blur`&&a(`validate`)},v=e=>{a(`focus`,e)};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([p.value,{"mb-3":u.value||f.value||d.value}])},[(0,t.createElementVNode)(`input`,{id:l.value,type:`radio`,class:(0,t.normalizeClass)(m.value),name:e.name,value:e.value,checked:h.value,disabled:e.disabled,required:e.required,"aria-invalid":e.validationState===`invalid`,"aria-describedby":e.helpText&&e.validationMessage?`${l.value}-help ${l.value}-feedback`:e.helpText?`${l.value}-help`:e.validationMessage?`${l.value}-feedback`:void 0,onChange:g,onBlur:_,onFocus:v},null,42,zi),u.value?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:l.value,class:`form-check-label`},[(0,t.createTextVNode)((0,t.toDisplayString)(e.label)+` `,1),e.required?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Vi,`*`)):(0,t.createCommentVNode)(``,!0)],8,Bi)):(0,t.createCommentVNode)(``,!0),f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${l.value}-help`,class:`form-text`},(0,t.toDisplayString)(e.helpText),9,Hi)):(0,t.createCommentVNode)(``,!0),d.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[e.validationState===`valid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,id:`${l.value}-feedback`,class:`valid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Looks good!`),9,Ui)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${l.value}-feedback`,class:`invalid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please select an option.`),9,Wi)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),Ki=[`id`,`checked`,`disabled`,`required`,`aria-invalid`,`aria-describedby`],qi=[`for`],Ji={key:0,class:`text-danger`},Yi=[`id`],Xi=[`id`],Zi=[`id`],Qi=(0,t.defineComponent)({__name:`VibeFormSwitch`,props:(0,t.mergeModels)({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}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:(0,t.mergeModels)([`validate`,`blur`,`focus`,`change`],[`update:modelValue`]),setup(e,{emit:n}){let r=(0,t.useModel)(e,`modelValue`),i=e,a=n,o=(0,t.inject)(F,null),s=o?.consumeId(),c=L(`switch`),l=(0,t.computed)(()=>i.id||s||c),u=(0,t.computed)(()=>!!i.label&&!o?.hasLabel.value),d=(0,t.computed)(()=>!!i.validationState&&!o?.hasValidation.value),f=(0,t.computed)(()=>!!i.helpText&&!o?.hasHelp.value),p=(0,t.computed)(()=>{let e=[`form-check`,`form-switch`];return i.inline&&e.push(`form-check-inline`),e.join(` `)}),m=(0,t.computed)(()=>{let e=[`form-check-input`];return i.validationState===`valid`&&e.push(`is-valid`),i.validationState===`invalid`&&e.push(`is-invalid`),e.join(` `)}),h=e=>{r.value=e.target.checked,a(`change`,e),i.validateOn===`change`&&a(`validate`)},g=e=>{a(`blur`,e),i.validateOn===`blur`&&a(`validate`)},_=e=>{a(`focus`,e)};return(n,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([p.value,{"mb-3":u.value||f.value||d.value}])},[(0,t.createElementVNode)(`input`,{id:l.value,type:`checkbox`,role:`switch`,class:(0,t.normalizeClass)(m.value),checked:r.value,disabled:e.disabled,required:e.required,"aria-invalid":e.validationState===`invalid`,"aria-describedby":e.helpText&&e.validationMessage?`${l.value}-help ${l.value}-feedback`:e.helpText?`${l.value}-help`:e.validationMessage?`${l.value}-feedback`:void 0,onChange:h,onBlur:g,onFocus:_},null,42,Ki),u.value?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:l.value,class:`form-check-label`},[(0,t.createTextVNode)((0,t.toDisplayString)(e.label)+` `,1),e.required?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Ji,`*`)):(0,t.createCommentVNode)(``,!0)],8,qi)):(0,t.createCommentVNode)(``,!0),f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${l.value}-help`,class:`form-text`},(0,t.toDisplayString)(e.helpText),9,Yi)):(0,t.createCommentVNode)(``,!0),d.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[e.validationState===`valid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,id:`${l.value}-feedback`,class:`valid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Looks good!`),9,Xi)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${l.value}-feedback`,class:`invalid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please toggle this switch.`),9,Zi)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),$i=[`for`],ea={key:0,class:`text-danger`},ta=[`id`],na=[`id`],ra=[`id`],ia=[`for`],aa={key:0,class:`text-danger`},oa=[`id`],sa=[`id`],ca=[`id`],la=(0,t.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(e){let n=e,r=L(`form-group`),i=(0,t.computed)(()=>n.labelFor||r),a=(0,t.ref)(!1);(0,t.provide)(F,{id:i,consumeId:()=>a.value?null:(a.value=!0,i.value),hasLabel:(0,t.computed)(()=>!!n.label),hasValidation:(0,t.computed)(()=>!!n.validationState),hasHelp:(0,t.computed)(()=>!!n.helpText)});let o=(0,t.computed)(()=>{let e=[];return n.floating?e.push(`form-floating`):n.row?e.push(`row`,`mb-3`):e.push(`mb-3`),e.join(` `)}),s=(0,t.computed)(()=>{let e=[];return n.floating?e.push(`form-label`):n.row?(e.push(`col-form-label`),n.labelCols&&e.push(`col-sm-${n.labelCols}`),n.labelAlign&&e.push(`text-${n.labelAlign}`)):e.push(`form-label`),e.join(` `)}),c=(0,t.computed)(()=>n.row&&n.labelCols?`col-sm-${12-Number(n.labelCols)}`:``),l=(0,t.computed)(()=>`${i.value}-feedback`),u=(0,t.computed)(()=>`${i.value}-help`);return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)(o.value)},[e.label&&!e.floating?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:i.value,class:(0,t.normalizeClass)(s.value)},[(0,t.createTextVNode)((0,t.toDisplayString)(e.label)+` `,1),e.required?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ea,`*`)):(0,t.createCommentVNode)(``,!0)],10,$i)):(0,t.createCommentVNode)(``,!0),e.row&&e.labelCols?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:(0,t.normalizeClass)(c.value)},[(0,t.renderSlot)(n.$slots,`default`),e.helpText?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,id:u.value,class:`form-text`},(0,t.toDisplayString)(e.helpText),9,ta)):(0,t.createCommentVNode)(``,!0),e.validationState===`valid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:l.value,class:`valid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Looks good!`),9,na)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,id:l.value,class:`invalid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please provide a valid value.`),9,ra)):(0,t.createCommentVNode)(``,!0)],2)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[(0,t.renderSlot)(n.$slots,`default`),e.label&&e.floating?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:i.value,class:(0,t.normalizeClass)(s.value)},[(0,t.createTextVNode)((0,t.toDisplayString)(e.label)+` `,1),e.required?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,aa,`*`)):(0,t.createCommentVNode)(``,!0)],10,ia)):(0,t.createCommentVNode)(``,!0),e.helpText?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:u.value,class:`form-text`},(0,t.toDisplayString)(e.helpText),9,oa)):(0,t.createCommentVNode)(``,!0),e.validationState===`valid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,id:l.value,class:`valid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Looks good!`),9,sa)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:3,id:l.value,class:`invalid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please provide a valid value.`),9,ca)):(0,t.createCommentVNode)(``,!0)],64))],2))}}),ua={sm:576,md:768,lg:992,xl:1200,xxl:1400};function da(){let e=(0,t.ref)(!1),n=(0,t.ref)(!1),r=(0,t.ref)(!1),i=(0,t.ref)(!1),a=(0,t.ref)(!1),o=[],s=null;typeof window<`u`&&(s={sm:window.matchMedia(`(min-width: ${ua.sm}px)`),md:window.matchMedia(`(min-width: ${ua.md}px)`),lg:window.matchMedia(`(min-width: ${ua.lg}px)`),xl:window.matchMedia(`(min-width: ${ua.xl}px)`),xxl:window.matchMedia(`(min-width: ${ua.xxl}px)`)});let c=()=>{s&&(e.value=s.sm.matches,n.value=s.md.matches,r.value=s.lg.matches,i.value=s.xl.matches,a.value=s.xxl.matches)};c();let l=(0,t.computed)(()=>!e.value),u=(0,t.computed)(()=>!n.value),d=(0,t.computed)(()=>n.value&&!r.value);if(s){let e=()=>c();Object.values(s).forEach(t=>{t.addEventListener(`change`,e),o.push(()=>t.removeEventListener(`change`,e))}),(0,t.getCurrentInstance)()?(0,t.onUnmounted)(()=>o.forEach(e=>e())):console.warn(`[useBreakpoints] Called outside component context. Call the returned cleanup() function manually to prevent listener leaks.`)}return{isXs:l,isSm:e,isMd:n,isLg:r,isXl:i,isXxl:a,isMobile:u,isTablet:d,cleanup:()=>o.forEach(e=>e())}}var fa=a({default:()=>So});function pa(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ma(e){if(Array.isArray(e))return e}function ha(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t!==0)for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function ga(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
2
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _a(e,t){return ma(e)||ha(e,t)||va(e,t)||ga()}function va(e,t){if(e){if(typeof e==`string`)return pa(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?pa(e,t):void 0}}function H(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return Ma(e,t,r)}}function ya(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return Na(e,n)}}function U(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:za;if(Ea&&Ea(e,null),!q(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(Da(t)||(t[r]=e),i=e)}e[i]=!0}return e}function ba(e){for(let t=0;t<e.length;t++)J(e,t)||(e[t]=null);return e}function W(e){let t=Aa(null);for(let r of Ta(e)){var n=_a(r,2);let i=n[0],a=n[1];J(e,i)&&(q(a)?t[i]=ba(a):a&&typeof a==`object`&&a.constructor===Object?t[i]=W(a):t[i]=a)}return t}function xa(e){switch(typeof e){case`string`:return e;case`number`:return Ga(e);case`boolean`:return Ka(e);case`bigint`:return qa?qa(e):`0`;case`symbol`:return Ja?Ja(e):`Symbol()`;case`undefined`:return Ya(e);case`function`:case`object`:{if(e===null)return Ya(e);let t=e,n=Sa(t,`toString`);if(typeof n==`function`){let e=n(t);return typeof e==`string`?e:Ya(e)}return Ya(e)}default:return Ya(e)}}function Sa(e,t){for(;e!==null;){let n=ka(e,t);if(n){if(n.get)return H(n.get);if(typeof n.value==`function`)return H(n.value)}e=Oa(e)}function n(){return null}return n}function Ca(e){try{return Y(e,``),!0}catch{return!1}}function wa(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:yo(),t=e=>wa(e);if(t.version=`3.4.7`,t.removed=[],!e||!e.document||e.document.nodeType!==X.document||!e.Element)return t.isSupported=!1,t;let n=e.document,r=n,i=r.currentScript;e.DocumentFragment;let a=e.HTMLTemplateElement,o=e.Node,s=e.Element,c=e.NodeFilter;e.NamedNodeMap===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let l=e.DOMParser,u=e.trustedTypes,d=s.prototype,f=Sa(d,`cloneNode`),p=Sa(d,`remove`),m=Sa(d,`nextSibling`),h=Sa(d,`childNodes`),g=Sa(d,`parentNode`),_=Sa(d,`shadowRoot`),v=Sa(d,`attributes`),y=o&&o.prototype?Sa(o.prototype,`nodeType`):null,b=o&&o.prototype?Sa(o.prototype,`nodeName`):null;if(typeof a==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let x,S=``,C=n,w=C.implementation,T=C.createNodeIterator,E=C.createDocumentFragment,ee=C.getElementsByTagName,D=r.importNode,O=xo();t.isSupported=typeof Ta==`function`&&typeof g==`function`&&w&&w.createHTMLDocument!==void 0;let te=co,k=lo,A=uo,j=fo,ne=po,re=ho,ie=go,ae=vo,oe=mo,M=null,se=U({},[...Za,...Qa,...$a,...to,...ro]),N=null,ce=U({},[...io,...ao,...oo,...so]),P=Object.seal(Aa(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),F=null,le=null,ue=Object.seal(Aa(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),de=!0,fe=!0,pe=!1,me=!0,he=!1,ge=!0,_e=!1,ve=!1,ye=!1,be=!1,xe=!1,Se=!1,Ce=!0,we=!1,Te=`user-content-`,Ee=!0,De=!1,Oe={},I=null,ke=U({},[`annotation-xml`,`audio`,`colgroup`,`desc`,`foreignobject`,`head`,`iframe`,`math`,`mi`,`mn`,`mo`,`ms`,`mtext`,`noembed`,`noframes`,`noscript`,`plaintext`,`script`,`style`,`svg`,`template`,`thead`,`title`,`video`,`xmp`]),Ae=null,je=U({},[`audio`,`video`,`img`,`source`,`image`,`track`]),Me=null,Ne=U({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),Pe=`http://www.w3.org/1998/Math/MathML`,Fe=`http://www.w3.org/2000/svg`,L=`http://www.w3.org/1999/xhtml`,Ie=L,Le=!1,Re=null,ze=U({},[Pe,Fe,L],Ba),Be=U({},[`mi`,`mo`,`mn`,`ms`,`mtext`]),Ve=U({},[`annotation-xml`]),He=U({},[`title`,`style`,`font`,`a`,`script`]),Ue=null,We=[`application/xhtml+xml`,`text/html`],R=null,Ge=null,Ke=n.createElement(`form`),qe=function(e){return e instanceof RegExp||e instanceof Function},Je=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Ge&&Ge===e)return;(!e||typeof e!=`object`)&&(e={}),e=W(e),Ue=We.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,R=Ue===`application/xhtml+xml`?Ba:za,M=J(e,`ALLOWED_TAGS`)&&q(e.ALLOWED_TAGS)?U({},e.ALLOWED_TAGS,R):se,N=J(e,`ALLOWED_ATTR`)&&q(e.ALLOWED_ATTR)?U({},e.ALLOWED_ATTR,R):ce,Re=J(e,`ALLOWED_NAMESPACES`)&&q(e.ALLOWED_NAMESPACES)?U({},e.ALLOWED_NAMESPACES,Ba):ze,Me=J(e,`ADD_URI_SAFE_ATTR`)&&q(e.ADD_URI_SAFE_ATTR)?U(W(Ne),e.ADD_URI_SAFE_ATTR,R):Ne,Ae=J(e,`ADD_DATA_URI_TAGS`)&&q(e.ADD_DATA_URI_TAGS)?U(W(je),e.ADD_DATA_URI_TAGS,R):je,I=J(e,`FORBID_CONTENTS`)&&q(e.FORBID_CONTENTS)?U({},e.FORBID_CONTENTS,R):ke,F=J(e,`FORBID_TAGS`)&&q(e.FORBID_TAGS)?U({},e.FORBID_TAGS,R):W({}),le=J(e,`FORBID_ATTR`)&&q(e.FORBID_ATTR)?U({},e.FORBID_ATTR,R):W({}),Oe=J(e,`USE_PROFILES`)?e.USE_PROFILES&&typeof e.USE_PROFILES==`object`?W(e.USE_PROFILES):e.USE_PROFILES:!1,de=e.ALLOW_ARIA_ATTR!==!1,fe=e.ALLOW_DATA_ATTR!==!1,pe=e.ALLOW_UNKNOWN_PROTOCOLS||!1,me=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,he=e.SAFE_FOR_TEMPLATES||!1,ge=e.SAFE_FOR_XML!==!1,_e=e.WHOLE_DOCUMENT||!1,be=e.RETURN_DOM||!1,xe=e.RETURN_DOM_FRAGMENT||!1,Se=e.RETURN_TRUSTED_TYPE||!1,ye=e.FORCE_BODY||!1,Ce=e.SANITIZE_DOM!==!1,we=e.SANITIZE_NAMED_PROPS||!1,Ee=e.KEEP_CONTENT!==!1,De=e.IN_PLACE||!1,oe=Ca(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:mo,Ie=typeof e.NAMESPACE==`string`?e.NAMESPACE:L,Be=J(e,`MATHML_TEXT_INTEGRATION_POINTS`)&&e.MATHML_TEXT_INTEGRATION_POINTS&&typeof e.MATHML_TEXT_INTEGRATION_POINTS==`object`?W(e.MATHML_TEXT_INTEGRATION_POINTS):U({},[`mi`,`mo`,`mn`,`ms`,`mtext`]),Ve=J(e,`HTML_INTEGRATION_POINTS`)&&e.HTML_INTEGRATION_POINTS&&typeof e.HTML_INTEGRATION_POINTS==`object`?W(e.HTML_INTEGRATION_POINTS):U({},[`annotation-xml`]);let t=J(e,`CUSTOM_ELEMENT_HANDLING`)&&e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING==`object`?W(e.CUSTOM_ELEMENT_HANDLING):Aa(null);if(P=Aa(null),J(t,`tagNameCheck`)&&qe(t.tagNameCheck)&&(P.tagNameCheck=t.tagNameCheck),J(t,`attributeNameCheck`)&&qe(t.attributeNameCheck)&&(P.attributeNameCheck=t.attributeNameCheck),J(t,`allowCustomizedBuiltInElements`)&&typeof t.allowCustomizedBuiltInElements==`boolean`&&(P.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),he&&(fe=!1),xe&&(be=!0),Oe&&(M=U({},ro),N=Aa(null),Oe.html===!0&&(U(M,Za),U(N,io)),Oe.svg===!0&&(U(M,Qa),U(N,ao),U(N,so)),Oe.svgFilters===!0&&(U(M,$a),U(N,ao),U(N,so)),Oe.mathMl===!0&&(U(M,to),U(N,oo),U(N,so))),ue.tagCheck=null,ue.attributeCheck=null,J(e,`ADD_TAGS`)&&(typeof e.ADD_TAGS==`function`?ue.tagCheck=e.ADD_TAGS:q(e.ADD_TAGS)&&(M===se&&(M=W(M)),U(M,e.ADD_TAGS,R))),J(e,`ADD_ATTR`)&&(typeof e.ADD_ATTR==`function`?ue.attributeCheck=e.ADD_ATTR:q(e.ADD_ATTR)&&(N===ce&&(N=W(N)),U(N,e.ADD_ATTR,R))),J(e,`ADD_URI_SAFE_ATTR`)&&q(e.ADD_URI_SAFE_ATTR)&&U(Me,e.ADD_URI_SAFE_ATTR,R),J(e,`FORBID_CONTENTS`)&&q(e.FORBID_CONTENTS)&&(I===ke&&(I=W(I)),U(I,e.FORBID_CONTENTS,R)),J(e,`ADD_FORBID_CONTENTS`)&&q(e.ADD_FORBID_CONTENTS)&&(I===ke&&(I=W(I)),U(I,e.ADD_FORBID_CONTENTS,R)),Ee&&(M[`#text`]=!0),_e&&U(M,[`html`,`head`,`body`]),M.table&&(U(M,[`tbody`]),delete F.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw Xa(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw Xa(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);x=e.TRUSTED_TYPES_POLICY,S=x.createHTML(``)}else x===void 0&&(x=bo(u,i)),x!==null&&typeof S==`string`&&(S=x.createHTML(``));(O.uponSanitizeElement.length>0||O.uponSanitizeAttribute.length>0)&&M===se&&(M=W(M)),O.uponSanitizeAttribute.length>0&&N===ce&&(N=W(N)),G&&G(e),Ge=e},Ye=U({},[...Qa,...$a,...eo]),Xe=U({},[...to,...no]),Ze=function(e){let t=g(e);(!t||!t.tagName)&&(t={namespaceURI:Ie,tagName:`template`});let n=za(e.tagName),r=za(t.tagName);return Re[e.namespaceURI]?e.namespaceURI===Fe?t.namespaceURI===L?n===`svg`:t.namespaceURI===Pe?n===`svg`&&(r===`annotation-xml`||Be[r]):!!Ye[n]:e.namespaceURI===Pe?t.namespaceURI===L?n===`math`:t.namespaceURI===Fe?n===`math`&&Ve[r]:!!Xe[n]:e.namespaceURI===L?t.namespaceURI===Fe&&!Ve[r]||t.namespaceURI===Pe&&!Be[r]?!1:!Xe[n]&&(He[n]||!Ye[n]):!!(Ue===`application/xhtml+xml`&&Re[e.namespaceURI]):!1},z=function(e){La(t.removed,{element:e});try{g(e).removeChild(e)}catch{p(e)}},Qe=function(e,n){try{La(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{La(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(be||xe)try{z(n)}catch{}else try{n.setAttribute(e,``)}catch{}},$e=function(e){let t=null,r=null;if(ye)e=`<remove></remove>`+e;else{let t=Va(e,/^[\r\n\t ]+/);r=t&&t[0]}Ue===`application/xhtml+xml`&&Ie===L&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=x?x.createHTML(e):e;if(Ie===L)try{t=new l().parseFromString(i,Ue)}catch{}if(!t||!t.documentElement){t=w.createDocument(Ie,`template`,null);try{t.documentElement.innerHTML=Le?S:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),Ie===L?ee.call(t,_e?`html`:`body`)[0]:_e?t.documentElement:a},et=function(e){return T.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},tt=function(e){e.normalize();let t=T.call(e.ownerDocument||e,e,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null),n=t.nextNode();for(;n;){let e=n.data;Pa([te,k,A],t=>{e=Ha(e,t,` `)}),n.data=e,n=t.nextNode()}},nt=function(e){let t=b?b(e):null;return typeof t!=`string`||R(t)!==`form`?!1:typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||e.attributes!==v(e)||typeof e.removeAttribute!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`||e.nodeType!==y(e)||e.childNodes!==h(e)},rt=function(e){if(!y||typeof e!=`object`||!e)return!1;try{return y(e)===X.documentFragment}catch{return!1}},it=function(e){if(!y||typeof e!=`object`||!e)return!1;try{return typeof y(e)==`number`}catch{return!1}};function B(e,n,r){Pa(e,e=>{e.call(t,n,r,Ge)})}let at=function(e){let n=null;if(B(O.beforeSanitizeElements,e,null),nt(e))return z(e),!0;let r=R(e.nodeName);if(B(O.uponSanitizeElement,e,{tagName:r,allowedTags:M}),ge&&e.hasChildNodes()&&!it(e.firstElementChild)&&Y(/<[/\w!]/g,e.innerHTML)&&Y(/<[/\w!]/g,e.textContent)||ge&&e.namespaceURI===L&&r===`style`&&it(e.firstElementChild)||e.nodeType===X.progressingInstruction||ge&&e.nodeType===X.comment&&Y(/<[/\w]/g,e.data))return z(e),!0;if(F[r]||!(ue.tagCheck instanceof Function&&ue.tagCheck(r))&&!M[r]){if(!F[r]&&ct(r)&&(P.tagNameCheck instanceof RegExp&&Y(P.tagNameCheck,r)||P.tagNameCheck instanceof Function&&P.tagNameCheck(r)))return!1;if(Ee&&!I[r]){let t=g(e),n=h(e);if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=f(n[i],!0);t.insertBefore(r,m(e))}}}return z(e),!0}return(y?y(e):e.nodeType)===X.element&&!Ze(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&Y(/<\/no(script|embed|frames)/i,e.innerHTML)?(z(e),!0):(he&&e.nodeType===X.text&&(n=e.textContent,Pa([te,k,A],e=>{n=Ha(n,e,` `)}),e.textContent!==n&&(La(t.removed,{element:e.cloneNode()}),e.textContent=n)),B(O.afterSanitizeElements,e,null),!1)},ot=function(e,t,r){if(le[t]||Ce&&(t===`id`||t===`name`)&&(r in n||r in Ke))return!1;let i=N[t]||ue.attributeCheck instanceof Function&&ue.attributeCheck(t,e);if(!(fe&&!le[t]&&Y(j,t))&&!(de&&Y(ne,t))){if(!i||le[t]){if(!(ct(e)&&(P.tagNameCheck instanceof RegExp&&Y(P.tagNameCheck,e)||P.tagNameCheck instanceof Function&&P.tagNameCheck(e))&&(P.attributeNameCheck instanceof RegExp&&Y(P.attributeNameCheck,t)||P.attributeNameCheck instanceof Function&&P.attributeNameCheck(t,e))||t===`is`&&P.allowCustomizedBuiltInElements&&(P.tagNameCheck instanceof RegExp&&Y(P.tagNameCheck,r)||P.tagNameCheck instanceof Function&&P.tagNameCheck(r))))return!1}else if(!Me[t]&&!Y(oe,Ha(r,ie,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&Ua(r,`data:`)===0&&Ae[e])&&!(pe&&!Y(re,Ha(r,ie,``)))&&r)return!1}return!0},st=U({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]),ct=function(e){return!st[za(e)]&&Y(ae,e)},lt=function(e){B(O.beforeSanitizeAttributes,e,null);let n=e.attributes;if(!n||nt(e))return;let r={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:N,forceKeepAttr:void 0},i=n.length;for(;i--;){let a=n[i],o=a.name,s=a.namespaceURI,c=a.value,l=R(o),d=c,f=o===`value`?d:Wa(d);if(r.attrName=l,r.attrValue=f,r.keepAttr=!0,r.forceKeepAttr=void 0,B(O.uponSanitizeAttribute,e,r),f=r.attrValue,we&&(l===`id`||l===`name`)&&Ua(f,Te)!==0&&(Qe(o,e),f=Te+f),ge&&Y(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,f)){Qe(o,e);continue}if(l===`attributename`&&Va(f,`href`)){Qe(o,e);continue}if(r.forceKeepAttr)continue;if(!r.keepAttr){Qe(o,e);continue}if(!me&&Y(/\/>/i,f)){Qe(o,e);continue}he&&Pa([te,k,A],e=>{f=Ha(f,e,` `)});let p=R(e.nodeName);if(!ot(p,l,f)){Qe(o,e);continue}if(x&&typeof u==`object`&&typeof u.getAttributeType==`function`&&!s)switch(u.getAttributeType(p,l)){case`TrustedHTML`:f=x.createHTML(f);break;case`TrustedScriptURL`:f=x.createScriptURL(f);break}if(f!==d)try{s?e.setAttributeNS(s,o,f):e.setAttribute(o,f),nt(e)?z(e):Ia(t.removed)}catch{Qe(o,e)}}B(O.afterSanitizeAttributes,e,null)},ut=function(e){let t=null,n=et(e);for(B(O.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if(B(O.uponSanitizeShadowNode,t,null),at(t),lt(t),rt(t.content)&&ut(t.content),(y?y(t):t.nodeType)===X.element){let e=_?_(t):t.shadowRoot;rt(e)&&(dt(e),ut(e))}B(O.afterSanitizeShadowDOM,e,null)},dt=function(e){let t=y?y(e):e.nodeType;if(t===X.element){let t=_?_(e):e.shadowRoot;rt(t)&&(dt(t),ut(t))}let n=h?h(e):e.childNodes;if(!n)return;let r=[];Pa(n,e=>{La(r,e)});for(let e of r)dt(e);if(t===X.element){let t=b?b(e):null;if(typeof t==`string`&&R(t)===`template`){let t=e.content;rt(t)&&dt(t)}}};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,a=null,o=null,s=null;if(Le=!e,Le&&(e=`<!-->`),typeof e!=`string`&&!it(e)&&(e=xa(e),typeof e!=`string`))throw Xa(`dirty is not a string, aborting`);if(!t.isSupported)return e;if(ve||Je(n),t.removed=[],typeof e==`string`&&(De=!1),De){let t=b?b(e):e.nodeName;if(typeof t==`string`){let e=R(t);if(!M[e]||F[e])throw Xa(`root node is forbidden and cannot be sanitized in-place`)}if(nt(e))throw Xa(`root node is clobbered and cannot be sanitized in-place`);dt(e)}else if(it(e))i=$e(`<!---->`),a=i.ownerDocument.importNode(e,!0),a.nodeType===X.element&&a.nodeName===`BODY`||a.nodeName===`HTML`?i=a:i.appendChild(a),dt(a);else{if(!be&&!he&&!_e&&e.indexOf(`<`)===-1)return x&&Se?x.createHTML(e):e;if(i=$e(e),!i)return be?null:Se?S:``}i&&ye&&z(i.firstChild);let c=et(De?e:i);for(;o=c.nextNode();)at(o),lt(o),rt(o.content)&&ut(o.content);if(De)return he&&tt(e),e;if(be){if(he&&tt(i),xe)for(s=E.call(i.ownerDocument);i.firstChild;)s.appendChild(i.firstChild);else s=i;return(N.shadowroot||N.shadowrootmode)&&(s=D.call(r,s,!0)),s}let l=_e?i.outerHTML:i.innerHTML;return _e&&M[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&Y(_o,i.ownerDocument.doctype.name)&&(l=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
3
+ `+l),he&&Pa([te,k,A],e=>{l=Ha(l,e,` `)}),x&&Se?x.createHTML(l):l},t.setConfig=function(){Je(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}),ve=!0},t.clearConfig=function(){Ge=null,ve=!1},t.isValidAttribute=function(e,t,n){return Ge||Je({}),ot(R(e),R(t),n)},t.addHook=function(e,t){typeof t==`function`&&La(O[e],t)},t.removeHook=function(e,t){if(t!==void 0){let n=Fa(O[e],t);return n===-1?void 0:Ra(O[e],n,1)[0]}return Ia(O[e])},t.removeHooks=function(e){O[e]=[]},t.removeAllHooks=function(){O=xo()},t}var Ta,Ea,Da,Oa,ka,G,K,Aa,ja,Ma,Na,Pa,Fa,Ia,La,Ra,q,za,Ba,Va,Ha,Ua,Wa,Ga,Ka,qa,Ja,J,Ya,Y,Xa,Za,Qa,$a,eo,to,no,ro,io,ao,oo,so,co,lo,uo,fo,po,mo,ho,go,_o,vo,X,yo,bo,xo,So,Co=i((()=>{Ta=Object.entries,Ea=Object.setPrototypeOf,Da=Object.isFrozen,Oa=Object.getPrototypeOf,ka=Object.getOwnPropertyDescriptor,G=Object.freeze,K=Object.seal,Aa=Object.create,ja=typeof Reflect<`u`&&Reflect,Ma=ja.apply,Na=ja.construct,G||=function(e){return e},K||=function(e){return e},Ma||=function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return e.apply(t,r)},Na||=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return new e(...n)},Pa=H(Array.prototype.forEach),Fa=H(Array.prototype.lastIndexOf),Ia=H(Array.prototype.pop),La=H(Array.prototype.push),Ra=H(Array.prototype.splice),q=Array.isArray,za=H(String.prototype.toLowerCase),Ba=H(String.prototype.toString),Va=H(String.prototype.match),Ha=H(String.prototype.replace),Ua=H(String.prototype.indexOf),Wa=H(String.prototype.trim),Ga=H(Number.prototype.toString),Ka=H(Boolean.prototype.toString),qa=typeof BigInt>`u`?null:H(BigInt.prototype.toString),Ja=typeof Symbol>`u`?null:H(Symbol.prototype.toString),J=H(Object.prototype.hasOwnProperty),Ya=H(Object.prototype.toString),Y=H(RegExp.prototype.test),Xa=ya(TypeError),Za=G(`a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr`.split(`.`)),Qa=G(`svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern`.split(`.`)),$a=G([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]),eo=G([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]),to=G(`math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts`.split(`.`)),no=G([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),ro=G([`#text`]),io=G(`accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.command.commandfor.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns`.split(`.`)),ao=G(`accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-rendering.textlength.type.u1.u2.unicode.values.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan`.split(`.`)),oo=G(`accent.accentunder.align.bevelled.close.columnalign.columnlines.columnspacing.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lquote.lspace.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns`.split(`.`)),so=G([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),co=K(/{{[\w\W]*|^[\w\W]*}}/g),lo=K(/<%[\w\W]*|^[\w\W]*%>/g),uo=K(/\${[\w\W]*/g),fo=K(/^data-[\-\w.\u00B7-\uFFFF]+$/),po=K(/^aria-[\-\w]+$/),mo=K(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ho=K(/^(?:\w+script|data):/i),go=K(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),_o=K(/^html$/i),vo=K(/^[a-z][.\w]*(-[.\w]+)+$/i),X={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},yo=function(){return typeof window>`u`?null:window},bo=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},xo=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},So=wa()})),wo={ALLOWED_TAGS:[`p`,`br`,`strong`,`em`,`u`,`s`,`ol`,`ul`,`li`,`h1`,`h2`,`h3`,`a`,`blockquote`,`pre`,`code`],ALLOWED_ATTR:[`href`,`target`,`rel`]},To=null,Eo=!1;async function Do(){if(!Eo){Eo=!0;try{let e=await Promise.resolve().then(()=>(Co(),fa)),t=e.default??e;To=e=>t.sanitize(e,wo)}catch{}}}function Oo(e){return To?To(e):e}var ko=[`for`],Ao={key:0,class:`text-danger`},jo={key:1,class:`alert alert-warning`,role:`alert`},Mo=[`id`],No=[`id`],Po=[`id`],Fo=_((0,t.defineComponent)({__name:`VibeFormWysiwyg`,props:{modelValue:{type:String,default:``},id:{type:String,default:void 0},label:{type:String,default:void 0},placeholder:{type:String,default:`Write something...`},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},theme:{type:String,default:`snow`},toolbar:{type:[Array,String,Boolean],default:void 0},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`,`component-error`],setup(e,{emit:n}){let r=L(`wysiwyg`),i=e,a=n,o=(0,t.inject)(F,null),s=o?.consumeId(),c=(0,t.computed)(()=>i.id||s||r),l=(0,t.computed)(()=>A(i.height)??`200px`),{isMobile:u}=da(),d=(0,t.computed)(()=>!!i.label&&!o?.hasLabel.value),f=(0,t.computed)(()=>!!i.validationState&&!o?.hasValidation.value),p=(0,t.computed)(()=>!!i.helpText&&!o?.hasHelp.value),m=(0,t.ref)(null),h=(0,t.shallowRef)(null),g=(0,t.ref)(!1),_=(0,t.ref)(null),v=(0,t.ref)(!1),y=!1,b=!1,x=null,S=null,C=null,w=null,T=null,E=(0,t.computed)(()=>{let e=[`vibe-wysiwyg-container`];return i.validationState===`valid`&&e.push(`is-valid`),i.validationState===`invalid`&&e.push(`is-invalid`),i.disabled&&e.push(`disabled`),e.join(` `)}),ee=[[{header:[1,2,3,!1]}],[`bold`,`italic`,`underline`,`strike`],[{list:`ordered`},{list:`bullet`}],[{color:[]},{background:[]}],[`link`,`image`],[`clean`]],D=[[`bold`,`italic`,`underline`],[{list:`ordered`},{list:`bullet`}],[`link`,`clean`]],O={minimal:[[`bold`,`italic`,`underline`],[`link`,`clean`]],standard:[[{header:[1,2,3,!1]}],[`bold`,`italic`,`underline`],[{list:`ordered`},{list:`bullet`}],[`link`,`clean`]],full:[[{header:[1,2,3,4,5,6,!1]}],[`bold`,`italic`,`underline`,`strike`],[{list:`ordered`},{list:`bullet`},{indent:`-1`},{indent:`+1`}],[{color:[]},{background:[]}],[{align:[]}],[`blockquote`,`code-block`],[`link`,`image`,`video`],[`clean`]]},te=(e,t)=>e===!1?!1:e===!0||e===void 0?t:typeof e==`string`?O[e]??t:e,k=()=>i.toolbar===!1?!1:u.value?i.mobileToolbar===!1?!1:i.mobileToolbar===void 0?D:te(i.mobileToolbar,D):te(i.toolbar,ee),j=e=>{if(!h.value)return;v.value=!0;let t=Oo(e||``),n=h.value.clipboard.convert({html:t});h.value.setContents(n,`silent`),v.value=!1},ne=()=>!h.value||h.value.getText().trim().length===0?``:Oo(h.value.getSemanticHTML()),re=()=>{let e=h.value?.root;if(!e)return;e.setAttribute(`aria-invalid`,String(i.validationState===`invalid`));let t=[i.helpText?`${c.value}-help`:null,i.validationMessage?`${c.value}-feedback`:null].filter(Boolean).join(` `);t?e.setAttribute(`aria-describedby`,t):e.removeAttribute(`aria-describedby`)},ie=async()=>{if(y)return;y=!0;let e=Do();try{let t=await import(`quill`),n=t.default||t;if(await Promise.all([import(`quill/dist/quill.snow.css`),e]),!m.value||b)return;if(m.value){let e={theme:i.theme,placeholder:i.placeholder,readOnly:i.readonly||i.disabled,modules:{toolbar:k()}};h.value=new n(m.value,e);let t=h.value.root;t.id=c.value||``,m.value.removeAttribute(`id`),t.setAttribute(`role`,`textbox`),t.setAttribute(`aria-multiline`,`true`),re(),i.modelValue&&j(i.modelValue),w=()=>{v.value||(a(`update:modelValue`,ne()),a(`change`),i.validateOn===`change`&&a(`validate`))},h.value.on(`text-change`,w),S=()=>{a(`blur`),i.validateOn===`blur`&&a(`validate`)},h.value.root.addEventListener(`blur`,S),C=()=>{a(`focus`)},h.value.root.addEventListener(`focus`,C),T=()=>{},h.value.on(`selection-change`,T),g.value=!0,a(`ready`,h.value)}}catch(e){console.error(`Failed to load Quill editor:`,e),_.value=`Failed to load WYSIWYG editor. Please install quill: npm install quill`,g.value=!1,a(`component-error`,{message:`Quill not loaded. Install quill: npm install quill`,componentName:`VibeFormWysiwyg`,originalError:e})}finally{y=!1}};return(0,t.onMounted)(ie),(0,t.onBeforeUnmount)(()=>{if(b=!0,x!==null&&(clearTimeout(x),x=null),h.value){if(h.value.scroll?.observer?.disconnect(),h.value.enable(!1),w&&=(h.value.off(`text-change`,w),null),T&&=(h.value.off(`selection-change`,T),null),S&&=(h.value.root.removeEventListener(`blur`,S),null),C&&=(h.value.root.removeEventListener(`focus`,C),null),h.value.selection=null,typeof h.value.destroy==`function`&&h.value.destroy(),m.value){let e=m.value.parentElement?.querySelector(`.ql-toolbar`);e&&e.remove()}h.value=null}}),(0,t.watch)(()=>i.modelValue,e=>{h.value&&ne()!==(e||``)&&j(e||``)}),(0,t.watch)(()=>i.disabled,e=>{h.value&&h.value.enable(!e)}),(0,t.watch)(()=>i.readonly,e=>{h.value&&h.value.enable(!e)}),(0,t.watch)([()=>i.validationState,()=>i.helpText,()=>i.validationMessage],re),(0,t.watch)(u,()=>{h.value&&(x!==null&&clearTimeout(x),x=setTimeout(async()=>{if(x=null,b||!h.value)return;let e=ne();h.value.scroll?.observer?.disconnect(),h.value.enable(!1),w&&=(h.value.off(`text-change`,w),null),T&&=(h.value.off(`selection-change`,T),null),S&&=(h.value.root.removeEventListener(`blur`,S),null),C&&=(h.value.root.removeEventListener(`focus`,C),null),h.value.selection=null,h.value&&typeof h.value.destroy==`function`&&h.value.destroy(),h.value=null,g.value=!1;let n=m.value?.parentElement?.querySelector(`.ql-toolbar`);n&&n.remove(),m.value&&(m.value.innerHTML=``),await(0,t.nextTick)(),await ie(),e&&j(e)},250))}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)({"mb-3":d.value||p.value||f.value})},[d.value?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:c.value,class:`form-label`},[(0,t.createTextVNode)((0,t.toDisplayString)(e.label)+` `,1),e.required?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Ao,`*`)):(0,t.createCommentVNode)(``,!0)],8,ko)):(0,t.createCommentVNode)(``,!0),_.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,jo,(0,t.toDisplayString)(_.value),1)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,class:(0,t.normalizeClass)(E.value),style:(0,t.normalizeStyle)({minHeight:l.value})},[(0,t.createElementVNode)(`div`,{ref_key:`editorContainer`,ref:m},null,512)],6)),p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:3,id:`${c.value}-help`,class:`form-text`},(0,t.toDisplayString)(e.helpText),9,Mo)):(0,t.createCommentVNode)(``,!0),f.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:4},[e.validationState===`valid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,id:`${c.value}-feedback`,class:`valid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Looks good!`),9,No)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${c.value}-feedback`,class:`invalid-feedback`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please provide valid content.`),9,Po)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-be2008b3`]]),Io={key:0,class:`input-group-text`},Lo={key:0,class:`input-group-text`},Ro=(0,t.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(e){let n=e,r=(0,t.computed)(()=>{let e=[`input-group`];return n.size&&e.push(`input-group-${n.size}`),e.join(` `)});return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.tag),{class:(0,t.normalizeClass)(r.value)},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`prepend`,{},()=>[e.prepend?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Io,(0,t.toDisplayString)(e.prepend),1)):(0,t.createCommentVNode)(``,!0)]),(0,t.renderSlot)(n.$slots,`default`),(0,t.renderSlot)(n.$slots,`append`,{},()=>[e.append?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Lo,(0,t.toDisplayString)(e.append),1)):(0,t.createCommentVNode)(``,!0)])]),_:3},8,[`class`]))}}),zo=(0,t.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(e){let n=e,r=(0,t.computed)(()=>!!n.to),i=(0,t.computed)(()=>r.value?`router-link`:n.tag),a=(0,t.computed)(()=>{let e=[];return n.variant&&e.push(`link-${n.variant}`),(n.underline===!1||n.underline===`0`)&&e.push(`link-underline-opacity-0`),n.underlineVariant&&e.push(`link-underline-${n.underlineVariant}`),n.underlineOpacity!==void 0&&e.push(`link-underline-opacity-${n.underlineOpacity}`),n.offset!==void 0&&e.push(`link-offset-${n.offset}`),n.opacity!==void 0&&e.push(`link-opacity-${n.opacity}`),n.focusRing&&e.push(`focus-ring`),e.join(` `)});return(n,o)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(i.value),{class:(0,t.normalizeClass)(a.value),to:r.value?e.to:void 0,href:r.value?void 0:(0,t.unref)(D)(e.href)},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`)]),_:3},8,[`class`,`to`,`href`]))}}),Bo=Symbol(`vibeTooltipInstance`),Vo=Symbol(`vibeTooltipPending`),Ho=Symbol(`vibeTooltipOpts`),Uo=()=>typeof window<`u`&&(`ontouchstart`in window||typeof navigator<`u`&&navigator.maxTouchPoints>0),Wo=e=>typeof e==`string`?{title:e}:e?{...e,title:e.title??e.text??e.content}:{},Go=e=>{let t=e||`hover focus`;return Uo()&&t===`hover focus`?`click`:t},Ko=(e,t)=>(e.placement||`top`)!==(t.placement||`top`)||Go(e.trigger)!==Go(t.trigger),qo=async(e,t)=>{if(e[Vo]||e[Bo])return;e[Vo]=!0;let n=t;e[Ho]=t;try{e[Bo]=new(await(import(`bootstrap`))).Tooltip(e,{title:t.title||``,placement:t.placement||`top`,trigger:Go(t.trigger),html:!1}),e[Ho]!==n&&e[Bo]&&e[Bo].setContent({".tooltip-inner":e[Ho]?.title??``})}catch{}e[Vo]=!1},Jo=e=>{let t=e[Bo];t&&(t.dispose(),e[Bo]=null)},Yo=(e,t)=>{e.setAttribute(`data-bs-toggle`,`tooltip`),t.title?e.setAttribute(`data-bs-title`,t.title):e.removeAttribute(`data-bs-title`),e.setAttribute(`data-bs-placement`,t.placement||`top`),e.setAttribute(`data-bs-trigger`,Go(t.trigger)),e.removeAttribute(`data-bs-html`)},Xo={mounted(e,t){let n=Wo(t.value);Yo(e,n),qo(e,n)},updated(e,t){let n=Wo(t.value);Yo(e,n);let r=e[Ho]||{},i=e[Bo];if(e[Ho]=n,!e[Vo]){if(i&&Ko(r,n)){Jo(e),qo(e,n);return}i&&i.setContent({".tooltip-inner":n.title||``})}},beforeUnmount(e){Jo(e)}},Zo={install(e){e.component(`VibeAlert`,o),e.component(`VibeBadge`,s),e.component(`VibeButton`,c),e.component(`VibeButtonGroup`,u),e.component(`VibeCloseButton`,f),e.component(`VibeSpinner`,m),e.component(`VibePlaceholder`,h),e.component(`VibeSkeleton`,v),e.component(`VibeContainer`,y),e.component(`VibeRow`,b),e.component(`VibeCol`,x),e.component(`VibeCard`,E),e.component(`VibeHero`,re),e.component(`VibeBreadcrumb`,M),e.component(`VibeNav`,P),e.component(`VibeNavbar`,de),e.component(`VibeNavbarBrand`,fe),e.component(`VibeNavbarToggle`,me),e.component(`VibeNavbarNav`,be),e.component(`VibePagination`,Ee),e.component(`VibeTabContent`,Oe),e.component(`VibeTabs`,ke),e.component(`VibeTab`,Ae),e.component(`VibeListGroup`,je),e.component(`VibeProgress`,Ne),e.component(`VibeAccordion`,Ve),e.component(`VibeCollapse`,He),e.component(`VibeDropdown`,Ye),e.component(`VibeModal`,it),e.component(`VibeOffcanvas`,ct),e.component(`VibeToast`,_t),e.component(`VibeToastHost`,Ot),e.component(`VibeCarousel`,Bt),e.component(`VibeTooltip`,Ht),e.component(`VibePopover`,Wt),e.component(`VibeScrollspy`,Gt),e.component(`VibeIcon`,qt),e.component(`VibeChartLine`,dn),e.component(`VibeChartBar`,xn),e.component(`VibeChartPie`,Dn),e.component(`VibeDataTable`,Zn),e.component(`VibeFormInput`,ar),e.component(`VibeFormSelect`,gr),e.component(`VibeFormTextarea`,wr),e.component(`VibeFormSpinbutton`,Nr),e.component(`VibeFormDatepicker`,Br),e.component(`VibeFileInput`,Kr),e.component(`VibeSlider`,Yr),e.component(`VibeStepper`,ii),e.component(`VibeAutocomplete`,ui),e.component(`VibeSortable`,di),e.component(`VibeDraggable`,yi),e.component(`VibeDroppable`,bi),e.component(`VibeResizable`,Si),e.component(`VibeDatePicker`,ji),e.component(`VibeFormCheckbox`,Ri),e.component(`VibeFormRadio`,Gi),e.component(`VibeFormSwitch`,Qi),e.component(`VibeFormGroup`,la),e.component(`VibeFormWysiwyg`,Fo),e.component(`VibeInputGroup`,Ro),e.component(`VibeLink`,zo),e.directive(`vibe-tooltip`,Xo)}};function Qo(e=``){let n=(0,t.ref)(e),r=(0,t.ref)(null),i=(0,t.ref)(``),a=(0,t.ref)(!1),o=(0,t.ref)(!1),s=(0,t.ref)(!1),c=0;return(0,t.watch)(n,()=>{r.value===`invalid`&&(r.value=null,i.value=``)}),{value:n,validationState:r,validationMessage:i,isDirty:a,isTouched:o,isValidating:s,isValid:(0,t.computed)(()=>r.value===`valid`),isInvalid:(0,t.computed)(()=>r.value===`invalid`),validate:async e=>{let t=++c;if(!e)return t===c?(r.value=null,i.value=``,{valid:!0}):{valid:!0};s.value=!0;try{let a=Array.isArray(e)?e:[{validator:e}];for(let e of a){let a=await e.validator(n.value);if(t!==c)return{valid:!0};if(a===!1||typeof a==`string`)return r.value=`invalid`,i.value=typeof a==`string`?a:e.message||`Invalid value`,s.value=!1,{valid:!1,message:i.value}}return t===c?(r.value=`valid`,i.value=``,s.value=!1,{valid:!0}):{valid:!0}}catch{return t===c?(r.value=`invalid`,i.value=`Validation error occurred`,s.value=!1,{valid:!1,message:i.value}):{valid:!0}}},reset:()=>{n.value=e,r.value=null,i.value=``,a.value=!1,o.value=!1,s.value=!1},markAsTouched:()=>{o.value=!0},markAsDirty:()=>{a.value=!0}}}var $o={required:(e=`This field is required`)=>({validator:t=>Array.isArray(t)?t.length>0||e:typeof t==`string`?t.trim().length>0||e:t!=null&&t!==``||e,message:e}),email:(e=`Please enter a valid email address`)=>({validator:t=>{if(t==null||t===``)return!0;let n=String(t);if(/\s/.test(n))return e;let r=n.indexOf(`@`);return r<=0||r!==n.lastIndexOf(`@`)||!n.slice(r+1).slice(1,-1).includes(`.`)?e:!0},message:e}),minLength:(e,t)=>({validator:n=>n==null||n===``?!0:String(n).length>=e||t||`Minimum length is ${e} characters`,message:t}),maxLength:(e,t)=>({validator:n=>n==null||n===``?!0:String(n).length<=e||t||`Maximum length is ${e} characters`,message:t}),min:(e,t)=>({validator:n=>{if(n==null||n===``)return!0;let r=Number(n);return Number.isNaN(r)?t||`Value must be a number`:r>=e||t||`Minimum value is ${e}`},message:t}),max:(e,t)=>({validator:n=>{if(n==null||n===``)return!0;let r=Number(n);return Number.isNaN(r)?t||`Value must be a number`:r<=e||t||`Maximum value is ${e}`},message:t}),pattern:(e,t=`Invalid format`)=>({validator:n=>n==null||n===``?!0:e.test(String(n))||t,message:t}),url:(e=`Please enter a valid URL`)=>({validator:t=>{if(t==null||t===``)return!0;try{return new URL(String(t)),!0}catch{return e}},message:e}),async:e=>({validator:e})},es=e=>JSON.parse(JSON.stringify(e)),ts=async(e,t)=>{let n=Array.isArray(t)?t:[{validator:t}];for(let t of n){let n=await t.validator(e);if(n===!1)return t.message||`Invalid value`;if(typeof n==`string`)return n}return``};function ns(e){let n=es(e),r=(0,t.reactive)(es(e)),i={},a={};for(let t of Object.keys(e))i[t]=``,a[t]=!1;let o=(0,t.reactive)(i),s=(0,t.reactive)(a),c=(0,t.ref)(!1),l=(0,t.ref)(!1),u=(0,t.computed)(()=>c.value),d=Object.keys(n),f={};for(let e of d)f[e]=JSON.stringify(n[e]);return(0,t.watch)(r,e=>{c.value=d.some(t=>JSON.stringify(e[t])!==f[t])},{deep:!0,immediate:!0}),{fields:r,errors:o,touched:s,isDirty:u,isValid:(0,t.computed)(()=>{if(!l.value)return!1;for(let e of Object.keys(o))if(o[e])return!1;return!0}),values:(0,t.computed)(()=>({...r})),validate:async e=>{let t={},n=!0;for(let i of Object.keys(e)){let a=e[i];if(!a)continue;let s=await ts(r[i],a);o[i]=s,s&&(t[i]=s,n=!1)}return l.value=!0,{valid:n,errors:t}},validateField:async(e,t)=>{let n=await ts(r[e],t);return o[e]=n,l.value=!0,n},reset:()=>{for(let e of Object.keys(n))r[e]=es(n[e]),o[e]=``,s[e]=!1;c.value=!1,l.value=!1},markTouched:e=>{s[e]=!0},markAllTouched:()=>{for(let e of Object.keys(s))s[e]=!0},setField:(e,t)=>{r[e]=t}}}var rs=Math.min,is=Math.max,as=Math.round,os=Math.floor,ss=e=>({x:e,y:e}),cs={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function ls(e,t,n){return is(e,rs(t,n))}function us(e,t){return typeof e==`function`?e(t):e}function ds(e){return e.split(`-`)[0]}function fs(e){return e.split(`-`)[1]}function ps(e){return e===`x`?`y`:`x`}function ms(e){return e===`y`?`height`:`width`}function hs(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function gs(e){return ps(hs(e))}function _s(e,t,n){n===void 0&&(n=!1);let r=fs(e),i=gs(e),a=ms(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Es(o)),[o,Es(o)]}function vs(e){let t=Es(e);return[ys(e),t,ys(t)]}function ys(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var bs=[`left`,`right`],xs=[`right`,`left`],Ss=[`top`,`bottom`],Cs=[`bottom`,`top`];function ws(e,t,n){switch(e){case`top`:case`bottom`:return n?t?xs:bs:t?bs:xs;case`left`:case`right`:return t?Ss:Cs;default:return[]}}function Ts(e,t,n,r){let i=fs(e),a=ws(ds(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(ys)))),a}function Es(e){let t=ds(e);return cs[t]+e.slice(t.length)}function Ds(e){return{top:0,right:0,bottom:0,left:0,...e}}function Os(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Ds(e)}function ks(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function As(e,t,n){let{reference:r,floating:i}=e,a=hs(t),o=gs(t),s=ms(o),c=ds(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(fs(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function js(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=us(t,e),p=Os(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=ks(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=ks(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Ms=50,Ns=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:js},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=As(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Ms&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=As(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Ps=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=us(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=ds(r),_=hs(o),v=ds(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Es(o)]:vs(o)),x=p!==`none`;!d&&x&&b.push(...Ts(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=_s(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==hs(t))||T.every(e=>hs(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=hs(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}},Fs=new Set([`left`,`top`]);async function Is(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=ds(n),s=fs(n),c=hs(n)===`y`,l=Fs.has(o)?-1:1,u=a&&c?-1:1,d=us(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Ls=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Is(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Rs=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=us(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=hs(ds(i)),p=ps(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=ls(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=ls(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}};function zs(){return typeof window<`u`}function Bs(e){return Hs(e)?(e.nodeName||``).toLowerCase():`#document`}function Z(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Vs(e){return((Hs(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Hs(e){return zs()?e instanceof Node||e instanceof Z(e).Node:!1}function Q(e){return zs()?e instanceof Element||e instanceof Z(e).Element:!1}function Us(e){return zs()?e instanceof HTMLElement||e instanceof Z(e).HTMLElement:!1}function Ws(e){return!zs()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Z(e).ShadowRoot}function Gs(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=$(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Ks(e){return/^(table|td|th)$/.test(Bs(e))}function qs(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Js=/transform|translate|scale|rotate|perspective|filter/,Ys=/paint|layout|strict|content/,Xs=e=>!!e&&e!==`none`,Zs;function Qs(e){let t=Q(e)?$(e):e;return Xs(t.transform)||Xs(t.translate)||Xs(t.scale)||Xs(t.rotate)||Xs(t.perspective)||!ec()&&(Xs(t.backdropFilter)||Xs(t.filter))||Js.test(t.willChange||``)||Ys.test(t.contain||``)}function $s(e){let t=rc(e);for(;Us(t)&&!tc(t);){if(Qs(t))return t;if(qs(t))return null;t=rc(t)}return null}function ec(){return Zs??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Zs}function tc(e){return/^(html|body|#document)$/.test(Bs(e))}function $(e){return Z(e).getComputedStyle(e)}function nc(e){return Q(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function rc(e){if(Bs(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Ws(e)&&e.host||Vs(e);return Ws(t)?t.host:t}function ic(e){let t=rc(e);return tc(t)?e.ownerDocument?e.ownerDocument.body:e.body:Us(t)&&Gs(t)?t:ic(t)}function ac(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=ic(e),i=r===e.ownerDocument?.body,a=Z(r);if(i){let e=oc(a);return t.concat(a,a.visualViewport||[],Gs(r)?r:[],e&&n?ac(e):[])}else return t.concat(r,ac(r,[],n))}function oc(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function sc(e){let t=$(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Us(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=as(n)!==a||as(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function cc(e){return Q(e)?e:e.contextElement}function lc(e){let t=cc(e);if(!Us(t))return ss(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=sc(t),o=(a?as(n.width):n.width)/r,s=(a?as(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var uc=ss(0);function dc(e){let t=Z(e);return!ec()||!t.visualViewport?uc:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function fc(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Z(e)?!1:t}function pc(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=cc(e),o=ss(1);t&&(r?Q(r)&&(o=lc(r)):o=lc(e));let s=fc(a,n,r)?dc(a):ss(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=Z(a),t=r&&Q(r)?Z(r):r,n=e,i=oc(n);for(;i&&r&&t!==n;){let e=lc(i),t=i.getBoundingClientRect(),r=$(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=Z(i),i=oc(n)}}return ks({width:u,height:d,x:c,y:l})}function mc(e,t){let n=nc(e).scrollLeft;return t?t.left+n:pc(Vs(e)).left+n}function hc(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-mc(e,n),y:n.top+t.scrollTop}}function gc(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Vs(r),s=t?qs(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=ss(1),u=ss(0),d=Us(r);if((d||!d&&!a)&&((Bs(r)!==`body`||Gs(o))&&(c=nc(r)),d)){let e=pc(r);l=lc(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?hc(o,c):ss(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function _c(e){return Array.from(e.getClientRects())}function vc(e){let t=Vs(e),n=nc(e),r=e.ownerDocument.body,i=is(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=is(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+mc(e),s=-n.scrollTop;return $(r).direction===`rtl`&&(o+=is(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var yc=25;function bc(e,t){let n=Z(e),r=Vs(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=ec();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=mc(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=yc&&(a-=o)}else l<=yc&&(a+=l);return{width:a,height:o,x:s,y:c}}function xc(e,t){let n=pc(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Us(e)?lc(e):ss(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Sc(e,t,n){let r;if(t===`viewport`)r=bc(e,n);else if(t===`document`)r=vc(Vs(e));else if(Q(t))r=xc(t,n);else{let n=dc(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return ks(r)}function Cc(e,t){let n=rc(e);return n===t||!Q(n)||tc(n)?!1:$(n).position===`fixed`||Cc(n,t)}function wc(e,t){let n=t.get(e);if(n)return n;let r=ac(e,[],!1).filter(e=>Q(e)&&Bs(e)!==`body`),i=null,a=$(e).position===`fixed`,o=a?rc(e):e;for(;Q(o)&&!tc(o);){let t=$(o),n=Qs(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Gs(o)&&!n&&Cc(e,o))?r=r.filter(e=>e!==o):i=t,o=rc(o)}return t.set(e,r),r}function Tc(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?qs(t)?[]:wc(t,this._c):[].concat(n),r],o=Sc(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Sc(t,a[e],i);s=is(n.top,s),c=rs(n.right,c),l=rs(n.bottom,l),u=is(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Ec(e){let{width:t,height:n}=sc(e);return{width:t,height:n}}function Dc(e,t,n){let r=Us(t),i=Vs(t),a=n===`fixed`,o=pc(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=ss(0);function l(){c.x=mc(i)}if(r||!r&&!a)if((Bs(t)!==`body`||Gs(i))&&(s=nc(t)),r){let e=pc(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?hc(i,s):ss(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function Oc(e){return $(e).position===`static`}function kc(e,t){if(!Us(e)||$(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Vs(e)===n&&(n=n.ownerDocument.body),n}function Ac(e,t){let n=Z(e);if(qs(e))return n;if(!Us(e)){let t=rc(e);for(;t&&!tc(t);){if(Q(t)&&!Oc(t))return t;t=rc(t)}return n}let r=kc(e,t);for(;r&&Ks(r)&&Oc(r);)r=kc(r,t);return r&&tc(r)&&Oc(r)&&!Qs(r)?n:r||$s(e)||n}var jc=async function(e){let t=this.getOffsetParent||Ac,n=this.getDimensions,r=await n(e.floating);return{reference:Dc(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Mc(e){return $(e).direction===`rtl`}var Nc={convertOffsetParentRelativeRectToViewportRelativeRect:gc,getDocumentElement:Vs,getClippingRect:Tc,getOffsetParent:Ac,getElementRects:jc,getClientRects:_c,getDimensions:Ec,getScale:lc,isElement:Q,isRTL:Mc};function Pc(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Fc(e,t){let n=null,r,i=Vs(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=os(d),h=os(i.clientWidth-(u+f)),g=os(i.clientHeight-(d+p)),_=os(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:is(0,rs(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!Pc(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Ic(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=cc(e),u=i||a?[...l?ac(l):[],...t?ac(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Fc(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?pc(e):null;c&&g();function g(){let t=pc(e);h&&!Pc(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Lc=Ls,Rc=Rs,zc=Ps,Bc=(e,t,n)=>{let r=new Map,i={platform:Nc,...n},a={...i.platform,_c:r};return Ns(e,t,{...i,platform:a})},Vc={"top start at bottom start":`bottom-start`,"top center at bottom center":`bottom`,"top end at bottom end":`bottom-end`,"bottom start at top start":`top-start`,"bottom center at top center":`top`,"bottom end at top end":`top-end`,"center start at center end":`right`,"center end at center start":`left`,"top start at top end":`right-start`,"bottom start at bottom end":`right-end`,"top end at top start":`left-start`,"bottom end at bottom start":`left-end`},Hc=(e,t)=>{let n=`${e} at ${t}`;if(Vc[n])return Vc[n];let[r,i]=t.split(` `);return r===`bottom`?i===`start`?`bottom-start`:i===`end`?`bottom-end`:`bottom`:r===`top`?i===`start`?`top-start`:i===`end`?`top-end`:`top`:i===`start`?r===`top`?`left-start`:r===`bottom`?`left-end`:`left`:i===`end`?r===`top`?`right-start`:r===`bottom`?`right-end`:`right`:`bottom`};function Uc(e,n,r={}){let i=()=>typeof r==`function`?r():r,a=i(),o=(0,t.ref)(Hc(a.my??`top center`,a.at??`bottom center`)),s=(0,t.ref)(0),c=(0,t.ref)(0),l=null,u=null,d=null,f=e=>{let t=[];if(e.offset){let[n,r]=e.offset;t.push(Lc({mainAxis:r,crossAxis:n}))}let n=e.collision??`flip+shift`;return(n===`flip`||n===`flip+shift`)&&t.push(zc()),(n===`shift`||n===`flip+shift`)&&t.push(Rc()),t},p=e=>{d!==e&&(d=e,u={position:e.style.position,left:e.style.left,top:e.style.top})},m=e=>{let t=e??d;t&&u&&d===t&&(t.style.position=u.position,t.style.left=u.left,t.style.top=u.top),u=null,d=null},h=async()=>{let t=e.value,r=n.value;if(!t||!r)return;let a=i(),l=a.my??`top center`,u=a.at??`bottom center`;p(t);let d=await Bc(r,t,{placement:Hc(l,u),strategy:a.strategy??`absolute`,middleware:f(a)});s.value=d.x,c.value=d.y,o.value=d.placement,Object.assign(t.style,{position:a.strategy??`absolute`,left:`${d.x}px`,top:`${d.y}px`})},g=()=>{l&&=(l(),null),m()};return(0,t.watchEffect)(t=>{let r=e.value,a=n.value,o=i();if(!r||!a)return;d!==null&&d!==r&&m(d);let s=null;o.autoUpdate===!1?h():s=Ic(a,r,()=>{h()}),t(()=>{s?.(),s=null,l=null})},{flush:`post`}),(0,t.onBeforeUnmount)(()=>{g()}),{x:s,y:c,placement:o,update:h,stop:g}}var Wc=`vibe-color-mode`,Gc={light:`dark`,dark:`auto`,auto:`light`},Kc=(0,t.ref)(`auto`),qc=!1,Jc=[];function Yc(){return typeof window>`u`?`light`:window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}function Xc(e){if(typeof document>`u`)return;let t=e===`auto`?Yc():e;document.documentElement.setAttribute(`data-bs-theme`,t)}function Zc(e){Kc.value=e,Xc(e),Jc.forEach(t=>t(e))}var Qc=`auto`;try{let e=typeof localStorage<`u`?localStorage.getItem(Wc):null;e!==null&&e in Gc&&(Qc=e)}catch{}var $c=()=>{Kc.value===`auto`&&(Xc(`auto`),Jc.forEach(e=>e(`auto`)))},el=null;function tl(){typeof window>`u`||(el=window.matchMedia(`(prefers-color-scheme: dark)`),el.addEventListener(`change`,$c))}function nl(){el?.removeEventListener(`change`,$c),el=null}typeof window<`u`&&(Zc(Qc),tl(),qc=!0);function rl(){function e(e){if(e in Gc){try{localStorage.setItem(Wc,e)}catch{}Zc(e)}}function t(){if(qc)return;nl();let e=`auto`;try{let t=typeof localStorage<`u`?localStorage.getItem(Wc):null;t!==null&&t in Gc&&(e=t)}catch{}Zc(e),tl(),qc=!0}function n(){nl();try{localStorage.removeItem(Wc)}catch{}Zc(`auto`),tl(),qc=!1}function r(){e(Gc[Kc.value]??`auto`)}function i(e){return Jc.push(e),()=>{let t=Jc.indexOf(e);t!==-1&&Jc.splice(t,1)}}return{colorMode:Kc,setColorMode:e,toggleColorMode:r,initColorMode:t,clearColorMode:n,onColorModeChange:i}}var il=Zo;e.VibeAccordion=Ve,e.VibeAlert=o,e.VibeAutocomplete=ui,e.VibeBadge=s,e.VibeBreadcrumb=M,e.VibeButton=c,e.VibeButtonGroup=u,e.VibeCard=E,e.VibeCarousel=Bt,e.VibeChartBar=xn,e.VibeChartLine=dn,e.VibeChartPie=Dn,e.VibeCloseButton=f,e.VibeCol=x,e.VibeCollapse=He,e.VibeContainer=y,e.VibeDataTable=Zn,e.VibeDatePicker=ji,e.VibeDraggable=yi,e.VibeDropdown=Ye,e.VibeDroppable=bi,e.VibeFileInput=Kr,e.VibeFormCheckbox=Ri,e.VibeFormDatepicker=Br,e.VibeFormGroup=la,e.VibeFormInput=ar,e.VibeFormRadio=Gi,e.VibeFormSelect=gr,e.VibeFormSpinbutton=Nr,e.VibeFormSwitch=Qi,e.VibeFormTextarea=wr,e.VibeFormWysiwyg=Fo,e.VibeHero=re,e.VibeIcon=qt,e.VibeInputGroup=Ro,e.VibeLink=zo,e.VibeListGroup=je,e.VibeModal=it,e.VibeNav=P,e.VibeNavbar=de,e.VibeNavbarBrand=fe,e.VibeNavbarNav=be,e.VibeNavbarToggle=me,e.VibeOffcanvas=ct,e.VibePagination=Ee,e.VibePlaceholder=h,e.VibePopover=Wt,e.VibeProgress=Ne,e.VibeResizable=Si,e.VibeRow=b,e.VibeScrollspy=Gt,e.VibeSkeleton=v,e.VibeSlider=Yr,e.VibeSortable=di,e.VibeSpinner=m,e.VibeStepper=ii,e.VibeTab=Ae,e.VibeTabContent=Oe,e.VibeTabs=ke,e.VibeToast=_t,e.VibeToastHost=Ot,e.VibeTooltip=Ht,e.default=il,e.resetToastStoreForSSR=Et,e.useBackButton=z,e.useBreakpoints=da,e.useColorMode=rl,e.useForm=ns,e.useFormValidation=Qo,e.useId=L,e.usePosition=Uc,e.useToast=Tt,e.vTooltip=Xo,e.validators=$o});