1 line
2.6 KiB
JavaScript
1 line
2.6 KiB
JavaScript
import{A as e,D as t,Dt as n,G as r,H as i,I as a,S as o,Tt as s,h as c,it as l,m as u,y as d}from"./iconify-DYZHDLa8.js";import{t as f}from"./ui-vendor-Za4p7XTd.js";import{J as p}from"./index-Uji7rFqr.js";function m(e){return e?e.flatMap(e=>e.type===c?m(e.children):[e]):[]}var h=t({name:`PrimitiveSlot`,inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{if(!n.default)return null;let e=m(n.default()),r=e.findIndex(e=>e.type!==u);if(r===-1)return e;let i=e[r];delete i.props?.ref;let o=i.props?a(t,i.props):t,s=d({...i,props:{}},o);return e.length===1?s:(e[r]=s,e)}}}),g=[`area`,`img`,`input`],_=t({name:`Primitive`,inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:`div`}},setup(t,{attrs:n,slots:r}){let i=t.asChild?`template`:t.as;return typeof i==`string`&&g.includes(i)?()=>e(i,n):i===`template`?()=>e(h,n,{default:r.default}):()=>e(t.as,n,{default:r.default})}}),v=t({__name:`Button`,props:{variant:{},size:{},class:{type:[Boolean,null,String,Object,Array]},asChild:{type:Boolean},as:{default:`button`}},setup(e){let t=e;return(a,c)=>(i(),o(s(_),{"data-slot":`button`,as:e.as,"as-child":e.asChild,class:n(s(p)(s(y)({variant:e.variant,size:e.size}),t.class))},{default:l(()=>[r(a.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`]))}}),y=f(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});export{m as a,h as i,v as n,_ as r,y as t}; |