1 line
1.9 KiB
JavaScript
1 line
1.9 KiB
JavaScript
import{a as e,j as u}from"./vendor-react-YMhRUmcb.js";import{d}from"./index-D2uzyr9g.js";const m=e.forwardRef(({className:s,value:n,activeValue:i,onValueChange:o,children:a,...l},t)=>{const f=i===n;return u.jsx("button",{ref:t,onClick:()=>o?.(n),className:d("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-4 py-1.5 text-sm font-bold uppercase tracking-wider","ring-offset-background transition-all duration-[var(--duration-normal)]","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","disabled:pointer-events-none disabled:opacity-50",f?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground",s),...l,children:a})});m.displayName="TabsTrigger";const b=e.forwardRef(({className:s,children:n,activeValue:i,onValueChange:o,...a},l)=>u.jsx("div",{ref:l,className:d("inline-flex h-10 items-center justify-center rounded-xl bg-muted p-1 text-muted-foreground border border-border",s),...a,children:e.Children.map(n,t=>e.isValidElement(t)&&t.type===m?e.cloneElement(t,{activeValue:i,onValueChange:o}):t)}));b.displayName="TabsList";const p=e.forwardRef(({className:s,value:n,activeValue:i,children:o,...a},l)=>i!==n?null:u.jsx("div",{ref:l,className:d("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",s),...a,children:o}));p.displayName="TabsContent";const x=e.forwardRef(({className:s,value:n,defaultValue:i,onValueChange:o,children:a,...l},t)=>{const[f,g]=e.useState(i||""),c=n!==void 0?n:f,v=r=>{n===void 0&&g(r),o?.(r)};return u.jsx("div",{ref:t,className:s,...l,children:e.Children.map(a,r=>{if(e.isValidElement(r)){if(r.type===b)return e.cloneElement(r,{activeValue:c,onValueChange:v});if(r.type===p)return e.cloneElement(r,{activeValue:c})}return r})})});x.displayName="Tabs";export{x as T,b as a,m as b,p as c};
|