@velkymx/vibeui 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/{src/components → components}/VibeAlert.vue.d.ts +4 -4
  2. package/dist/{src/components → components}/VibeButton.vue.d.ts +2 -2
  3. package/dist/{src/components → components}/VibeDataTable.vue.d.ts +5 -1
  4. package/dist/components/VibeFormErrorSummary.vue.d.ts +17 -0
  5. package/dist/{src/components → components}/VibeFormInput.vue.d.ts +38 -2
  6. package/dist/{src/components → components}/VibeHero.vue.d.ts +9 -0
  7. package/dist/{src/components → components}/VibeModal.vue.d.ts +18 -0
  8. package/dist/{src/components → components}/VibeSortable.vue.d.ts +1 -1
  9. package/dist/{src/components → components}/VibeToast.vue.d.ts +3 -3
  10. package/dist/{src/components → components}/index.d.ts +2 -1
  11. package/dist/{src/injectionKeys.d.ts → injectionKeys.d.ts} +6 -0
  12. package/dist/purify.es-eYghtX9j.mjs +735 -0
  13. package/dist/{src/types.d.ts → types.d.ts} +2 -0
  14. package/dist/utils/routeKey.d.ts +11 -0
  15. package/dist/vibeui.css +1 -1
  16. package/dist/vibeui.es.js +1240 -982
  17. package/dist/vibeui.umd.js +3 -3
  18. package/docs/components/advanced/popover.md +1 -1
  19. package/docs/components/advanced/scrollspy.md +2 -2
  20. package/docs/components/advanced/tooltip.md +1 -1
  21. package/docs/components/core/button.md +19 -1
  22. package/docs/components/core/close-button.md +1 -1
  23. package/docs/components/data/datatable.md +3 -1
  24. package/docs/components/hero/hero.md +1 -0
  25. package/docs/components/interactive/modal.md +8 -0
  26. package/docs/components/navigation/navbar.md +6 -0
  27. package/docs/components/navigation/pagination.md +1 -0
  28. package/docs/forms/form-error-summary.md +96 -0
  29. package/docs/forms/form-group.md +4 -1
  30. package/docs/forms/form-input.md +28 -0
  31. package/llms.txt +24 -5
  32. package/package.json +1 -1
  33. package/dist/purify.es-1D-VntFD.mjs +0 -679
  34. package/dist/{src/App.vue.d.ts → App.vue.d.ts} +0 -0
  35. package/dist/{src/components → components}/HelloWorld.vue.d.ts +0 -0
  36. package/dist/{src/components → components}/VibeAccordion.vue.d.ts +0 -0
  37. package/dist/{src/components → components}/VibeAutocomplete.vue.d.ts +0 -0
  38. package/dist/{src/components → components}/VibeBadge.vue.d.ts +0 -0
  39. package/dist/{src/components → components}/VibeBreadcrumb.vue.d.ts +0 -0
  40. package/dist/{src/components → components}/VibeButtonGroup.vue.d.ts +1 -1
  41. package/dist/{src/components → components}/VibeCard.vue.d.ts +0 -0
  42. package/dist/{src/components → components}/VibeCarousel.vue.d.ts +1 -1
  43. package/dist/{src/components → components}/VibeChartBar.vue.d.ts +0 -0
  44. package/dist/{src/components → components}/VibeChartLine.vue.d.ts +0 -0
  45. package/dist/{src/components → components}/VibeChartPie.vue.d.ts +0 -0
  46. package/dist/{src/components → components}/VibeCloseButton.vue.d.ts +0 -0
  47. package/dist/{src/components → components}/VibeCol.vue.d.ts +0 -0
  48. package/dist/{src/components → components}/VibeCollapse.vue.d.ts +1 -1
  49. package/dist/{src/components → components}/VibeContainer.vue.d.ts +0 -0
  50. package/dist/{src/components → components}/VibeDatePicker.vue.d.ts +1 -1
  51. package/dist/{src/components → components}/VibeDraggable.vue.d.ts +0 -0
  52. package/dist/{src/components → components}/VibeDropdown.vue.d.ts +0 -0
  53. package/dist/{src/components → components}/VibeDroppable.vue.d.ts +0 -0
  54. package/dist/{src/components → components}/VibeFileInput.vue.d.ts +1 -1
  55. package/dist/{src/components → components}/VibeFormCheckbox.vue.d.ts +1 -1
  56. package/dist/{src/components → components}/VibeFormDatepicker.vue.d.ts +1 -1
  57. package/dist/{src/components → components}/VibeFormGroup.vue.d.ts +0 -0
  58. package/dist/{src/components → components}/VibeFormRadio.vue.d.ts +1 -1
  59. package/dist/{src/components → components}/VibeFormSelect.vue.d.ts +1 -1
  60. package/dist/{src/components → components}/VibeFormSpinbutton.vue.d.ts +1 -1
  61. package/dist/{src/components → components}/VibeFormSwitch.vue.d.ts +1 -1
  62. package/dist/{src/components → components}/VibeFormTextarea.vue.d.ts +1 -1
  63. package/dist/{src/components → components}/VibeFormWysiwyg.vue.d.ts +1 -1
  64. package/dist/{src/components → components}/VibeIcon.vue.d.ts +1 -1
  65. package/dist/{src/components → components}/VibeInputGroup.vue.d.ts +1 -1
  66. /package/dist/{src/components → components}/VibeLink.vue.d.ts +0 -0
  67. /package/dist/{src/components → components}/VibeListGroup.vue.d.ts +0 -0
  68. /package/dist/{src/components → components}/VibeNav.vue.d.ts +0 -0
  69. /package/dist/{src/components → components}/VibeNavbar.vue.d.ts +0 -0
  70. /package/dist/{src/components → components}/VibeNavbarBrand.vue.d.ts +0 -0
  71. /package/dist/{src/components → components}/VibeNavbarNav.vue.d.ts +0 -0
  72. /package/dist/{src/components → components}/VibeNavbarToggle.vue.d.ts +0 -0
  73. /package/dist/{src/components → components}/VibeOffcanvas.vue.d.ts +0 -0
  74. /package/dist/{src/components → components}/VibePagination.vue.d.ts +0 -0
  75. /package/dist/{src/components → components}/VibePlaceholder.vue.d.ts +0 -0
  76. /package/dist/{src/components → components}/VibePopover.vue.d.ts +0 -0
  77. /package/dist/{src/components → components}/VibeProgress.vue.d.ts +0 -0
  78. /package/dist/{src/components → components}/VibeResizable.vue.d.ts +0 -0
  79. /package/dist/{src/components → components}/VibeRow.vue.d.ts +0 -0
  80. /package/dist/{src/components → components}/VibeScrollspy.vue.d.ts +0 -0
  81. /package/dist/{src/components → components}/VibeSkeleton.vue.d.ts +0 -0
  82. /package/dist/{src/components → components}/VibeSlider.vue.d.ts +0 -0
  83. /package/dist/{src/components → components}/VibeSpinner.vue.d.ts +0 -0
  84. /package/dist/{src/components → components}/VibeStepper.vue.d.ts +0 -0
  85. /package/dist/{src/components → components}/VibeTab.vue.d.ts +0 -0
  86. /package/dist/{src/components → components}/VibeTabContent.vue.d.ts +0 -0
  87. /package/dist/{src/components → components}/VibeTabs.vue.d.ts +0 -0
  88. /package/dist/{src/components → components}/VibeToastHost.vue.d.ts +0 -0
  89. /package/dist/{src/components → components}/VibeTooltip.vue.d.ts +0 -0
  90. /package/dist/{src/components → components}/chart/chartColors.d.ts +0 -0
  91. /package/dist/{src/components → components}/chart/chartResize.d.ts +0 -0
  92. /package/dist/{src/components → components}/chart/chartTooltip.d.ts +0 -0
  93. /package/dist/{src/components → components}/chart/chartTypes.d.ts +0 -0
  94. /package/dist/{src/components → components}/chart/drawBar.d.ts +0 -0
  95. /package/dist/{src/components → components}/chart/drawLine.d.ts +0 -0
  96. /package/dist/{src/components → components}/chart/drawPie.d.ts +0 -0
  97. /package/dist/{src/components → components}/dndStore.d.ts +0 -0
  98. /package/dist/{src/composables → composables}/useBackButton.d.ts +0 -0
  99. /package/dist/{src/composables → composables}/useBreakpoints.d.ts +0 -0
  100. /package/dist/{src/composables → composables}/useColorMode.d.ts +0 -0
  101. /package/dist/{src/composables → composables}/useForm.d.ts +0 -0
  102. /package/dist/{src/composables → composables}/useFormValidation.d.ts +0 -0
  103. /package/dist/{src/composables → composables}/useId.d.ts +0 -0
  104. /package/dist/{src/composables → composables}/usePosition.d.ts +0 -0
  105. /package/dist/{src/composables → composables}/useToast.d.ts +0 -0
  106. /package/dist/{src/directives → directives}/vTooltip.d.ts +0 -0
  107. /package/dist/{src/index.d.ts → index.d.ts} +0 -0
  108. /package/dist/{src/main.d.ts → main.d.ts} +0 -0
  109. /package/dist/{src/utils → utils}/safeCss.d.ts +0 -0
  110. /package/dist/{src/utils → utils}/safeHref.d.ts +0 -0
  111. /package/dist/{src/utils → utils}/sanitizeHtml.d.ts +0 -0
@@ -1,3 +1,3 @@
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});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("vue")):typeof define==`function`&&define.amd?define([`exports`,`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.VibeUI={},e.Vue))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var n=Object.defineProperty,r=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},i=(e,t)=>{let r={};for(var i in e)n(r,i,{get:e[i],enumerable:!0});return t||n(r,Symbol.toStringTag,{value:`Module`}),r},a=(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)return;o.value&&=(o.value.dispose(),null);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)}}),o=(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`]))}}),s=(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.ref)(null);(0,t.onMounted)(()=>{});let o=(0,t.computed)(()=>r.href?`a`:r.to?r.disabled?`span`:`router-link`:`button`),s=(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&&o.value!==`button`&&e.push(`disabled`),e.join(` `)}),c=e=>{if(r.disabled){e.preventDefault();return}i(`click`,e)};return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(o.value),{ref_key:`rootRef`,ref:a,class:(0,t.normalizeClass)(s.value),type:e.href||e.to?void 0:e.type,href:e.href,to:e.to||void 0,disabled:o.value===`button`?e.disabled:void 0,"aria-disabled":e.disabled||void 0,onClick:c},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),_:3},8,[`class`,`type`,`href`,`to`,`disabled`,`aria-disabled`]))}}),c=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},l=c(s,[[`__scopeId`,`data-v-17d9412e`]]),u=[`role`,`aria-label`],d=(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,u))}}),f=[`disabled`,`aria-label`],p=(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,f))}}),m={class:`visually-hidden`},h=(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`,m,(0,t.toDisplayString)(e.label),1)]),_:1},8,[`class`]))}}),g=(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`]))}}),_=c((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},n.$attrs,{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)}}),[[`__scopeId`,`data-v-c0c2699d`]]),v=(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`]))}}),y=(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`]))}}),b=(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`]))}}),x=[`src`,`alt`],S={key:0,class:`card-title`},C={key:1,class:`card-text`},w=[`src`,`alt`],T=(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,x)):(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`,S,[(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`,C,[(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,w)):(0,t.createCommentVNode)(``,!0)]),_:3},8,[`class`]))}}),E=/^(https?:\/\/|\/(?!\/)|\.\.?\/|#)/i;function D(e){if(!(e===void 0||e===``))return E.test(e)?e:void 0}var O=/^(auto|0|[\d.]+(%|px|rem|em|vh|vw|dvh|dvw|svh|svw|ch|ex|vmin|vmax))$/,k=/^(#[0-9a-fA-F]{3,8}|rgba?\(\s*[\d.,\s]+\)|hsla?\(\s*[\d.,\s%]+\)|var\(--[\w-]+(?:\s*,\s*[^)]+)?\)|[a-zA-Z]+)$/,ee=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 k.test(e.trim())?e:void 0}function te(e){return e?Object.fromEntries(Object.entries(e).filter(([e])=>ee.has(e))):{}}var ne=(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},overlayOpacity:{type:Number,default:.5},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=Math.min(1,Math.max(0,n.overlayOpacity)),t=typeof n.overlay==`string`?j(n.overlay)??`rgba(0, 0, 0, ${e})`:`rgba(0, 0, 0, ${e})`;a.push(`linear-gradient(${t}, ${t})`)}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`]))}}),re=[`aria-label`],M={class:`breadcrumb`},ie=[`aria-current`],ae=(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`,M,[((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`:`button`),{href:e.active?void 0:(0,t.unref)(D)(e.href),to:e.active?void 0:e.to,type:!e.active&&!e.href&&!e.to?`button`:void 0,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`,`type`,`onClick`]))],10,ie))),128))])],8,re))}});function oe(e){return e==null?``:typeof e==`string`?e:JSON.stringify(e)}var se={class:`dropdown-menu`},ce={key:0,class:`dropdown-divider`},le={key:1,class:`dropdown-header`},ue=(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=!1,d=(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(` `)}),f=e=>a(`show`,e),p=e=>a(`shown`,e),m=e=>a(`hide`,e),h=e=>a(`hidden`,e),g=async()=>{if(!(!o.value||c)){c=!0;try{let e=(await import(`bootstrap`)).Tab;if(!o.value||u)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`,f),n.addEventListener(`shown.bs.tab`,p),n.addEventListener(`hide.bs.tab`,m),n.addEventListener(`hidden.bs.tab`,h)}})}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)(g),(0,t.onBeforeUnmount)(()=>{u=!0,s.forEach((e,t)=>{t.removeEventListener(`show.bs.tab`,f),t.removeEventListener(`shown.bs.tab`,p),t.removeEventListener(`hide.bs.tab`,m),t.removeEventListener(`hidden.bs.tab`,h),e.dispose()}),s.clear()}),(0,t.watch)(()=>i.items,async()=>{if(!l){l=!0;try{s.forEach((e,t)=>{t.removeEventListener(`show.bs.tab`,f),t.removeEventListener(`shown.bs.tab`,p),t.removeEventListener(`hide.bs.tab`,m),t.removeEventListener(`hidden.bs.tab`,h),e.dispose()}),s.clear(),await(0,t.nextTick)(),await g()}finally{l=!1}}},{deep:!1});let _=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)}},v=(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`,f),t.removeEventListener(`shown.bs.tab`,p),t.removeEventListener(`hide.bs.tab`,m),t.removeEventListener(`hidden.bs.tab`,h),e.dispose()}),s.clear(),await(0,t.nextTick)(),await g()},_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)(d.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||(0,t.unref)(oe)(r.to)||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`,ce)):e.header?((0,t.openBlock)(),(0,t.createElementBlock)(`h6`,le,(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)&&_(r)?e.tabs?`tab`:`pill`:void 0,"data-bs-target":_(r),onClick:e=>v(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`]))}}),N=Symbol(`vibeFormGroup`),de=Symbol(`vibeNavbarCollapse`),P=Symbol(`vibeTabsContext`),fe=c((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)(de,{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`]]),F=(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`],I=(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)(de,null),o=(0,t.computed)(()=>a?.collapseStates[r.target]??!1),s=async()=>{if(a){a.toggleCollapse(r.target);return}try{let e=document.getElementById(r.target);e&&(await import(`bootstrap`)).Collapse.getOrCreateInstance(e).toggle()}catch(e){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))}}),me={class:`dropdown-menu`},he={key:0},ge={key:1},_e={class:`dropdown-header`},ve={key:2},ye=(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`,me,[((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`,he,[...r[0]||=[(0,t.createElementVNode)(`hr`,{class:`dropdown-divider`},null,-1)]])):a.header?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,ge,[(0,t.createElementVNode)(`h6`,_e,(0,t.toDisplayString)(a.text),1)])):((0,t.openBlock)(),(0,t.createElementBlock)(`li`,ve,[((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))}}),be=[`aria-label`],xe=[`disabled`],Se={key:0,class:`page-item disabled`,"aria-hidden":`true`},Ce=[`aria-current`,`onClick`],we=[`disabled`],Te=(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,xe)],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`,Se,[...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,Ce)],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,we)],2)):(0,t.createCommentVNode)(``,!0)],2)],8,be))}}),Ee=[`id`,`aria-labelledby`],De=(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,Ee))),128))]),_:3},8,[`id`]))}}),Oe=[`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)(P,{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),s.delete(e),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,Oe)]))),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)(P,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(D(e.href)||e.to||!e.disabled)&&t.push(`list-group-item-action`),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)),style:(0,t.normalizeStyle)(!(0,t.unref)(D)(e.href)&&!e.to&&!e.disabled?{cursor:`pointer`}:void 0),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`,`style`,`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 R=[`id`],Ie={class:`accordion-header`},Le=[`data-bs-target`,`aria-expanded`,`aria-controls`,`onClick`],Re=[`id`,`data-bs-parent`],ze={class:`accordion-body`},Be=(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=!1,m=!1,h=new Map,g=e=>s(`show`,e),_=e=>s(`shown`,e),v=e=>s(`hide`,e),y=e=>s(`hidden`,e),b=e=>{let t=u.get(e),n=h.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),h.delete(e),l.get(e)?.dispose(),l.delete(e)},x=async()=>{if(c.value){if(d){f=!0;return}d=!0,f=!1;try{let e=(await import(`bootstrap`)).Collapse;if(m||!c.value)return;let t=c.value.querySelectorAll(`.accordion-collapse`),n=new Set;t.forEach(t=>{let r=t.id;if(n.has(r)){console.warn(`[VibeAccordion] Duplicate item.id "${r}" detected — only the first occurrence is initialised. Ensure each item has a unique id.`);return}if(n.add(r),!l.has(r)){let n=t;u.set(r,n);let i=new e(n,{toggle:!1,parent:a.alwaysOpen?void 0:`#${o.value}`});l.set(r,i);let s={show:()=>g(r),shown:()=>_(r),hide:()=>v(r),hidden:()=>y(r)};h.set(r,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===r)?.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,!m&&f&&(f=!1,x())}}};(0,t.onMounted)(x),(0,t.onBeforeUnmount)(()=>{m=!0,l.forEach((e,t)=>b(t))}),(0,t.watch)([()=>a.items,()=>a.alwaysOpen],async()=>{if(!p){p=!0;try{let e=[...l.keys()];for(let t of e)b(t);l.clear(),u.clear(),await(0,t.nextTick)(),await x()}catch(e){s(`component-error`,{message:`Error reinitialising accordion items.`,componentName:`VibeAccordion`,originalError:e})}finally{p=!1}}},{deep:!1});let S=(e,t)=>{s(`item-click`,{item:e,index:t})};return n({refresh:x,_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`,Ie,[(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=>S(r,i)},[(0,t.renderSlot)(n.$slots,`title`,{item:r,index:i},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(r.title),1)])],10,Le)]),(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`,ze,[(0,t.renderSlot)(n.$slots,`content`,{item:r,index:i},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(r.content),1)])])],8,Re)]))),128))],10,R))}}),Ve=(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)(de,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=!1,p=null,m=()=>{u.value=!0,a(`show`)},h=()=>{a(`shown`),a(`update:modelValue`,!0)},g=()=>{a(`hide`)},_=()=>{u.value=!1,a(`hidden`),a(`update:modelValue`,!1)};(0,t.onMounted)(async()=>{if(c.value)try{let e=(await import(`bootstrap`)).Collapse;if(f||!c.value)return;l.value=new e(c.value,{toggle:!1}),c.value.addEventListener(`show.bs.collapse`,m),c.value.addEventListener(`shown.bs.collapse`,h),c.value.addEventListener(`hide.bs.collapse`,g),c.value.addEventListener(`hidden.bs.collapse`,_);let n=p===null?o&&s.value in o.collapseStates?o.collapseStates[s.value]:i.modelValue:p;if(p=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)(()=>{f=!0,c.value&&(c.value.removeEventListener(`show.bs.collapse`,m),c.value.removeEventListener(`shown.bs.collapse`,h),c.value.removeEventListener(`hide.bs.collapse`,g),c.value.removeEventListener(`hidden.bs.collapse`,_)),l.value&&=(l.value.dispose(),null)});let v=(0,t.computed)(()=>o&&s.value in o.collapseStates?o.collapseStates[s.value]:i.modelValue);(0,t.watch)(v,e=>{if(!d.value){p=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 y=(0,t.computed)(()=>{let e=[`collapse`];return i.isNav&&e.push(`navbar-collapse`),i.horizontal&&e.push(`collapse-horizontal`),!d.value&&v.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)(y.value)},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`)]),_:3},8,[`id`,`class`]))}}),He=[`id`,`data-bs-auto-close`],z=[`id`,`data-bs-auto-close`],Ue=[`aria-labelledby`],We={key:0},Ge={key:1},Ke={class:`dropdown-header`},qe={key:2},Je=(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(` `)}),_=e=>{let t=[`dropdown-item`];return e.active&&t.push(`active`),e.disabled&&t.push(`disabled`),t.join(` `)},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,z)],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,He)),(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||(0,t.unref)(oe)(e.to)||i},[e.divider?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,We,[...r[1]||=[(0,t.createElementVNode)(`hr`,{class:`dropdown-divider`},null,-1)]])):e.header?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,Ge,[(0,t.createElementVNode)(`h6`,Ke,[(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`,qe,[((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)(_(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,Ue)],2))}}),Ye=[];function Xe(e){if(Ye.length>0){e.preventDefault();let t=Ye.pop();t&&t.action()}}function Ze(e){let n=Symbol();(0,t.onMounted)(()=>{Ye.push({token:n,action:e}),Ye.length===1&&typeof document<`u`&&document.addEventListener(`backbutton`,Xe)}),(0,t.onUnmounted)(()=>{let e=Ye.findIndex(e=>e.token===n);e!==-1&&Ye.splice(e,1),Ye.length===0&&typeof document<`u`&&document.removeEventListener(`backbutton`,Xe)})}var Qe=[`id`,`aria-labelledby`,`aria-hidden`,`data-bs-backdrop`,`data-bs-keyboard`],$e={class:`modal-content`},B={key:0,class:`modal-header`},et=[`id`],tt={class:`modal-body`},nt={key:1,class:`modal-footer`},rt=`a[href], button:not([disabled]), input:not([disabled]),select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`,it=c((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`},autoFocus:{type:Boolean,default:!0},submitOnMetaEnter:{type:Boolean,default:!0}},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=[];function p(){return c.value?Array.from(c.value.querySelectorAll(rt)):[]}function m(e){if(!u.value)return;if(a.submitOnMetaEnter&&(e.metaKey||e.ctrlKey)&&e.key===`Enter`){(c.value?.querySelector(`form`))?.requestSubmit();return}if(e.key!==`Tab`)return;let t=p();if(t.length===0)return;let n=t[0],r=t[t.length-1];e.shiftKey?document.activeElement===n&&(e.preventDefault(),r.focus()):document.activeElement===r&&(e.preventDefault(),n.focus())}function h(){let e=c.value?.parentElement;e&&Array.from(e.children).forEach(e=>{let t=e;t===c.value||t.inert||(t.inert=!0,f.push(t))})}function g(){f.forEach(e=>{e.inert=!1}),f.length=0}let _=!1,v=!1,y=!1,b=(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(` `)}),x=()=>{typeof document<`u`&&(d=document.activeElement),o(`show`)},S=()=>{u.value=!0,o(`shown`),o(`update:modelValue`,!0),h(),a.autoFocus&&c.value&&c.value.querySelector(`input:not([type="hidden"]), select, textarea`)?.focus()},C=()=>{o(`hide`)},w=()=>{u.value=!1,o(`hidden`),o(`update:modelValue`,!1),g(),d&&typeof d.focus==`function`&&d.focus(),d=null};function T(){v||!c.value||(c.value.addEventListener(`show.bs.modal`,x),c.value.addEventListener(`shown.bs.modal`,S),c.value.addEventListener(`hide.bs.modal`,C),c.value.addEventListener(`hidden.bs.modal`,w),c.value.addEventListener(`keydown`,m),v=!0)}function E(){!v||!c.value||(c.value.removeEventListener(`show.bs.modal`,x),c.value.removeEventListener(`shown.bs.modal`,S),c.value.removeEventListener(`hide.bs.modal`,C),c.value.removeEventListener(`hidden.bs.modal`,w),c.value.removeEventListener(`keydown`,m),v=!1)}let D=async()=>{if(c.value&&!_){_=!0;try{l.value&&=(E(),l.value.dispose(),null);let e=await import(`bootstrap`);if(!c.value||y)return;let t=e.Modal;l.value=new t(c.value,{backdrop:a.staticBackdrop?`static`:!0,keyboard:!a.staticBackdrop,focus:!0}),T(),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{_=!1}}};(0,t.onMounted)(D),(0,t.onBeforeUnmount)(()=>{y=!0,g(),E(),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,D);let O=()=>l.value?.show(),k=()=>l.value?.hide();return Ze(()=>{u.value&&k()}),n({show:O,hide:k,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)(b.value)},[(0,t.createElementVNode)(`div`,$e,[e.hideHeader?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,B,[(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,et),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn-close`,"aria-label":`Close`,onClick:k})])),(0,t.createElementVNode)(`div`,tt,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),e.hideFooter?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,nt,[(0,t.renderSlot)(n.$slots,`footer`,{},()=>[(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-secondary`,onClick:k},`Close`)],!0)]))])],2)],8,Qe)],8,[`to`,`disabled`]))}}),[[`__scopeId`,`data-v-37f40a50`]]),at=[`id`,`aria-labelledby`,`data-bs-backdrop`,`data-bs-scroll`],ot={class:`offcanvas-header`},st=[`id`],ct={class:`offcanvas-body`},lt=c((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 Ze(()=>{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`,ot,[(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,st),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn-close`,"aria-label":`Close`,onClick:w})]),(0,t.createElementVNode)(`div`,ct,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)])],10,at)],8,[`to`,`disabled`]))}}),[[`__scopeId`,`data-v-417d55a1`]]),ut={key:0,class:`toast-header`},dt={class:`me-auto`},ft={class:`toast-body`},pt={key:0,class:`toast-header`},mt={class:`me-auto`},ht={class:`toast-body`},gt=(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();n({show:x,hide:S,_unsafe_bsInstance:l});let C=(0,t.computed)(()=>({id:s.value,class:d.value,role:`alert`,"aria-live":`assertive`,"aria-atomic":`true`,"data-bs-autohide":a.autohide,"data-bs-delay":a.delay}));return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:e.teleport===!0?`body`:e.teleport||void 0,disabled:e.noContainer||!e.teleport},[e.noContainer?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,(0,t.mergeProps)({key:1,ref_key:`toastRef`,ref:c},C.value),[e.title||n.$slots.header?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,pt,[(0,t.renderSlot)(n.$slots,`header`,{},()=>[(0,t.createElementVNode)(`strong`,mt,(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`,ht,[(0,t.renderSlot)(n.$slots,`default`)])],16)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)(f.value),style:{"z-index":`1090`}},[(0,t.createElementVNode)(`div`,(0,t.mergeProps)({ref_key:`toastRef`,ref:c},C.value),[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`)])],16)],2))],8,[`to`,`disabled`]))}}),V=(0,t.reactive)({toasts:[]}),_t=new Map,vt=0,yt=()=>(vt+=1,`vibe-toast-${vt}`),bt=(e,t)=>{let n=t.id??yt(),r=_t.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 _t.set(n,i),V.toasts.push(i),i},xt=e=>{if(!_t.has(e))return!1;_t.delete(e);let t=V.toasts.findIndex(t=>t.id===e);return t!==-1&&V.toasts.splice(t,1),!0},St=()=>{_t.clear(),V.toasts.splice(0,V.toasts.length)};function Ct(){return{get toasts(){return(0,t.readonly)(V.toasts)},show:(e,t={})=>bt(e,t),success:(e,t={})=>bt(e,{...t,variant:`success`}),error:(e,t={})=>bt(e,{...t,variant:`danger`}),warn:(e,t={})=>bt(e,{...t,variant:`warning`}),info:(e,t={})=>bt(e,{...t,variant:`info`}),dismiss:xt,clear:St}}var wt=()=>{St(),vt=0},Tt=V,Et=(0,t.defineComponent)({__name:`VibeToastHost`,props:{defaultPlacement:{type:String,default:`top-end`}},setup(e){let n=e,{dismiss:r}=Ct(),i=(0,t.computed)(()=>{let e=new Map;for(let t of Tt.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=e=>{let t=[`toast-container`,`position-fixed`,`p-3`];return e.includes(`top`)&&t.push(`top-0`),e.includes(`bottom`)&&t.push(`bottom-0`),e.includes(`middle`)&&t.push(`top-50`,`start-50`,`translate-middle`),e.includes(`start`)&&t.push(`start-0`),e.includes(`end`)&&t.push(`end-0`),e.includes(`center`)&&!e.includes(`middle`)&&t.push(`start-50`,`translate-middle-x`),t.join(` `)};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)(a(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)(gt,{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))]))}}),Dt=[`id`,`data-bs-ride`,`data-bs-interval`,`data-bs-keyboard`,`data-bs-pause`,`data-bs-wrap`,`data-bs-touch`],Ot={key:0,class:`carousel-indicators`},kt=[`data-bs-target`,`data-bs-slide-to`,`aria-current`,`aria-label`],At={class:`carousel-inner`},jt=[`data-bs-interval`],Mt=[`src`,`alt`],Nt={key:1,class:`carousel-caption d-none d-md-block`},Pt={key:0},Ft={key:1},It=[`data-bs-target`],Lt=[`data-bs-target`],Rt=(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`,Ot,[((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,kt))),128))])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,At,[((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,Mt)):(0,t.createCommentVNode)(``,!0),e.caption||e.captionText||n.$slots.caption?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Nt,[(0,t.renderSlot)(n.$slots,`caption`,{item:e,index:r},()=>[e.caption?((0,t.openBlock)(),(0,t.createElementBlock)(`h5`,Pt,(0,t.toDisplayString)(e.caption),1)):(0,t.createCommentVNode)(``,!0),e.captionText?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Ft,(0,t.toDisplayString)(e.captionText),1)):(0,t.createCommentVNode)(``,!0)])])):(0,t.createCommentVNode)(``,!0)],10,jt))),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,It),(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,Lt)],64)):(0,t.createCommentVNode)(``,!0)],10,Dt))}}),zt=[`data-bs-placement`,`data-bs-title`,`data-bs-trigger`],Bt=(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,zt))}}),Vt=[`data-bs-placement`,`data-bs-title`,`data-bs-content`,`data-bs-trigger`],Ht=(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,Vt))}}),Ut=(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.");let t={target:i.target,rootMargin:i.rootMargin,method:i.method,smoothScroll:i.smoothScroll};s.value=new e(o.value,t),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`]))}}),Wt=[`aria-hidden`,`aria-label`,`role`],Gt=(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={cursor:`inherit`,userSelect:`none`};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`),e}),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,Wt))}}),Kt=[`--bs-primary`,`--bs-success`,`--bs-danger`,`--bs-warning`,`--bs-info`,`--bs-secondary`,`--bs-dark`,`--bs-light`];function qt(e,t){let n=getComputedStyle(t);return e.map((e,t)=>e.color??n.getPropertyValue(Kt[t%Kt.length]).trim())}function Jt(e,t){let n=getComputedStyle(t);return Array.from({length:e},(e,t)=>n.getPropertyValue(Kt[t%Kt.length]).trim())}function Yt(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 Xt(e,t){return e===null&&t===null?!0:e===null||t===null?!1:e.datasetIndex===t.datasetIndex&&e.pointIndex===t.pointIndex}function Zt(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);Xt(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 Qt=5,$t=4,en=12;function tn(e){return e?{left:50,right:10,top:10,bottom:30}:{left:10,right:10,top:10,bottom:10}}function nn(e,t,n,r,i,a,o,s,c){let l=tn(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<=Qt;t++){let n=l.top+d/Qt*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<=Qt;t++){let n=p+m/Qt*(Qt-t),r=l.top+d/Qt*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),$t,0,Math.PI*2),e.fill()})}}function rn(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 an(e,t,n,r,i,a,o){let s=tn(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))<=en)return{datasetIndex:r,pointIndex:a,value:o,label:n.labels?.[a]??``};return null}var on={class:`vibe-chart`},sn={key:0,class:`vibe-chart-legend vibe-chart-legend--top`},cn={key:1,class:`vibe-chart-legend vibe-chart-legend--bottom`},ln=c((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?qt(n.data.datasets,r.value):[]}let d=null;function f(){if(u(),d=rn(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),nn(t,n.data,o,s,l.value,n.showAxes,n.showGrid,n.smooth,n.fill)}return Yt(r,i,(e,t)=>{o=e,s=t,f()}),(0,t.onMounted)(()=>{u(),d=rn(n.data),r.value&&i.value&&(a=Zt(r.value,i.value,(e,t)=>an(e,t,n.data,o,s,n.showAxes,d)))}),(0,t.watch)(()=>n.data,f),(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`,on,[e.legend===`top`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,sn,[((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`,cn,[((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-d995a6f3`]]),un=5,dn=.2;function fn(e){return e?{left:50,right:10,top:10,bottom:30}:{left:10,right:10,top:10,bottom:10}}function pn(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 mn(e,t,n,r,i,a,o,s){let c=fn(a),l=n-c.left-c.right,u=r-c.top-c.bottom,d=t.labels.length,f=t.datasets.length,p=pn(t,s),m=l/d,h=s?m*(1-dn):m*(1-dn)/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<=un;t++){let n=c.top+u/un*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<=un;t++){let n=p/un*(un-t),r=c.top+u/un*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*dn/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*dn/2+n*h;e.fillRect(a,c.top+u-i,h,i)}}}function hn(e,t,n,r,i,a,o,s){let c=fn(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-dn):p*(1-dn)/f,h=Math.floor((e-c.left)/p);if(h<0||h>=d)return null;let g=c.left+h*p+p*dn/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 gn={class:`vibe-chart`},_n={key:0,class:`vibe-chart-legend vibe-chart-legend--top`},vn={key:1,class:`vibe-chart-legend vibe-chart-legend--bottom`},yn=c((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?qt(n.data.datasets,r.value):[]}let d=1;function f(){if(u(),d=pn(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),mn(t,n.data,o,s,l.value,n.showAxes,n.showGrid,n.stacked)}return Yt(r,i,(e,t)=>{o=e,s=t,f()}),(0,t.onMounted)(()=>{u(),d=pn(n.data,n.stacked),r.value&&i.value&&(a=Zt(r.value,i.value,(e,t)=>hn(e,t,n.data,o,s,n.showAxes,n.stacked,d)))}),(0,t.watch)(()=>n.data,f),(0,t.watch)([()=>n.showAxes,()=>n.showGrid,()=>n.stacked],f),(0,t.onUnmounted)(()=>{a?.()}),(n,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,gn,[e.legend===`top`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,_n,[((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`,vn,[((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-eb3ff4df`]]);function bn(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 xn(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 Sn={class:`vibe-chart`},Cn={key:0,class:`vibe-chart-legend vibe-chart-legend--top`},wn={key:1,class:`vibe-chart-legend vibe-chart-legend--bottom`},Tn=c((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?Jt(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),bn(t,n.data,o,s,l.value)}return Yt(r,i,(e,t)=>{o=e,s=t,d()}),(0,t.onMounted)(()=>{u(),r.value&&i.value&&(a=Zt(r.value,i.value,(e,t)=>xn(e,t,n.data,o,s)))}),(0,t.watch)(()=>n.data,d),(0,t.onUnmounted)(()=>{a?.()}),(n,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Sn,[e.legend===`top`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Cn,[((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`,wn,[((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-bab16cba`]]),En={class:`vibe-datatable`},Dn={class:`row mb-3`},On={key:0,class:`col-md-6 mb-2 mb-md-0`},kn=[`placeholder`],An={key:1,class:`col-md-6`},jn={class:`d-flex justify-content-md-end align-items-center`},Mn=[`value`],Nn=[`aria-sort`,`onClick`],Pn=[`onClick`],Fn=[`data-label`],In={key:0},Ln=[`colspan`],Rn={class:`row`},zn={key:0,class:`col-md-6 mb-2 mb-md-0`},Bn={class:`datatable-info`},Vn={key:1,class:`col-md-6`},Hn={class:`pagination justify-content-md-end mb-0`},Un={key:0,class:`page-item`},Wn={key:1,class:`page-item disabled`},Gn=[`onClick`],Kn={key:2,class:`page-item disabled`},qn={key:3,class:`page-item`},Jn=c((0,t.defineComponent)({__name:`VibeDataTable`,props:(0,t.mergeModels)({items:{type:Array,default:()=>[]},columns:{type:Array,default:()=>[]},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]},clickable:{type:Boolean,default:!1}},{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.ref)(``),u=(0,t.ref)(null),d=(0,t.ref)(``),f=(e,t)=>r.rowKey&&e[r.rowKey]!==void 0?String(e[r.rowKey]):`__row_${x.value-1+t}`,p=!1;(0,t.watch)(l,e=>{u.value!==null&&clearTimeout(u.value),u.value=setTimeout(()=>{p||(d.value=e,i.value=1,u.value=null)},r.searchDebounce)}),(0,t.onBeforeUnmount)(()=>{p=!0,u.value!==null&&(clearTimeout(u.value),u.value=null)});let m=(0,t.computed)(()=>{if(!r.searchable||!d.value)return r.items||[];let e=d.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)}))}),h=(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},g=(0,t.computed)(()=>{if(!r.sortable||!o.value)return m.value;let e=[...m.value],t=o.value;return e.sort((e,n)=>h(e[t],n[t],s.value)),e}),_=(0,t.computed)(()=>{if(!r.paginated)return g.value;let e=(i.value-1)*a.value,t=e+a.value;return g.value.slice(e,t)}),v=(0,t.computed)(()=>r.items.length),y=(0,t.computed)(()=>m.value.length),b=(0,t.computed)(()=>Math.ceil(y.value/Math.max(1,a.value))),x=(0,t.computed)(()=>y.value===0?0:(i.value-1)*a.value+1),S=(0,t.computed)(()=>{let e=i.value*a.value;return Math.min(e,y.value)}),C=(0,t.computed)(()=>(y.value===v.value?r.infoText:r.filteredInfoText).replace(`{start}`,String(x.value)).replace(`{end}`,String(S.value)).replace(`{total}`,String(y.value)).replace(`{totalRows}`,String(v.value))),w=(0,t.computed)(()=>{let e=i.value-2,t=i.value+2,n=[];for(let r=Math.max(1,e);r<=Math.min(b.value,t);r++)n.push(r);return n}),T=(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(` `)}),E=e=>{!r.sortable||e.sortable===!1||(o.value===e.key?s.value=!s.value:(o.value=e.key,s.value=!1))};(0,t.watch)(b,e=>{e>0&&i.value>e&&(i.value=e)});let D=e=>{e<1||e>b.value||(i.value=e)},O=()=>{i.value=1},k=(e,t)=>{c(`row-clicked`,e,x.value-1+t)},ee=(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?`sort-desc`:`sort-asc`):e.set(t,`sort-none`);return e}),j=(0,t.computed)(()=>{let e=new Map;for(let t of r.columns)!r.sortable||t.sortable===!1?e.set(t,void 0):o.value===t.key?e.set(t,s.value?`descending`:`ascending`):e.set(t,`none`);return e}),ne=(0,t.computed)(()=>{let e=new Map;for(let t of r.columns){let n=te(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,te(t.tdStyle));return e});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,En,[(0,t.createElementVNode)(`div`,Dn,[e.searchable?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,On,[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[0]||=e=>l.value=e,type:`search`,class:`form-control`,placeholder:e.searchPlaceholder},null,8,kn),[[t.vModelText,l.value]])])):(0,t.createCommentVNode)(``,!0),e.showPerPage&&e.paginated?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,An,[(0,t.createElementVNode)(`div`,jn,[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,Mn))),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)(T.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)(ne.value.get(n)),"aria-sort":j.value.get(n),onClick:e=>E(n)},[(0,t.createTextVNode)((0,t.toDisplayString)(n.label)+` `,1),e.sortable&&n.sortable!==!1?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:0,class:(0,t.normalizeClass)([`ms-1`,`vibe-sort-icon`,A.value.get(n)]),"aria-hidden":`true`},null,2)):(0,t.createCommentVNode)(``,!0)],14,Nn))),128))])]),(0,t.createElementVNode)(`tbody`,null,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(_.value,(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,{key:f(r,i),style:(0,t.normalizeStyle)(e.clickable?{cursor:`pointer`}:void 0),onClick:e=>k(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)(ee(r,e)),1)],!0)],14,Fn))),128))],12,Pn))),128)),_.value.length===0&&e.showEmpty?((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,In,[(0,t.createElementVNode)(`td`,{colspan:e.columns?.length||1,class:`text-center`},(0,t.toDisplayString)(e.emptyText),9,Ln)])):(0,t.createCommentVNode)(``,!0)])],2)],2),(0,t.createElementVNode)(`div`,Rn,[e.showInfo?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,zn,[(0,t.createElementVNode)(`div`,Bn,(0,t.toDisplayString)(C.value),1)])):(0,t.createCommentVNode)(``,!0),e.paginated&&b.value>1?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Vn,[(0,t.createElementVNode)(`nav`,null,[(0,t.createElementVNode)(`ul`,Hn,[(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`,Un,[(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`,Wn,[...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)(w.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,Gn)],2))),128)),i.value<b.value-3?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,Kn,[...r[9]||=[(0,t.createElementVNode)(`span`,{class:`page-link`},`...`,-1)]])):(0,t.createCommentVNode)(``,!0),i.value<b.value-2?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,qn,[(0,t.createElementVNode)(`button`,{type:`button`,class:`page-link`,onClick:r[4]||=e=>D(b.value)},(0,t.toDisplayString)(b.value),1)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`li`,{class:(0,t.normalizeClass)([`page-item`,{disabled:i.value===b.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-fd417a3a`]]),Yn=[`for`],Xn={key:0,class:`text-danger ms-1`,"aria-hidden":`true`},Zn={key:1,class:`text-muted ms-1 small`,"aria-hidden":`true`},Qn={key:2,class:`visually-hidden`},$n={key:1,class:`input-group`},er=[`id`,`type`,`value`,`placeholder`,`disabled`,`readonly`,`required`,`autocomplete`,`inputmode`,`aria-invalid`,`aria-describedby`],tr=[`aria-label`,`aria-pressed`],nr=[`id`,`type`,`value`,`placeholder`,`disabled`,`readonly`,`required`,`autocomplete`,`inputmode`,`aria-invalid`,`aria-describedby`],rr={key:3,"aria-live":`polite`,class:`mt-1`},ir={class:`d-flex gap-1 mb-1`,"aria-hidden":`true`},ar={class:`text-muted`},or=[`id`],sr=[`id`],cr=[`id`],lr=[`id`,`type`,`value`,`placeholder`,`disabled`,`readonly`,`required`,`autocomplete`,`inputmode`,`aria-invalid`,`aria-describedby`],ur=c((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},showToggle:{type:Boolean,default:!1},showPasswordStrength:{type:Boolean,default:!1},autocomplete:{type:String,default:void 0},inputmode:{type:String,default:void 0}},{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)(N,null),s=(0,t.ref)(!1),c=(0,t.computed)(()=>i.type===`password`&&i.showToggle&&s.value?`text`:i.type);function l(e){let t=0;return e.length>=8&&t++,e.length>=12&&t++,/[a-z]/.test(e)&&t++,/[A-Z]/.test(e)&&t++,/\d/.test(e)&&t++,/[^a-zA-Z0-9]/.test(e)&&t++,t<=1?{level:1,label:`Weak`}:t<=2?{level:2,label:`Fair`}:t<=4?{level:3,label:`Good`}:{level:4,label:`Strong`}}let u=(0,t.computed)(()=>l(String(r.value??``))),d=[``,`#dc3545`,`#fd7e14`,`#0d6efd`,`#198754`],f={number:`decimal`,email:`email`,tel:`tel`,url:`url`,search:`search`},p=(0,t.computed)(()=>i.inputmode??f[i.type]),m={email:`email`},h=(0,t.computed)(()=>i.autocomplete??m[i.type]),g=o?.consumeId(),_=L(`input`),v=(0,t.computed)(()=>i.id||g||_),y=(0,t.computed)(()=>`${v.value}-help`),b=(0,t.computed)(()=>`${v.value}-feedback`),x=(0,t.computed)(()=>{let e=[];return i.helpText&&e.push(y.value),i.validationMessage&&e.push(b.value),o?.helpId.value&&e.push(o.helpId.value),o?.feedbackId.value&&e.push(o.feedbackId.value),e.length?[...new Set(e)].join(` `):void 0}),S=(0,t.computed)(()=>!!i.label&&!o?.hasLabel.value),C=(0,t.computed)(()=>!!i.validationState&&!o?.hasValidation.value),w=(0,t.computed)(()=>!!i.helpText&&!o?.hasHelp.value),T=(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(` `)}),E=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`)},D=e=>{a(`change`,e),i.validateOn===`change`&&a(`validate`)},O=e=>{a(`blur`,e),i.validateOn===`blur`&&a(`validate`)},k=e=>{a(`focus`,e)};return(n,i)=>e.noWrapper?((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:1,id:v.value,type:e.type,class:(0,t.normalizeClass)(T.value),value:r.value,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly||e.plaintext,required:e.required,autocomplete:h.value,inputmode:p.value,"aria-invalid":e.validationState===`invalid`,"aria-describedby":x.value,onInput:E,onChange:D,onBlur:O,onFocus:k},null,42,lr)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)({"mb-3":S.value||w.value||C.value})},[S.value?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:v.value,class:`form-label`},[(0,t.createTextVNode)((0,t.toDisplayString)(e.label)+` `,1),e.required?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Xn,`*`)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Zn,`(optional)`)),e.required?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Qn,`required`)):(0,t.createCommentVNode)(``,!0)],8,Yn)):(0,t.createCommentVNode)(``,!0),e.showToggle&&e.type===`password`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$n,[(0,t.createElementVNode)(`input`,{id:v.value,type:c.value,class:(0,t.normalizeClass)(T.value),value:r.value,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly||e.plaintext,required:e.required,autocomplete:h.value,inputmode:p.value,"aria-invalid":e.validationState===`invalid`,"aria-describedby":x.value,onInput:E,onChange:D,onBlur:O,onFocus:k},null,42,er),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-outline-secondary`,"aria-label":s.value?`Hide password`:`Show password`,"aria-pressed":s.value,onClick:i[0]||=e=>s.value=!s.value},[(0,t.createElementVNode)(`i`,{class:(0,t.normalizeClass)(s.value?`bi bi-eye-slash`:`bi bi-eye`),"aria-hidden":`true`},null,2)],8,tr)])):((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:2,id:v.value,type:e.type,class:(0,t.normalizeClass)(T.value),value:r.value,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly||e.plaintext,required:e.required,autocomplete:h.value,inputmode:p.value,"aria-invalid":e.validationState===`invalid`,"aria-describedby":x.value,onInput:E,onChange:D,onBlur:O,onFocus:k},null,42,nr)),e.showPasswordStrength&&e.type===`password`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,rr,[(0,t.createElementVNode)(`div`,ir,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(4,e=>(0,t.createElementVNode)(`div`,{key:e,class:`flex-fill rounded`,style:(0,t.normalizeStyle)([{height:`4px`},{backgroundColor:e<=u.value.level?d[u.value.level]:`var(--bs-border-color)`}])},null,4)),64))]),(0,t.createElementVNode)(`small`,ar,`Password strength: `+(0,t.toDisplayString)(u.value.label),1)])):(0,t.createCommentVNode)(``,!0),w.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:4,id:y.value,class:`form-text`},(0,t.toDisplayString)(e.helpText),9,or)):(0,t.createCommentVNode)(``,!0),C.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:5},[e.validationState===`valid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,id:b.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:b.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))}}),[[`__scopeId`,`data-v-d9ebcf8c`]]),dr=[`for`],fr={key:0,class:`text-danger`},pr=[`id`,`value`,`multiple`,`size`,`disabled`,`required`,`aria-invalid`,`aria-describedby`],mr={key:0,value:``,disabled:``,selected:``},hr=[`value`,`disabled`],gr=[`id`],_r=[`id`],vr=[`id`],yr=``,br=`vi:`,xr=(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=>`${br}${e}`,i=e=>{if(!e.startsWith(br))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)(N,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):yr}).filter(e=>e!==yr);let e=a(s.options,o.value);return e>=0?r(e):yr}),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`,fr,`*`)):(0,t.createCommentVNode)(``,!0)],8,dr)):(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`,mr,(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,hr))),128))])],42,pr),_.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${f.value}-help`,class:`form-text`},(0,t.toDisplayString)(e.helpText),9,gr)):(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,_r)):(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,vr)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),Sr=[`for`],Cr={key:0,class:`text-danger`},wr=[`id`,`value`,`placeholder`,`rows`,`maxlength`,`disabled`,`readonly`,`required`,`aria-invalid`,`aria-describedby`],Tr=[`id`],Er={key:0,class:`ms-auto`},Dr=[`id`],Or=[`id`],kr=(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)(N,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`,Cr,`*`)):(0,t.createCommentVNode)(``,!0)],8,Sr)):(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,wr),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`,Er,[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,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,Dr)):(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,Or)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),Ar=[`for`],jr={key:0,class:`text-danger`},Mr=[`disabled`],Nr=[`id`,`value`,`disabled`,`readonly`,`required`,`min`,`max`,`step`,`aria-invalid`,`aria-describedby`],Pr=[`disabled`],Fr=[`id`],Ir=[`id`],Lr=[`id`],Rr=c((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)(N,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`)},D=()=>{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`,jr,`*`)):(0,t.createCommentVNode)(``,!0)],8,Ar)):(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:D,"aria-label":`Decrement`},[...r[0]||=[(0,t.createElementVNode)(`span`,{"aria-hidden":`true`},`−`,-1)]],8,Mr),(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,Nr),(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,Pr)],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,Fr)):(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,Ir)):(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,Lr)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-9dd7f0b5`]]),zr=[`for`],Br={key:0,class:`text-danger`},Vr=[`id`,`type`,`value`,`disabled`,`readonly`,`required`,`min`,`max`,`aria-invalid`,`aria-describedby`],Hr=[`id`],Ur=[`id`],Wr=[`id`],Gr=(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)(N,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`,Br,`*`)):(0,t.createCommentVNode)(``,!0)],8,zr)):(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,Vr),m.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:u.value,class:`form-text`},(0,t.toDisplayString)(e.helpText),9,Hr)):(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,Ur)):(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,Wr)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),Kr={class:`vibe-file-input`},qr=[`for`],Jr={class:`mb-0`},Yr=[`id`,`multiple`,`accept`,`disabled`],Xr={key:2,class:`form-text`},Zr=c((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`,Kr,[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:s.value,class:`form-label`},(0,t.toDisplayString)(e.label),9,qr)):(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`,Jr,(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,Yr),e.helpText?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Xr,(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`],$r=[`aria-valuemin`,`aria-valuemax`,`aria-valuenow`,`aria-disabled`],ei=c((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`,A),window.addEventListener(`pointerup`,j))},D=e=>T(0,e),O=e=>T(1,e),k=e=>E(0,e),ee=e=>E(1,e),A=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)},j=e=>{o.value===null||e.pointerId!==s||(o.value=null,s=null,window.removeEventListener(`pointermove`,A),window.removeEventListener(`pointerup`,j))};return(0,t.onBeforeUnmount)(()=>{typeof window<`u`&&(window.removeEventListener(`pointermove`,A),window.removeEventListener(`pointerup`,j)),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:D,onPointerdown:k},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:O,onPointerdown:ee},null,44,$r)):(0,t.createCommentVNode)(``,!0)],544)],2))}}),[[`__scopeId`,`data-v-58d4508c`]]),ti={class:`vibe-stepper-header`},ni=[`tabindex`,`aria-disabled`,`onClick`,`onKeydown`],ri={class:`vibe-stepper-marker`},ii={class:`vibe-stepper-label`},ai={key:0,class:`vibe-stepper-description`},oi={class:`vibe-stepper-body`},si={class:`vibe-stepper-actions`},ci=[`disabled`],li=c((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`,ti,[((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`,ri,[(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`,ii,[(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`,ai,(0,t.toDisplayString)(r.description),1)):(0,t.createCommentVNode)(``,!0)])],42,ni))),128))]),(0,t.createElementVNode)(`div`,oi,[(0,t.renderSlot)(n.$slots,`step`,{index:e.modelValue,step:g.value},void 0,!0)]),(0,t.createElementVNode)(`div`,si,[(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,ci),(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`]]),ui=[`for`],di=[`id`,`value`,`placeholder`,`disabled`,`aria-expanded`,`aria-controls`,`aria-activedescendant`],fi=[`id`],pi=[`id`,`aria-selected`,`onMouseenter`,`onClick`],mi={key:2,class:`vibe-autocomplete-empty`},hi=c((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=!1,g=e=>r.itemText?r.itemText(e):(typeof e!=`string`&&!h&&(h=!0,console.warn(`[VibeAutocomplete] Item is an object but no itemText prop was provided — labelOf falls back to String(item) which produces "[object Object]". Pass an itemText function: :itemText="item => item.name"`)),typeof e==`string`?e:String(e)),_=(e,t)=>{let n=t.toLowerCase();return e.filter(e=>g(e).toLowerCase().includes(n)).slice(0,r.maxResults)},v=()=>{if(u.value<0)return null;let e=l.value[u.value];return e===void 0?null:g(e)},y=e=>{if(e===null){u.value=-1;return}u.value=l.value.findIndex(t=>g(t)===e)},b=!1,x=async e=>{let t=v();if(typeof r.source==`function`){m+=1;let t=m;try{let n=await r.source(e);if(t!==m||b)return;l.value=n.slice(0,r.maxResults)}catch{if(t!==m||b)return;l.value=[],d.value=!1;return}}else m+=1,l.value=_(r.source,e);b||(y(t),d.value=!0)},S=()=>{m+=1},C=e=>{if(f.value!==null&&clearTimeout(f.value),r.debounce<=0){x(e);return}f.value=setTimeout(()=>{x(e),f.value=null},r.debounce)},w=e=>{let t=e.target;if(c.value=t.value,i(`update:modelValue`,t.value),t.value.length<r.minChars){S(),l.value=[],d.value=!1;return}C(t.value)},T=()=>{r.disabled||c.value.length>=r.minChars&&x(c.value)},E=()=>{S(),d.value=!1,u.value=-1},D=e=>{c.value=g(e),i(`update:modelValue`,c.value),i(`select`,e),E()},O=e=>{if(!r.disabled)if(e.key===`ArrowDown`){if(e.preventDefault(),!d.value){x(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=Math.max(0,u.value-1)}else e.key===`Enter`?u.value>=0&&l.value[u.value]&&(e.preventDefault(),D(l.value[u.value])):e.key===`Escape`&&(e.preventDefault(),E())},k=e=>{if(!d.value)return;let t=p.value;t&&e.target instanceof Node&&t.contains(e.target)||E()};(0,t.watch)(d,e=>{typeof document>`u`||(e?document.addEventListener(`mousedown`,k):document.removeEventListener(`mousedown`,k))}),(0,t.onBeforeUnmount)(()=>{b=!0,S(),f.value!==null&&clearTimeout(f.value),typeof document<`u`&&document.removeEventListener(`mousedown`,k)});let ee=(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,ui)):(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:w,onFocus:T,onKeydown:O},null,40,di),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:g(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=>D(e)},[(0,t.renderSlot)(n.$slots,`item`,{item:e,index:r,label:g(e)},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(g(e)),1)],!0)],42,pi))),128))],8,fi)):ee.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,mi,[(0,t.renderSlot)(n.$slots,`empty`,{},()=>[r[0]||=(0,t.createTextVNode)(`No results`,-1)],!0)])):(0,t.createCommentVNode)(``,!0)],512))}}),[[`__scopeId`,`data-v-34f733e3`]]),gi=c((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-0d48df5a`]]),H={payload:void 0,group:``,active:!1},_i=!1,vi=()=>{H.payload=void 0,H.group=``,H.active=!1,bi()},yi=()=>{_i||typeof document>`u`||(_i=!0,document.addEventListener(`dragend`,vi),document.addEventListener(`drop`,vi))},bi=()=>{!_i||typeof document>`u`||(_i=!1,document.removeEventListener(`dragend`,vi),document.removeEventListener(`drop`,vi))},xi=(e,t)=>{typeof window>`u`||(H.payload=e,H.group=t,H.active=!0,yi())},Si=()=>{typeof window>`u`||(H.payload=void 0,H.group=``,H.active=!1,bi())},Ci=()=>H.active?{payload:H.payload,group:H.group}:null,wi=c((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,xi(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,Si(),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`]]),Ti=c((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=()=>Ci(),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`]]),Ei=[`data-handle`,`onPointerdown`],Di=c((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,Ei))),128))],6))}}),[[`__scopeId`,`data-v-6582c06b`]]),Oi=[`for`],ki=[`id`,`value`,`placeholder`,`disabled`,`aria-expanded`],Ai=[`aria-label`],ji={class:`vibe-datepicker-header`},Mi={class:`vibe-datepicker-title`},Ni={class:`vibe-datepicker-weekdays`},Pi={class:`vibe-datepicker-grid`},Fi=[`data-iso`,`disabled`,`onClick`],Ii=c((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):``}),D=()=>{i.disabled||(f.value=!f.value,f.value?a(`open`):a(`close`))},O=()=>{f.value&&(f.value=!1,a(`close`))},k=()=>{h.value===0?(h.value=11,--m.value):--h.value},ee=()=>{h.value===11?(h.value=0,m.value+=1):h.value+=1},A=e=>{if(e.disabled)return;if(!i.range){a(`update:modelValue`,e.iso),O();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]),O())},j=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(` `)},te=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 te(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 te(l(t))},M=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 te(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 te(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&&A(n);break}case`Escape`:e.preventDefault(),O();break}},ie=e=>{if(!f.value)return;let t=_.value;t&&e.target instanceof Node&&t.contains(e.target)||O()};return(0,t.watch)(f,e=>{typeof document>`u`||(e?(g.value=y.value||l(p()),document.addEventListener(`mousedown`,ie)):(g.value=null,document.removeEventListener(`mousedown`,ie)))}),(0,t.onBeforeUnmount)(()=>{typeof document<`u`&&document.removeEventListener(`mousedown`,ie)}),n({open:()=>{f.value||D()},close:O}),(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,Oi)):(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:D},null,8,ki),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:M},[(0,t.createElementVNode)(`div`,ji,[(0,t.createElementVNode)(`button`,{type:`button`,class:`vibe-datepicker-nav`,"aria-label":`Previous month`,"data-prev-month":``,onClick:k},`‹`),(0,t.createElementVNode)(`span`,Mi,(0,t.toDisplayString)(w.value),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`vibe-datepicker-nav`,"aria-label":`Next month`,"data-next-month":``,onClick:ee},`›`)]),(0,t.createElementVNode)(`div`,Ni,[((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`,Pi,[((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)(j(e)),"data-iso":e.iso,disabled:e.disabled,onClick:t=>A(e)},(0,t.toDisplayString)(e.day),11,Fi))),128))])],40,Ai)):(0,t.createCommentVNode)(``,!0)],512))}}),[[`__scopeId`,`data-v-0a5b8fa4`]]),Li=[`id`,`checked`,`disabled`,`required`,`aria-invalid`,`aria-describedby`],Ri=[`for`],zi={key:0,class:`text-danger`},Bi=[`id`],Vi=[`id`],Hi=[`id`],Ui=(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)(N,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;Array.isArray(r.value)?(n=[...r.value],t.checked?n.push(i.value):n=n.filter(e=>e!==i.value)):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,Li),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`,zi,`*`)):(0,t.createCommentVNode)(``,!0)],8,Ri)):(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,Bi)):(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,Vi)):(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,Hi)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),Wi=[`id`,`name`,`value`,`checked`,`disabled`,`required`,`aria-invalid`,`aria-describedby`],Gi=[`for`],Ki={key:0,class:`text-danger`},qi=[`id`],Ji=[`id`],Yi=[`id`],Xi=(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)(N,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,Wi),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`,Ki,`*`)):(0,t.createCommentVNode)(``,!0)],8,Gi)):(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,qi)):(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,Ji)):(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,Yi)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),Zi=[`id`,`checked`,`disabled`,`required`,`aria-invalid`,`aria-describedby`],Qi=[`for`],$i={key:0,class:`text-danger`},ea=[`id`],ta=[`id`],na=[`id`],ra=(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)(N,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,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`,$i,`*`)):(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,ea)):(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,ta)):(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,na)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),ia=[`for`],aa={key:0,class:`text-danger ms-1`,"aria-hidden":`true`},oa={key:1,class:`text-muted ms-1 small`,"aria-hidden":`true`},sa={key:2,class:`visually-hidden`},ca=[`id`],la=[`id`],ua=[`id`],da=[`for`],fa={key:0,class:`text-danger ms-1`,"aria-hidden":`true`},pa={key:1,class:`text-muted ms-1 small`,"aria-hidden":`true`},ma={key:2,class:`visually-hidden`},ha=[`id`],ga=[`id`],_a=[`id`],va=(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)(N,{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),helpId:(0,t.computed)(()=>n.helpText?u.value:null),feedbackId:(0,t.computed)(()=>n.validationState?l.value:null)});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`,aa,`*`)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,oa,`(optional)`)),e.required?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,sa,`required`)):(0,t.createCommentVNode)(``,!0)],10,ia)):(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,ca)):(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,la)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,id:l.value,class:`invalid-feedback`,role:`alert`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please provide a valid value.`),9,ua)):(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`,fa,`*`)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,pa,`(optional)`)),e.required?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ma,`required`)):(0,t.createCommentVNode)(``,!0)],10,da)):(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,ha)):(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,ga)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:3,id:l.value,class:`invalid-feedback`,role:`alert`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please provide a valid value.`),9,_a)):(0,t.createCommentVNode)(``,!0)],64))],2))}}),ya={key:0,role:`alert`,"aria-live":`polite`,class:`alert alert-danger`},ba={class:`mb-0`},xa=[`href`,`onClick`],Sa=(0,t.defineComponent)({__name:`VibeFormErrorSummary`,props:{errors:{type:Object,required:!0}},emits:[`focus`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>Object.entries(r.errors).filter(([,e])=>e));return(e,n)=>a.value.length?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ya,[n[0]||=(0,t.createElementVNode)(`strong`,null,`Please fix the following:`,-1),(0,t.createElementVNode)(`ul`,ba,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a.value,([e,n])=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:e},[(0,t.createElementVNode)(`a`,{href:`#field-${e}`,onClick:(0,t.withModifiers)(t=>i(`focus`,e),[`prevent`])},(0,t.toDisplayString)(n),9,xa)]))),128))])])):(0,t.createCommentVNode)(``,!0)}}),Ca={sm:576,md:768,lg:992,xl:1200,xxl:1400};function wa(){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: ${Ca.sm}px)`),md:window.matchMedia(`(min-width: ${Ca.md}px)`),lg:window.matchMedia(`(min-width: ${Ca.lg}px)`),xl:window.matchMedia(`(min-width: ${Ca.xl}px)`),xxl:window.matchMedia(`(min-width: ${Ca.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 Ta=i({default:()=>Vo});function Ea(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 Da(e){if(Array.isArray(e))return e}function Oa(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 ka(){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 Aa(e,t){return Da(e)||Oa(e,t)||ja(e,t)||ka()}function ja(e,t){if(e){if(typeof e==`string`)return Ea(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)?Ea(e,t):void 0}}function U(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 Ga(e,t,r)}}function Ma(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return Ka(e,n)}}function W(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:$a;if(za&&za(e,null),!Qa(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(Ba(t)||(t[r]=e),i=e)}e[i]=!0}return e}function Na(e){for(let t=0;t<e.length;t++)J(e,t)||(e[t]=null);return e}function G(e){let t=Ua(null);for(let r of Ra(e)){var n=Aa(r,2);let i=n[0],a=n[1];J(e,i)&&(Qa(a)?t[i]=Na(a):a&&typeof a==`object`&&a.constructor===Object?t[i]=G(a):t[i]=a)}return t}function Pa(e){switch(typeof e){case`string`:return e;case`number`:return ao(e);case`boolean`:return oo(e);case`bigint`:return so?so(e):`0`;case`symbol`:return co?co(e):`Symbol()`;case`undefined`:return lo(e);case`function`:case`object`:{if(e===null)return lo(e);let t=e,n=Fa(t,`toString`);if(typeof n==`function`){let e=n(t);return typeof e==`string`?e:lo(e)}return lo(e)}default:return lo(e)}}function Fa(e,t){for(;e!==null;){let n=Ha(e,t);if(n){if(n.get)return U(n.get);if(typeof n.value==`function`)return U(n.value)}e=Va(e)}function n(){return null}return n}function Ia(e){try{return Y(e,``),!0}catch{return!1}}function La(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Lo(),t=e=>La(e);if(t.version=`3.4.11`,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=Fa(d,`cloneNode`),p=Fa(d,`remove`),m=Fa(d,`nextSibling`),h=Fa(d,`childNodes`),g=Fa(d,`parentNode`),_=Fa(d,`shadowRoot`),v=Fa(d,`attributes`),y=o&&o.prototype?Fa(o.prototype,`nodeType`):null,b=o&&o.prototype?Fa(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,w=!1,T=0,E=function(){if(T>0)throw uo(`A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.`)},D=function(e){E(),T++;try{return x.createHTML(e)}finally{T--}},O=function(e){E(),T++;try{return x.createScriptURL(e)}finally{T--}},k=function(){return w||=(C=Ro(u,i),!0),C},ee=n,A=ee.implementation,j=ee.createNodeIterator,te=ee.createDocumentFragment,ne=ee.getElementsByTagName,re=r.importNode,M=zo();t.isSupported=typeof Ra==`function`&&typeof g==`function`&&A&&A.createHTMLDocument!==void 0;let ie=Co,ae=wo,oe=To,se=Eo,ce=Do,le=ko,ue=Ao,N=Mo,de=Oo,P=null,fe=W({},[...fo,...po,...mo,...go,...vo]),F=null,pe=W({},[...yo,...bo,...xo,...So]),I=Object.seal(Ua(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}})),me=null,he=null,ge=Object.seal(Ua(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),_e=!0,ve=!0,ye=!1,be=!0,xe=!1,Se=!0,Ce=!1,we=!1,Te=null,Ee=null,De=!1,Oe=!1,ke=!1,Ae=!1,je=!0,Me=!1,Ne=`user-content-`,Pe=!0,Fe=!1,L={},R=null,Ie=W({},`annotation-xml.audio.colgroup.desc.foreignobject.head.iframe.math.mi.mn.mo.ms.mtext.noembed.noframes.noscript.plaintext.script.selectedcontent.style.svg.template.thead.title.video.xmp`.split(`.`)),Le=null,Re=W({},[`audio`,`video`,`img`,`source`,`image`,`track`]),ze=null,Be=W({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),Ve=`http://www.w3.org/1998/Math/MathML`,He=`http://www.w3.org/2000/svg`,z=`http://www.w3.org/1999/xhtml`,Ue=z,We=!1,Ge=null,Ke=W({},[Ve,He,z],eo),qe=K([`mi`,`mo`,`mn`,`ms`,`mtext`]),Je=W({},qe),Ye=K([`annotation-xml`]),Xe=W({},Ye),Ze=W({},[`title`,`style`,`font`,`a`,`script`]),Qe=null,$e=[`application/xhtml+xml`,`text/html`],B=null,et=null,tt=n.createElement(`form`),nt=function(e){return e instanceof RegExp||e instanceof Function},rt=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(et&&et===e)return;(!e||typeof e!=`object`)&&(e={}),e=G(e),Qe=$e.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,B=Qe===`application/xhtml+xml`?eo:$a,P=Bo(e,`ALLOWED_TAGS`,fe,{transform:B}),F=Bo(e,`ALLOWED_ATTR`,pe,{transform:B}),Ge=Bo(e,`ALLOWED_NAMESPACES`,Ke,{transform:eo}),ze=Bo(e,`ADD_URI_SAFE_ATTR`,Be,{transform:B,base:Be}),Le=Bo(e,`ADD_DATA_URI_TAGS`,Re,{transform:B,base:Re}),R=Bo(e,`FORBID_CONTENTS`,Ie,{transform:B}),me=Bo(e,`FORBID_TAGS`,G({}),{transform:B}),he=Bo(e,`FORBID_ATTR`,G({}),{transform:B}),L=J(e,`USE_PROFILES`)?e.USE_PROFILES&&typeof e.USE_PROFILES==`object`?G(e.USE_PROFILES):e.USE_PROFILES:!1,_e=e.ALLOW_ARIA_ATTR!==!1,ve=e.ALLOW_DATA_ATTR!==!1,ye=e.ALLOW_UNKNOWN_PROTOCOLS||!1,be=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,xe=e.SAFE_FOR_TEMPLATES||!1,Se=e.SAFE_FOR_XML!==!1,Ce=e.WHOLE_DOCUMENT||!1,Oe=e.RETURN_DOM||!1,ke=e.RETURN_DOM_FRAGMENT||!1,Ae=e.RETURN_TRUSTED_TYPE||!1,De=e.FORCE_BODY||!1,je=e.SANITIZE_DOM!==!1,Me=e.SANITIZE_NAMED_PROPS||!1,Pe=e.KEEP_CONTENT!==!1,Fe=e.IN_PLACE||!1,de=Ia(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:Oo,Ue=typeof e.NAMESPACE==`string`?e.NAMESPACE:z,Je=J(e,`MATHML_TEXT_INTEGRATION_POINTS`)&&e.MATHML_TEXT_INTEGRATION_POINTS&&typeof e.MATHML_TEXT_INTEGRATION_POINTS==`object`?G(e.MATHML_TEXT_INTEGRATION_POINTS):W({},qe),Xe=J(e,`HTML_INTEGRATION_POINTS`)&&e.HTML_INTEGRATION_POINTS&&typeof e.HTML_INTEGRATION_POINTS==`object`?G(e.HTML_INTEGRATION_POINTS):W({},Ye);let t=J(e,`CUSTOM_ELEMENT_HANDLING`)&&e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING==`object`?G(e.CUSTOM_ELEMENT_HANDLING):Ua(null);if(I=Ua(null),J(t,`tagNameCheck`)&&nt(t.tagNameCheck)&&(I.tagNameCheck=t.tagNameCheck),J(t,`attributeNameCheck`)&&nt(t.attributeNameCheck)&&(I.attributeNameCheck=t.attributeNameCheck),J(t,`allowCustomizedBuiltInElements`)&&typeof t.allowCustomizedBuiltInElements==`boolean`&&(I.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),q(I),xe&&(ve=!1),ke&&(Oe=!0),L&&(P=W({},vo),F=Ua(null),L.html===!0&&(W(P,fo),W(F,yo)),L.svg===!0&&(W(P,po),W(F,bo),W(F,So)),L.svgFilters===!0&&(W(P,mo),W(F,bo),W(F,So)),L.mathMl===!0&&(W(P,go),W(F,xo),W(F,So))),ge.tagCheck=null,ge.attributeCheck=null,J(e,`ADD_TAGS`)&&(typeof e.ADD_TAGS==`function`?ge.tagCheck=e.ADD_TAGS:Qa(e.ADD_TAGS)&&(P===fe&&(P=G(P)),W(P,e.ADD_TAGS,B))),J(e,`ADD_ATTR`)&&(typeof e.ADD_ATTR==`function`?ge.attributeCheck=e.ADD_ATTR:Qa(e.ADD_ATTR)&&(F===pe&&(F=G(F)),W(F,e.ADD_ATTR,B))),J(e,`ADD_URI_SAFE_ATTR`)&&Qa(e.ADD_URI_SAFE_ATTR)&&W(ze,e.ADD_URI_SAFE_ATTR,B),J(e,`FORBID_CONTENTS`)&&Qa(e.FORBID_CONTENTS)&&(R===Ie&&(R=G(R)),W(R,e.FORBID_CONTENTS,B)),J(e,`ADD_FORBID_CONTENTS`)&&Qa(e.ADD_FORBID_CONTENTS)&&(R===Ie&&(R=G(R)),W(R,e.ADD_FORBID_CONTENTS,B)),Pe&&(P[`#text`]=!0),Ce&&W(P,[`html`,`head`,`body`]),P.table&&(W(P,[`tbody`]),delete me.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw uo(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw uo(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);let t=x;x=e.TRUSTED_TYPES_POLICY;try{S=D(``)}catch(e){throw x=t,e}}else e.TRUSTED_TYPES_POLICY===null?(x=void 0,S=``):(x===void 0&&(x=k()),x&&typeof S==`string`&&(S=D(``)));K&&K(e),et=e},it=W({},[...po,...mo,...ho]),at=W({},[...go,..._o]),ot=function(e,t,n){return t.namespaceURI===z?e===`svg`:t.namespaceURI===Ve?e===`svg`&&(n===`annotation-xml`||Je[n]):!!it[e]},st=function(e,t,n){return t.namespaceURI===z?e===`math`:t.namespaceURI===He?e===`math`&&Xe[n]:!!at[e]},ct=function(e,t,n){return t.namespaceURI===He&&!Xe[n]||t.namespaceURI===Ve&&!Je[n]?!1:!at[e]&&(Ze[e]||!it[e])},lt=function(e){let t=g(e);(!t||!t.tagName)&&(t={namespaceURI:Ue,tagName:`template`});let n=$a(e.tagName),r=$a(t.tagName);return Ge[e.namespaceURI]?e.namespaceURI===He?ot(n,t,r):e.namespaceURI===Ve?st(n,t,r):e.namespaceURI===z?ct(n,t,r):!!(Qe===`application/xhtml+xml`&&Ge[e.namespaceURI]):!1},ut=function(e){Xa(t.removed,{element:e});try{g(e).removeChild(e)}catch{if(p(e),!g(e))throw uo(`a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place`)}},dt=function(e){let t=h(e);if(t){let e=[];qa(t,t=>{Xa(e,t)}),qa(e,e=>{try{p(e)}catch{}})}let n=v(e);if(n)for(let t=n.length-1;t>=0;--t){let r=n[t],i=r&&r.name;if(typeof i==`string`)try{e.removeAttribute(i)}catch{}}},ft=function(e,n){try{Xa(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{Xa(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(Oe||ke)try{ut(n)}catch{}else try{n.setAttribute(e,``)}catch{}},pt=function(e){let t=v(e);if(t)for(let n=t.length-1;n>=0;--n){let r=t[n],i=r&&r.name;if(!(typeof i!=`string`||F[B(i)]))try{e.removeAttribute(i)}catch{}}},mt=function(e){let t=[e];for(;t.length>0;){let e=t.pop();(y?y(e):e.nodeType)===X.element&&pt(e);let n=h(e);if(n)for(let e=n.length-1;e>=0;--e)t.push(n[e])}},ht=function(e){let t=null,r=null;if(De)e=`<remove></remove>`+e;else{let t=to(e,/^[\r\n\t ]+/);r=t&&t[0]}Qe===`application/xhtml+xml`&&Ue===z&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=x?D(e):e;if(Ue===z)try{t=new l().parseFromString(i,Qe)}catch{}if(!t||!t.documentElement){t=A.createDocument(Ue,`template`,null);try{t.documentElement.innerHTML=We?S:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),Ue===z?ne.call(t,Ce?`html`:`body`)[0]:Ce?t.documentElement:a},gt=function(e){return j.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},V=function(e){return e=no(e,ie,` `),e=no(e,ae,` `),e=no(e,oe,` `),e},_t=function(e){e.normalize();let t=j.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;)n.data=V(n.data),n=t.nextNode();let r=e.querySelectorAll?.call(e,`template`);r&&qa(r,e=>{yt(e.content)&&_t(e.content)})},vt=function(e){let t=b?b(e):null;return typeof t!=`string`||B(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)},yt=function(e){if(!y||typeof e!=`object`||!e)return!1;try{return y(e)===X.documentFragment}catch{return!1}},bt=function(e){if(!y||typeof e!=`object`||!e)return!1;try{return typeof y(e)==`number`}catch{return!1}};function xt(e,n,r){e.length!==0&&qa(e,e=>{e.call(t,n,r,et)})}let St=function(e,t){return!!(Se&&e.hasChildNodes()&&!bt(e.firstElementChild)&&Y(No,e.textContent)&&Y(No,e.innerHTML)||Se&&e.namespaceURI===z&&t===`style`&&bt(e.firstElementChild)||e.nodeType===X.processingInstruction||Se&&e.nodeType===X.comment&&Y(Po,e.data))},Ct=function(e,t){if(!me[t]&&Dt(t)&&(I.tagNameCheck instanceof RegExp&&Y(I.tagNameCheck,t)||I.tagNameCheck instanceof Function&&I.tagNameCheck(t)))return!1;if(Pe&&!R[t]){let t=g(e),n=h(e);if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=Fe?n[i]:f(n[i],!0);t.insertBefore(r,m(e))}}}return ut(e),!0},wt=function(e){if(xt(M.beforeSanitizeElements,e,null),vt(e))return ut(e),!0;let n=B(b?b(e):e.nodeName);if(xt(M.uponSanitizeElement,e,{tagName:n,allowedTags:P}),St(e,n))return ut(e),!0;if(me[n]||!(ge.tagCheck instanceof Function&&ge.tagCheck(n))&&!P[n])return Ct(e,n);if((y?y(e):e.nodeType)===X.element&&!lt(e)||(n===`noscript`||n===`noembed`||n===`noframes`)&&Y(Fo,e.innerHTML))return ut(e),!0;if(xe&&e.nodeType===X.text){let n=V(e.textContent);e.textContent!==n&&(Xa(t.removed,{element:e.cloneNode()}),e.textContent=n)}return xt(M.afterSanitizeElements,e,null),!1},Tt=function(e,t,r){if(he[t]||je&&(t===`id`||t===`name`)&&(r in n||r in tt))return!1;let i=F[t]||ge.attributeCheck instanceof Function&&ge.attributeCheck(t,e);if(!(ve&&Y(se,t))&&!(_e&&Y(ce,t))){if(!i){if(!(Dt(e)&&(I.tagNameCheck instanceof RegExp&&Y(I.tagNameCheck,e)||I.tagNameCheck instanceof Function&&I.tagNameCheck(e))&&(I.attributeNameCheck instanceof RegExp&&Y(I.attributeNameCheck,t)||I.attributeNameCheck instanceof Function&&I.attributeNameCheck(t,e))||t===`is`&&I.allowCustomizedBuiltInElements&&(I.tagNameCheck instanceof RegExp&&Y(I.tagNameCheck,r)||I.tagNameCheck instanceof Function&&I.tagNameCheck(r))))return!1}else if(!ze[t]&&!Y(de,no(r,ue,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&ro(r,`data:`)===0&&Le[e])&&!(ye&&!Y(le,no(r,ue,``)))&&r)return!1}return!0},Et=W({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]),Dt=function(e){return!Et[$a(e)]&&Y(N,e)},Ot=function(e,t,n,r){if(x&&typeof u==`object`&&typeof u.getAttributeType==`function`&&!n)switch(u.getAttributeType(e,t)){case`TrustedHTML`:return D(r);case`TrustedScriptURL`:return O(r)}return r},kt=function(e,n,r,i){try{r?e.setAttributeNS(r,n,i):e.setAttribute(n,i),vt(e)?ut(e):Ya(t.removed)}catch{ft(n,e)}},At=function(e){xt(M.beforeSanitizeAttributes,e,null);let t=e.attributes;if(!t||vt(e))return;let n={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:F,forceKeepAttr:void 0},r=t.length,i=B(e.nodeName);for(;r--;){let a=t[r],o=a.name,s=a.namespaceURI,c=a.value,l=B(o),u=c,d=o===`value`?u:io(u);if(n.attrName=l,n.attrValue=d,n.keepAttr=!0,n.forceKeepAttr=void 0,xt(M.uponSanitizeAttribute,e,n),d=n.attrValue,Me&&(l===`id`||l===`name`)&&ro(d,Ne)!==0&&(ft(o,e),d=Ne+d),Se&&Y(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,d)){ft(o,e);continue}if(l===`attributename`&&to(d,`href`)){ft(o,e);continue}if(!n.forceKeepAttr){if(!n.keepAttr){ft(o,e);continue}if(!be&&Y(Io,d)){ft(o,e);continue}if(xe&&(d=V(d)),!Tt(i,l,d)){ft(o,e);continue}d=Ot(i,l,s,d),d!==u&&kt(e,o,s,d)}}xt(M.afterSanitizeAttributes,e,null)},jt=function(e){let t=null,n=gt(e);for(xt(M.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if(xt(M.uponSanitizeShadowNode,t,null),wt(t),At(t),yt(t.content)&&jt(t.content),(y?y(t):t.nodeType)===X.element){let e=_(t);yt(e)&&(Mt(e),jt(e))}xt(M.afterSanitizeShadowDOM,e,null)},Mt=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let e=t.pop();if(e.shadow){jt(e.shadow);continue}let n=e.node,r=(y?y(n):n.nodeType)===X.element,i=h(n);if(i)for(let e=i.length-1;e>=0;--e)t.push({node:i[e],shadow:null});if(r){let e=b?b(n):null;if(typeof e==`string`&&B(e)===`template`){let e=n.content;yt(e)&&t.push({node:e,shadow:null})}}if(r){let e=_(n);yt(e)&&t.push({node:null,shadow:e},{node:e,shadow:null})}}};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(We=!e,We&&(e=`<!-->`),typeof e!=`string`&&!bt(e)&&(e=Pa(e),typeof e!=`string`))throw uo(`dirty is not a string, aborting`);if(!t.isSupported)return e;we?(P=Te,F=Ee):rt(n),(M.uponSanitizeElement.length>0||M.uponSanitizeAttribute.length>0)&&(P=G(P)),M.uponSanitizeAttribute.length>0&&(F=G(F)),t.removed=[];let c=Fe&&typeof e!=`string`&&bt(e);if(c){let t=b?b(e):e.nodeName;if(typeof t==`string`){let e=B(t);if(!P[e]||me[e])throw uo(`root node is forbidden and cannot be sanitized in-place`)}if(vt(e))throw uo(`root node is clobbered and cannot be sanitized in-place`);try{Mt(e)}catch(t){throw dt(e),t}}else if(bt(e))i=ht(`<!---->`),a=i.ownerDocument.importNode(e,!0),a.nodeType===X.element&&a.nodeName===`BODY`||a.nodeName===`HTML`?i=a:i.appendChild(a),Mt(a);else{if(!Oe&&!xe&&!Ce&&e.indexOf(`<`)===-1)return x&&Ae?D(e):e;if(i=ht(e),!i)return Oe?null:Ae?S:``}i&&De&&ut(i.firstChild);let l=gt(c?e:i);try{for(;o=l.nextNode();)wt(o),At(o),yt(o.content)&&jt(o.content)}catch(t){throw c&&dt(e),t}if(c)return qa(t.removed,e=>{e.element&&mt(e.element)}),xe&&_t(e),e;if(Oe){if(xe&&_t(i),ke)for(s=te.call(i.ownerDocument);i.firstChild;)s.appendChild(i.firstChild);else s=i;return(F.shadowroot||F.shadowrootmode)&&(s=re.call(r,s,!0)),s}let u=Ce?i.outerHTML:i.innerHTML;return Ce&&P[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&Y(jo,i.ownerDocument.doctype.name)&&(u=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
3
+ `+u),xe&&(u=V(u)),x&&Ae?D(u):u},t.setConfig=function(){rt(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}),we=!0,Te=P,Ee=F},t.clearConfig=function(){et=null,we=!1,Te=null,Ee=null,x=C,S=``},t.isValidAttribute=function(e,t,n){return et||rt({}),Tt(B(e),B(t),n)},t.addHook=function(e,t){typeof t==`function`&&J(M,e)&&Xa(M[e],t)},t.removeHook=function(e,t){if(J(M,e)){if(t!==void 0){let n=Ja(M[e],t);return n===-1?void 0:Za(M[e],n,1)[0]}return Ya(M[e])}},t.removeHooks=function(e){J(M,e)&&(M[e]=[])},t.removeAllHooks=function(){M=zo()},t}var Ra,za,Ba,Va,Ha,K,q,Ua,Wa,Ga,Ka,qa,Ja,Ya,Xa,Za,Qa,$a,eo,to,no,ro,io,ao,oo,so,co,J,lo,Y,uo,fo,po,mo,ho,go,_o,vo,yo,bo,xo,So,Co,wo,To,Eo,Do,Oo,ko,Ao,jo,Mo,No,Po,Fo,Io,X,Lo,Ro,zo,Bo,Vo,Ho=r((()=>{Ra=Object.entries,za=Object.setPrototypeOf,Ba=Object.isFrozen,Va=Object.getPrototypeOf,Ha=Object.getOwnPropertyDescriptor,K=Object.freeze,q=Object.seal,Ua=Object.create,Wa=typeof Reflect<`u`&&Reflect,Ga=Wa.apply,Ka=Wa.construct,K||=function(e){return e},q||=function(e){return e},Ga||=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)},Ka||=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)},qa=U(Array.prototype.forEach),Ja=U(Array.prototype.lastIndexOf),Ya=U(Array.prototype.pop),Xa=U(Array.prototype.push),Za=U(Array.prototype.splice),Qa=Array.isArray,$a=U(String.prototype.toLowerCase),eo=U(String.prototype.toString),to=U(String.prototype.match),no=U(String.prototype.replace),ro=U(String.prototype.indexOf),io=U(String.prototype.trim),ao=U(Number.prototype.toString),oo=U(Boolean.prototype.toString),so=typeof BigInt>`u`?null:U(BigInt.prototype.toString),co=typeof Symbol>`u`?null:U(Symbol.prototype.toString),J=U(Object.prototype.hasOwnProperty),lo=U(Object.prototype.toString),Y=U(RegExp.prototype.test),uo=Ma(TypeError),fo=K(`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(`.`)),po=K(`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(`.`)),mo=K([`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`]),ho=K([`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`]),go=K(`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(`.`)),_o=K([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),vo=K([`#text`]),yo=K(`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(`.`)),bo=K(`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(`.`)),xo=K(`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=K([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),Co=q(/{{[\w\W]*|^[\w\W]*}}/g),wo=q(/<%[\w\W]*|^[\w\W]*%>/g),To=q(/\${[\w\W]*/g),Eo=q(/^data-[\-\w.\u00B7-\uFFFF]+$/),Do=q(/^aria-[\-\w]+$/),Oo=q(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ko=q(/^(?:\w+script|data):/i),Ao=q(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),jo=q(/^html$/i),Mo=q(/^[a-z][.\w]*(-[.\w]+)+$/i),No=q(/<[/\w!]/g),Po=q(/<[/\w]/g),Fo=q(/<\/no(script|embed|frames)/i),Io=q(/\/>/i),X={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Lo=function(){return typeof window>`u`?null:window},Ro=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}},zo=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Bo=function(e,t,n,r){return J(e,t)&&Qa(e[t])?W(r.base?G(r.base):{},e[t],r.transform):n},Vo=La()})),Uo={ALLOWED_TAGS:[`p`,`br`,`strong`,`em`,`u`,`s`,`ol`,`ul`,`li`,`h1`,`h2`,`h3`,`a`,`blockquote`,`pre`,`code`],ALLOWED_ATTR:[`href`,`target`,`rel`]},Wo=null,Go=!1;async function Ko(){if(!Go){Go=!0;try{let e=await Promise.resolve().then(()=>(Ho(),Ta)),t=e.default??e;Wo=e=>t.sanitize(e,Uo)}catch{}}}function qo(e){return Wo?Wo(e):e}var Jo=[`for`],Yo={key:0,class:`text-danger`},Xo={key:1,class:`alert alert-warning`,role:`alert`},Zo=[`id`],Qo=[`id`],$o=[`id`],es=c((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)(N,null),s=o?.consumeId(),c=(0,t.computed)(()=>i.id||s||r),l=(0,t.computed)(()=>A(i.height)??`200px`),{isMobile:u}=wa(),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=(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(` `)}),E=[[{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`]]},k=(e,t)=>e===!1?!1:e===!0||e===void 0?t:typeof e==`string`?O[e]??t:e,ee=()=>i.toolbar===!1?!1:u.value?i.mobileToolbar===!1?!1:i.mobileToolbar===void 0?D:k(i.mobileToolbar,D):k(i.toolbar,E),j=e=>{if(!h.value)return;v.value=!0;let t=qo(e||``),n=h.value.clipboard.convert({html:t});h.value.setContents(n,`silent`),v.value=!1},te=()=>!h.value||h.value.getText().trim().length===0?``:qo(h.value.getSemanticHTML()),ne=()=>{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`)},re=async()=>{if(y)return;y=!0,_.value=null;let e=Ko();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:ee()}};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`),ne(),i.modelValue&&j(i.modelValue),w=()=>{v.value||(a(`update:modelValue`,te()),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),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)(re),(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),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&&te()!==(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],ne),(0,t.watch)(u,()=>{h.value&&(x!==null&&clearTimeout(x),x=setTimeout(async()=>{if(x=null,!(b||!h.value))try{let e=te();h.value.scroll?.observer?.disconnect(),h.value.enable(!1),w&&=(h.value.off(`text-change`,w),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 re(),e&&j(e)}catch(e){h.value=null,g.value=!1,a(`component-error`,{message:`Editor failed to reinitialise on mobile breakpoint change.`,componentName:`VibeFormWysiwyg`,originalError: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`,Yo,`*`)):(0,t.createCommentVNode)(``,!0)],8,Jo)):(0,t.createCommentVNode)(``,!0),_.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Xo,(0,t.toDisplayString)(_.value),1)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,class:(0,t.normalizeClass)(T.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,Zo)):(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,Qo)):(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,$o)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-82e0c636`]]),ts={key:0,class:`input-group-text`},ns={key:0,class:`input-group-text`},rs=(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`,ts,(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`,ns,(0,t.toDisplayString)(e.append),1)):(0,t.createCommentVNode)(``,!0)])]),_:3},8,[`class`]))}}),is=(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`]))}}),as=Symbol(`vibeTooltipInstance`),os=Symbol(`vibeTooltipPending`),ss=Symbol(`vibeTooltipOpts`),cs=()=>typeof window<`u`&&(`ontouchstart`in window||typeof navigator<`u`&&navigator.maxTouchPoints>0),ls=e=>typeof e==`string`?{title:e}:e?{...e,title:e.title??e.text??e.content}:{},us=e=>{let t=e||`hover focus`;return cs()&&t===`hover focus`?`click`:t},ds=(e,t)=>(e.placement||`top`)!==(t.placement||`top`)||us(e.trigger)!==us(t.trigger),fs=async(e,t)=>{if(e[os]||e[as])return;e[os]=!0;let n=t;e[ss]=t;try{e[as]=new(await(import(`bootstrap`))).Tooltip(e,{title:t.title||``,placement:t.placement||`top`,trigger:us(t.trigger),html:!1}),e[ss]!==n&&e[as]&&e[as].setContent({".tooltip-inner":e[ss]?.title??``})}catch{}e[os]=!1},ps=e=>{let t=e[as];t&&(t.dispose(),e[as]=null)},ms=(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`,us(t.trigger)),e.removeAttribute(`data-bs-html`)},hs={mounted(e,t){let n=ls(t.value);ms(e,n),fs(e,n)},updated(e,t){let n=ls(t.value);ms(e,n);let r=e[ss]||{},i=e[as];if(e[ss]=n,!e[os]){if(i&&ds(r,n)){ps(e),fs(e,n);return}i&&i.setContent({".tooltip-inner":n.title||``})}},beforeUnmount(e){ps(e)}},gs={install(e){e.component(`VibeAlert`,a),e.component(`VibeBadge`,o),e.component(`VibeButton`,l),e.component(`VibeButtonGroup`,d),e.component(`VibeCloseButton`,p),e.component(`VibeSpinner`,h),e.component(`VibePlaceholder`,g),e.component(`VibeSkeleton`,_),e.component(`VibeContainer`,v),e.component(`VibeRow`,y),e.component(`VibeCol`,b),e.component(`VibeCard`,T),e.component(`VibeHero`,ne),e.component(`VibeBreadcrumb`,ae),e.component(`VibeNav`,ue),e.component(`VibeNavbar`,fe),e.component(`VibeNavbarBrand`,F),e.component(`VibeNavbarToggle`,I),e.component(`VibeNavbarNav`,ye),e.component(`VibePagination`,Te),e.component(`VibeTabContent`,De),e.component(`VibeTabs`,ke),e.component(`VibeTab`,Ae),e.component(`VibeListGroup`,je),e.component(`VibeProgress`,Ne),e.component(`VibeAccordion`,Be),e.component(`VibeCollapse`,Ve),e.component(`VibeDropdown`,Je),e.component(`VibeModal`,it),e.component(`VibeOffcanvas`,lt),e.component(`VibeToast`,gt),e.component(`VibeToastHost`,Et),e.component(`VibeCarousel`,Rt),e.component(`VibeTooltip`,Bt),e.component(`VibePopover`,Ht),e.component(`VibeScrollspy`,Ut),e.component(`VibeIcon`,Gt),e.component(`VibeChartLine`,ln),e.component(`VibeChartBar`,yn),e.component(`VibeChartPie`,Tn),e.component(`VibeDataTable`,Jn),e.component(`VibeFormInput`,ur),e.component(`VibeFormSelect`,xr),e.component(`VibeFormTextarea`,kr),e.component(`VibeFormSpinbutton`,Rr),e.component(`VibeFormDatepicker`,Gr),e.component(`VibeFileInput`,Zr),e.component(`VibeSlider`,ei),e.component(`VibeStepper`,li),e.component(`VibeAutocomplete`,hi),e.component(`VibeSortable`,gi),e.component(`VibeDraggable`,wi),e.component(`VibeDroppable`,Ti),e.component(`VibeResizable`,Di),e.component(`VibeDatePicker`,Ii),e.component(`VibeFormCheckbox`,Ui),e.component(`VibeFormRadio`,Xi),e.component(`VibeFormSwitch`,ra),e.component(`VibeFormGroup`,va),e.component(`VibeFormErrorSummary`,Sa),e.component(`VibeFormWysiwyg`,es),e.component(`VibeInputGroup`,rs),e.component(`VibeLink`,is),e.directive(`vibe-tooltip`,hs)}};function _s(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 vs={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})},ys=e=>JSON.parse(JSON.stringify(e)),bs=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 xs(e){let n=ys(e),r=(0,t.reactive)(ys(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 bs(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 bs(r[e],t);return o[e]=n,l.value=!0,n},reset:()=>{for(let e of Object.keys(n))r[e]=ys(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 Ss=Math.min,Cs=Math.max,ws=Math.round,Ts=Math.floor,Es=e=>({x:e,y:e}),Ds={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Os(e,t,n){return Cs(e,Ss(t,n))}function ks(e,t){return typeof e==`function`?e(t):e}function As(e){return e.split(`-`)[0]}function js(e){return e.split(`-`)[1]}function Ms(e){return e===`x`?`y`:`x`}function Ns(e){return e===`y`?`height`:`width`}function Ps(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Fs(e){return Ms(Ps(e))}function Is(e,t,n){n===void 0&&(n=!1);let r=js(e),i=Fs(e),a=Ns(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Gs(o)),[o,Gs(o)]}function Ls(e){let t=Gs(e);return[Rs(e),t,Rs(t)]}function Rs(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var zs=[`left`,`right`],Bs=[`right`,`left`],Vs=[`top`,`bottom`],Hs=[`bottom`,`top`];function Us(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Bs:zs:t?zs:Bs;case`left`:case`right`:return t?Vs:Hs;default:return[]}}function Ws(e,t,n,r){let i=js(e),a=Us(As(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Rs)))),a}function Gs(e){let t=As(e);return Ds[t]+e.slice(t.length)}function Ks(e){return{top:0,right:0,bottom:0,left:0,...e}}function qs(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Ks(e)}function Js(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 Ys(e,t,n){let{reference:r,floating:i}=e,a=Ps(t),o=Fs(t),s=Ns(o),c=As(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(js(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 Xs(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}=ks(t,e),p=qs(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Js(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=Js(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 Zs=50,Qs=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Xs},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Ys(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<Zs&&(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}=Ys(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},$s=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}=ks(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=As(r),_=Ps(o),v=As(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Gs(o)]:Ls(o)),x=p!==`none`;!d&&x&&b.push(...Ws(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=Is(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`&&_!==Ps(t))||T.every(e=>Ps(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=Ps(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{}}}},ec=new Set([`left`,`top`]);async function tc(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=As(n),s=js(n),c=Ps(n)===`y`,l=ec.has(o)?-1:1,u=a&&c?-1:1,d=ks(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 nc=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 tc(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}}}}},rc=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}=ks(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Ps(As(i)),p=Ms(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=Os(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=Os(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 ic(){return typeof window<`u`}function ac(e){return sc(e)?(e.nodeName||``).toLowerCase():`#document`}function Z(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function oc(e){return((sc(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function sc(e){return ic()?e instanceof Node||e instanceof Z(e).Node:!1}function Q(e){return ic()?e instanceof Element||e instanceof Z(e).Element:!1}function cc(e){return ic()?e instanceof HTMLElement||e instanceof Z(e).HTMLElement:!1}function lc(e){return!ic()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Z(e).ShadowRoot}function uc(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 dc(e){return/^(table|td|th)$/.test(ac(e))}function fc(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var pc=/transform|translate|scale|rotate|perspective|filter/,mc=/paint|layout|strict|content/,hc=e=>!!e&&e!==`none`,gc;function _c(e){let t=Q(e)?$(e):e;return hc(t.transform)||hc(t.translate)||hc(t.scale)||hc(t.rotate)||hc(t.perspective)||!yc()&&(hc(t.backdropFilter)||hc(t.filter))||pc.test(t.willChange||``)||mc.test(t.contain||``)}function vc(e){let t=Sc(e);for(;cc(t)&&!bc(t);){if(_c(t))return t;if(fc(t))return null;t=Sc(t)}return null}function yc(){return gc??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),gc}function bc(e){return/^(html|body|#document)$/.test(ac(e))}function $(e){return Z(e).getComputedStyle(e)}function xc(e){return Q(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Sc(e){if(ac(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||lc(e)&&e.host||oc(e);return lc(t)?t.host:t}function Cc(e){let t=Sc(e);return bc(t)?e.ownerDocument?e.ownerDocument.body:e.body:cc(t)&&uc(t)?t:Cc(t)}function wc(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Cc(e),i=r===e.ownerDocument?.body,a=Z(r);if(i){let e=Tc(a);return t.concat(a,a.visualViewport||[],uc(r)?r:[],e&&n?wc(e):[])}else return t.concat(r,wc(r,[],n))}function Tc(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ec(e){let t=$(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=cc(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=ws(n)!==a||ws(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Dc(e){return Q(e)?e:e.contextElement}function Oc(e){let t=Dc(e);if(!cc(t))return Es(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Ec(t),o=(a?ws(n.width):n.width)/r,s=(a?ws(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var kc=Es(0);function Ac(e){let t=Z(e);return!yc()||!t.visualViewport?kc:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function jc(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Z(e)?!1:t}function Mc(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Dc(e),o=Es(1);t&&(r?Q(r)&&(o=Oc(r)):o=Oc(e));let s=jc(a,n,r)?Ac(a):Es(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=Tc(n);for(;i&&r&&t!==n;){let e=Oc(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=Tc(n)}}return Js({width:u,height:d,x:c,y:l})}function Nc(e,t){let n=xc(e).scrollLeft;return t?t.left+n:Mc(oc(e)).left+n}function Pc(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Nc(e,n),y:n.top+t.scrollTop}}function Fc(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=oc(r),s=t?fc(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Es(1),u=Es(0),d=cc(r);if((d||!d&&!a)&&((ac(r)!==`body`||uc(o))&&(c=xc(r)),d)){let e=Mc(r);l=Oc(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Pc(o,c):Es(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 Ic(e){return Array.from(e.getClientRects())}function Lc(e){let t=oc(e),n=xc(e),r=e.ownerDocument.body,i=Cs(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=Cs(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Nc(e),s=-n.scrollTop;return $(r).direction===`rtl`&&(o+=Cs(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Rc=25;function zc(e,t){let n=Z(e),r=oc(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=yc();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Nc(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<=Rc&&(a-=o)}else l<=Rc&&(a+=l);return{width:a,height:o,x:s,y:c}}function Bc(e,t){let n=Mc(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=cc(e)?Oc(e):Es(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Vc(e,t,n){let r;if(t===`viewport`)r=zc(e,n);else if(t===`document`)r=Lc(oc(e));else if(Q(t))r=Bc(t,n);else{let n=Ac(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Js(r)}function Hc(e,t){let n=Sc(e);return n===t||!Q(n)||bc(n)?!1:$(n).position===`fixed`||Hc(n,t)}function Uc(e,t){let n=t.get(e);if(n)return n;let r=wc(e,[],!1).filter(e=>Q(e)&&ac(e)!==`body`),i=null,a=$(e).position===`fixed`,o=a?Sc(e):e;for(;Q(o)&&!bc(o);){let t=$(o),n=_c(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||uc(o)&&!n&&Hc(e,o))?r=r.filter(e=>e!==o):i=t,o=Sc(o)}return t.set(e,r),r}function Wc(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?fc(t)?[]:Uc(t,this._c):[].concat(n),r],o=Vc(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=Vc(t,a[e],i);s=Cs(n.top,s),c=Ss(n.right,c),l=Ss(n.bottom,l),u=Cs(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Gc(e){let{width:t,height:n}=Ec(e);return{width:t,height:n}}function Kc(e,t,n){let r=cc(t),i=oc(t),a=n===`fixed`,o=Mc(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=Es(0);function l(){c.x=Nc(i)}if(r||!r&&!a)if((ac(t)!==`body`||uc(i))&&(s=xc(t)),r){let e=Mc(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?Pc(i,s):Es(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 qc(e){return $(e).position===`static`}function Jc(e,t){if(!cc(e)||$(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return oc(e)===n&&(n=n.ownerDocument.body),n}function Yc(e,t){let n=Z(e);if(fc(e))return n;if(!cc(e)){let t=Sc(e);for(;t&&!bc(t);){if(Q(t)&&!qc(t))return t;t=Sc(t)}return n}let r=Jc(e,t);for(;r&&dc(r)&&qc(r);)r=Jc(r,t);return r&&bc(r)&&qc(r)&&!_c(r)?n:r||vc(e)||n}var Xc=async function(e){let t=this.getOffsetParent||Yc,n=this.getDimensions,r=await n(e.floating);return{reference:Kc(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Zc(e){return $(e).direction===`rtl`}var Qc={convertOffsetParentRelativeRectToViewportRelativeRect:Fc,getDocumentElement:oc,getClippingRect:Wc,getOffsetParent:Yc,getElementRects:Xc,getClientRects:Ic,getDimensions:Gc,getScale:Oc,isElement:Q,isRTL:Zc};function $c(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function el(e,t){let n=null,r,i=oc(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=Ts(d),h=Ts(i.clientWidth-(u+f)),g=Ts(i.clientHeight-(d+p)),_=Ts(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:Cs(0,Ss(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&&!$c(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 tl(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=Dc(e),u=i||a?[...l?wc(l):[],...t?wc(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?el(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?Mc(e):null;c&&g();function g(){let t=Mc(e);h&&!$c(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 nl=nc,rl=rc,il=$s,al=(e,t,n)=>{let r=new Map,i={platform:Qc,...n},a={...i.platform,_c:r};return Qs(e,t,{...i,platform:a})},ol={"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`},sl=(e,t)=>{let n=`${e} at ${t}`;if(ol[n])return ol[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 cl(e,n,r={}){let i=()=>typeof r==`function`?r():r,a=i(),o=(0,t.ref)(sl(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(nl({mainAxis:r,crossAxis:n}))}let n=e.collision??`flip+shift`;return(n===`flip`||n===`flip+shift`)&&t.push(il()),(n===`shift`||n===`flip+shift`)&&t.push(rl()),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 al(r,t,{placement:sl(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=tl(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 ll=`vibe-color-mode`,ul={light:`dark`,dark:`auto`,auto:`light`},dl=(0,t.ref)(`auto`),fl=!1,pl=[];function ml(){return typeof window>`u`?`light`:window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}function hl(e){if(typeof document>`u`)return;let t=e===`auto`?ml():e;document.documentElement.setAttribute(`data-bs-theme`,t)}function gl(e){dl.value=e,hl(e),pl.forEach(t=>t(e))}var _l=`auto`;try{let e=typeof localStorage<`u`?localStorage.getItem(ll):null;e!==null&&e in ul&&(_l=e)}catch{}var vl=()=>{dl.value===`auto`&&(hl(`auto`),pl.forEach(e=>e(`auto`)))},yl=null;function bl(){typeof window>`u`||(yl=window.matchMedia(`(prefers-color-scheme: dark)`),yl.addEventListener(`change`,vl))}function xl(){yl?.removeEventListener(`change`,vl),yl=null}typeof window<`u`&&(gl(_l),bl(),fl=!0);function Sl(){function e(e){if(e in ul){try{localStorage.setItem(ll,e)}catch{}gl(e)}}function t(){if(fl)return;xl();let e=`auto`;try{let t=typeof localStorage<`u`?localStorage.getItem(ll):null;t!==null&&t in ul&&(e=t)}catch{}gl(e),bl(),fl=!0}function n(){xl();try{localStorage.removeItem(ll)}catch{}gl(`auto`),bl(),fl=!1}function r(){e(ul[dl.value]??`auto`)}function i(e){return pl.push(e),()=>{let t=pl.indexOf(e);t!==-1&&pl.splice(t,1)}}return{colorMode:dl,setColorMode:e,toggleColorMode:r,initColorMode:t,clearColorMode:n,onColorModeChange:i}}var Cl=gs;e.VibeAccordion=Be,e.VibeAlert=a,e.VibeAutocomplete=hi,e.VibeBadge=o,e.VibeBreadcrumb=ae,e.VibeButton=l,e.VibeButtonGroup=d,e.VibeCard=T,e.VibeCarousel=Rt,e.VibeChartBar=yn,e.VibeChartLine=ln,e.VibeChartPie=Tn,e.VibeCloseButton=p,e.VibeCol=b,e.VibeCollapse=Ve,e.VibeContainer=v,e.VibeDataTable=Jn,e.VibeDatePicker=Ii,e.VibeDraggable=wi,e.VibeDropdown=Je,e.VibeDroppable=Ti,e.VibeFileInput=Zr,e.VibeFormCheckbox=Ui,e.VibeFormDatepicker=Gr,e.VibeFormErrorSummary=Sa,e.VibeFormGroup=va,e.VibeFormInput=ur,e.VibeFormRadio=Xi,e.VibeFormSelect=xr,e.VibeFormSpinbutton=Rr,e.VibeFormSwitch=ra,e.VibeFormTextarea=kr,e.VibeFormWysiwyg=es,e.VibeHero=ne,e.VibeIcon=Gt,e.VibeInputGroup=rs,e.VibeLink=is,e.VibeListGroup=je,e.VibeModal=it,e.VibeNav=ue,e.VibeNavbar=fe,e.VibeNavbarBrand=F,e.VibeNavbarNav=ye,e.VibeNavbarToggle=I,e.VibeOffcanvas=lt,e.VibePagination=Te,e.VibePlaceholder=g,e.VibePopover=Ht,e.VibeProgress=Ne,e.VibeResizable=Di,e.VibeRow=y,e.VibeScrollspy=Ut,e.VibeSkeleton=_,e.VibeSlider=ei,e.VibeSortable=gi,e.VibeSpinner=h,e.VibeStepper=li,e.VibeTab=Ae,e.VibeTabContent=De,e.VibeTabs=ke,e.VibeToast=gt,e.VibeToastHost=Et,e.VibeTooltip=Bt,e.default=Cl,e.resetToastStoreForSSR=wt,e.useBackButton=Ze,e.useBreakpoints=wa,e.useColorMode=Sl,e.useForm=xs,e.useFormValidation=_s,e.useId=L,e.usePosition=cl,e.useToast=Ct,e.vTooltip=hs,e.validators=vs});