kablui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ (function(k,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(k=typeof globalThis<"u"?globalThis:k||self,e(k.Kablui={},k.Vue))})(this,(function(k,e){"use strict";const ke={version:"0.1.0"},U=Symbol("kablui-accordion"),q=Symbol("kablui-accordion-item"),ge={"data-slot":"accordion"},he=e.defineComponent({__name:"Accordion",props:e.mergeModels({type:{default:"single"},collapsible:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,n=e.useModel(a,"modelValue"),l=new Map,o=[];function s(d){return t.type==="multiple"?Array.isArray(n.value)&&n.value.includes(d):n.value===d}function r(d){if(t.type==="multiple"){const m=Array.isArray(n.value)?[...n.value]:[],b=m.indexOf(d);b>=0?m.splice(b,1):m.push(d),n.value=m;return}if(n.value===d){t.collapsible&&(n.value=void 0);return}n.value=d}function i(d,m,b){l.has(d)||o.push(d),l.set(d,{el:m,disabled:b})}function f(d){l.delete(d);const m=o.indexOf(d);m>=0&&o.splice(m,1)}function u(){return o.map(d=>l.get(d)).filter(d=>!!d&&!d.disabled&&!!d.el).map(d=>d.el)}function c(d,m){var y,x;const b=u();if(b.length===0)return;const h=(y=l.get(d))==null?void 0:y.el,_=h?b.indexOf(h):-1;if(_===-1){(x=b[0])==null||x.focus();return}b[(_+m+b.length)%b.length].focus()}return e.provide(U,{type:e.computed(()=>t.type),collapsible:e.computed(()=>t.collapsible),isOpen:s,toggle:r,registerTrigger:i,unregisterTrigger:f,focusRelative:c}),(d,m)=>(e.openBlock(),e.createElementBlock("div",ge,[e.renderSlot(d.$slots,"default")]))}}),ye=["id","aria-labelledby"],xe=e.defineComponent({__name:"AccordionContent",setup(a){const t=e.inject(q,null);t||console.warn("[kablui] AccordionContent must be used inside AccordionItem");const n=e.computed(()=>!!(t!=null&&t.isOpen.value)),l=["px-1 pb-3 text-kablui-md text-kablui-muted-fg"].join(" ");return(o,s)=>{var r,i;return e.withDirectives((e.openBlock(),e.createElementBlock("div",{"data-slot":"accordion-content",role:"region",id:(r=e.unref(t))==null?void 0:r.contentId,"aria-labelledby":(i=e.unref(t))==null?void 0:i.triggerId,class:e.normalizeClass(e.unref(l))},[e.renderSlot(o.$slots,"default")],10,ye)),[[e.vShow,n.value]])}}});let X=0;function z(a){return X+=1,`kablui-${a}-${X}`}const Ce=["data-state","data-disabled"],Be=e.defineComponent({__name:"AccordionItem",props:{value:{},disabled:{type:Boolean,default:!1}},setup(a){const t=a,n=e.inject(U,null);n||console.warn("[kablui] AccordionItem must be used inside Accordion");const l=z("accordion-trigger"),o=z("accordion-content"),s=e.computed(()=>t.disabled),r=e.computed(()=>!!(n!=null&&n.isOpen(t.value)));function i(){!n||s.value||n.toggle(t.value)}return e.provide(q,{value:t.value,disabled:s,triggerId:l,contentId:o,isOpen:r,toggle:i}),(f,u)=>(e.openBlock(),e.createElementBlock("div",{"data-slot":"accordion-item","data-state":r.value?"open":"closed","data-disabled":a.disabled||void 0,class:"border-b border-kablui-border"},[e.renderSlot(f.$slots,"default")],8,Ce))}}),we={class:"m-0"},_e=["id","disabled","aria-expanded","aria-controls"],Ee=e.defineComponent({__name:"AccordionTrigger",setup(a){const t=e.inject(U,null),n=e.inject(q,null);(!t||!n)&&console.warn("[kablui] AccordionTrigger must be used inside AccordionItem");const l=e.computed(()=>!!(n!=null&&n.isOpen.value)),o=e.computed(()=>!!(n!=null&&n.disabled.value));let s=null;function r(c){s=c instanceof HTMLButtonElement?c:null,t&&n&&t.registerTrigger(n.value,s,o.value)}e.watch(o,c=>{t&&n&&t.registerTrigger(n.value,s,c)}),e.onBeforeUnmount(()=>{t&&n&&t.unregisterTrigger(n.value)});function i(){n==null||n.toggle()}function f(c){if(!(!t||!n||o.value))switch(c.key){case"Enter":case" ":c.preventDefault(),n.toggle();break;case"ArrowDown":c.preventDefault(),t.focusRelative(n.value,1);break;case"ArrowUp":c.preventDefault(),t.focusRelative(n.value,-1);break}}const u=["flex w-full items-center justify-between gap-2","px-1 py-3 text-left text-kablui-md font-kablui-medium text-kablui-fg","bg-transparent hover:bg-kablui-muted","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-kablui-focus focus-visible:ring-offset-2 focus-visible:ring-offset-kablui-bg","disabled:opacity-50 disabled:pointer-events-none"].join(" ");return(c,d)=>{var m,b;return e.openBlock(),e.createElementBlock("h3",we,[e.createElementVNode("button",{ref:r,type:"button","data-slot":"accordion-trigger",id:(m=e.unref(n))==null?void 0:m.triggerId,class:e.normalizeClass(e.unref(u)),disabled:o.value,"aria-expanded":l.value?"true":"false","aria-controls":(b=e.unref(n))==null?void 0:b.contentId,onClick:i,onKeydown:f},[e.renderSlot(c.$slots,"default")],42,_e)])}}}),$e=["role"],Se={class:"min-w-0 flex-1"},Te={key:0,class:"font-kablui-semibold"},ze=e.defineComponent({__name:"Alert",props:{tone:{default:"neutral"},title:{},dismissible:{type:Boolean,default:!1}},emits:["dismiss"],setup(a,{emit:t}){const n=t,l=["relative flex w-full gap-3 rounded-kablui-md border px-3 py-2.5","text-kablui-md"].join(" "),o={neutral:"border-kablui-border bg-kablui-muted text-kablui-fg",accent:"border-kablui-accent bg-kablui-accent text-kablui-accent-fg",danger:"border-kablui-danger bg-kablui-danger text-kablui-danger-fg",success:"border-kablui-success bg-kablui-success text-kablui-success-fg",warning:"border-kablui-warning bg-kablui-warning text-kablui-warning-fg"},s=["ml-auto shrink-0 -mr-1 -mt-0.5 inline-flex size-6 items-center justify-center","rounded-kablui-sm text-current opacity-70 hover:opacity-100","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-kablui-focus focus-visible:ring-offset-2 focus-visible:ring-offset-kablui-bg"].join(" ");function r(){n("dismiss")}return(i,f)=>(e.openBlock(),e.createElementBlock("div",{role:a.tone==="danger"?"alert":"status",class:e.normalizeClass([e.unref(l),o[a.tone]])},[e.createElementVNode("div",Se,[a.title?(e.openBlock(),e.createElementBlock("div",Te,e.toDisplayString(a.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(a.title?"mt-0.5":void 0)},[e.renderSlot(i.$slots,"default")],2)]),a.dismissible?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(e.unref(s)),"aria-label":"Dismiss",onClick:r},[...f[0]||(f[0]=[e.createElementVNode("span",{"aria-hidden":"true"},"×",-1)])],2)):e.createCommentVNode("",!0)],10,$e))}}),Ie=e.defineComponent({__name:"Badge",props:{tone:{default:"neutral"},size:{default:"md"}},setup(a){const t=["inline-flex items-center font-kablui-medium","rounded-kablui-full","whitespace-nowrap"].join(" "),n={neutral:"bg-kablui-muted text-kablui-fg",accent:"bg-kablui-accent text-kablui-accent-fg",danger:"bg-kablui-danger text-kablui-danger-fg"},l={sm:"text-kablui-sm px-2 py-0.5",md:"text-kablui-md px-2.5 py-1"};return(o,s)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass([e.unref(t),n[a.tone],l[a.size]])},[e.renderSlot(o.$slots,"default")],2))}}),De=["type","disabled"],O=e.defineComponent({__name:"Button",props:{variant:{default:"solid"},size:{default:"md"},disabled:{type:Boolean,default:!1},type:{default:"button"}},emits:["click"],setup(a,{emit:t}){const n=a,l=t,o=["inline-flex items-center justify-center gap-1.5 font-kablui-medium","rounded-kablui-md","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-kablui-focus focus-visible:ring-offset-2 focus-visible:ring-offset-kablui-bg","disabled:opacity-50 disabled:pointer-events-none"].join(" "),s={solid:"bg-kablui-accent text-kablui-accent-fg hover:opacity-90",outline:"border border-kablui-border-strong bg-transparent text-kablui-fg hover:bg-kablui-muted",ghost:"bg-transparent text-kablui-fg hover:bg-kablui-muted"},r={sm:"text-kablui-sm px-2 py-1",md:"text-kablui-md px-3 py-1.5",lg:"text-kablui-lg px-4 py-2"};function i(f){n.disabled||l("click",f)}return(f,u)=>(e.openBlock(),e.createElementBlock("button",{type:a.type,disabled:a.disabled,class:e.normalizeClass([e.unref(o),s[a.variant],r[a.size]]),onClick:i},[e.renderSlot(f.$slots,"default")],10,De))}}),Ve=e.defineComponent({__name:"Card",props:{as:{default:"div"},padding:{default:"none"}},setup(a){const t=["rounded-kablui-md border border-kablui-border bg-kablui-bg","text-kablui-fg shadow-kablui-sm"].join(" "),n={none:"",sm:"p-3",md:"p-4"};return(l,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.as),{class:e.normalizeClass([e.unref(t),n[a.padding]]),"data-slot":"card"},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["class"]))}}),ve="px-4 py-3 text-kablui-md text-kablui-fg",Ae=e.defineComponent({__name:"CardBody",setup(a){return(t,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(ve),"data-slot":"card-body"},[e.renderSlot(t.$slots,"default")]))}}),Me="text-kablui-sm text-kablui-muted-fg",je=e.defineComponent({__name:"CardDescription",setup(a){return(t,n)=>(e.openBlock(),e.createElementBlock("p",{class:e.normalizeClass(Me),"data-slot":"card-description"},[e.renderSlot(t.$slots,"default")]))}}),Re=e.defineComponent({__name:"CardFooter",setup(a){const t=["flex flex-wrap items-center justify-end gap-2","border-t border-kablui-border px-4 py-3"].join(" ");return(n,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(t)),"data-slot":"card-footer"},[e.renderSlot(n.$slots,"default")],2))}}),Ne="flex flex-col gap-1 px-4 pt-4 pb-2 text-kablui-fg",Le=e.defineComponent({__name:"CardHeader",setup(a){return(t,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(Ne),"data-slot":"card-header"},[e.renderSlot(t.$slots,"default")]))}}),Oe="font-kablui-semibold text-kablui-lg text-kablui-fg",Pe=e.defineComponent({__name:"CardTitle",props:{as:{default:"h3"}},setup(a){return(t,n)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.as),{class:e.normalizeClass(Oe),"data-slot":"card-title"},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3}))}}),Z=Symbol("kablui-field");function ee(a={}){const t=a.id??z("control"),n=z("hint"),l=z("error"),o=e.ref(!1),s=e.ref(!1),r=e.computed(()=>!!e.toValue(a.invalid)),i=e.computed(()=>{const u=[];return o.value&&u.push(n),s.value&&u.push(l),u.length>0?u.join(" "):void 0}),f={controlId:t,hintId:n,errorId:l,invalid:r,describedBy:i,setHasHint:u=>{o.value=u},setHasError:u=>{s.value=u}};return e.provide(Z,f),f}function M(){return e.inject(Z,null)}function v(a){const t=M(),n=e.computed(()=>e.toValue(a.id)||(t==null?void 0:t.controlId)),l=e.computed(()=>!!(e.toValue(a.invalid)||t!=null&&t.invalid.value)),o=e.computed(()=>t==null?void 0:t.describedBy.value),s=e.computed(()=>l.value?"true":void 0);return{id:n,invalid:l,describedBy:o,ariaInvalid:s}}const Fe=["id","name","value","checked","disabled","aria-invalid","aria-describedby","aria-checked"],Ke=e.defineComponent({inheritAttrs:!1,__name:"Checkbox",props:e.mergeModels({indeterminate:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},name:{},value:{default:"on"},id:{}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,n=e.useModel(a,"modelValue"),l=e.useAttrs(),o=e.ref(null),s=v({id:()=>t.id,invalid:()=>t.invalid});function r(){o.value&&(o.value.indeterminate=t.indeterminate)}e.onMounted(r),e.watch(()=>t.indeterminate,r);const i=["size-4 shrink-0 appearance-none rounded-kablui-sm border border-kablui-border bg-kablui-bg","checked:border-kablui-accent checked:bg-kablui-accent","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-kablui-focus focus-visible:ring-offset-2 focus-visible:ring-offset-kablui-bg","disabled:opacity-50 disabled:pointer-events-none"].join(" "),f=e.computed(()=>[i,s.invalid.value?"border-kablui-danger":""]);function u(c){const d=c.target;n.value=d.checked}return(c,d)=>(e.openBlock(),e.createElementBlock("input",e.mergeProps({ref_key:"inputRef",ref:o,type:"checkbox",id:e.unref(s).id.value,name:a.name,value:a.value,checked:n.value,disabled:a.disabled,"aria-invalid":e.unref(s).ariaInvalid.value,"aria-describedby":e.unref(s).describedBy.value,"aria-checked":a.indeterminate?"mixed":n.value?"true":"false",class:f.value},e.unref(l),{onChange:u}),null,16,Fe))}}),He=e.defineComponent({__name:"Cluster",props:{gap:{default:"md"},align:{default:"center"},justify:{default:"start"},as:{default:"div"}},setup(a){const t={sm:"gap-2",md:"gap-4",lg:"gap-6"},n={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch",baseline:"items-baseline"},l={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"};return(o,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.as),{class:e.normalizeClass(["flex flex-wrap",t[a.gap],n[a.align],l[a.justify]])},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["class"]))}}),Ue=e.defineComponent({__name:"Container",props:{size:{default:"md"},as:{default:"div"}},setup(a){const t={sm:"max-w-screen-sm px-4",md:"max-w-screen-md px-4",lg:"max-w-screen-lg px-6"};return(n,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.as),{class:e.normalizeClass(["mx-auto w-full",t[a.size]])},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["class"]))}}),qe={dropdown:1e3,overlay:1200,modal:1300,toast:1400,tooltip:1500};let Ye=0;const A=[],te=e.ref(0),Y=new WeakMap;function ne(){te.value+=1}function P(a){const t=++Ye,n=e.ref(!1),l=qe[a],o=e.computed(()=>(te.value,!n.value||A.length===0?!1:A[A.length-1].id===t));function s(){n.value||(A.push({id:t,layer:a}),n.value=!0,ne())}function r(){if(!n.value)return;const f=A.findIndex(u=>u.id===t);f!==-1&&A.splice(f,1),n.value=!1,ne()}const i=e.getCurrentInstance();if(i){const f=Y.get(i)??[];f.push(o),Y.set(i,f)}return e.onScopeDispose(r),{zIndex:l,isTop:o,register:s,unregister:r}}function Ge(a){if(!a)return null;const t=Y.get(a);return!t||t.length===0?null:t.shift()??null}let We=0;const D=[];function Je(){for(let a=D.length-1;a>=0;a-=1){const t=D[a];if(t.escape)return t}}function Qe(){for(let a=D.length-1;a>=0;a-=1){const t=D[a];if(t.outside)return t}}function G(a,t){const n=++We,l=e.getCurrentInstance(),o=Ge(l);let s=!1;function r(){return t.escape!==!1}function i(){return t.outside===!0}function f(m){if(m&&!s){D.push({id:n,onDismiss:t.onDismiss,escape:r(),outside:i()}),s=!0;return}if(!m&&s){const b=D.findIndex(h=>h.id===n);b!==-1&&D.splice(b,1),s=!1;return}if(m&&s){const b=D.find(h=>h.id===n);b&&(b.onDismiss=t.onDismiss,b.escape=r(),b.outside=i())}}function u(){return o?o.value:!0}function c(m){if(m.key!=="Escape"||!r()||!e.toValue(t.active)||!u())return;const b=Je();!b||b.id!==n||(m.preventDefault(),t.onDismiss())}function d(m){if(!i()||!e.toValue(t.active)||!u())return;const b=Qe();if(!b||b.id!==n)return;const h=a.value;if(!h)return;const _=m.target;!(_ instanceof Node)||h.contains(_)||t.onDismiss()}e.watch(()=>e.toValue(t.active),m=>{f(!!m)},{immediate:!0}),document.addEventListener("keydown",c),document.addEventListener("pointerdown",d),e.onScopeDispose(()=>{document.removeEventListener("keydown",c),document.removeEventListener("pointerdown",d),f(!1)})}const Xe=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");function Ze(a){if(a.hidden||a.closest("[hidden]")||a.getAttribute("aria-hidden")==="true")return!1;let t=a;for(;t;){const n=getComputedStyle(t);if(n.display==="none"||n.visibility==="hidden")return!1;t=t.parentElement}return!0}function ae(a){return Array.from(a.querySelectorAll(Xe)).filter(Ze)}function et(a,t){let n=null,l=!1;const o=i=>{if(i.key!=="Tab")return;const f=e.toValue(a);if(!f)return;const u=ae(f);if(u.length===0){i.preventDefault();return}const c=u[0],d=u[u.length-1],m=document.activeElement,b=!m||!f.contains(m);i.shiftKey?(b||m===c)&&(i.preventDefault(),d.focus()):(b||m===d)&&(i.preventDefault(),c.focus())},s=()=>{const i=e.toValue(a);n=document.activeElement instanceof HTMLElement?document.activeElement:null,l||(document.addEventListener("keydown",o,!0),l=!0),requestAnimationFrame(()=>{const u=e.toValue(a)??i;if(!u)return;const c=ae(u);c.length>0?c[0].focus():typeof u.focus=="function"&&u.focus()})},r=()=>{l&&(document.removeEventListener("keydown",o,!0),l=!1);const i=n;n=null,i&&typeof i.focus=="function"&&i.focus()};e.watch(()=>e.toValue(t.active),i=>{i?s():r()},{immediate:!0}),e.onScopeDispose(()=>{l&&r()})}let j=0,W="";function tt(){typeof document>"u"||(j===0&&(W=document.body.style.overflow,document.body.style.overflow="hidden"),j+=1)}function le(){typeof document>"u"||j!==0&&(j-=1,j===0&&(document.body.style.overflow=W,W=""))}function nt(a){let t=!1;const n=l=>{l&&!t?(tt(),t=!0):!l&&t&&(le(),t=!1)};e.watch(()=>e.toValue(a),l=>n(l),{immediate:!0}),e.onScopeDispose(()=>{t&&(le(),t=!1)})}const at=["aria-labelledby","aria-describedby"],lt={class:"min-w-0 flex-1"},ot=["id"],it=["id"],st="absolute inset-0 bg-kablui-overlay",rt="flex items-start gap-3 px-4 pt-4",ct="font-kablui-semibold text-kablui-lg text-kablui-fg",dt="mt-1 text-kablui-sm text-kablui-muted-fg",ut="px-4 py-3 text-kablui-md",ft="flex flex-wrap items-center justify-end gap-2 border-t border-kablui-border px-4 py-3",bt=e.defineComponent({__name:"Dialog",props:e.mergeModels({dismissible:{type:Boolean,default:!0},showClose:{type:Boolean,default:!1},to:{default:"body"}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:["update:open"],setup(a){const t=a,n=e.useModel(a,"open"),l=e.useSlots(),o=e.ref(null),s=z("dialog-title"),r=z("dialog-description"),i=e.computed(()=>!!l.title),f=e.computed(()=>!!l.description),{register:u,unregister:c}=P("modal");e.watch(n,E=>{E?u():c()},{immediate:!0});function d(){n.value=!1}function m(){t.dismissible&&(n.value=!1)}nt(n),et(o,{active:n}),G(o,{active:()=>!!n.value&&t.dismissible,onDismiss:m,escape:!0,outside:!0});const b=["fixed inset-0 z-kablui-modal","flex items-center justify-center p-4"].join(" "),h=["relative flex w-full max-w-md flex-col","rounded-kablui-md border border-kablui-border bg-kablui-bg text-kablui-fg","shadow-kablui-lg","outline-none"].join(" "),_=["ml-auto shrink-0 -mr-1 -mt-0.5 inline-flex size-7 items-center justify-center","rounded-kablui-sm text-kablui-muted-fg hover:bg-kablui-muted hover:text-kablui-fg","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-kablui-focus focus-visible:ring-offset-2 focus-visible:ring-offset-kablui-bg"].join(" ");return(E,y)=>(e.openBlock(),e.createBlock(e.Teleport,{to:a.to},[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(b)),"data-kablui-dialog":""},[e.createElementVNode("div",{class:e.normalizeClass(st),"aria-hidden":"true","data-kablui-dialog-backdrop":""}),e.createElementVNode("div",{ref_key:"panelRef",ref:o,role:"dialog","aria-modal":"true","aria-labelledby":i.value?e.unref(s):void 0,"aria-describedby":f.value?e.unref(r):void 0,class:e.normalizeClass(e.unref(h)),tabindex:"-1","data-kablui-dialog-panel":""},[i.value||f.value||a.showClose?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(rt)},[e.createElementVNode("div",lt,[i.value?(e.openBlock(),e.createElementBlock("h2",{key:0,id:e.unref(s),class:e.normalizeClass(ct)},[e.renderSlot(E.$slots,"title")],8,ot)):e.createCommentVNode("",!0),f.value?(e.openBlock(),e.createElementBlock("p",{key:1,id:e.unref(r),class:e.normalizeClass([dt,i.value?void 0:"mt-0"])},[e.renderSlot(E.$slots,"description")],10,it)):e.createCommentVNode("",!0)]),a.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(e.unref(_)),"aria-label":"Close",onClick:d},[...y[0]||(y[0]=[e.createElementVNode("span",{"aria-hidden":"true"},"×",-1)])],2)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),E.$slots.default?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(ut)},[e.renderSlot(E.$slots,"default")])):e.createCommentVNode("",!0),E.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(ft)},[e.renderSlot(E.$slots,"footer")])):e.createCommentVNode("",!0)],10,at)],2)):e.createCommentVNode("",!0)],8,["to"]))}}),mt={key:0,class:"text-kablui-muted-fg"},pt={key:1,class:"text-kablui-lg font-kablui-semibold text-kablui-fg"},kt={key:2,class:"text-kablui-md max-w-sm"},gt={key:3,class:"mt-1"},ht=e.defineComponent({__name:"Empty",props:{title:{}},setup(a){const t=["flex w-full flex-col items-center justify-center gap-3","px-4 py-8 text-center","text-kablui-muted-fg"].join(" ");return(n,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(t))},[n.$slots.icon?(e.openBlock(),e.createElementBlock("div",mt,[e.renderSlot(n.$slots,"icon")])):e.createCommentVNode("",!0),a.title?(e.openBlock(),e.createElementBlock("div",pt,e.toDisplayString(a.title),1)):e.createCommentVNode("",!0),n.$slots.default?(e.openBlock(),e.createElementBlock("div",kt,[e.renderSlot(n.$slots,"default")])):e.createCommentVNode("",!0),n.$slots.action?(e.openBlock(),e.createElementBlock("div",gt,[e.renderSlot(n.$slots,"action")])):e.createCommentVNode("",!0)],2))}}),yt={class:"flex flex-col gap-1.5","data-slot":"field"},xt=e.defineComponent({__name:"Field",props:{invalid:{type:Boolean,default:!1},id:{}},setup(a){const t=a;return ee({invalid:e.toRef(t,"invalid"),id:t.id}),(n,l)=>(e.openBlock(),e.createElementBlock("div",yt,[e.renderSlot(n.$slots,"default")]))}}),Ct=["id"],Bt=e.defineComponent({__name:"FieldError",setup(a){const t=M(),n=e.useSlots(),l=e.computed(()=>{var r;const s=(r=n.default)==null?void 0:r.call(n,{});return!s||s.length===0?!1:s.some(i=>typeof i.children=="string"?i.children.trim().length>0:i.children!=null)}),o=e.computed(()=>l.value||!!(t!=null&&t.invalid.value));return e.watchEffect(()=>{t==null||t.setHasError(o.value&&l.value)}),e.onBeforeUnmount(()=>{t==null||t.setHasError(!1)}),(s,r)=>{var i;return o.value&&l.value?(e.openBlock(),e.createElementBlock("p",{key:0,id:(i=e.unref(t))==null?void 0:i.errorId,role:"alert",class:"text-kablui-sm text-kablui-danger","data-slot":"field-error"},[e.renderSlot(s.$slots,"default")],8,Ct)):e.createCommentVNode("",!0)}}}),wt=["id"],_t=e.defineComponent({__name:"FieldHint",setup(a){const t=M();return e.onMounted(()=>{t==null||t.setHasHint(!0)}),e.onBeforeUnmount(()=>{t==null||t.setHasHint(!1)}),(n,l)=>{var o;return e.openBlock(),e.createElementBlock("p",{id:(o=e.unref(t))==null?void 0:o.hintId,class:"text-kablui-sm text-kablui-muted-fg","data-slot":"field-hint"},[e.renderSlot(n.$slots,"default")],8,wt)}}}),Et=["role","aria-hidden","aria-label","title"],$t=e.defineComponent({__name:"Icon",props:{size:{default:"md"},label:{},title:{}},setup(a){const t=a,n=["inline-flex shrink-0 items-center justify-center","text-current","[&>svg]:size-full"].join(" "),l={sm:"size-3",md:"size-4",lg:"size-5"},o=e.computed(()=>!t.label);return(s,r)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass([e.unref(n),l[a.size]]),role:o.value?void 0:"img","aria-hidden":o.value?!0:void 0,"aria-label":a.label||void 0,title:a.title},[e.renderSlot(s.$slots,"default")],10,Et))}}),St=["id","type","name","disabled","placeholder","value","aria-invalid","aria-describedby"],Tt=e.defineComponent({inheritAttrs:!1,__name:"Input",props:e.mergeModels({type:{default:"text"},size:{default:"md"},disabled:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},placeholder:{},name:{},id:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,n=e.useModel(a,"modelValue"),l=e.useAttrs(),o=v({id:()=>t.id,invalid:()=>t.invalid}),s=["w-full border border-kablui-border bg-kablui-bg text-kablui-fg","rounded-kablui-md font-kablui-normal","placeholder:text-kablui-muted-fg","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-kablui-focus focus-visible:ring-offset-2 focus-visible:ring-offset-kablui-bg","disabled:opacity-50 disabled:pointer-events-none"].join(" "),r={sm:"text-kablui-sm px-2 py-1",md:"text-kablui-md px-3 py-1.5",lg:"text-kablui-lg px-4 py-2"},i=e.computed(()=>[s,r[t.size],o.invalid.value?"border-kablui-danger":""]);return(f,u)=>(e.openBlock(),e.createElementBlock("input",e.mergeProps({id:e.unref(o).id.value,type:a.type,name:a.name,disabled:a.disabled,placeholder:a.placeholder,value:n.value,"aria-invalid":e.unref(o).ariaInvalid.value,"aria-describedby":e.unref(o).describedBy.value,class:i.value},e.unref(l),{onInput:u[0]||(u[0]=c=>n.value=c.target.value)}),null,16,St))}}),zt=["for"],It={key:0,class:"text-kablui-danger","aria-hidden":"true"},Dt=e.defineComponent({inheritAttrs:!1,__name:"Label",props:{required:{type:Boolean,default:!1},for:{}},setup(a){const t=a,n=e.useAttrs(),l=M(),o=e.computed(()=>t.for||(l==null?void 0:l.controlId));return(s,r)=>(e.openBlock(),e.createElementBlock("label",e.mergeProps({for:o.value,class:"inline-flex items-center gap-1 text-kablui-sm font-kablui-medium text-kablui-fg"},e.unref(n)),[e.renderSlot(s.$slots,"default"),a.required?(e.openBlock(),e.createElementBlock("span",It,"*")):e.createCommentVNode("",!0)],16,zt))}}),Vt=["href","target","rel","aria-disabled","tabindex"],vt=e.defineComponent({__name:"Link",props:{href:{},external:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(a){const t=a,n=["text-kablui-accent underline underline-offset-2","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-kablui-focus focus-visible:ring-offset-2 focus-visible:ring-offset-kablui-bg","aria-disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:text-kablui-muted-fg aria-disabled:no-underline"].join(" ");function l(s){t.disabled&&s.preventDefault()}function o(s){t.disabled&&(s.key==="Enter"||s.key===" ")&&s.preventDefault()}return(s,r)=>(e.openBlock(),e.createElementBlock("a",{href:a.href,target:a.external?"_blank":void 0,rel:a.external?"noopener noreferrer":void 0,"aria-disabled":a.disabled||void 0,tabindex:a.disabled?-1:void 0,class:e.normalizeClass(e.unref(n)),onClick:l,onKeydown:o},[e.renderSlot(s.$slots,"default")],42,Vt))}}),R=Symbol("kablui-menu"),At=e.defineComponent({__name:"Menu",props:e.mergeModels({placement:{default:"bottom-start"}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:["update:open"],setup(a){const t=a,n=e.useModel(a,"open"),l=e.ref(null),o=e.ref(null),s=e.ref(null),r=z("menu"),i=e.ref(null),{register:f,unregister:u}=P("dropdown");function c(){const x=s.value;return x?[...x.querySelectorAll('[data-slot="menu-item"]:not([disabled]):not([aria-disabled="true"])')]:[]}function d(){var x;(x=c()[0])==null||x.focus()}function m(x,g){var I;const C=c();if(C.length===0)return;const w=x?C.indexOf(x):-1,S=w===-1?g>0?0:C.length-1:(w+g+C.length)%C.length;(I=C[S])==null||I.focus()}function b(x){var C;const g=c();g.length!==0&&((C=x==="start"?g[0]:g[g.length-1])==null||C.focus())}function h(x,g){n.value=x}function _(x){h(!n.value)}function E(){n.value=!1}function y(){n.value=!1}return G(l,{active:n,onDismiss:y,escape:!0,outside:!0}),e.watch(n,(x,g)=>{if(x){f(),i.value=document.activeElement instanceof HTMLElement?document.activeElement:null,e.nextTick(()=>{d()});return}u(),g&&e.nextTick(()=>{const C=i.value??o.value;C==null||C.focus(),i.value=null})},{immediate:!0}),e.provide(R,{open:n,contentId:r,placement:e.computed(()=>t.placement),triggerRef:o,contentRef:s,setOpen:h,toggle:_,getEnabledItems:c,focusFirstItem:d,focusItemRelative:m,focusItemAtEdge:b,closeOnSelect:E}),(x,g)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"rootRef",ref:l,class:"relative inline-flex","data-slot":"menu"},[e.renderSlot(x.$slots,"default")],512))}}),Mt={top:"bottom",bottom:"top",left:"right",right:"left"};function jt(a){const[t,n]=a.split("-");return{side:t,align:n??"center"}}function F(a,t,n,l){switch(l){case"start":return a;case"end":return a+t-n;case"center":default:return a+(t-n)/2}}function oe(a,t,n,l){switch(n){case"top":return{x:F(a.left,a.width,t.width,l),y:a.top-t.height};case"bottom":return{x:F(a.left,a.width,t.width,l),y:a.bottom};case"left":return{x:a.left-t.width,y:F(a.top,a.height,t.height,l)};case"right":return{x:a.right,y:F(a.top,a.height,t.height,l)}}}function Rt(a,t,n,l,o,s){switch(l){case"top":return t<0;case"bottom":return t+n.height>s;case"left":return a<0;case"right":return a+n.width>o}}function Nt(a,t,n){const l=a.getBoundingClientRect(),o=t.getBoundingClientRect(),{side:s,align:r}=jt(n);let{x:i,y:f}=oe(l,o,s,r);if(Rt(i,f,o,s,window.innerWidth,window.innerHeight)){const u=Mt[s];({x:i,y:f}=oe(l,o,u,r))}return{position:"fixed",top:`${f}px`,left:`${i}px`}}function J(a,t,n){const l=e.ref({}),o=()=>{if(!e.toValue(n.open)){l.value={};return}const u=e.unref(a),c=e.unref(t);if(!u||!c){l.value={};return}l.value=Nt(u,c,e.toValue(n.placement))},s=()=>{o()};let r=!1;const i=()=>{r||typeof window>"u"||(r=!0,window.addEventListener("scroll",s,!0),window.addEventListener("resize",s))},f=()=>{!r||typeof window>"u"||(r=!1,window.removeEventListener("scroll",s,!0),window.removeEventListener("resize",s))};return e.watch([()=>e.toValue(n.open),()=>e.toValue(n.placement),a,t],([u])=>{u?(i(),o()):(f(),l.value={})},{immediate:!0,flush:"post"}),e.onScopeDispose(()=>{f()}),{style:l}}const Lt=["id","data-placement"],Ot=e.defineComponent({__name:"MenuContent",setup(a){const t=e.inject(R,null);t||console.warn("[kablui] MenuContent must be used inside Menu");const n=e.ref(null),l=e.ref(null);function o(c){t&&(t.contentRef.value=c instanceof HTMLElement?c:null)}e.onBeforeUnmount(()=>{t&&(t.contentRef.value=null)});const s=e.computed(()=>!!(t!=null&&t.open.value)),r=e.computed(()=>(t==null?void 0:t.placement.value)??"bottom-start"),{style:i}=J((t==null?void 0:t.triggerRef)??n,(t==null?void 0:t.contentRef)??l,{open:s,placement:r});function f(c){if(!t)return;const d=document.activeElement instanceof HTMLElement?document.activeElement:null;switch(c.key){case"ArrowDown":c.preventDefault(),t.focusItemRelative(d,1);break;case"ArrowUp":c.preventDefault(),t.focusItemRelative(d,-1);break;case"Home":c.preventDefault(),t.focusItemAtEdge("start");break;case"End":c.preventDefault(),t.focusItemAtEdge("end");break}}const u=["z-kablui-dropdown min-w-40 rounded-kablui-md border border-kablui-border bg-kablui-bg","py-1 text-kablui-md text-kablui-fg shadow-kablui-md","focus:outline-none"].join(" ");return(c,d)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[s.value&&e.unref(t)?(e.openBlock(),e.createElementBlock("div",{key:0,id:e.unref(t).contentId,ref:o,role:"menu",tabindex:"-1","data-slot":"menu-content","data-placement":r.value,class:e.normalizeClass(e.unref(u)),style:e.normalizeStyle(e.unref(i)),onPointerdown:d[0]||(d[0]=e.withModifiers(()=>{},["stop"])),onKeydown:f},[e.renderSlot(c.$slots,"default")],46,Lt)):e.createCommentVNode("",!0)]))}}),Pt=["disabled","aria-disabled"],Ft=e.defineComponent({__name:"MenuItem",props:{disabled:{type:Boolean,default:!1}},emits:["select"],setup(a,{emit:t}){const n=a,l=t,o=e.inject(R,null);o||console.warn("[kablui] MenuItem must be used inside Menu");function s(){n.disabled||(l("select"),o==null||o.closeOnSelect())}function r(){s()}function i(u){(u.key==="Enter"||u.key===" ")&&(u.preventDefault(),s())}const f=["flex w-full cursor-pointer items-center px-3 py-1.5 text-left","text-kablui-md text-kablui-fg rounded-kablui-sm","hover:bg-kablui-muted","focus:outline-none focus:bg-kablui-muted","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-kablui-focus focus-visible:ring-offset-2 focus-visible:ring-offset-kablui-bg","disabled:pointer-events-none disabled:opacity-50"].join(" ");return(u,c)=>(e.openBlock(),e.createElementBlock("button",{type:"button",role:"menuitem","data-slot":"menu-item",tabindex:"-1",disabled:a.disabled||void 0,"aria-disabled":a.disabled?"true":void 0,class:e.normalizeClass(e.unref(f)),onClick:r,onKeydown:i},[e.renderSlot(u.$slots,"default")],42,Pt))}}),Kt="my-1 h-px w-full shrink-0 border-0 border-t border-solid border-kablui-border",Ht=e.defineComponent({__name:"MenuSeparator",setup(a){return e.inject(R,null)||console.warn("[kablui] MenuSeparator must be used inside Menu"),(n,l)=>(e.openBlock(),e.createElementBlock("div",{role:"separator","data-slot":"menu-separator",class:e.normalizeClass(Kt)}))}}),Ut=["aria-expanded","aria-controls"],qt=e.defineComponent({__name:"MenuTrigger",setup(a){const t=e.inject(R,null);t||console.warn("[kablui] MenuTrigger must be used inside Menu");function n(i){t&&(t.triggerRef.value=i instanceof HTMLElement?i:null)}e.onBeforeUnmount(()=>{t&&(t.triggerRef.value=null)});const l=e.computed(()=>!!(t!=null&&t.open.value));function o(){t==null||t.toggle("pointer")}function s(i){if(t)switch(i.key){case"ArrowDown":case"ArrowUp":case"Enter":case" ":i.preventDefault(),t.open.value?i.key==="Enter"||i.key===" "?t.setOpen(!1):i.key==="ArrowDown"?t.focusFirstItem():i.key==="ArrowUp"&&t.focusItemAtEdge("end"):t.setOpen(!0,"keyboard");break;case"Escape":t.open.value&&(i.preventDefault(),t.setOpen(!1));break}}const r=["inline-flex items-center justify-center","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-kablui-focus focus-visible:ring-offset-2 focus-visible:ring-offset-kablui-bg"].join(" ");return(i,f)=>{var u;return e.openBlock(),e.createElementBlock("button",{ref:n,type:"button","data-slot":"menu-trigger",class:e.normalizeClass(e.unref(r)),"aria-haspopup":"menu","aria-expanded":l.value?"true":"false","aria-controls":(u=e.unref(t))==null?void 0:u.contentId,onClick:o,onKeydown:s},[e.renderSlot(i.$slots,"default")],42,Ut)}}}),Yt=["aria-label","aria-disabled"],Gt={key:0,class:"inline-flex min-w-8 items-center justify-center px-1 text-kablui-muted-fg","aria-hidden":"true"},Wt=e.defineComponent({__name:"Pagination",props:e.mergeModels({pageCount:{},siblingCount:{default:1},disabled:{type:Boolean,default:!1},label:{default:"Pagination"}},{page:{default:1},pageModifiers:{}}),emits:["update:page"],setup(a){const t=a,n=e.useModel(a,"page");function l(c,d){const m=Math.max(0,d-c+1);return Array.from({length:m},(b,h)=>c+h)}const o=e.computed(()=>{const c=Math.max(0,Math.floor(t.pageCount));if(c===0)return[];const d=Math.max(0,Math.floor(t.siblingCount)),m=Math.min(Math.max(1,n.value),c);if(d*2+5>=c)return l(1,c);const h=Math.max(m-d,1),_=Math.min(m+d,c),E=h>2,y=_<c-1;if(!E&&y){const x=3+2*d;return[...l(1,x),"ellipsis",c]}if(E&&!y){const x=3+2*d;return[1,"ellipsis",...l(c-x+1,c)]}return[1,"ellipsis",...l(h,_),"ellipsis",c]}),s=e.computed(()=>n.value<=1),r=e.computed(()=>n.value>=t.pageCount);function i(c){if(t.disabled)return;const d=Math.max(0,Math.floor(t.pageCount));c<1||c>d||c!==n.value&&(n.value=c)}function f(){i(n.value-1)}function u(){i(n.value+1)}return(c,d)=>(e.openBlock(),e.createElementBlock("nav",{"aria-label":a.label,"aria-disabled":a.disabled||void 0,class:"inline-flex items-center gap-1 text-kablui-fg"},[e.createVNode(O,{variant:"outline",size:"sm",disabled:a.disabled||s.value,"aria-label":"Previous page",onClick:f},{default:e.withCtx(()=>[...d[0]||(d[0]=[e.createTextVNode(" Previous ",-1)])]),_:1},8,["disabled"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(m,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:`${m}-${b}`},[m==="ellipsis"?(e.openBlock(),e.createElementBlock("span",Gt," … ")):(e.openBlock(),e.createBlock(O,{key:1,variant:m===n.value?"solid":"outline",size:"sm",disabled:a.disabled,"aria-label":`Page ${m}`,"aria-current":m===n.value?"page":void 0,onClick:h=>i(m)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m),1)]),_:2},1032,["variant","disabled","aria-label","aria-current","onClick"]))],64))),128)),e.createVNode(O,{variant:"outline",size:"sm",disabled:a.disabled||r.value,"aria-label":"Next page",onClick:u},{default:e.withCtx(()=>[...d[1]||(d[1]=[e.createTextVNode(" Next ",-1)])]),_:1},8,["disabled"])],8,Yt))}}),Q=Symbol("kablui-popover"),Jt=e.defineComponent({__name:"Popover",props:e.mergeModels({placement:{default:"bottom-start"}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:["update:open"],setup(a){const t=a,n=e.useModel(a,"open"),l=e.ref(null),o=e.ref(null),s=e.ref(null),r=z("popover"),i=e.ref(!1),f=e.ref(null),{register:u,unregister:c}=P("dropdown");function d(h,_){h&&(i.value=_==="keyboard"),n.value=h}function m(h){d(!n.value,h)}function b(){n.value=!1}return G(l,{active:n,onDismiss:b,escape:!0,outside:!0}),e.watch(n,(h,_)=>{if(h){u(),f.value=document.activeElement instanceof HTMLElement?document.activeElement:null,e.nextTick(()=>{var E;i.value&&((E=s.value)==null||E.focus())});return}c(),_&&e.nextTick(()=>{const E=f.value??o.value;E==null||E.focus(),i.value=!1,f.value=null})},{immediate:!0}),e.provide(Q,{open:n,contentId:r,placement:e.computed(()=>t.placement),triggerRef:o,contentRef:s,setOpen:d,toggle:m}),(h,_)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"rootRef",ref:l,class:"relative inline-flex","data-slot":"popover"},[e.renderSlot(h.$slots,"default")],512))}}),Qt=["id","data-placement"],Xt=e.defineComponent({inheritAttrs:!1,__name:"PopoverContent",setup(a){const t=e.useAttrs(),n=e.inject(Q,null);n||console.warn("[kablui] PopoverContent must be used inside Popover");const l=e.ref(null),o=e.ref(null);function s(c){n&&(n.contentRef.value=c instanceof HTMLElement?c:null)}e.onBeforeUnmount(()=>{n&&(n.contentRef.value=null)});const r=e.computed(()=>!!(n!=null&&n.open.value)),i=e.computed(()=>(n==null?void 0:n.placement.value)??"bottom-start"),{style:f}=J((n==null?void 0:n.triggerRef)??l,(n==null?void 0:n.contentRef)??o,{open:r,placement:i}),u=["z-kablui-dropdown rounded-kablui-md border border-kablui-border bg-kablui-bg","p-3 text-kablui-md text-kablui-fg shadow-kablui-md","focus:outline-none"].join(" ");return(c,d)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[r.value&&e.unref(n)?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,id:e.unref(n).contentId,ref:s,role:"dialog",tabindex:"-1","data-slot":"popover-content","data-placement":i.value,class:e.unref(u),style:e.unref(f)},e.unref(t),{onPointerdown:d[0]||(d[0]=e.withModifiers(()=>{},["stop"]))}),[e.renderSlot(c.$slots,"default")],16,Qt)):e.createCommentVNode("",!0)]))}}),Zt=["aria-expanded","aria-controls"],en=e.defineComponent({__name:"PopoverTrigger",setup(a){const t=e.inject(Q,null);t||console.warn("[kablui] PopoverTrigger must be used inside Popover");function n(i){t&&(t.triggerRef.value=i instanceof HTMLElement?i:null)}e.onBeforeUnmount(()=>{t&&(t.triggerRef.value=null)});const l=e.computed(()=>!!(t!=null&&t.open.value));function o(){t==null||t.toggle("pointer")}function s(i){if(t)switch(i.key){case"ArrowDown":case"Enter":case" ":i.preventDefault(),t.open.value?(i.key==="Enter"||i.key===" ")&&t.setOpen(!1):t.setOpen(!0,"keyboard");break;case"Escape":t.open.value&&(i.preventDefault(),t.setOpen(!1));break}}const r=["inline-flex items-center justify-center","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-kablui-focus focus-visible:ring-offset-2 focus-visible:ring-offset-kablui-bg"].join(" ");return(i,f)=>{var u;return e.openBlock(),e.createElementBlock("button",{ref:n,type:"button","data-slot":"popover-trigger",class:e.normalizeClass(e.unref(r)),"aria-haspopup":"dialog","aria-expanded":l.value?"true":"false","aria-controls":(u=e.unref(t))==null?void 0:u.contentId,onClick:o,onKeydown:s},[e.renderSlot(i.$slots,"default")],42,Zt)}}}),tn={class:"flex w-full flex-col gap-1"},nn={key:0,class:"text-kablui-sm text-kablui-muted-fg"},an=["aria-valuemax","aria-valuenow","aria-label","aria-busy"],ln=e.defineComponent({__name:"Progress",props:{value:{},max:{default:100},indeterminate:{type:Boolean,default:!1},label:{}},setup(a){const t=a,n=e.computed(()=>t.indeterminate||t.value===void 0),l=e.computed(()=>{if(t.value===void 0)return;const f=t.max>0?t.max:100;return Math.min(Math.max(t.value,0),f)}),o=e.computed(()=>{if(l.value===void 0)return 0;const f=t.max>0?t.max:100;return l.value/f*100}),s=["relative h-2 w-full overflow-hidden rounded-kablui-full","bg-kablui-muted"].join(" "),r=["h-full rounded-kablui-full bg-kablui-accent","transition-[width] duration-200 ease-out"].join(" "),i=["absolute inset-y-0 w-1/3 rounded-kablui-full bg-kablui-accent","animate-pulse"].join(" ");return(f,u)=>(e.openBlock(),e.createElementBlock("div",tn,[a.label?(e.openBlock(),e.createElementBlock("div",nn,e.toDisplayString(a.label),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{role:"progressbar","aria-valuemin":0,"aria-valuemax":a.max,"aria-valuenow":n.value?void 0:l.value,"aria-label":a.label||void 0,"aria-busy":n.value?!0:void 0,class:e.normalizeClass(e.unref(s))},[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(i))},null,2)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(r)),style:e.normalizeStyle({width:`${o.value}%`})},null,6))],10,an)]))}}),ie=Symbol("kablui-radio-group"),on=["id","name","value","checked","disabled","aria-invalid"],sn=e.defineComponent({inheritAttrs:!1,__name:"Radio",props:{value:{},disabled:{type:Boolean,default:!1},id:{}},setup(a){const t=a,n=e.useAttrs(),l=e.inject(ie,null),o=e.ref(null);l||console.warn("[kablui] Radio must be used inside RadioGroup");const s=e.computed(()=>t.disabled||!!(l!=null&&l.disabled.value)),r=e.computed(()=>(l==null?void 0:l.model.value)===t.value),i=e.computed(()=>!!(l!=null&&l.invalid.value));e.onMounted(()=>{o.value&&(l==null||l.register(o.value))}),e.onBeforeUnmount(()=>{o.value&&(l==null||l.unregister(o.value))});const f=["size-4 shrink-0 appearance-none rounded-full border border-kablui-border bg-kablui-bg","checked:border-kablui-accent checked:bg-kablui-accent","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-kablui-focus focus-visible:ring-offset-2 focus-visible:ring-offset-kablui-bg","disabled:opacity-50 disabled:pointer-events-none"].join(" "),u=e.computed(()=>[f,i.value?"border-kablui-danger":""]);function c(){!l||s.value||(l.model.value=t.value)}function d(m){!l||s.value||!o.value||(m.key==="ArrowDown"||m.key==="ArrowRight"?(m.preventDefault(),l.focusRelative(o.value,1)):(m.key==="ArrowUp"||m.key==="ArrowLeft")&&(m.preventDefault(),l.focusRelative(o.value,-1)))}return(m,b)=>{var h;return e.openBlock(),e.createElementBlock("input",e.mergeProps({ref_key:"inputRef",ref:o,type:"radio",id:a.id,name:(h=e.unref(l))==null?void 0:h.name.value,value:a.value,checked:r.value,disabled:s.value,"aria-invalid":i.value?"true":void 0,class:u.value},e.unref(n),{onChange:c,onKeydown:d}),null,16,on)}}}),rn=["id","aria-invalid","aria-describedby","aria-orientation","aria-disabled"],cn=e.defineComponent({__name:"RadioGroup",props:e.mergeModels({name:{},disabled:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},orientation:{default:"vertical"},id:{}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){let t=0;const n=a,l=e.useModel(a,"modelValue"),o=v({id:()=>n.id,invalid:()=>n.invalid}),s=`kablui-radio-${++t}`,r=e.computed(()=>n.name??s),i=new Set;function f(b){i.add(b)}function u(b){i.delete(b)}function c(){return[...i].filter(b=>!b.disabled)}function d(b,h){const _=c(),E=_.indexOf(b);if(E===-1||_.length===0)return;const y=_[(E+h+_.length)%_.length];y.focus(),l.value=y.value}e.provide(ie,{name:r,model:l,disabled:e.computed(()=>n.disabled),invalid:e.computed(()=>o.invalid.value),register:f,unregister:u,focusRelative:d});const m={vertical:"flex-col gap-2",horizontal:"flex-row flex-wrap gap-3"};return(b,h)=>(e.openBlock(),e.createElementBlock("div",{role:"radiogroup",id:e.unref(o).id.value,"aria-invalid":e.unref(o).ariaInvalid.value,"aria-describedby":e.unref(o).describedBy.value,"aria-orientation":a.orientation,"aria-disabled":a.disabled||void 0,class:e.normalizeClass(["flex",m[a.orientation]]),"data-slot":"radio-group"},[e.renderSlot(b.$slots,"default")],10,rn))}}),se=Symbol("kablui-select"),dn=["id","disabled","aria-expanded","aria-invalid","aria-describedby"],un={class:"truncate"},fn=["aria-labelledby","aria-label","aria-activedescendant"],bn=["id","aria-selected","aria-disabled","data-value","onClick","onMouseenter"],mn=["name","value","disabled"],pn=e.defineComponent({inheritAttrs:!1,__name:"Select",props:e.mergeModels({options:{},placeholder:{default:"Select…"},disabled:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},name:{},id:{},size:{default:"md"}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,n=e.useModel(a,"modelValue"),l=e.useAttrs(),o=v({id:()=>t.id,invalid:()=>t.invalid}),s=e.ref(!1),r=e.ref(),i=e.ref(null),f=e.ref(null),u=e.ref(null),c=`kablui-listbox-${Math.random().toString(36).slice(2,9)}`,d=e.ref([]);let m="",b=null;const h=e.computed(()=>(t.options??[]).map(p=>({value:p.value,label:p.label,disabled:p.disabled,id:`${c}-option-${p.value}`}))),_=e.computed(()=>h.value.length>0?h.value:d.value),E=e.computed(()=>_.value.filter(p=>!p.disabled)),y=e.computed(()=>_.value.find(p=>p.value===n.value)),x=e.computed(()=>{var p;return((p=y.value)==null?void 0:p.label)??""}),g=e.computed(()=>{var p;if(!(!s.value||!r.value))return(p=_.value.find(B=>B.value===r.value))==null?void 0:p.id});function C(p){const B=[...d.value],$=B.findIndex(T=>T.value===p.value);$===-1?B.push(p):B[$]=p,d.value=B}function w(p){d.value=d.value.filter(B=>B.value!==p)}function S(p,B){const $=d.value.findIndex(ia=>ia.value===p);if($===-1)return;const T=d.value[$],V=B.label||T.label||B.value;if(T.label===V&&T.disabled===B.disabled&&T.id===B.id)return;const H=[...d.value];H[$]={...B,label:V},d.value=H}function I(p){r.value=p}function N(p){const B=_.value.find($=>$.value===p);!B||B.disabled||(n.value=p,s.value=!1,r.value=p,e.nextTick(()=>{var $;return($=u.value)==null?void 0:$.focus()}))}function Qn(){var B;const p=n.value;return p&&E.value.some($=>$.value===p)?p:(B=E.value[0])==null?void 0:B.value}function L(){t.disabled||(s.value=!0,r.value=Qn(),e.nextTick(()=>{var p;(p=f.value)==null||p.focus()}))}function ue(){s.value=!1,e.nextTick(()=>{var p;return(p=u.value)==null?void 0:p.focus()})}function Xn(){s.value?ue():L()}function fe(p){const B=E.value;if(B.length===0)return;const $=B.findIndex(H=>H.value===r.value),V=(($===-1?p>0?-1:0:$)+p+B.length)%B.length;r.value=B[V].value}function be(p){const B=E.value;B.length!==0&&(r.value=p==="start"?B[0].value:B[B.length-1].value)}function Zn(p){m+=p.toLowerCase(),b&&clearTimeout(b),b=setTimeout(()=>{m=""},500);const B=E.value,$=Math.max(0,B.findIndex(T=>T.value===r.value));for(let T=0;T<B.length;T++){const V=B[($+T)%B.length];if(V.label.toLowerCase().startsWith(m)){r.value=V.value,s.value||(n.value=V.value);return}}}function me(p){if(!t.disabled)switch(p.key){case"ArrowDown":p.preventDefault(),s.value?fe(1):L();break;case"ArrowUp":p.preventDefault(),s.value?fe(-1):L();break;case"Home":s.value&&(p.preventDefault(),be("start"));break;case"End":s.value&&(p.preventDefault(),be("end"));break;case"Enter":case" ":p.preventDefault(),s.value?r.value&&N(r.value):L();break;case"Escape":s.value&&(p.preventDefault(),ue());break;default:p.key.length===1&&!p.ctrlKey&&!p.metaKey&&!p.altKey&&(p.preventDefault(),s.value||L(),Zn(p.key))}}function ea(p){me(p)}function pe(p){if(!s.value||!i.value)return;const B=p.target;i.value.contains(B)||(s.value=!1)}e.onMounted(()=>{document.addEventListener("pointerdown",pe)}),e.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",pe),b&&clearTimeout(b)}),e.provide(se,{listboxId:c,model:n,activeValue:r,open:s,register:C,unregister:w,update:S,selectValue:N,setActiveValue:I,disabled:e.computed(()=>t.disabled)});const ta=["inline-flex w-full items-center justify-between gap-2 border border-kablui-border bg-kablui-bg text-kablui-fg","rounded-kablui-md font-kablui-normal","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-kablui-focus focus-visible:ring-offset-2 focus-visible:ring-offset-kablui-bg","disabled:opacity-50 disabled:pointer-events-none"].join(" "),na={sm:"text-kablui-sm px-2 py-1",md:"text-kablui-md px-3 py-1.5",lg:"text-kablui-lg px-4 py-2"},aa=e.computed(()=>[ta,na[t.size],o.invalid.value?"border-kablui-danger":"",x.value?"":"text-kablui-muted-fg"]),la=e.computed(()=>o.id.value),oa=e.computed(()=>o.id.value?void 0:t.placeholder);return(p,B)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"rootRef",ref:i,class:"relative w-full","data-slot":"select"},[e.createElementVNode("button",e.mergeProps({ref_key:"triggerRef",ref:u,type:"button",id:e.unref(o).id.value,disabled:a.disabled,"aria-haspopup":"listbox","aria-expanded":s.value?"true":"false","aria-controls":c,"aria-invalid":e.unref(o).ariaInvalid.value,"aria-describedby":e.unref(o).describedBy.value,class:aa.value},e.unref(l),{onClick:Xn,onKeydown:me}),[e.createElementVNode("span",un,e.toDisplayString(x.value||a.placeholder),1),B[0]||(B[0]=e.createElementVNode("svg",{class:"size-4 shrink-0 text-kablui-muted-fg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","aria-hidden":"true"},[e.createElementVNode("path",{d:"M6 9l6 6 6-6"})],-1))],16,dn),e.withDirectives(e.createElementVNode("div",{id:c,ref_key:"listboxRef",ref:f,role:"listbox",tabindex:"-1","aria-labelledby":la.value,"aria-label":oa.value,"aria-activedescendant":g.value,class:"absolute z-10 mt-1 max-h-60 w-full overflow-auto rounded-kablui-md border border-kablui-border bg-kablui-bg p-1 shadow-kablui-sm",onKeydown:ea},[h.value.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(h.value,$=>(e.openBlock(),e.createElementBlock("div",{id:$.id,key:$.value,role:"option","aria-selected":n.value===$.value?"true":"false","aria-disabled":$.disabled||void 0,"data-value":$.value,class:e.normalizeClass(["flex w-full cursor-pointer items-center px-3 py-1.5 text-kablui-md text-kablui-fg rounded-kablui-sm",r.value===$.value?"bg-kablui-muted":"",n.value===$.value?"font-kablui-medium":"",$.disabled?"opacity-50 pointer-events-none":"hover:bg-kablui-muted"]),onClick:T=>N($.value),onMouseenter:T=>!$.disabled&&I($.value)},e.toDisplayString($.label),43,bn))),128)):e.renderSlot(p.$slots,"default",{},void 0,void 0,1)],40,fn),[[e.vShow,s.value]]),a.name?(e.openBlock(),e.createElementBlock("input",{key:0,type:"hidden",name:a.name,value:n.value??"",disabled:a.disabled},null,8,mn)):e.createCommentVNode("",!0)],512))}}),kn=["id","aria-selected","aria-disabled","data-value"],gn=e.defineComponent({__name:"SelectItem",props:{value:{},disabled:{type:Boolean,default:!1},label:{}},setup(a){const t=a,n=e.inject(se,null),l=e.ref(null);n||console.warn("[kablui] SelectItem must be used inside Select");const o=e.computed(()=>n?`${n.listboxId}-option-${t.value}`:void 0);function s(){var d,m;return t.label||((m=(d=l.value)==null?void 0:d.textContent)==null?void 0:m.trim())||t.value}function r(){return{value:t.value,label:s(),disabled:t.disabled,id:o.value??t.value}}e.onMounted(()=>{n==null||n.register(r())}),e.onUpdated(()=>{n==null||n.update(t.value,r())}),e.onBeforeUnmount(()=>{n==null||n.unregister(t.value)});const i=e.computed(()=>(n==null?void 0:n.model.value)===t.value),f=e.computed(()=>(n==null?void 0:n.activeValue.value)===t.value),u=e.computed(()=>["flex w-full cursor-pointer items-center px-3 py-1.5 text-kablui-md text-kablui-fg","rounded-kablui-sm",f.value?"bg-kablui-muted":"",i.value?"font-kablui-medium":"",t.disabled?"opacity-50 pointer-events-none":"hover:bg-kablui-muted"].join(" "));function c(){t.disabled||n==null||n.selectValue(t.value)}return(d,m)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"rootRef",ref:l,id:o.value,role:"option","aria-selected":i.value?"true":"false","aria-disabled":a.disabled||void 0,"data-value":a.value,class:e.normalizeClass(u.value),onClick:c,onMouseenter:m[0]||(m[0]=b=>{var h;return!a.disabled&&((h=e.unref(n))==null?void 0:h.setActiveValue(a.value))})},[e.renderSlot(d.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.value),1)])],42,kn))}}),hn=["role","aria-hidden","aria-orientation"],yn="shrink-0 border-0 border-solid",xn=e.defineComponent({__name:"Separator",props:{orientation:{default:"horizontal"},semantic:{type:Boolean,default:!1}},setup(a){const t={decorative:"border-kablui-border",semantic:"border-kablui-border-strong"},n={horizontal:"w-full border-t",vertical:"h-full border-l"};return(l,o)=>(e.openBlock(),e.createElementBlock("div",{role:a.semantic?"separator":void 0,"aria-hidden":a.semantic?void 0:!0,"aria-orientation":a.semantic&&a.orientation==="vertical"?"vertical":void 0,class:e.normalizeClass([yn,t[a.semantic?"semantic":"decorative"],n[a.orientation]])},null,10,hn))}}),Cn="block bg-kablui-muted",Bn=e.defineComponent({__name:"Skeleton",props:{width:{},height:{},circle:{type:Boolean,default:!1},animated:{type:Boolean,default:!0}},setup(a){const t={rect:"rounded-kablui-md",circle:"rounded-kablui-full"};return(n,l)=>(e.openBlock(),e.createElementBlock("div",{"aria-hidden":"true",class:e.normalizeClass([Cn,t[a.circle?"circle":"rect"],a.animated?"animate-pulse":void 0]),style:e.normalizeStyle({width:a.width??(a.circle?"2.5rem":"100%"),height:a.height??(a.circle?"2.5rem":"1rem")})},null,6))}}),wn=["aria-busy","aria-label"],_n={key:0,class:"sr-only"},En=e.defineComponent({__name:"Spinner",props:{size:{default:"md"},label:{}},setup(a){const t=["inline-block shrink-0 rounded-kablui-full border-2 border-current border-t-transparent","animate-spin"].join(" "),n={sm:"size-3",md:"size-4",lg:"size-5"};return(l,o)=>(e.openBlock(),e.createElementBlock("span",{role:"status","aria-busy":a.label?!0:void 0,"aria-label":a.label||void 0,class:"inline-flex items-center"},[e.createElementVNode("span",{class:e.normalizeClass([e.unref(t),n[a.size]]),"aria-hidden":"true"},null,2),a.label?(e.openBlock(),e.createElementBlock("span",_n,e.toDisplayString(a.label),1)):e.createCommentVNode("",!0)],8,wn))}}),re=e.defineComponent({__name:"Stack",props:{gap:{default:"md"},align:{default:"stretch"},as:{default:"div"}},setup(a){const t={sm:"gap-2",md:"gap-4",lg:"gap-6"},n={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch",baseline:"items-baseline"};return(l,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.as),{class:e.normalizeClass(["flex flex-col",t[a.gap],n[a.align]])},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["class"]))}}),$n=["id","disabled","aria-checked","aria-invalid","aria-describedby"],Sn=["name","value","disabled"],Tn=e.defineComponent({inheritAttrs:!1,__name:"Switch",props:e.mergeModels({disabled:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},name:{},id:{},value:{default:"on"}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,n=e.useModel(a,"modelValue"),l=e.useAttrs(),o=v({id:()=>t.id,invalid:()=>t.invalid}),s=e.computed(()=>["relative inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-kablui-border","transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-kablui-focus focus-visible:ring-offset-2 focus-visible:ring-offset-kablui-bg","disabled:cursor-not-allowed disabled:opacity-50 disabled:pointer-events-none",n.value?"bg-kablui-accent border-kablui-accent":"bg-kablui-muted",o.invalid.value?"border-kablui-danger":""].join(" ")),r=e.computed(()=>["pointer-events-none inline-block size-3.5 rounded-full bg-kablui-bg shadow-kablui-sm","transition-transform",n.value?"translate-x-4":"translate-x-0.5"].join(" "));function i(){t.disabled||(n.value=!n.value)}function f(u){(u.key===" "||u.key==="Enter")&&(u.preventDefault(),i())}return(u,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("button",e.mergeProps({type:"button",role:"switch",id:e.unref(o).id.value,disabled:a.disabled,"aria-checked":n.value?"true":"false","aria-invalid":e.unref(o).ariaInvalid.value,"aria-describedby":e.unref(o).describedBy.value,class:s.value},e.unref(l),{onClick:i,onKeydown:f}),[e.createElementVNode("span",{class:e.normalizeClass(r.value),"aria-hidden":"true"},null,2)],16,$n),a.name?(e.openBlock(),e.createElementBlock("input",{key:0,type:"hidden",name:a.name,value:n.value?a.value:"",disabled:a.disabled},null,8,Sn)):e.createCommentVNode("",!0)],64))}}),K=Symbol("kablui-tabs"),zn=["id","disabled","aria-selected","aria-controls","tabindex"],In=e.defineComponent({__name:"Tab",props:{value:{},disabled:{type:Boolean,default:!1}},setup(a){const t=a,n=e.inject(K,null),l=e.ref(null);n||console.warn("[kablui] Tab must be used inside Tabs");const o=e.computed(()=>!!(n!=null&&n.isSelected(t.value))),s=e.computed(()=>n==null?void 0:n.getTabId(t.value)),r=e.computed(()=>n==null?void 0:n.getPanelId(t.value)),i=e.computed(()=>(n==null?void 0:n.orientation.value)??"horizontal"),f=e.computed(()=>n!=null&&n.isTabbable(t.value)?0:-1);e.onMounted(()=>{!n||!l.value||n.registerTab({value:t.value,disabled:t.disabled,el:l.value})}),e.onBeforeUnmount(()=>{n==null||n.unregisterTab(t.value)}),e.watch(()=>t.disabled,b=>{n==null||n.updateTab(t.value,{disabled:b})}),e.watch(l,b=>{!n||!b||n.updateTab(t.value,{el:b,disabled:t.disabled})});function u(){var b;!n||t.disabled||(n.select(t.value),(b=l.value)==null||b.focus())}function c(b){if(!n||t.disabled)return;const h=i.value==="horizontal",_=i.value==="vertical";switch(b.key){case"ArrowRight":if(!h)return;b.preventDefault(),n.focusRelative(t.value,1);break;case"ArrowLeft":if(!h)return;b.preventDefault(),n.focusRelative(t.value,-1);break;case"ArrowDown":if(!_)return;b.preventDefault(),n.focusRelative(t.value,1);break;case"ArrowUp":if(!_)return;b.preventDefault(),n.focusRelative(t.value,-1);break;case"Home":b.preventDefault(),n.focusFirst();break;case"End":b.preventDefault(),n.focusLast();break}}const d=["inline-flex items-center justify-center gap-1.5","px-3 py-2 text-kablui-md font-kablui-medium","text-kablui-muted-fg bg-transparent","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-kablui-focus focus-visible:ring-offset-2 focus-visible:ring-offset-kablui-bg","disabled:opacity-50 disabled:pointer-events-none"].join(" "),m=e.computed(()=>o.value?i.value==="horizontal"?"border-b-2 border-kablui-accent text-kablui-accent":"border-r-2 border-kablui-accent text-kablui-accent":i.value==="horizontal"?"border-b-2 border-transparent hover:text-kablui-fg":"border-r-2 border-transparent hover:text-kablui-fg");return(b,h)=>(e.openBlock(),e.createElementBlock("button",{ref_key:"buttonRef",ref:l,type:"button",role:"tab","data-slot":"tab",id:s.value,disabled:a.disabled||void 0,"aria-selected":o.value?"true":"false","aria-controls":r.value,tabindex:f.value,class:e.normalizeClass([e.unref(d),m.value]),onClick:u,onKeydown:c},[e.renderSlot(b.$slots,"default")],42,zn))}}),Dn=["aria-orientation"],Vn=e.defineComponent({__name:"TabList",setup(a){const t=e.inject(K,null);t||console.warn("[kablui] TabList must be used inside Tabs");const n=e.computed(()=>(t==null?void 0:t.orientation.value)??"horizontal"),l={horizontal:"flex-row border-b border-kablui-border",vertical:"flex-col border-r border-kablui-border"};return(o,s)=>(e.openBlock(),e.createElementBlock("div",{role:"tablist","data-slot":"tab-list","aria-orientation":n.value,class:e.normalizeClass(["flex",l[n.value]])},[e.renderSlot(o.$slots,"default")],10,Dn))}}),vn=["id","aria-labelledby","hidden","tabindex"],An=e.defineComponent({__name:"TabPanel",props:{value:{}},setup(a){const t=a,n=e.inject(K,null);n||console.warn("[kablui] TabPanel must be used inside Tabs");const l=e.computed(()=>!!(n!=null&&n.isSelected(t.value))),o=e.computed(()=>n==null?void 0:n.getPanelId(t.value)),s=e.computed(()=>n==null?void 0:n.getTabId(t.value));return(r,i)=>(e.openBlock(),e.createElementBlock("div",{role:"tabpanel","data-slot":"tab-panel",id:o.value,"aria-labelledby":s.value,hidden:!l.value,tabindex:l.value?0:void 0,class:"px-1 py-3 text-kablui-md text-kablui-fg"},[e.renderSlot(r.$slots,"default")],8,vn))}}),Mn=["data-orientation"],jn=e.defineComponent({__name:"Tabs",props:e.mergeModels({orientation:{default:"horizontal"}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,n=e.useModel(a,"modelValue"),l=z("tabs"),o=e.ref([]);function s(g){return`${l}-tab-${g}`}function r(g){return`${l}-panel-${g}`}function i(g){const C=[...o.value],w=C.findIndex(S=>S.value===g.value);w===-1?C.push(g):C[w]=g,o.value=C}function f(g){o.value=o.value.filter(C=>C.value!==g)}function u(g,C){const w=[...o.value],S=w.findIndex(I=>I.value===g);S!==-1&&(w[S]={...w[S],...C,value:g},o.value=w)}function c(){return o.value.filter(g=>!g.disabled)}function d(g){return n.value===g}function m(g){const C=o.value.find(S=>S.value===g);if(!C||C.disabled)return!1;if(n.value!=null)return n.value===g;const w=c()[0];return(w==null?void 0:w.value)===g}function b(g){const C=o.value.find(w=>w.value===g);!C||C.disabled||(n.value=g)}function h(g){n.value=g.value,g.el.focus()}function _(g,C){const w=c(),S=w.findIndex(N=>N.value===g);if(S===-1||w.length===0)return;const I=w[(S+C+w.length)%w.length];h(I)}function E(){const g=c();g.length!==0&&h(g[0])}function y(){const g=c();g.length!==0&&h(g[g.length-1])}e.provide(K,{model:n,orientation:e.computed(()=>t.orientation),registerTab:i,unregisterTab:f,updateTab:u,getTabId:s,getPanelId:r,select:b,focusRelative:_,focusFirst:E,focusLast:y,isSelected:d,isTabbable:m});const x={horizontal:"flex-col",vertical:"flex-row"};return(g,C)=>(e.openBlock(),e.createElementBlock("div",{"data-slot":"tabs",class:e.normalizeClass(["flex gap-0",x[a.orientation]]),"data-orientation":a.orientation},[e.renderSlot(g.$slots,"default")],10,Mn))}}),Rn=e.defineComponent({__name:"Text",props:{as:{default:"p"},size:{default:"md"},weight:{default:"normal"},tone:{default:"default"}},setup(a){const t={sm:"text-kablui-sm",md:"text-kablui-md",lg:"text-kablui-lg"},n={normal:"font-kablui-normal",medium:"font-kablui-medium",semibold:"font-kablui-semibold"},l={default:"text-kablui-fg",muted:"text-kablui-muted-fg",accent:"text-kablui-accent",danger:"text-kablui-danger"};return(o,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.as),{class:e.normalizeClass([t[a.size],n[a.weight],l[a.tone]])},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["class"]))}}),Nn=["id","name","rows","disabled","placeholder","value","aria-invalid","aria-describedby"],Ln=e.defineComponent({inheritAttrs:!1,__name:"Textarea",props:e.mergeModels({size:{default:"md"},rows:{default:3},disabled:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},placeholder:{},name:{},id:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const t=a,n=e.useModel(a,"modelValue"),l=e.useAttrs(),o=v({id:()=>t.id,invalid:()=>t.invalid}),s=["w-full border border-kablui-border bg-kablui-bg text-kablui-fg","rounded-kablui-md font-kablui-normal","placeholder:text-kablui-muted-fg","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-kablui-focus focus-visible:ring-offset-2 focus-visible:ring-offset-kablui-bg","disabled:opacity-50 disabled:pointer-events-none"].join(" "),r={sm:"text-kablui-sm px-2 py-1",md:"text-kablui-md px-3 py-1.5",lg:"text-kablui-lg px-4 py-2"},i=e.computed(()=>[s,r[t.size],o.invalid.value?"border-kablui-danger":""]);return(f,u)=>(e.openBlock(),e.createElementBlock("textarea",e.mergeProps({id:e.unref(o).id.value,name:a.name,rows:a.rows,disabled:a.disabled,placeholder:a.placeholder,value:n.value,"aria-invalid":e.unref(o).ariaInvalid.value,"aria-describedby":e.unref(o).describedBy.value,class:i.value},e.unref(l),{onInput:u[0]||(u[0]=c=>n.value=c.target.value)}),null,16,Nn))}}),On=["role","aria-labelledby","aria-describedby"],Pn={class:"min-w-0 flex-1"},Fn=["id"],Kn=["id"],ce=e.defineComponent({__name:"Toast",props:{tone:{default:"neutral"},title:{},description:{},actionLabel:{}},emits:["dismiss","action"],setup(a,{emit:t}){const n=t,l=z("toast-title"),o=z("toast-description"),s=["pointer-events-auto relative flex w-80 max-w-[calc(100vw-2rem)] gap-3","rounded-kablui-md border px-3 py-2.5 shadow-kablui-md","text-kablui-md"].join(" "),r={neutral:"border-kablui-border bg-kablui-bg text-kablui-fg",accent:"border-kablui-accent bg-kablui-accent text-kablui-accent-fg",danger:"border-kablui-danger bg-kablui-danger text-kablui-danger-fg",success:"border-kablui-success bg-kablui-success text-kablui-success-fg",warning:"border-kablui-warning bg-kablui-warning text-kablui-warning-fg"},i=["shrink-0 -mr-1 -mt-0.5 inline-flex size-6 items-center justify-center","rounded-kablui-sm text-current opacity-70 hover:opacity-100","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-kablui-focus focus-visible:ring-offset-2 focus-visible:ring-offset-kablui-bg"].join(" "),f=["mt-1.5 inline-flex items-center text-kablui-sm font-kablui-medium","underline underline-offset-2 opacity-90 hover:opacity-100","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-kablui-focus focus-visible:ring-offset-2 focus-visible:ring-offset-kablui-bg"].join(" ");function u(){n("dismiss")}function c(){n("action")}return(d,m)=>(e.openBlock(),e.createElementBlock("div",{role:a.tone==="danger"?"alert":"status","aria-labelledby":e.unref(l),"aria-describedby":a.description?e.unref(o):void 0,class:e.normalizeClass([e.unref(s),r[a.tone]]),"data-kablui-toast":""},[e.createElementVNode("div",Pn,[e.createElementVNode("div",{id:e.unref(l),class:"font-kablui-semibold"},e.toDisplayString(a.title),9,Fn),a.description?(e.openBlock(),e.createElementBlock("div",{key:0,id:e.unref(o),class:"mt-0.5 text-kablui-sm opacity-90"},e.toDisplayString(a.description),9,Kn)):e.createCommentVNode("",!0),a.actionLabel?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:e.normalizeClass(e.unref(f)),onClick:c},e.toDisplayString(a.actionLabel),3)):e.createCommentVNode("",!0)]),e.createElementVNode("button",{type:"button",class:e.normalizeClass(e.unref(i)),"aria-label":"Dismiss",onClick:u},[...m[0]||(m[0]=[e.createElementVNode("span",{"aria-hidden":"true"},"×",-1)])],2)],10,On))}}),de=Symbol("kablui-toast"),Hn=["data-placement"],Un=5e3,qn=e.defineComponent({__name:"ToastProvider",props:{placement:{default:"bottom-end"},maxVisible:{default:3},to:{default:"body"}},setup(a){const t=a,n=e.ref([]),l=e.ref([]),o=new Map,{zIndex:s}=P("toast"),r=e.computed(()=>n.value.length>0);function i(y){const x=o.get(y);x!==void 0&&(clearTimeout(x),o.delete(y))}function f(y){if(y.duration<=0)return;i(y.id);const x=setTimeout(()=>{d(y.id)},y.duration);o.set(y.id,x)}function u(){for(;n.value.length<t.maxVisible&&l.value.length>0;){const y=l.value.shift();if(!y)break;n.value.push(y),f(y)}}function c(y){const x={id:z("toast"),tone:y.tone??"neutral",title:y.title,description:y.description,duration:y.duration??Un,action:y.action};return n.value.length<t.maxVisible?(n.value.push(x),f(x)):l.value.push(x),x.id}function d(y){i(y);const x=n.value.findIndex(C=>C.id===y);if(x!==-1){n.value.splice(x,1),u();return}const g=l.value.findIndex(C=>C.id===y);g!==-1&&l.value.splice(g,1)}function m(y){var x;(x=y.action)==null||x.onClick()}e.provide(de,{toast:c,dismiss:d}),e.onScopeDispose(()=>{for(const y of[...o.keys()])i(y)});const b={"top-start":"top-4 left-4","top-end":"top-4 right-4","bottom-start":"bottom-4 left-4","bottom-end":"bottom-4 right-4"},h=e.computed(()=>t.placement.startsWith("top")),_=e.computed(()=>["pointer-events-none fixed z-kablui-toast",b[t.placement]].join(" ")),E=e.computed(()=>h.value?[...n.value].reverse():n.value);return(y,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.renderSlot(y.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:a.to},[r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(_.value),style:e.normalizeStyle({zIndex:e.unref(s)}),"data-kablui-toast-region":"","data-placement":a.placement},[e.createVNode(re,{gap:"sm",align:a.placement.endsWith("end")?"end":"start"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.value,g=>{var C;return e.openBlock(),e.createBlock(ce,{key:g.id,tone:g.tone,title:g.title,description:g.description,"action-label":(C=g.action)==null?void 0:C.label,onDismiss:w=>d(g.id),onAction:w=>m(g)},null,8,["tone","title","description","action-label","onDismiss","onAction"])}),128))]),_:1},8,["align"])],14,Hn)):e.createCommentVNode("",!0)],8,["to"]))],64))}}),Yn=["id","data-placement"],Gn=e.defineComponent({__name:"Tooltip",props:{content:{},placement:{default:"top"},delay:{default:300}},setup(a){const t=a,n=e.ref(!1),l=e.ref(null),o=e.ref(null),s=z("tooltip");let r=null,i=null,f=null;const{style:u}=J(l,o,{open:n,placement:()=>t.placement});function c(){r&&(clearTimeout(r),r=null),i&&(clearTimeout(i),i=null)}function d(){return typeof window>"u"||typeof window.matchMedia!="function"?!0:window.matchMedia("(hover: hover)").matches}function m(){const w=l.value;return w?w.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')??w:null}function b(w){const S=m();f&&f!==S&&(f.getAttribute("aria-describedby")===s&&f.removeAttribute("aria-describedby"),f=null),S&&(f=S,w?S.setAttribute("aria-describedby",s):S.getAttribute("aria-describedby")===s&&S.removeAttribute("aria-describedby"))}function h(){c(),r=setTimeout(()=>{r=null,n.value=!0},t.delay)}function _(){c(),i=setTimeout(()=>{i=null,n.value=!1},0)}function E(){d()&&h()}function y(){d()&&_()}function x(){h()}function g(w){const S=l.value,I=w.relatedTarget;S&&I instanceof Node&&S.contains(I)||_()}e.watch(n,async w=>{await e.nextTick(),b(w)}),e.onBeforeUnmount(()=>{c(),b(!1)});const C=["z-kablui-tooltip pointer-events-none max-w-xs rounded-kablui-md","border border-kablui-border bg-kablui-bg px-2 py-1","text-kablui-sm text-kablui-fg shadow-kablui-md"].join(" ");return(w,S)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("span",{ref_key:"anchorRef",ref:l,class:"inline-flex","data-slot":"tooltip",onPointerenter:E,onPointerleave:y,onFocusin:x,onFocusout:g},[e.renderSlot(w.$slots,"default")],544),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,id:e.unref(s),ref_key:"floatingRef",ref:o,role:"tooltip","data-slot":"tooltip-content","data-placement":a.placement,class:e.normalizeClass(e.unref(C)),style:e.normalizeStyle(e.unref(u))},[e.renderSlot(w.$slots,"content",{},()=>[e.createTextVNode(e.toDisplayString(a.content),1)])],14,Yn)):e.createCommentVNode("",!0)]))],64))}});function Wn(){const a=e.inject(de,null);if(!a)throw new Error("useToast() must be used within a <ToastProvider>.");return a}const Jn=ke.version;k.Accordion=he,k.AccordionContent=xe,k.AccordionItem=Be,k.AccordionTrigger=Ee,k.Alert=ze,k.Badge=Ie,k.Button=O,k.Card=Ve,k.CardBody=Ae,k.CardDescription=je,k.CardFooter=Re,k.CardHeader=Le,k.CardTitle=Pe,k.Checkbox=Ke,k.Cluster=He,k.Container=Ue,k.Dialog=bt,k.Empty=ht,k.Field=xt,k.FieldError=Bt,k.FieldHint=_t,k.Icon=$t,k.Input=Tt,k.Label=Dt,k.Link=vt,k.Menu=At,k.MenuContent=Ot,k.MenuItem=Ft,k.MenuSeparator=Ht,k.MenuTrigger=qt,k.Pagination=Wt,k.Popover=Jt,k.PopoverContent=Xt,k.PopoverTrigger=en,k.Progress=ln,k.Radio=sn,k.RadioGroup=cn,k.Select=pn,k.SelectItem=gn,k.Separator=xn,k.Skeleton=Bn,k.Spinner=En,k.Stack=re,k.Switch=Tn,k.Tab=In,k.TabList=Vn,k.TabPanel=An,k.Tabs=jn,k.Text=Rn,k.Textarea=Ln,k.Toast=ce,k.ToastProvider=qn,k.Tooltip=Gn,k.provideField=ee,k.useField=M,k.useFieldControlAttrs=v,k.useToast=Wn,k.version=Jn,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})}));
2
+ //# sourceMappingURL=kablui.umd.cjs.map