UNPKG

ivt

Version:

Ivt Components Library

3 lines (2 loc) 4.05 kB
import{c as e}from"../chunks/utils-B4HRExF_.mjs";import*as t from"react";import a from"react";import{c as n,P as r}from"../chunks/index-BgU_7G37.mjs";import{c as o}from"../chunks/index-BXKQJZ6z.mjs";import{c as i,R as s,I as c}from"../chunks/index-DKvOtb2R.mjs";import{P as d}from"../chunks/index-Bj6b6xW8.mjs";import{u as l}from"../chunks/index-X2oEHtiP.mjs";import{u}from"../chunks/index-CJw5YZXp.mjs";import{u as m}from"../chunks/index-BclYsZHn.mjs";import{jsx as f}from"react/jsx-runtime";import"../chunks/bundle-mjs-DdsKEIOo.mjs";import"../chunks/index-C99OdH8-.mjs";import"@radix-ui/react-collection";import"../chunks/index-DwSoQWco.mjs";import"react-dom";import"@radix-ui/react-slot";var p="Tabs",[b,v]=o(p,[i]),h=i(),[g,x]=b(p),k=t.forwardRef(((e,t)=>{const{__scopeTabs:a,value:n,onValueChange:r,defaultValue:o,orientation:i="horizontal",dir:s,activationMode:c="automatic",...b}=e,v=l(s),[h,x]=u({prop:n,onChange:r,defaultProp:o??"",caller:p});return f(g,{scope:a,baseId:m(),value:h,onValueChange:x,orientation:i,dir:v,activationMode:c,children:f(d.div,{dir:v,"data-orientation":i,...b,ref:t})})}));k.displayName=p;var y="TabsList",j=t.forwardRef(((e,t)=>{const{__scopeTabs:a,loop:n=!0,...r}=e,o=x(y,a),i=h(a);return f(s,{asChild:!0,...i,orientation:o.orientation,dir:o.dir,loop:n,children:f(d.div,{role:"tablist","aria-orientation":o.orientation,...r,ref:t})})}));j.displayName=y;var w="TabsTrigger",N=t.forwardRef(((e,t)=>{const{__scopeTabs:a,value:r,disabled:o=!1,...i}=e,s=x(w,a),l=h(a),u=T(s.baseId,r),m=E(s.baseId,r),p=r===s.value;return f(c,{asChild:!0,...l,focusable:!o,active:p,children:f(d.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":m,"data-state":p?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:u,...i,ref:t,onMouseDown:n(e.onMouseDown,(e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():s.onValueChange(r)})),onKeyDown:n(e.onKeyDown,(e=>{[" ","Enter"].includes(e.key)&&s.onValueChange(r)})),onFocus:n(e.onFocus,(()=>{const e="manual"!==s.activationMode;p||o||!e||s.onValueChange(r)}))})})}));N.displayName=w;var _="TabsContent",C=t.forwardRef(((e,a)=>{const{__scopeTabs:n,value:o,forceMount:i,children:s,...c}=e,l=x(_,n),u=T(l.baseId,o),m=E(l.baseId,o),p=o===l.value,b=t.useRef(p);return t.useEffect((()=>{const e=requestAnimationFrame((()=>b.current=!1));return()=>cancelAnimationFrame(e)}),[]),f(r,{present:i||p,children:({present:t})=>f(d.div,{"data-state":p?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":u,hidden:!t,id:m,tabIndex:0,...c,ref:a,style:{...e.style,animationDuration:b.current?"0s":void 0},children:t&&s})})}));function T(e,t){return`${e}-trigger-${t}`}function E(e,t){return`${e}-content-${t}`}C.displayName=_;var I=k,D=j,M=N,R=C;function V({className:t,...n}){return a.createElement(I,{"data-slot":"tabs",className:e("flex flex-col gap-2",t),...n})}function F({className:t,...n}){return a.createElement(D,{"data-slot":"tabs-list",className:e("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",t),...n})}function $({className:t,...n}){return a.createElement(M,{"data-slot":"tabs-trigger",className:e("data-[state=active]:bg-background data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/50 inline-flex h-[calc(100%-1px)] flex-1 cursor-pointer items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...n})}function z({className:t,...n}){return a.createElement(R,{"data-slot":"tabs-content",className:e("flex-1 outline-none",t),...n})}export{V as Tabs,z as TabsContent,F as TabsList,$ as TabsTrigger}; //# sourceMappingURL=index.mjs.map