Files
monisuo/monisuo-admin/dist/assets/TabsTrigger-CSBrc3A_.js
2026-03-22 23:32:23 +08:00

1 line
6.9 KiB
JavaScript

import{Ct as e,Dt as t,E as n,Et as r,F as i,H as a,I as o,N as s,S as c,_t as l,bt as u,c as d,g as f,l as p,mt as m,nt as h,v as g,w as _,y as v,z as y}from"./vue.runtime.esm-bundler-DQjudA8G.js";import{t as b}from"./utils-BB02OBq2.js";import{S as x,m as S}from"./dist-t_U6YImb.js";import{t as C}from"./createContext-BefgL9WT.js";import{t as w}from"./useForwardPropsEmits-ixfQllIc.js";import{t as T}from"./Presence-C1RtYpyR.js";import{t as E}from"./Primitive-jhoGcsVx.js";import{t as D}from"./useForwardProps-B-1JXcFn.js";import{n as O}from"./usePrimitiveElement-BKQPgqfD.js";import{t as k}from"./useForwardExpose-OKJAPp5E.js";import{t as A}from"./useId-C1k6kJxi.js";import{t as j}from"./RovingFocusGroup-BI5E2MOD.js";import{t as M}from"./RovingFocusItem-4bA-dcrz.js";var[N,P]=C(`TabsRoot`),F=_({__name:`TabsRoot`,props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:`horizontal`},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:`automatic`},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=t,i=n,{orientation:o,unmountOnHide:s,dir:c}=u(r),d=O(c);k();let f=S(r,`modelValue`,i,{defaultValue:r.defaultValue,passive:r.modelValue===void 0}),p=m(),_=l(new Set);return P({modelValue:f,changeModelValue:e=>{f.value=e},orientation:o,dir:d,unmountOnHide:s,activationMode:r.activationMode,baseId:A(void 0,`reka-tabs`),tabsList:p,contentIds:_,registerContent:e=>{_.value=new Set([..._.value,e])},unregisterContent:e=>{let t=new Set(_.value);t.delete(e),_.value=t}}),(t,n)=>(y(),g(e(E),{dir:e(d),"data-orientation":e(o),"as-child":t.asChild,as:t.as},{default:h(()=>[a(t.$slots,`default`,{modelValue:e(f)})]),_:3},8,[`dir`,`data-orientation`,`as-child`,`as`]))}});function I(e,t){return`${e}-trigger-${t}`}function L(e,t){return`${e}-content-${t}`}var R=_({__name:`TabsContent`,props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(n){let r=n,{forwardRef:s}=k(),l=N(),u=f(()=>I(l.baseId,r.value)),d=f(()=>L(l.baseId,r.value)),p=f(()=>r.value===l.modelValue.value),_=m(p.value);return o(()=>{l.registerContent(r.value),requestAnimationFrame(()=>{_.value=!1})}),i(()=>{l.unregisterContent(r.value)}),(n,r)=>(y(),g(e(T),{present:n.forceMount||p.value,"force-mount":``},{default:h(({present:r})=>[c(e(E),{id:d.value,ref:e(s),"as-child":n.asChild,as:n.as,role:`tabpanel`,"data-state":p.value?`active`:`inactive`,"data-orientation":e(l).orientation.value,"aria-labelledby":u.value,hidden:!r,tabindex:`0`,style:t({animationDuration:_.value?`0s`:void 0})},{default:h(()=>[!e(l).unmountOnHide.value||r?a(n.$slots,`default`,{key:0}):v(`v-if`,!0)]),_:2},1032,[`id`,`as-child`,`as`,`data-state`,`data-orientation`,`aria-labelledby`,`hidden`,`style`])]),_:3},8,[`present`]))}}),z=_({__name:`TabsList`,props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let{loop:n}=u(t),{forwardRef:r,currentElement:i}=k(),o=N();return o.tabsList=i,(t,i)=>(y(),g(e(j),{"as-child":``,orientation:e(o).orientation.value,dir:e(o).dir.value,loop:e(n)},{default:h(()=>[c(e(E),{ref:e(r),role:`tablist`,"as-child":t.asChild,as:t.as,"aria-orientation":e(o).orientation.value},{default:h(()=>[a(t.$slots,`default`)]),_:3},8,[`as-child`,`as`,`aria-orientation`])]),_:3},8,[`orientation`,`dir`,`loop`]))}}),B=_({__name:`TabsTrigger`,props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let n=t,{forwardRef:r}=k(),i=N(),o=f(()=>I(i.baseId,n.value)),s=f(()=>i.contentIds.value.has(n.value)?L(i.baseId,n.value):void 0),l=f(()=>n.value===i.modelValue.value);return(t,n)=>(y(),g(e(M),{"as-child":``,focusable:!t.disabled,active:l.value},{default:h(()=>[c(e(E),{id:o.value,ref:e(r),role:`tab`,type:t.as===`button`?`button`:void 0,as:t.as,"as-child":t.asChild,"aria-selected":l.value?`true`:`false`,"aria-controls":s.value,"data-state":l.value?`active`:`inactive`,disabled:t.disabled,"data-disabled":t.disabled?``:void 0,"data-orientation":e(i).orientation.value,onMousedown:n[0]||=p(n=>{!t.disabled&&n.ctrlKey===!1?e(i).changeModelValue(t.value):n.preventDefault()},[`left`]),onKeydown:n[1]||=d(n=>e(i).changeModelValue(t.value),[`enter`,`space`]),onFocus:n[2]||=()=>{let n=e(i).activationMode!==`manual`;!l.value&&!t.disabled&&n&&e(i).changeModelValue(t.value)}},{default:h(()=>[a(t.$slots,`default`)]),_:3},8,[`id`,`type`,`as`,`as-child`,`aria-selected`,`aria-controls`,`data-state`,`disabled`,`data-disabled`,`data-orientation`])]),_:3},8,[`focusable`,`active`]))}}),V=_({__name:`Tabs`,props:{defaultValue:{},orientation:{},dir:{},activationMode:{},modelValue:{},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(t,{emit:i}){let o=t,c=i,l=w(x(o,`class`),c);return(t,i)=>(y(),g(e(F),s({"data-slot":`tabs`},e(l),{class:e(b)(`flex flex-col gap-2`,o.class)}),{default:h(e=>[a(t.$slots,`default`,r(n(e)))]),_:3},16,[`class`]))}}),H=_({__name:`TabsContent`,props:{value:{},forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,r=x(n,`class`);return(t,i)=>(y(),g(e(R),s({"data-slot":`tabs-content`,class:e(b)(`flex-1 outline-none`,n.class)},e(r)),{default:h(()=>[a(t.$slots,`default`)]),_:3},16,[`class`]))}}),U=_({__name:`TabsList`,props:{loop:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,r=x(n,`class`);return(t,i)=>(y(),g(e(z),s({"data-slot":`tabs-list`},e(r),{class:e(b)(`bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]`,n.class)}),{default:h(()=>[a(t.$slots,`default`)]),_:3},16,[`class`]))}}),W=_({__name:`TabsTrigger`,props:{value:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,r=D(x(n,`class`));return(t,i)=>(y(),g(e(B),s({"data-slot":`tabs-trigger`,class:e(b)(`data-[state=active]:bg-background dark: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/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 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`,n.class)},e(r)),{default:h(()=>[a(t.$slots,`default`)]),_:3},16,[`class`]))}});export{V as i,U as n,H as r,W as t};