@velkymx/vibeui 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/VibeFileInput.vue.d.ts +19 -1
- package/dist/vibeui.css +1 -1
- package/dist/vibeui.es.js +1062 -1023
- package/dist/vibeui.umd.js +3 -3
- package/docs/forms/file-input.md +9 -3
- package/package.json +1 -1
package/dist/vibeui.umd.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
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});
|
|
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]+)$/,A=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 j(e){if(e!==void 0)return O.test(e.trim())?e:void 0}function M(e){if(e!==void 0)return k.test(e.trim())?e:void 0}function ee(e){return e?Object.fromEntries(Object.entries(e).filter(([e])=>A.has(e))):{}}var te=(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`),j(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`?M(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=j(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`]))}}),ne=[`aria-label`],N={class:`breadcrumb`},re=[`aria-current`],ie=(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`,N,[((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,re))),128))])],8,ne))}});function ae(e){return e==null?``:typeof e==`string`?e:JSON.stringify(e)}var oe={class:`dropdown-menu`},se={key:0,class:`dropdown-divider`},ce={key:1,class:`dropdown-header`},le=(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)(ae)(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`,oe,[((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`,se)):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)&&_(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`]))}}),P=Symbol(`vibeFormGroup`),ue=Symbol(`vibeNavbarCollapse`),F=Symbol(`vibeTabsContext`),de=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)(ue,{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`]]),I=(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`]))}}),fe=[`aria-controls`,`aria-expanded`,`aria-label`],L=(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)(ue,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,fe))}}),pe={class:`dropdown-menu`},me={key:0},he={key:1},ge={class:`dropdown-header`},_e={key:2},ve=(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`,pe,[((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`,me,[...r[0]||=[(0,t.createElementVNode)(`hr`,{class:`dropdown-divider`},null,-1)]])):a.header?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,he,[(0,t.createElementVNode)(`h6`,ge,(0,t.toDisplayString)(a.text),1)])):((0,t.openBlock)(),(0,t.createElementBlock)(`li`,_e,[((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))}}),ye=[`aria-label`],be=[`disabled`],xe={key:0,class:`page-item disabled`,"aria-hidden":`true`},Se=[`aria-current`,`onClick`],Ce=[`disabled`],we=(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,be)],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`,xe,[...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,Se)],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,Ce)],2)):(0,t.createCommentVNode)(``,!0)],2)],8,ye))}}),Te=[`id`,`aria-labelledby`],Ee=(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,Te))),128))]),_:3},8,[`id`]))}}),De=[`disabled`,`aria-selected`,`onClick`],Oe=(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)(F,{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,De)]))),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))}}),ke=(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)(F,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)}}),Ae=(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`]))}}),je=[`aria-label`,`aria-valuenow`,`aria-valuemax`],Me=(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=j(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,je))),128))],4))}}),Ne=0,Pe=new WeakMap;function R(e=`vibe`){let n=(0,t.getCurrentInstance)();if(!n)return`${e}-${++Ne}`;let r=(Pe.get(n)??0)+1;return Pe.set(n,r),`${e}-${n.uid}-${r}`}var z=[`id`],Fe={class:`accordion-header`},Ie=[`data-bs-target`,`aria-expanded`,`aria-controls`,`onClick`],Le=[`id`,`data-bs-parent`],Re={class:`accordion-body`},ze=(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=R(`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`,Fe,[(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,Ie)]),(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`,Re,[(0,t.renderSlot)(n.$slots,`content`,{item:r,index:i},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(r.content),1)])])],8,Le)]))),128))],10,z))}}),Be=(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=R(`collapse`),i=e,a=n,o=(0,t.inject)(ue,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`]))}}),Ve=[`id`,`data-bs-auto-close`],B=[`id`,`data-bs-auto-close`],He=[`aria-labelledby`],Ue={key:0},We={key:1},Ge={class:`dropdown-header`},Ke={key:2},qe=(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=R(`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,B)],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,Ve)),(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)(ae)(e.to)||i},[e.divider?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,Ue,[...r[1]||=[(0,t.createElementVNode)(`hr`,{class:`dropdown-divider`},null,-1)]])):e.header?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,We,[(0,t.createElementVNode)(`h6`,Ge,[(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`,Ke,[((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,He)],2))}}),Je=[];function Ye(e){if(Je.length>0){e.preventDefault();let t=Je.pop();t&&t.action()}}function Xe(e){let n=Symbol();(0,t.onMounted)(()=>{Je.push({token:n,action:e}),Je.length===1&&typeof document<`u`&&document.addEventListener(`backbutton`,Ye)}),(0,t.onUnmounted)(()=>{let e=Je.findIndex(e=>e.token===n);e!==-1&&Je.splice(e,1),Je.length===0&&typeof document<`u`&&document.removeEventListener(`backbutton`,Ye)})}var Ze=[`id`,`aria-labelledby`,`aria-hidden`,`data-bs-backdrop`,`data-bs-keyboard`],Qe={class:`modal-content`},V={key:0,class:`modal-header`},$e=[`id`],et={class:`modal-body`},tt={key:1,class:`modal-footer`},nt=`a[href], button:not([disabled]), input:not([disabled]),select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`,rt=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=R(`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(nt)):[]}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"]):not([disabled]), select:not([disabled]), textarea:not([disabled])`)??p()[0])?.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 Xe(()=>{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`,Qe,[e.hideHeader?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,V,[(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,$e),(0,t.createElementVNode)(`button`,{type:`button`,class:`btn-close`,"aria-label":`Close`,onClick:k})])),(0,t.createElementVNode)(`div`,et,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),e.hideFooter?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,tt,[(0,t.renderSlot)(n.$slots,`footer`,{},()=>[(0,t.createElementVNode)(`button`,{type:`button`,class:`btn btn-secondary`,onClick:k},`Close`)],!0)]))])],2)],8,Ze)],8,[`to`,`disabled`]))}}),[[`__scopeId`,`data-v-08f7036a`]]),it=[`id`,`aria-labelledby`,`data-bs-backdrop`,`data-bs-scroll`],at={class:`offcanvas-header`},ot=[`id`],st={class:`offcanvas-body`},ct=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=R(`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 Xe(()=>{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,it)],8,[`to`,`disabled`]))}}),[[`__scopeId`,`data-v-417d55a1`]]),lt={key:0,class:`toast-header`},ut={class:`me-auto`},dt={class:`toast-body`},ft={key:0,class:`toast-header`},pt={class:`me-auto`},mt={class:`toast-body`},ht=(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=R(`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)(()=>a.variant===`danger`||a.variant===`warning`),w=(0,t.computed)(()=>({id:s.value,class:d.value,role:C.value?`alert`:`status`,"aria-live":C.value?`assertive`:`polite`,"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},w.value),[e.title||n.$slots.header?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ft,[(0,t.renderSlot)(n.$slots,`header`,{},()=>[(0,t.createElementVNode)(`strong`,pt,(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`,mt,[(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},w.value),[e.title||n.$slots.header?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,lt,[(0,t.renderSlot)(n.$slots,`header`,{},()=>[(0,t.createElementVNode)(`strong`,ut,(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`,dt,[(0,t.renderSlot)(n.$slots,`default`)])],16)],2))],8,[`to`,`disabled`]))}}),H=(0,t.reactive)({toasts:[]}),gt=new Map,_t=0,vt=()=>(_t+=1,`vibe-toast-${_t}`),yt=(e,t)=>{let n=t.id??vt(),r=gt.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 gt.set(n,i),H.toasts.push(i),i},bt=e=>{if(!gt.has(e))return!1;gt.delete(e);let t=H.toasts.findIndex(t=>t.id===e);return t!==-1&&H.toasts.splice(t,1),!0},xt=()=>{gt.clear(),H.toasts.splice(0,H.toasts.length)};function St(){return{get toasts(){return(0,t.readonly)(H.toasts)},show:(e,t={})=>yt(e,t),success:(e,t={})=>yt(e,{...t,variant:`success`}),error:(e,t={})=>yt(e,{...t,variant:`danger`}),warn:(e,t={})=>yt(e,{...t,variant:`warning`}),info:(e,t={})=>yt(e,{...t,variant:`info`}),dismiss:bt,clear:xt}}var Ct=()=>{xt(),_t=0},wt=H,Tt=(0,t.defineComponent)({__name:`VibeToastHost`,props:{defaultPlacement:{type:String,default:`top-end`}},setup(e){let n=e,{dismiss:r}=St(),i=(0,t.computed)(()=>{let e=new Map;for(let t of wt.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)(ht,{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))]))}}),Et=[`id`,`data-bs-ride`,`data-bs-interval`,`data-bs-keyboard`,`data-bs-pause`,`data-bs-wrap`,`data-bs-touch`],Dt={key:0,class:`carousel-indicators`},Ot=[`data-bs-target`,`data-bs-slide-to`,`aria-current`,`aria-label`],kt={class:`carousel-inner`},At=[`data-bs-interval`],jt=[`src`,`alt`],Mt={key:1,class:`carousel-caption d-none d-md-block`},Nt={key:0},Pt={key:1},Ft=[`data-bs-target`],It=[`data-bs-target`],Lt=(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=R(`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`,Dt,[((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,Ot))),128))])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,kt,[((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,jt)):(0,t.createCommentVNode)(``,!0),e.caption||e.captionText||n.$slots.caption?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Mt,[(0,t.renderSlot)(n.$slots,`caption`,{item:e,index:r},()=>[e.caption?((0,t.openBlock)(),(0,t.createElementBlock)(`h5`,Nt,(0,t.toDisplayString)(e.caption),1)):(0,t.createCommentVNode)(``,!0),e.captionText?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Pt,(0,t.toDisplayString)(e.captionText),1)):(0,t.createCommentVNode)(``,!0)])])):(0,t.createCommentVNode)(``,!0)],10,At))),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,Ft),(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,It)],64)):(0,t.createCommentVNode)(``,!0)],10,Et))}}),Rt=[`data-bs-placement`,`data-bs-title`,`data-bs-trigger`],zt=(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,Rt))}}),Bt=[`data-bs-placement`,`data-bs-title`,`data-bs-content`,`data-bs-trigger`],Vt=(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,Bt))}}),Ht=(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)(()=>j(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`]))}}),Ut=[`aria-hidden`,`aria-label`,`role`],Wt=(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=j(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=M(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,Ut))}}),Gt=[`--bs-primary`,`--bs-success`,`--bs-danger`,`--bs-warning`,`--bs-info`,`--bs-secondary`,`--bs-dark`,`--bs-light`];function Kt(e,t){let n=getComputedStyle(t);return e.map((e,t)=>e.color??n.getPropertyValue(Gt[t%Gt.length]).trim())}function qt(e,t){let n=getComputedStyle(t);return Array.from({length:e},(e,t)=>n.getPropertyValue(Gt[t%Gt.length]).trim())}function Jt(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 Yt(e,t){return e===null&&t===null?!0:e===null||t===null?!1:e.datasetIndex===t.datasetIndex&&e.pointIndex===t.pointIndex}function Xt(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);Yt(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 Zt=5,Qt=4,$t=12;function en(e){return e?{left:50,right:10,top:10,bottom:30}:{left:10,right:10,top:10,bottom:10}}function tn(e,t,n,r,i,a,o,s,c){let l=en(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<=Zt;t++){let n=l.top+d/Zt*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<=Zt;t++){let n=p+m/Zt*(Zt-t),r=l.top+d/Zt*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),Qt,0,Math.PI*2),e.fill()})}}function nn(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 rn(e,t,n,r,i,a,o){let s=en(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))<=$t)return{datasetIndex:r,pointIndex:a,value:o,label:n.labels?.[a]??``};return null}var an={class:`vibe-chart`},on={key:0,class:`vibe-chart-legend vibe-chart-legend--top`},sn={key:1,class:`vibe-chart-legend vibe-chart-legend--bottom`},cn=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?Kt(n.data.datasets,r.value):[]}let d=null;function f(){if(u(),d=nn(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),tn(t,n.data,o,s,l.value,n.showAxes,n.showGrid,n.smooth,n.fill)}return Jt(r,i,(e,t)=>{o=e,s=t,f()}),(0,t.onMounted)(()=>{u(),d=nn(n.data),r.value&&i.value&&(a=Xt(r.value,i.value,(e,t)=>rn(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`,an,[e.legend===`top`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,on,[((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`,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)]))}}),[[`__scopeId`,`data-v-d995a6f3`]]),ln=5,un=.2;function dn(e){return e?{left:50,right:10,top:10,bottom:30}:{left:10,right:10,top:10,bottom:10}}function fn(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 pn(e,t,n,r,i,a,o,s){let c=dn(a),l=n-c.left-c.right,u=r-c.top-c.bottom,d=t.labels.length,f=t.datasets.length,p=fn(t,s),m=l/d,h=s?m*(1-un):m*(1-un)/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<=ln;t++){let n=c.top+u/ln*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<=ln;t++){let n=p/ln*(ln-t),r=c.top+u/ln*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*un/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*un/2+n*h;e.fillRect(a,c.top+u-i,h,i)}}}function mn(e,t,n,r,i,a,o,s){let c=dn(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-un):p*(1-un)/f,h=Math.floor((e-c.left)/p);if(h<0||h>=d)return null;let g=c.left+h*p+p*un/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 hn={class:`vibe-chart`},gn={key:0,class:`vibe-chart-legend vibe-chart-legend--top`},_n={key:1,class:`vibe-chart-legend vibe-chart-legend--bottom`},vn=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?Kt(n.data.datasets,r.value):[]}let d=1;function f(){if(u(),d=fn(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),pn(t,n.data,o,s,l.value,n.showAxes,n.showGrid,n.stacked)}return Jt(r,i,(e,t)=>{o=e,s=t,f()}),(0,t.onMounted)(()=>{u(),d=fn(n.data,n.stacked),r.value&&i.value&&(a=Xt(r.value,i.value,(e,t)=>mn(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`,hn,[e.legend===`top`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,gn,[((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`,_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)]))}}),[[`__scopeId`,`data-v-eb3ff4df`]]);function yn(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 bn(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 xn={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`},wn=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?qt(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),yn(t,n.data,o,s,l.value)}return Jt(r,i,(e,t)=>{o=e,s=t,d()}),(0,t.onMounted)(()=>{u(),r.value&&i.value&&(a=Xt(r.value,i.value,(e,t)=>bn(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`,xn,[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.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`,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)]))}}),[[`__scopeId`,`data-v-bab16cba`]]),Tn={class:`vibe-datatable`},En={class:`row mb-3`},Dn={key:0,class:`col-md-6 mb-2 mb-md-0`},On=[`placeholder`],kn={key:1,class:`col-md-6`},An={class:`d-flex justify-content-md-end align-items-center`},jn=[`value`],Mn=[`aria-sort`,`onClick`],Nn=[`onClick`],Pn=[`data-label`],Fn={key:0},In=[`colspan`],Ln={class:`row`},Rn={key:0,class:`col-md-6 mb-2 mb-md-0`},zn={class:`datatable-info`},Bn={key:1,class:`col-md-6`},Vn={class:`pagination justify-content-md-end mb-0`},Hn={key:0,class:`page-item`},Un={key:1,class:`page-item disabled`},Wn=[`onClick`],Gn={key:2,class:`page-item disabled`},Kn={key:3,class:`page-item`},qn=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)},A=(e,t)=>{let n=e[t.key];return t.formatter?t.formatter(n,e):n},j=(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}),M=(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}),te=(0,t.computed)(()=>{let e=new Map;for(let t of r.columns){let n=ee(t.thStyle);r.sortable&&t.sortable!==!1&&(n.cursor=`pointer`),e.set(t,n)}return e}),ne=(0,t.computed)(()=>{let e=new Map;for(let t of r.columns)e.set(t,ee(t.tdStyle));return e});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Tn,[(0,t.createElementVNode)(`div`,En,[e.searchable?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Dn,[(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,On),[[t.vModelText,l.value]])])):(0,t.createCommentVNode)(``,!0),e.showPerPage&&e.paginated?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,kn,[(0,t.createElementVNode)(`div`,An,[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,jn))),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)(te.value.get(n)),"aria-sort":M.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`,j.value.get(n)]),"aria-hidden":`true`},null,2)):(0,t.createCommentVNode)(``,!0)],14,Mn))),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)(ne.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)(A(r,e)),1)],!0)],14,Pn))),128))],12,Nn))),128)),_.value.length===0&&e.showEmpty?((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,Fn,[(0,t.createElementVNode)(`td`,{colspan:e.columns?.length||1,class:`text-center`},(0,t.toDisplayString)(e.emptyText),9,In)])):(0,t.createCommentVNode)(``,!0)])],2)],2),(0,t.createElementVNode)(`div`,Ln,[e.showInfo?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Rn,[(0,t.createElementVNode)(`div`,zn,(0,t.toDisplayString)(C.value),1)])):(0,t.createCommentVNode)(``,!0),e.paginated&&b.value>1?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Bn,[(0,t.createElementVNode)(`nav`,null,[(0,t.createElementVNode)(`ul`,Vn,[(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`,Hn,[(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`,Un,[...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,Wn)],2))),128)),i.value<b.value-3?((0,t.openBlock)(),(0,t.createElementBlock)(`li`,Gn,[...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`,Kn,[(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`]]),Jn=[`for`],Yn={key:0,class:`text-danger ms-1`,"aria-hidden":`true`},Xn={key:1,class:`text-muted ms-1 small`,"aria-hidden":`true`},Zn={key:2,class:`visually-hidden`},Qn={key:1,class:`input-group`},$n=[`id`,`type`,`value`,`placeholder`,`disabled`,`readonly`,`required`,`autocomplete`,`inputmode`,`aria-invalid`,`aria-describedby`],er=[`aria-label`,`aria-pressed`],tr=[`id`,`type`,`value`,`placeholder`,`disabled`,`readonly`,`required`,`autocomplete`,`inputmode`,`aria-invalid`,`aria-describedby`],nr={key:3,"aria-live":`polite`,class:`mt-1`},rr={class:`d-flex gap-1 mb-1`,"aria-hidden":`true`},ir={class:`text-muted`},ar=[`id`],or=[`id`],sr=[`id`],cr=[`id`,`type`,`value`,`placeholder`,`disabled`,`readonly`,`required`,`autocomplete`,`inputmode`,`aria-invalid`,`aria-describedby`],lr=c((0,t.defineComponent)({inheritAttrs:!1,__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)(P,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(),_=R(`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`,(0,t.mergeProps)({key:1},n.$attrs,{id:v.value,type:e.type,class: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,16,cr)):((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`,Yn,`*`)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Xn,`(optional)`)),e.required?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Zn,`required`)):(0,t.createCommentVNode)(``,!0)],8,Jn)):(0,t.createCommentVNode)(``,!0),e.showToggle&&e.type===`password`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Qn,[(0,t.createElementVNode)(`input`,(0,t.mergeProps)(n.$attrs,{id:v.value,type:c.value,class: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,16,$n),(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,er)])):((0,t.openBlock)(),(0,t.createElementBlock)(`input`,(0,t.mergeProps)({key:2},n.$attrs,{id:v.value,type:e.type,class: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,16,tr)),e.showPasswordStrength&&e.type===`password`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,nr,[(0,t.createElementVNode)(`div`,rr,[((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`,ir,`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,ar)):(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,or)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:b.value,class:`invalid-feedback`,role:`alert`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please provide a valid value.`),9,sr)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-418a46b0`]]),ur=[`for`],dr={key:0,class:`text-danger`},fr=[`id`,`value`,`multiple`,`size`,`disabled`,`required`,`aria-invalid`,`aria-describedby`],pr={key:0,value:``,disabled:``,selected:``},mr=[`value`,`disabled`],hr=[`id`],gr=[`id`],_r=[`id`],vr=``,yr=`vi:`,br=(0,t.defineComponent)({inheritAttrs:!1,__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=>`${yr}${e}`,i=e=>{if(!e.startsWith(yr))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)(P,null),u=l?.consumeId(),d=R(`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):vr}).filter(e=>e!==vr);let e=a(s.options,o.value);return e>=0?r(e):vr}),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`,dr,`*`)):(0,t.createCommentVNode)(``,!0)],8,ur)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`select`,(0,t.mergeProps)(n.$attrs,{id:f.value,class: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`,pr,(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,mr))),128))])],16,fr),_.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${f.value}-help`,class:`form-text`},(0,t.toDisplayString)(e.helpText),9,hr)):(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,gr)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${f.value}-feedback`,class:`invalid-feedback`,role:`alert`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please select an option.`),9,_r)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),xr=[`for`],Sr={key:0,class:`text-danger`},Cr=[`id`,`value`,`placeholder`,`rows`,`maxlength`,`disabled`,`readonly`,`required`,`aria-invalid`,`aria-describedby`],wr=[`id`],Tr={key:0,class:`ms-auto`},Er=[`id`],Dr=[`id`],Or=(0,t.defineComponent)({inheritAttrs:!1,__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)(P,null),s=o?.consumeId(),c=R(`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`,Sr,`*`)):(0,t.createCommentVNode)(``,!0)],8,xr)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`textarea`,(0,t.mergeProps)(n.$attrs,{id:l.value,class:h.value,style: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,16,Cr),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`,Tr,[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,wr)):(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,Er)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:d.value,class:`invalid-feedback`,role:`alert`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please provide a valid value.`),9,Dr)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),kr=[`for`],Ar={key:0,class:`text-danger`},jr=[`disabled`],Mr=[`id`,`value`,`disabled`,`readonly`,`required`,`min`,`max`,`step`,`aria-invalid`,`aria-describedby`],Nr=[`disabled`],Pr=[`id`],Fr=[`id`],Ir=[`id`],Lr=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)(P,null),s=o?.consumeId(),c=R(`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`,Ar,`*`)):(0,t.createCommentVNode)(``,!0)],8,kr)):(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,jr),(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,Mr),(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,Nr)],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,Pr)):(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,Fr)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${l.value}-feedback`,class:`invalid-feedback`,role:`alert`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please provide a valid value.`),9,Ir)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-248b16a9`]]),Rr=[`for`],zr={key:0,class:`text-danger`},Br=[`id`,`type`,`value`,`disabled`,`readonly`,`required`,`min`,`max`,`aria-invalid`,`aria-describedby`],Vr=[`id`],Hr=[`id`],Ur=[`id`],Wr=(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)(P,null),s=o?.consumeId(),c=R(`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`,zr,`*`)):(0,t.createCommentVNode)(``,!0)],8,Rr)):(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,Br),m.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:u.value,class:`form-text`},(0,t.toDisplayString)(e.helpText),9,Vr)):(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,Hr)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:d.value,class:`invalid-feedback`,role:`alert`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please provide a valid date.`),9,Ur)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),Gr={class:`vibe-file-input`},Kr=[`for`],qr={class:`mb-0`},Jr=[`id`,`multiple`,`accept`,`disabled`,`aria-invalid`,`aria-describedby`],Yr=[`id`],Xr=[`id`],Zr=[`id`],Qr=c((0,t.defineComponent)({inheritAttrs:!1,__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},validationState:{type:String,default:null},validationMessage:{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=(0,t.inject)(P,null),s=o?.consumeId(),c=R(`file-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.ref)(!1),g=(0,t.ref)(null),_=(0,t.computed)(()=>{let e=[];return i.helpText&&e.push(u.value),i.validationMessage&&e.push(d.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}),v=(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(` `)}),y=(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},b=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&&!y(r,i.accept)){n.push(r);continue}t.push(r)}return{accepted:t,rejected:n}},x=e=>{let{accepted:t,rejected:n}=b(e);a(`update:modelValue`,t),a(`change`,t),n.length>0&&a(`invalid`,n)},S=e=>{let t=e.target;x(t.files?Array.from(t.files):[]),t.value=``},C=e=>{e.preventDefault(),w=0,h.value=!1,!i.disabled&&x(e.dataTransfer?.files?Array.from(e.dataTransfer.files):[])},w=0,T=e=>{e.preventDefault(),i.disabled||(w++,h.value=!0)},E=e=>{e.preventDefault()},D=e=>{e.preventDefault(),w=Math.max(0,w-1),w===0&&(h.value=!1)},O=()=>{i.disabled||g.value?.click()};n({clearFiles:()=>{g.value&&(g.value.value=``),a(`update:modelValue`,[]),a(`change`,[])}});let k=(0,t.computed)(()=>{let e=[`vibe-file-input-dropzone`];return h.value&&e.push(`vibe-file-input-dropzone-active`),i.disabled&&e.push(`vibe-file-input-dropzone-disabled`),i.validationState===`invalid`&&e.push(`vibe-file-input-dropzone-invalid`),e.join(` `)}),A=()=>{w=0,h.value=!1};return(0,t.onMounted)(()=>{typeof document>`u`||(document.addEventListener(`dragend`,A),document.addEventListener(`drop`,A))}),(0,t.onBeforeUnmount)(()=>{typeof document>`u`||(document.removeEventListener(`dragend`,A),document.removeEventListener(`drop`,A))}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Gr,[f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,{key:0,for:l.value,class:`form-label`},(0,t.toDisplayString)(e.label),9,Kr)):(0,t.createCommentVNode)(``,!0),e.dragDrop?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:(0,t.normalizeClass)(k.value),onDrop:C,onDragenter:T,onDragover:E,onDragleave:D,onClick:O},[(0,t.renderSlot)(n.$slots,`dropzone`,{},()=>[(0,t.createElementVNode)(`p`,qr,(0,t.toDisplayString)(e.dropzoneText),1)],!0)],34)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`input`,(0,t.mergeProps)(n.$attrs,{id:l.value,ref_key:`inputRef`,ref:g,type:`file`,class:e.dragDrop?``:v.value,multiple:e.multiple,accept:e.accept,disabled:e.disabled,style:e.dragDrop?`display: none`:void 0,"aria-invalid":e.validationState===`invalid`,"aria-describedby":_.value,onChange:S}),null,16,Jr),m.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,id:u.value,class:`form-text`},(0,t.toDisplayString)(e.helpText),9,Yr)):(0,t.createCommentVNode)(``,!0),p.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:3},[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,Xr)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:d.value,class:`invalid-feedback`,role:`alert`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please provide a valid file.`),9,Zr)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)]))}}),[[`__scopeId`,`data-v-38c97d93`]]),$r=[`aria-label`,`aria-valuemin`,`aria-valuemax`,`aria-valuenow`,`aria-disabled`],ei=[`aria-valuemin`,`aria-valuemax`,`aria-valuenow`,`aria-disabled`],ti=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`,j),window.addEventListener(`pointerup`,M))},D=e=>T(0,e),O=e=>T(1,e),k=e=>E(0,e),A=e=>E(1,e),j=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)},M=e=>{o.value===null||e.pointerId!==s||(o.value=null,s=null,window.removeEventListener(`pointermove`,j),window.removeEventListener(`pointerup`,M))};return(0,t.onBeforeUnmount)(()=>{typeof window<`u`&&(window.removeEventListener(`pointermove`,j),window.removeEventListener(`pointerup`,M)),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,$r),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:A},null,44,ei)):(0,t.createCommentVNode)(``,!0)],544)],2))}}),[[`__scopeId`,`data-v-58d4508c`]]),ni={class:`vibe-stepper-header`},ri=[`tabindex`,`aria-disabled`,`onClick`,`onKeydown`],ii={class:`vibe-stepper-marker`},ai={class:`vibe-stepper-label`},oi={key:0,class:`vibe-stepper-description`},si={class:`vibe-stepper-body`},ci={class:`vibe-stepper-actions`},li=[`disabled`],ui=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`,ni,[((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`,ii,[(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`,ai,[(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`,oi,(0,t.toDisplayString)(r.description),1)):(0,t.createCommentVNode)(``,!0)])],42,ri))),128))]),(0,t.createElementVNode)(`div`,si,[(0,t.renderSlot)(n.$slots,`step`,{index:e.modelValue,step:g.value},void 0,!0)]),(0,t.createElementVNode)(`div`,ci,[(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,li),(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`]]),di=[`for`],fi=[`id`,`value`,`placeholder`,`disabled`,`aria-expanded`,`aria-controls`,`aria-activedescendant`],pi=[`id`],mi=[`id`,`aria-selected`,`onMouseenter`,`onClick`],hi={key:2,class:`vibe-autocomplete-empty`},gi=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=R(`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 A=(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,di)):(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,fi),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,mi))),128))],8,pi)):A.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,hi,[(0,t.renderSlot)(n.$slots,`empty`,{},()=>[r[0]||=(0,t.createTextVNode)(`No results`,-1)],!0)])):(0,t.createCommentVNode)(``,!0)],512))}}),[[`__scopeId`,`data-v-34f733e3`]]),_i=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`]]),U={payload:void 0,group:``,active:!1},vi=!1,yi=()=>{U.payload=void 0,U.group=``,U.active=!1,xi()},bi=()=>{vi||typeof document>`u`||(vi=!0,document.addEventListener(`dragend`,yi),document.addEventListener(`drop`,yi))},xi=()=>{!vi||typeof document>`u`||(vi=!1,document.removeEventListener(`dragend`,yi),document.removeEventListener(`drop`,yi))},Si=(e,t)=>{typeof window>`u`||(U.payload=e,U.group=t,U.active=!0,bi())},Ci=()=>{typeof window>`u`||(U.payload=void 0,U.group=``,U.active=!1,xi())},wi=()=>U.active?{payload:U.payload,group:U.group}:null,Ti=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,Si(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,Ci(),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`]]),Ei=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=()=>wi(),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`]]),Di=[`data-handle`,`onPointerdown`],Oi=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,Di))),128))],6))}}),[[`__scopeId`,`data-v-6582c06b`]]),ki=[`for`],Ai=[`id`,`value`,`placeholder`,`disabled`,`aria-expanded`],ji=[`aria-label`],Mi={class:`vibe-datepicker-header`},Ni={class:`vibe-datepicker-title`},Pi={class:`vibe-datepicker-weekdays`},Fi={class:`vibe-datepicker-grid`},Ii=[`data-iso`,`disabled`,`onClick`],Li=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=R(`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},A=()=>{h.value===11?(h.value=0,m.value+=1):h.value+=1},j=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())},M=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(` `)},ee=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()},te=async e=>{let t=d(g.value||y.value||l(p()));t.setDate(t.getDate()+e),await ee(l(t))},ne=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 ee(l(t))},N=async e=>{switch(e.key){case`ArrowRight`:e.preventDefault(),await te(1);break;case`ArrowLeft`:e.preventDefault(),await te(-1);break;case`ArrowDown`:e.preventDefault(),await te(7);break;case`ArrowUp`:e.preventDefault(),await te(-7);break;case`PageDown`:e.preventDefault(),await ne(1);break;case`PageUp`:e.preventDefault(),await ne(-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 ee(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 ee(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&&j(n);break}case`Escape`:e.preventDefault(),O();break}},re=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`,re)):(g.value=null,document.removeEventListener(`mousedown`,re)))}),(0,t.onBeforeUnmount)(()=>{typeof document<`u`&&document.removeEventListener(`mousedown`,re)}),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,ki)):(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,Ai),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:N},[(0,t.createElementVNode)(`div`,Mi,[(0,t.createElementVNode)(`button`,{type:`button`,class:`vibe-datepicker-nav`,"aria-label":`Previous month`,"data-prev-month":``,onClick:k},`‹`),(0,t.createElementVNode)(`span`,Ni,(0,t.toDisplayString)(w.value),1),(0,t.createElementVNode)(`button`,{type:`button`,class:`vibe-datepicker-nav`,"aria-label":`Next month`,"data-next-month":``,onClick:A},`›`)]),(0,t.createElementVNode)(`div`,Pi,[((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`,Fi,[((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)(M(e)),"data-iso":e.iso,disabled:e.disabled,onClick:t=>j(e)},(0,t.toDisplayString)(e.day),11,Ii))),128))])],40,ji)):(0,t.createCommentVNode)(``,!0)],512))}}),[[`__scopeId`,`data-v-0a5b8fa4`]]),Ri=[`id`,`checked`,`disabled`,`required`,`aria-invalid`,`aria-describedby`],zi=[`for`],Bi={key:0,class:`text-danger`},Vi=[`id`],Hi=[`id`],Ui=[`id`],Wi=(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)(P,null),s=o?.consumeId(),c=R(`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,Ri),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`,Bi,`*`)):(0,t.createCommentVNode)(``,!0)],8,zi)):(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,Vi)):(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,Hi)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${l.value}-feedback`,class:`invalid-feedback`,role:`alert`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please check this box.`),9,Ui)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),Gi=[`id`,`name`,`value`,`checked`,`disabled`,`required`,`aria-invalid`,`aria-describedby`],Ki=[`for`],qi={key:0,class:`text-danger`},Ji=[`id`],Yi=[`id`],Xi=[`id`],Zi=(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)(P,null),s=o?.consumeId(),c=R(`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,Gi),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`,qi,`*`)):(0,t.createCommentVNode)(``,!0)],8,Ki)):(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,Ji)):(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,Yi)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${l.value}-feedback`,class:`invalid-feedback`,role:`alert`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please select an option.`),9,Xi)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),Qi=[`id`,`checked`,`disabled`,`required`,`aria-invalid`,`aria-describedby`],$i=[`for`],ea={key:0,class:`text-danger`},ta=[`id`],na=[`id`],ra=[`id`],ia=(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)(P,null),s=o?.consumeId(),c=R(`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,Qi),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`,ea,`*`)):(0,t.createCommentVNode)(``,!0)],8,$i)):(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,ta)):(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,na)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${l.value}-feedback`,class:`invalid-feedback`,role:`alert`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please toggle this switch.`),9,ra)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),aa=[`for`],oa={key:0,class:`text-danger ms-1`,"aria-hidden":`true`},sa={key:1,class:`text-muted ms-1 small`,"aria-hidden":`true`},ca={key:2,class:`visually-hidden`},la=[`id`],ua=[`id`],da=[`id`],fa=[`for`],pa={key:0,class:`text-danger ms-1`,"aria-hidden":`true`},ma={key:1,class:`text-muted ms-1 small`,"aria-hidden":`true`},ha={key:2,class:`visually-hidden`},ga=[`id`],_a=[`id`],va=[`id`],ya=(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=R(`form-group`),i=(0,t.computed)(()=>n.labelFor||r),a=(0,t.ref)(!1);(0,t.provide)(P,{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`,oa,`*`)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,sa,`(optional)`)),e.required?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ca,`required`)):(0,t.createCommentVNode)(``,!0)],10,aa)):(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,la)):(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,ua)):(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,da)):(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`,pa,`*`)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ma,`(optional)`)),e.required?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ha,`required`)):(0,t.createCommentVNode)(``,!0)],10,fa)):(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,ga)):(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,_a)):(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,va)):(0,t.createCommentVNode)(``,!0)],64))],2))}}),ba={key:0,role:`alert`,"aria-live":`polite`,class:`alert alert-danger`},xa={class:`mb-0`},Sa=[`href`,`onClick`],Ca=(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`,ba,[n[0]||=(0,t.createElementVNode)(`strong`,null,`Please fix the following:`,-1),(0,t.createElementVNode)(`ul`,xa,[((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,Sa)]))),128))])])):(0,t.createCommentVNode)(``,!0)}}),wa={sm:576,md:768,lg:992,xl:1200,xxl:1400};function Ta(){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: ${wa.sm}px)`),md:window.matchMedia(`(min-width: ${wa.md}px)`),lg:window.matchMedia(`(min-width: ${wa.lg}px)`),xl:window.matchMedia(`(min-width: ${wa.xl}px)`),xxl:window.matchMedia(`(min-width: ${wa.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 Ea=i({default:()=>Ho});function Da(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 Oa(e){if(Array.isArray(e))return e}function ka(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 Aa(){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 ja(e,t){return Oa(e)||ka(e,t)||Ma(e,t)||Aa()}function Ma(e,t){if(e){if(typeof e==`string`)return Da(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)?Da(e,t):void 0}}function W(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 Ka(e,t,r)}}function Na(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return qa(e,n)}}function G(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:eo;if(Ba&&Ba(e,null),!$a(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(Va(t)||(t[r]=e),i=e)}e[i]=!0}return e}function Pa(e){for(let t=0;t<e.length;t++)Y(e,t)||(e[t]=null);return e}function K(e){let t=Wa(null);for(let r of za(e)){var n=ja(r,2);let i=n[0],a=n[1];Y(e,i)&&($a(a)?t[i]=Pa(a):a&&typeof a==`object`&&a.constructor===Object?t[i]=K(a):t[i]=a)}return t}function Fa(e){switch(typeof e){case`string`:return e;case`number`:return oo(e);case`boolean`:return so(e);case`bigint`:return co?co(e):`0`;case`symbol`:return lo?lo(e):`Symbol()`;case`undefined`:return uo(e);case`function`:case`object`:{if(e===null)return uo(e);let t=e,n=Ia(t,`toString`);if(typeof n==`function`){let e=n(t);return typeof e==`string`?e:uo(e)}return uo(e)}default:return uo(e)}}function Ia(e,t){for(;e!==null;){let n=Ua(e,t);if(n){if(n.get)return W(n.get);if(typeof n.value==`function`)return W(n.value)}e=Ha(e)}function n(){return null}return n}function La(e){try{return X(e,``),!0}catch{return!1}}function Ra(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ro(),t=e=>Ra(e);if(t.version=`3.4.11`,t.removed=[],!e||!e.document||e.document.nodeType!==Z.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=Ia(d,`cloneNode`),p=Ia(d,`remove`),m=Ia(d,`nextSibling`),h=Ia(d,`childNodes`),g=Ia(d,`parentNode`),_=Ia(d,`shadowRoot`),v=Ia(d,`attributes`),y=o&&o.prototype?Ia(o.prototype,`nodeType`):null,b=o&&o.prototype?Ia(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 fo(`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=zo(u,i),!0),C},A=n,j=A.implementation,M=A.createNodeIterator,ee=A.createDocumentFragment,te=A.getElementsByTagName,ne=r.importNode,N=Bo();t.isSupported=typeof za==`function`&&typeof g==`function`&&j&&j.createHTMLDocument!==void 0;let re=wo,ie=To,ae=Eo,oe=Do,se=Oo,ce=Ao,le=jo,P=No,ue=ko,F=null,de=G({},[...po,...mo,...ho,..._o,...yo]),I=null,fe=G({},[...bo,...xo,...So,...Co]),L=Object.seal(Wa(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}})),pe=null,me=null,he=Object.seal(Wa(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),ge=!0,_e=!0,ve=!1,ye=!0,be=!1,xe=!0,Se=!1,Ce=!1,we=null,Te=null,Ee=!1,De=!1,Oe=!1,ke=!1,Ae=!0,je=!1,Me=`user-content-`,Ne=!0,Pe=!1,R={},z=null,Fe=G({},`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(`.`)),Ie=null,Le=G({},[`audio`,`video`,`img`,`source`,`image`,`track`]),Re=null,ze=G({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),Be=`http://www.w3.org/1998/Math/MathML`,Ve=`http://www.w3.org/2000/svg`,B=`http://www.w3.org/1999/xhtml`,He=B,Ue=!1,We=null,Ge=G({},[Be,Ve,B],to),Ke=q([`mi`,`mo`,`mn`,`ms`,`mtext`]),qe=G({},Ke),Je=q([`annotation-xml`]),Ye=G({},Je),Xe=G({},[`title`,`style`,`font`,`a`,`script`]),Ze=null,Qe=[`application/xhtml+xml`,`text/html`],V=null,$e=null,et=n.createElement(`form`),tt=function(e){return e instanceof RegExp||e instanceof Function},nt=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if($e&&$e===e)return;(!e||typeof e!=`object`)&&(e={}),e=K(e),Ze=Qe.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,V=Ze===`application/xhtml+xml`?to:eo,F=Vo(e,`ALLOWED_TAGS`,de,{transform:V}),I=Vo(e,`ALLOWED_ATTR`,fe,{transform:V}),We=Vo(e,`ALLOWED_NAMESPACES`,Ge,{transform:to}),Re=Vo(e,`ADD_URI_SAFE_ATTR`,ze,{transform:V,base:ze}),Ie=Vo(e,`ADD_DATA_URI_TAGS`,Le,{transform:V,base:Le}),z=Vo(e,`FORBID_CONTENTS`,Fe,{transform:V}),pe=Vo(e,`FORBID_TAGS`,K({}),{transform:V}),me=Vo(e,`FORBID_ATTR`,K({}),{transform:V}),R=Y(e,`USE_PROFILES`)?e.USE_PROFILES&&typeof e.USE_PROFILES==`object`?K(e.USE_PROFILES):e.USE_PROFILES:!1,ge=e.ALLOW_ARIA_ATTR!==!1,_e=e.ALLOW_DATA_ATTR!==!1,ve=e.ALLOW_UNKNOWN_PROTOCOLS||!1,ye=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,be=e.SAFE_FOR_TEMPLATES||!1,xe=e.SAFE_FOR_XML!==!1,Se=e.WHOLE_DOCUMENT||!1,De=e.RETURN_DOM||!1,Oe=e.RETURN_DOM_FRAGMENT||!1,ke=e.RETURN_TRUSTED_TYPE||!1,Ee=e.FORCE_BODY||!1,Ae=e.SANITIZE_DOM!==!1,je=e.SANITIZE_NAMED_PROPS||!1,Ne=e.KEEP_CONTENT!==!1,Pe=e.IN_PLACE||!1,ue=La(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:ko,He=typeof e.NAMESPACE==`string`?e.NAMESPACE:B,qe=Y(e,`MATHML_TEXT_INTEGRATION_POINTS`)&&e.MATHML_TEXT_INTEGRATION_POINTS&&typeof e.MATHML_TEXT_INTEGRATION_POINTS==`object`?K(e.MATHML_TEXT_INTEGRATION_POINTS):G({},Ke),Ye=Y(e,`HTML_INTEGRATION_POINTS`)&&e.HTML_INTEGRATION_POINTS&&typeof e.HTML_INTEGRATION_POINTS==`object`?K(e.HTML_INTEGRATION_POINTS):G({},Je);let t=Y(e,`CUSTOM_ELEMENT_HANDLING`)&&e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING==`object`?K(e.CUSTOM_ELEMENT_HANDLING):Wa(null);if(L=Wa(null),Y(t,`tagNameCheck`)&&tt(t.tagNameCheck)&&(L.tagNameCheck=t.tagNameCheck),Y(t,`attributeNameCheck`)&&tt(t.attributeNameCheck)&&(L.attributeNameCheck=t.attributeNameCheck),Y(t,`allowCustomizedBuiltInElements`)&&typeof t.allowCustomizedBuiltInElements==`boolean`&&(L.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),J(L),be&&(_e=!1),Oe&&(De=!0),R&&(F=G({},yo),I=Wa(null),R.html===!0&&(G(F,po),G(I,bo)),R.svg===!0&&(G(F,mo),G(I,xo),G(I,Co)),R.svgFilters===!0&&(G(F,ho),G(I,xo),G(I,Co)),R.mathMl===!0&&(G(F,_o),G(I,So),G(I,Co))),he.tagCheck=null,he.attributeCheck=null,Y(e,`ADD_TAGS`)&&(typeof e.ADD_TAGS==`function`?he.tagCheck=e.ADD_TAGS:$a(e.ADD_TAGS)&&(F===de&&(F=K(F)),G(F,e.ADD_TAGS,V))),Y(e,`ADD_ATTR`)&&(typeof e.ADD_ATTR==`function`?he.attributeCheck=e.ADD_ATTR:$a(e.ADD_ATTR)&&(I===fe&&(I=K(I)),G(I,e.ADD_ATTR,V))),Y(e,`ADD_URI_SAFE_ATTR`)&&$a(e.ADD_URI_SAFE_ATTR)&&G(Re,e.ADD_URI_SAFE_ATTR,V),Y(e,`FORBID_CONTENTS`)&&$a(e.FORBID_CONTENTS)&&(z===Fe&&(z=K(z)),G(z,e.FORBID_CONTENTS,V)),Y(e,`ADD_FORBID_CONTENTS`)&&$a(e.ADD_FORBID_CONTENTS)&&(z===Fe&&(z=K(z)),G(z,e.ADD_FORBID_CONTENTS,V)),Ne&&(F[`#text`]=!0),Se&&G(F,[`html`,`head`,`body`]),F.table&&(G(F,[`tbody`]),delete pe.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw fo(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw fo(`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(``)));q&&q(e),$e=e},rt=G({},[...mo,...ho,...go]),it=G({},[..._o,...vo]),at=function(e,t,n){return t.namespaceURI===B?e===`svg`:t.namespaceURI===Be?e===`svg`&&(n===`annotation-xml`||qe[n]):!!rt[e]},ot=function(e,t,n){return t.namespaceURI===B?e===`math`:t.namespaceURI===Ve?e===`math`&&Ye[n]:!!it[e]},st=function(e,t,n){return t.namespaceURI===Ve&&!Ye[n]||t.namespaceURI===Be&&!qe[n]?!1:!it[e]&&(Xe[e]||!rt[e])},ct=function(e){let t=g(e);(!t||!t.tagName)&&(t={namespaceURI:He,tagName:`template`});let n=eo(e.tagName),r=eo(t.tagName);return We[e.namespaceURI]?e.namespaceURI===Ve?at(n,t,r):e.namespaceURI===Be?ot(n,t,r):e.namespaceURI===B?st(n,t,r):!!(Ze===`application/xhtml+xml`&&We[e.namespaceURI]):!1},lt=function(e){Za(t.removed,{element:e});try{g(e).removeChild(e)}catch{if(p(e),!g(e))throw fo(`a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place`)}},ut=function(e){let t=h(e);if(t){let e=[];Ja(t,t=>{Za(e,t)}),Ja(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{}}},dt=function(e,n){try{Za(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{Za(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(De||Oe)try{lt(n)}catch{}else try{n.setAttribute(e,``)}catch{}},ft=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`||I[V(i)]))try{e.removeAttribute(i)}catch{}}},pt=function(e){let t=[e];for(;t.length>0;){let e=t.pop();(y?y(e):e.nodeType)===Z.element&&ft(e);let n=h(e);if(n)for(let e=n.length-1;e>=0;--e)t.push(n[e])}},mt=function(e){let t=null,r=null;if(Ee)e=`<remove></remove>`+e;else{let t=no(e,/^[\r\n\t ]+/);r=t&&t[0]}Ze===`application/xhtml+xml`&&He===B&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=x?D(e):e;if(He===B)try{t=new l().parseFromString(i,Ze)}catch{}if(!t||!t.documentElement){t=j.createDocument(He,`template`,null);try{t.documentElement.innerHTML=Ue?S:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),He===B?te.call(t,Se?`html`:`body`)[0]:Se?t.documentElement:a},ht=function(e){return M.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},H=function(e){return e=ro(e,re,` `),e=ro(e,ie,` `),e=ro(e,ae,` `),e},gt=function(e){e.normalize();let t=M.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=H(n.data),n=t.nextNode();let r=e.querySelectorAll?.call(e,`template`);r&&Ja(r,e=>{vt(e.content)&>(e.content)})},_t=function(e){let t=b?b(e):null;return typeof t!=`string`||V(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)},vt=function(e){if(!y||typeof e!=`object`||!e)return!1;try{return y(e)===Z.documentFragment}catch{return!1}},yt=function(e){if(!y||typeof e!=`object`||!e)return!1;try{return typeof y(e)==`number`}catch{return!1}};function bt(e,n,r){e.length!==0&&Ja(e,e=>{e.call(t,n,r,$e)})}let xt=function(e,t){return!!(xe&&e.hasChildNodes()&&!yt(e.firstElementChild)&&X(Po,e.textContent)&&X(Po,e.innerHTML)||xe&&e.namespaceURI===B&&t===`style`&&yt(e.firstElementChild)||e.nodeType===Z.processingInstruction||xe&&e.nodeType===Z.comment&&X(Fo,e.data))},St=function(e,t){if(!pe[t]&&Et(t)&&(L.tagNameCheck instanceof RegExp&&X(L.tagNameCheck,t)||L.tagNameCheck instanceof Function&&L.tagNameCheck(t)))return!1;if(Ne&&!z[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=Pe?n[i]:f(n[i],!0);t.insertBefore(r,m(e))}}}return lt(e),!0},Ct=function(e){if(bt(N.beforeSanitizeElements,e,null),_t(e))return lt(e),!0;let n=V(b?b(e):e.nodeName);if(bt(N.uponSanitizeElement,e,{tagName:n,allowedTags:F}),xt(e,n))return lt(e),!0;if(pe[n]||!(he.tagCheck instanceof Function&&he.tagCheck(n))&&!F[n])return St(e,n);if((y?y(e):e.nodeType)===Z.element&&!ct(e)||(n===`noscript`||n===`noembed`||n===`noframes`)&&X(Io,e.innerHTML))return lt(e),!0;if(be&&e.nodeType===Z.text){let n=H(e.textContent);e.textContent!==n&&(Za(t.removed,{element:e.cloneNode()}),e.textContent=n)}return bt(N.afterSanitizeElements,e,null),!1},wt=function(e,t,r){if(me[t]||Ae&&(t===`id`||t===`name`)&&(r in n||r in et))return!1;let i=I[t]||he.attributeCheck instanceof Function&&he.attributeCheck(t,e);if(!(_e&&X(oe,t))&&!(ge&&X(se,t))){if(!i){if(!(Et(e)&&(L.tagNameCheck instanceof RegExp&&X(L.tagNameCheck,e)||L.tagNameCheck instanceof Function&&L.tagNameCheck(e))&&(L.attributeNameCheck instanceof RegExp&&X(L.attributeNameCheck,t)||L.attributeNameCheck instanceof Function&&L.attributeNameCheck(t,e))||t===`is`&&L.allowCustomizedBuiltInElements&&(L.tagNameCheck instanceof RegExp&&X(L.tagNameCheck,r)||L.tagNameCheck instanceof Function&&L.tagNameCheck(r))))return!1}else if(!Re[t]&&!X(ue,ro(r,le,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&io(r,`data:`)===0&&Ie[e])&&!(ve&&!X(ce,ro(r,le,``)))&&r)return!1}return!0},Tt=G({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]),Et=function(e){return!Tt[eo(e)]&&X(P,e)},Dt=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},Ot=function(e,n,r,i){try{r?e.setAttributeNS(r,n,i):e.setAttribute(n,i),_t(e)?lt(e):Xa(t.removed)}catch{dt(n,e)}},kt=function(e){bt(N.beforeSanitizeAttributes,e,null);let t=e.attributes;if(!t||_t(e))return;let n={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:I,forceKeepAttr:void 0},r=t.length,i=V(e.nodeName);for(;r--;){let a=t[r],o=a.name,s=a.namespaceURI,c=a.value,l=V(o),u=c,d=o===`value`?u:ao(u);if(n.attrName=l,n.attrValue=d,n.keepAttr=!0,n.forceKeepAttr=void 0,bt(N.uponSanitizeAttribute,e,n),d=n.attrValue,je&&(l===`id`||l===`name`)&&io(d,Me)!==0&&(dt(o,e),d=Me+d),xe&&X(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,d)){dt(o,e);continue}if(l===`attributename`&&no(d,`href`)){dt(o,e);continue}if(!n.forceKeepAttr){if(!n.keepAttr){dt(o,e);continue}if(!ye&&X(Lo,d)){dt(o,e);continue}if(be&&(d=H(d)),!wt(i,l,d)){dt(o,e);continue}d=Dt(i,l,s,d),d!==u&&Ot(e,o,s,d)}}bt(N.afterSanitizeAttributes,e,null)},At=function(e){let t=null,n=ht(e);for(bt(N.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if(bt(N.uponSanitizeShadowNode,t,null),Ct(t),kt(t),vt(t.content)&&At(t.content),(y?y(t):t.nodeType)===Z.element){let e=_(t);vt(e)&&(jt(e),At(e))}bt(N.afterSanitizeShadowDOM,e,null)},jt=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let e=t.pop();if(e.shadow){At(e.shadow);continue}let n=e.node,r=(y?y(n):n.nodeType)===Z.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`&&V(e)===`template`){let e=n.content;vt(e)&&t.push({node:e,shadow:null})}}if(r){let e=_(n);vt(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(Ue=!e,Ue&&(e=`<!-->`),typeof e!=`string`&&!yt(e)&&(e=Fa(e),typeof e!=`string`))throw fo(`dirty is not a string, aborting`);if(!t.isSupported)return e;Ce?(F=we,I=Te):nt(n),(N.uponSanitizeElement.length>0||N.uponSanitizeAttribute.length>0)&&(F=K(F)),N.uponSanitizeAttribute.length>0&&(I=K(I)),t.removed=[];let c=Pe&&typeof e!=`string`&&yt(e);if(c){let t=b?b(e):e.nodeName;if(typeof t==`string`){let e=V(t);if(!F[e]||pe[e])throw fo(`root node is forbidden and cannot be sanitized in-place`)}if(_t(e))throw fo(`root node is clobbered and cannot be sanitized in-place`);try{jt(e)}catch(t){throw ut(e),t}}else if(yt(e))i=mt(`<!---->`),a=i.ownerDocument.importNode(e,!0),a.nodeType===Z.element&&a.nodeName===`BODY`||a.nodeName===`HTML`?i=a:i.appendChild(a),jt(a);else{if(!De&&!be&&!Se&&e.indexOf(`<`)===-1)return x&&ke?D(e):e;if(i=mt(e),!i)return De?null:ke?S:``}i&&Ee&<(i.firstChild);let l=ht(c?e:i);try{for(;o=l.nextNode();)Ct(o),kt(o),vt(o.content)&&At(o.content)}catch(t){throw c&&ut(e),t}if(c)return Ja(t.removed,e=>{e.element&&pt(e.element)}),be&>(e),e;if(De){if(be&>(i),Oe)for(s=ee.call(i.ownerDocument);i.firstChild;)s.appendChild(i.firstChild);else s=i;return(I.shadowroot||I.shadowrootmode)&&(s=ne.call(r,s,!0)),s}let u=Se?i.outerHTML:i.innerHTML;return Se&&F[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&X(Mo,i.ownerDocument.doctype.name)&&(u=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
|
|
3
|
+
`+u),be&&(u=H(u)),x&&ke?D(u):u},t.setConfig=function(){nt(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}),Ce=!0,we=F,Te=I},t.clearConfig=function(){$e=null,Ce=!1,we=null,Te=null,x=C,S=``},t.isValidAttribute=function(e,t,n){return $e||nt({}),wt(V(e),V(t),n)},t.addHook=function(e,t){typeof t==`function`&&Y(N,e)&&Za(N[e],t)},t.removeHook=function(e,t){if(Y(N,e)){if(t!==void 0){let n=Ya(N[e],t);return n===-1?void 0:Qa(N[e],n,1)[0]}return Xa(N[e])}},t.removeHooks=function(e){Y(N,e)&&(N[e]=[])},t.removeAllHooks=function(){N=Bo()},t}var za,Ba,Va,Ha,Ua,q,J,Wa,Ga,Ka,qa,Ja,Ya,Xa,Za,Qa,$a,eo,to,no,ro,io,ao,oo,so,co,lo,Y,uo,X,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,Lo,Z,Ro,zo,Bo,Vo,Ho,Uo=r((()=>{za=Object.entries,Ba=Object.setPrototypeOf,Va=Object.isFrozen,Ha=Object.getPrototypeOf,Ua=Object.getOwnPropertyDescriptor,q=Object.freeze,J=Object.seal,Wa=Object.create,Ga=typeof Reflect<`u`&&Reflect,Ka=Ga.apply,qa=Ga.construct,q||=function(e){return e},J||=function(e){return e},Ka||=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)},qa||=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)},Ja=W(Array.prototype.forEach),Ya=W(Array.prototype.lastIndexOf),Xa=W(Array.prototype.pop),Za=W(Array.prototype.push),Qa=W(Array.prototype.splice),$a=Array.isArray,eo=W(String.prototype.toLowerCase),to=W(String.prototype.toString),no=W(String.prototype.match),ro=W(String.prototype.replace),io=W(String.prototype.indexOf),ao=W(String.prototype.trim),oo=W(Number.prototype.toString),so=W(Boolean.prototype.toString),co=typeof BigInt>`u`?null:W(BigInt.prototype.toString),lo=typeof Symbol>`u`?null:W(Symbol.prototype.toString),Y=W(Object.prototype.hasOwnProperty),uo=W(Object.prototype.toString),X=W(RegExp.prototype.test),fo=Na(TypeError),po=q(`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(`.`)),mo=q(`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(`.`)),ho=q([`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`]),go=q([`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`]),_o=q(`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(`.`)),vo=q([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),yo=q([`#text`]),bo=q(`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(`.`)),xo=q(`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(`.`)),So=q(`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(`.`)),Co=q([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),wo=J(/{{[\w\W]*|^[\w\W]*}}/g),To=J(/<%[\w\W]*|^[\w\W]*%>/g),Eo=J(/\${[\w\W]*/g),Do=J(/^data-[\-\w.\u00B7-\uFFFF]+$/),Oo=J(/^aria-[\-\w]+$/),ko=J(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ao=J(/^(?:\w+script|data):/i),jo=J(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Mo=J(/^html$/i),No=J(/^[a-z][.\w]*(-[.\w]+)+$/i),Po=J(/<[/\w!]/g),Fo=J(/<[/\w]/g),Io=J(/<\/no(script|embed|frames)/i),Lo=J(/\/>/i),Z={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Ro=function(){return typeof window>`u`?null:window},zo=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}},Bo=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Vo=function(e,t,n,r){return Y(e,t)&&$a(e[t])?G(r.base?K(r.base):{},e[t],r.transform):n},Ho=Ra()})),Wo={ALLOWED_TAGS:[`p`,`br`,`strong`,`em`,`u`,`s`,`ol`,`ul`,`li`,`h1`,`h2`,`h3`,`a`,`blockquote`,`pre`,`code`],ALLOWED_ATTR:[`href`,`target`,`rel`]},Go=null,Ko=!1;async function qo(){if(!Ko){Ko=!0;try{let e=await Promise.resolve().then(()=>(Uo(),Ea)),t=e.default??e;Go=e=>t.sanitize(e,Wo)}catch{}}}function Jo(e){return Go?Go(e):e}var Yo=[`for`],Xo={key:0,class:`text-danger`},Zo={key:1,class:`alert alert-warning`,role:`alert`},Qo=[`id`],$o=[`id`],es=[`id`],ts=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=R(`wysiwyg`),i=e,a=n,o=(0,t.inject)(P,null),s=o?.consumeId(),c=(0,t.computed)(()=>i.id||s||r),l=(0,t.computed)(()=>j(i.height)??`200px`),{isMobile:u}=Ta(),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,A=()=>i.toolbar===!1?!1:u.value?i.mobileToolbar===!1?!1:i.mobileToolbar===void 0?D:k(i.mobileToolbar,D):k(i.toolbar,E),M=e=>{if(!h.value)return;v.value=!0;let t=Jo(e||``),n=h.value.clipboard.convert({html:t});h.value.setContents(n,`silent`),v.value=!1},ee=()=>!h.value||h.value.getText().trim().length===0?``:Jo(h.value.getSemanticHTML()),te=()=>{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`)},ne=async()=>{if(y)return;y=!0,_.value=null;let e=qo();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:A()}};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`),te(),i.modelValue&&M(i.modelValue),w=()=>{v.value||(a(`update:modelValue`,ee()),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)(ne),(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&&ee()!==(e||``)&&M(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],te),(0,t.watch)(u,()=>{h.value&&(x!==null&&clearTimeout(x),x=setTimeout(async()=>{if(x=null,!(b||!h.value))try{let e=ee();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 ne(),e&&M(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`,Xo,`*`)):(0,t.createCommentVNode)(``,!0)],8,Yo)):(0,t.createCommentVNode)(``,!0),_.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Zo,(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,Qo)):(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,$o)):(0,t.createCommentVNode)(``,!0),e.validationState===`invalid`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,id:`${c.value}-feedback`,class:`invalid-feedback`,role:`alert`,style:{display:`block`}},(0,t.toDisplayString)(e.validationMessage||`Please provide valid content.`),9,es)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.createCommentVNode)(``,!0)],2))}}),[[`__scopeId`,`data-v-f0a5eec1`]]),ns={key:0,class:`input-group-text`},rs={key:0,class:`input-group-text`},is=(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`,ns,(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`,rs,(0,t.toDisplayString)(e.append),1)):(0,t.createCommentVNode)(``,!0)])]),_:3},8,[`class`]))}}),as=(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`]))}}),os=Symbol(`vibeTooltipInstance`),ss=Symbol(`vibeTooltipPending`),cs=Symbol(`vibeTooltipOpts`),ls=()=>typeof window<`u`&&(`ontouchstart`in window||typeof navigator<`u`&&navigator.maxTouchPoints>0),us=e=>typeof e==`string`?{title:e}:e?{...e,title:e.title??e.text??e.content}:{},ds=e=>{let t=e||`hover focus`;return ls()&&t===`hover focus`?`click`:t},fs=(e,t)=>(e.placement||`top`)!==(t.placement||`top`)||ds(e.trigger)!==ds(t.trigger),ps=async(e,t)=>{if(e[ss]||e[os])return;e[ss]=!0;let n=t;e[cs]=t;try{e[os]=new(await(import(`bootstrap`))).Tooltip(e,{title:t.title||``,placement:t.placement||`top`,trigger:ds(t.trigger),html:!1}),e[cs]!==n&&e[os]&&e[os].setContent({".tooltip-inner":e[cs]?.title??``})}catch{}e[ss]=!1},ms=e=>{let t=e[os];t&&(t.dispose(),e[os]=null)},hs=(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`,ds(t.trigger)),e.removeAttribute(`data-bs-html`)},gs={mounted(e,t){let n=us(t.value);hs(e,n),ps(e,n)},updated(e,t){let n=us(t.value);hs(e,n);let r=e[cs]||{},i=e[os];if(e[cs]=n,!e[ss]){if(i&&fs(r,n)){ms(e),ps(e,n);return}i&&i.setContent({".tooltip-inner":n.title||``})}},beforeUnmount(e){ms(e)}},_s={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`,te),e.component(`VibeBreadcrumb`,ie),e.component(`VibeNav`,le),e.component(`VibeNavbar`,de),e.component(`VibeNavbarBrand`,I),e.component(`VibeNavbarToggle`,L),e.component(`VibeNavbarNav`,ve),e.component(`VibePagination`,we),e.component(`VibeTabContent`,Ee),e.component(`VibeTabs`,Oe),e.component(`VibeTab`,ke),e.component(`VibeListGroup`,Ae),e.component(`VibeProgress`,Me),e.component(`VibeAccordion`,ze),e.component(`VibeCollapse`,Be),e.component(`VibeDropdown`,qe),e.component(`VibeModal`,rt),e.component(`VibeOffcanvas`,ct),e.component(`VibeToast`,ht),e.component(`VibeToastHost`,Tt),e.component(`VibeCarousel`,Lt),e.component(`VibeTooltip`,zt),e.component(`VibePopover`,Vt),e.component(`VibeScrollspy`,Ht),e.component(`VibeIcon`,Wt),e.component(`VibeChartLine`,cn),e.component(`VibeChartBar`,vn),e.component(`VibeChartPie`,wn),e.component(`VibeDataTable`,qn),e.component(`VibeFormInput`,lr),e.component(`VibeFormSelect`,br),e.component(`VibeFormTextarea`,Or),e.component(`VibeFormSpinbutton`,Lr),e.component(`VibeFormDatepicker`,Wr),e.component(`VibeFileInput`,Qr),e.component(`VibeSlider`,ti),e.component(`VibeStepper`,ui),e.component(`VibeAutocomplete`,gi),e.component(`VibeSortable`,_i),e.component(`VibeDraggable`,Ti),e.component(`VibeDroppable`,Ei),e.component(`VibeResizable`,Oi),e.component(`VibeDatePicker`,Li),e.component(`VibeFormCheckbox`,Wi),e.component(`VibeFormRadio`,Zi),e.component(`VibeFormSwitch`,ia),e.component(`VibeFormGroup`,ya),e.component(`VibeFormErrorSummary`,Ca),e.component(`VibeFormWysiwyg`,ts),e.component(`VibeInputGroup`,is),e.component(`VibeLink`,as),e.directive(`vibe-tooltip`,gs)}};function vs(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 ys={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})},bs=e=>JSON.parse(JSON.stringify(e)),xs=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 Ss(e){let n=bs(e),r=(0,t.reactive)(bs(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 xs(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 xs(r[e],t);return o[e]=n,l.value=!0,n},reset:()=>{for(let e of Object.keys(n))r[e]=bs(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 Cs=Math.min,ws=Math.max,Ts=Math.round,Es=Math.floor,Ds=e=>({x:e,y:e}),Os={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function ks(e,t,n){return ws(e,Cs(t,n))}function As(e,t){return typeof e==`function`?e(t):e}function js(e){return e.split(`-`)[0]}function Ms(e){return e.split(`-`)[1]}function Ns(e){return e===`x`?`y`:`x`}function Ps(e){return e===`y`?`height`:`width`}function Fs(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Is(e){return Ns(Fs(e))}function Ls(e,t,n){n===void 0&&(n=!1);let r=Ms(e),i=Is(e),a=Ps(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Ks(o)),[o,Ks(o)]}function Rs(e){let t=Ks(e);return[zs(e),t,zs(t)]}function zs(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Bs=[`left`,`right`],Vs=[`right`,`left`],Hs=[`top`,`bottom`],Us=[`bottom`,`top`];function Ws(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Vs:Bs:t?Bs:Vs;case`left`:case`right`:return t?Hs:Us;default:return[]}}function Gs(e,t,n,r){let i=Ms(e),a=Ws(js(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(zs)))),a}function Ks(e){let t=js(e);return Os[t]+e.slice(t.length)}function qs(e){return{top:0,right:0,bottom:0,left:0,...e}}function Js(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:qs(e)}function Ys(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 Xs(e,t,n){let{reference:r,floating:i}=e,a=Fs(t),o=Is(t),s=Ps(o),c=js(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(Ms(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 Zs(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}=As(t,e),p=Js(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Ys(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=Ys(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 Qs=50,$s=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Zs},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Xs(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<Qs&&(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}=Xs(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},ec=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}=As(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=js(r),_=Fs(o),v=js(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Ks(o)]:Rs(o)),x=p!==`none`;!d&&x&&b.push(...Gs(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=Ls(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`&&_!==Fs(t))||T.every(e=>Fs(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=Fs(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{}}}},tc=new Set([`left`,`top`]);async function nc(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=js(n),s=Ms(n),c=Fs(n)===`y`,l=tc.has(o)?-1:1,u=a&&c?-1:1,d=As(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 rc=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 nc(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}}}}},ic=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}=As(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Fs(js(i)),p=Ns(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=ks(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=ks(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 ac(){return typeof window<`u`}function oc(e){return cc(e)?(e.nodeName||``).toLowerCase():`#document`}function Q(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function sc(e){return((cc(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function cc(e){return ac()?e instanceof Node||e instanceof Q(e).Node:!1}function $(e){return ac()?e instanceof Element||e instanceof Q(e).Element:!1}function lc(e){return ac()?e instanceof HTMLElement||e instanceof Q(e).HTMLElement:!1}function uc(e){return!ac()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Q(e).ShadowRoot}function dc(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Sc(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function fc(e){return/^(table|td|th)$/.test(oc(e))}function pc(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var mc=/transform|translate|scale|rotate|perspective|filter/,hc=/paint|layout|strict|content/,gc=e=>!!e&&e!==`none`,_c;function vc(e){let t=$(e)?Sc(e):e;return gc(t.transform)||gc(t.translate)||gc(t.scale)||gc(t.rotate)||gc(t.perspective)||!bc()&&(gc(t.backdropFilter)||gc(t.filter))||mc.test(t.willChange||``)||hc.test(t.contain||``)}function yc(e){let t=wc(e);for(;lc(t)&&!xc(t);){if(vc(t))return t;if(pc(t))return null;t=wc(t)}return null}function bc(){return _c??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),_c}function xc(e){return/^(html|body|#document)$/.test(oc(e))}function Sc(e){return Q(e).getComputedStyle(e)}function Cc(e){return $(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function wc(e){if(oc(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||uc(e)&&e.host||sc(e);return uc(t)?t.host:t}function Tc(e){let t=wc(e);return xc(t)?e.ownerDocument?e.ownerDocument.body:e.body:lc(t)&&dc(t)?t:Tc(t)}function Ec(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Tc(e),i=r===e.ownerDocument?.body,a=Q(r);if(i){let e=Dc(a);return t.concat(a,a.visualViewport||[],dc(r)?r:[],e&&n?Ec(e):[])}else return t.concat(r,Ec(r,[],n))}function Dc(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Oc(e){let t=Sc(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=lc(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Ts(n)!==a||Ts(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function kc(e){return $(e)?e:e.contextElement}function Ac(e){let t=kc(e);if(!lc(t))return Ds(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Oc(t),o=(a?Ts(n.width):n.width)/r,s=(a?Ts(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var jc=Ds(0);function Mc(e){let t=Q(e);return!bc()||!t.visualViewport?jc:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Nc(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Q(e)?!1:t}function Pc(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=kc(e),o=Ds(1);t&&(r?$(r)&&(o=Ac(r)):o=Ac(e));let s=Nc(a,n,r)?Mc(a):Ds(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=Q(a),t=r&&$(r)?Q(r):r,n=e,i=Dc(n);for(;i&&r&&t!==n;){let e=Ac(i),t=i.getBoundingClientRect(),r=Sc(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=Q(i),i=Dc(n)}}return Ys({width:u,height:d,x:c,y:l})}function Fc(e,t){let n=Cc(e).scrollLeft;return t?t.left+n:Pc(sc(e)).left+n}function Ic(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Fc(e,n),y:n.top+t.scrollTop}}function Lc(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=sc(r),s=t?pc(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Ds(1),u=Ds(0),d=lc(r);if((d||!d&&!a)&&((oc(r)!==`body`||dc(o))&&(c=Cc(r)),d)){let e=Pc(r);l=Ac(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Ic(o,c):Ds(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 Rc(e){return Array.from(e.getClientRects())}function zc(e){let t=sc(e),n=Cc(e),r=e.ownerDocument.body,i=ws(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=ws(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Fc(e),s=-n.scrollTop;return Sc(r).direction===`rtl`&&(o+=ws(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Bc=25;function Vc(e,t){let n=Q(e),r=sc(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=bc();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Fc(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<=Bc&&(a-=o)}else l<=Bc&&(a+=l);return{width:a,height:o,x:s,y:c}}function Hc(e,t){let n=Pc(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=lc(e)?Ac(e):Ds(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Uc(e,t,n){let r;if(t===`viewport`)r=Vc(e,n);else if(t===`document`)r=zc(sc(e));else if($(t))r=Hc(t,n);else{let n=Mc(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Ys(r)}function Wc(e,t){let n=wc(e);return n===t||!$(n)||xc(n)?!1:Sc(n).position===`fixed`||Wc(n,t)}function Gc(e,t){let n=t.get(e);if(n)return n;let r=Ec(e,[],!1).filter(e=>$(e)&&oc(e)!==`body`),i=null,a=Sc(e).position===`fixed`,o=a?wc(e):e;for(;$(o)&&!xc(o);){let t=Sc(o),n=vc(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||dc(o)&&!n&&Wc(e,o))?r=r.filter(e=>e!==o):i=t,o=wc(o)}return t.set(e,r),r}function Kc(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?pc(t)?[]:Gc(t,this._c):[].concat(n),r],o=Uc(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=Uc(t,a[e],i);s=ws(n.top,s),c=Cs(n.right,c),l=Cs(n.bottom,l),u=ws(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function qc(e){let{width:t,height:n}=Oc(e);return{width:t,height:n}}function Jc(e,t,n){let r=lc(t),i=sc(t),a=n===`fixed`,o=Pc(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=Ds(0);function l(){c.x=Fc(i)}if(r||!r&&!a)if((oc(t)!==`body`||dc(i))&&(s=Cc(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?Ic(i,s):Ds(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 Yc(e){return Sc(e).position===`static`}function Xc(e,t){if(!lc(e)||Sc(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return sc(e)===n&&(n=n.ownerDocument.body),n}function Zc(e,t){let n=Q(e);if(pc(e))return n;if(!lc(e)){let t=wc(e);for(;t&&!xc(t);){if($(t)&&!Yc(t))return t;t=wc(t)}return n}let r=Xc(e,t);for(;r&&fc(r)&&Yc(r);)r=Xc(r,t);return r&&xc(r)&&Yc(r)&&!vc(r)?n:r||yc(e)||n}var Qc=async function(e){let t=this.getOffsetParent||Zc,n=this.getDimensions,r=await n(e.floating);return{reference:Jc(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function $c(e){return Sc(e).direction===`rtl`}var el={convertOffsetParentRelativeRectToViewportRelativeRect:Lc,getDocumentElement:sc,getClippingRect:Kc,getOffsetParent:Zc,getElementRects:Qc,getClientRects:Rc,getDimensions:qc,getScale:Ac,isElement:$,isRTL:$c};function tl(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function nl(e,t){let n=null,r,i=sc(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=Es(d),h=Es(i.clientWidth-(u+f)),g=Es(i.clientHeight-(d+p)),_=Es(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:ws(0,Cs(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&&!tl(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 rl(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=kc(e),u=i||a?[...l?Ec(l):[],...t?Ec(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?nl(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&&!tl(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 il=rc,al=ic,ol=ec,sl=(e,t,n)=>{let r=new Map,i={platform:el,...n},a={...i.platform,_c:r};return $s(e,t,{...i,platform:a})},cl={"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`},ll=(e,t)=>{let n=`${e} at ${t}`;if(cl[n])return cl[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 ul(e,n,r={}){let i=()=>typeof r==`function`?r():r,a=i(),o=(0,t.ref)(ll(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(il({mainAxis:r,crossAxis:n}))}let n=e.collision??`flip+shift`;return(n===`flip`||n===`flip+shift`)&&t.push(ol()),(n===`shift`||n===`flip+shift`)&&t.push(al()),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 sl(r,t,{placement:ll(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=rl(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 dl=`vibe-color-mode`,fl={light:`dark`,dark:`auto`,auto:`light`},pl=(0,t.ref)(`auto`),ml=!1,hl=[];function gl(){return typeof window>`u`?`light`:window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}function _l(e){if(typeof document>`u`)return;let t=e===`auto`?gl():e;document.documentElement.setAttribute(`data-bs-theme`,t)}function vl(e){pl.value=e,_l(e),hl.forEach(t=>t(e))}var yl=`auto`;try{let e=typeof localStorage<`u`?localStorage.getItem(dl):null;e!==null&&e in fl&&(yl=e)}catch{}var bl=()=>{pl.value===`auto`&&(_l(`auto`),hl.forEach(e=>e(`auto`)))},xl=null;function Sl(){typeof window>`u`||(xl=window.matchMedia(`(prefers-color-scheme: dark)`),xl.addEventListener(`change`,bl))}function Cl(){xl?.removeEventListener(`change`,bl),xl=null}typeof window<`u`&&(vl(yl),Sl(),ml=!0);function wl(){function e(e){if(e in fl){try{localStorage.setItem(dl,e)}catch{}vl(e)}}function t(){if(ml)return;Cl();let e=`auto`;try{let t=typeof localStorage<`u`?localStorage.getItem(dl):null;t!==null&&t in fl&&(e=t)}catch{}vl(e),Sl(),ml=!0}function n(){Cl();try{localStorage.removeItem(dl)}catch{}vl(`auto`),Sl(),ml=!1}function r(){e(fl[pl.value]??`auto`)}function i(e){return hl.push(e),()=>{let t=hl.indexOf(e);t!==-1&&hl.splice(t,1)}}return{colorMode:pl,setColorMode:e,toggleColorMode:r,initColorMode:t,clearColorMode:n,onColorModeChange:i}}var Tl=_s;e.VibeAccordion=ze,e.VibeAlert=a,e.VibeAutocomplete=gi,e.VibeBadge=o,e.VibeBreadcrumb=ie,e.VibeButton=l,e.VibeButtonGroup=d,e.VibeCard=T,e.VibeCarousel=Lt,e.VibeChartBar=vn,e.VibeChartLine=cn,e.VibeChartPie=wn,e.VibeCloseButton=p,e.VibeCol=b,e.VibeCollapse=Be,e.VibeContainer=v,e.VibeDataTable=qn,e.VibeDatePicker=Li,e.VibeDraggable=Ti,e.VibeDropdown=qe,e.VibeDroppable=Ei,e.VibeFileInput=Qr,e.VibeFormCheckbox=Wi,e.VibeFormDatepicker=Wr,e.VibeFormErrorSummary=Ca,e.VibeFormGroup=ya,e.VibeFormInput=lr,e.VibeFormRadio=Zi,e.VibeFormSelect=br,e.VibeFormSpinbutton=Lr,e.VibeFormSwitch=ia,e.VibeFormTextarea=Or,e.VibeFormWysiwyg=ts,e.VibeHero=te,e.VibeIcon=Wt,e.VibeInputGroup=is,e.VibeLink=as,e.VibeListGroup=Ae,e.VibeModal=rt,e.VibeNav=le,e.VibeNavbar=de,e.VibeNavbarBrand=I,e.VibeNavbarNav=ve,e.VibeNavbarToggle=L,e.VibeOffcanvas=ct,e.VibePagination=we,e.VibePlaceholder=g,e.VibePopover=Vt,e.VibeProgress=Me,e.VibeResizable=Oi,e.VibeRow=y,e.VibeScrollspy=Ht,e.VibeSkeleton=_,e.VibeSlider=ti,e.VibeSortable=_i,e.VibeSpinner=h,e.VibeStepper=ui,e.VibeTab=ke,e.VibeTabContent=Ee,e.VibeTabs=Oe,e.VibeToast=ht,e.VibeToastHost=Tt,e.VibeTooltip=zt,e.default=Tl,e.resetToastStoreForSSR=Ct,e.useBackButton=Xe,e.useBreakpoints=Ta,e.useColorMode=wl,e.useForm=Ss,e.useFormValidation=vs,e.useId=R,e.usePosition=ul,e.useToast=St,e.vTooltip=gs,e.validators=ys});
|