@chenpu17/cc-gw 0.11.0 → 0.12.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.
- package/README.md +2 -0
- package/package.json +6 -6
- package/src/web/dist/assets/{About-BlnDjxRZ.js → About-B4KoKSAM.js} +1 -1
- package/src/web/dist/assets/{ApiKeys-Bx2Y7hWv.js → ApiKeys-CwiStTlS.js} +1 -1
- package/src/web/dist/assets/{ConfirmDialog-BzQnNT7J.js → ConfirmDialog-cZsL-k-v.js} +1 -1
- package/src/web/dist/assets/{Dashboard-DQ63EzZw.js → Dashboard-khRk8U0-.js} +1 -1
- package/src/web/dist/assets/{DialogShell-iCyqEFRA.js → DialogShell-BbpG8sot.js} +1 -1
- package/src/web/dist/assets/{Events-DnzSzb94.js → Events-BGQklKqB.js} +1 -1
- package/src/web/dist/assets/{Help-B2NLJW2z.js → Help-B2MDKuj8.js} +1 -1
- package/src/web/dist/assets/{Login-eevgp5s_.js → Login-CrvH8tn2.js} +1 -1
- package/src/web/dist/assets/{Logs-BY5T_RIf.js → Logs-DoAgVjw3.js} +1 -1
- package/src/web/dist/assets/{PageSection-BE4JZURK.js → PageSection-Bv6dZZwN.js} +1 -1
- package/src/web/dist/assets/{PageState-BzdQq00f.js → PageState-U6DpaNu4.js} +1 -1
- package/src/web/dist/assets/{PageToolbar-xVyzEX46.js → PageToolbar-BnDacS2l.js} +1 -1
- package/src/web/dist/assets/ProvidersWorkbench-CI7TbMf1.js +1 -0
- package/src/web/dist/assets/{Settings-KI4lKsOz.js → Settings-BnqMqPol.js} +1 -1
- package/src/web/dist/assets/{Setup-BgMY-gpn.js → Setup-deGPdPcE.js} +1 -1
- package/src/web/dist/assets/{apiKeys-3Wl4kRDv.js → apiKeys-Ol_q3sZL.js} +1 -1
- package/src/web/dist/assets/{app-PTY3WlMQ.js → app-BBAnVEPg.js} +4 -4
- package/src/web/dist/assets/{badge-DMgopDMC.js → badge-RZTsODn-.js} +1 -1
- package/src/web/dist/assets/{card-kh1_vqEo.js → card-DhuLMeO9.js} +1 -1
- package/src/web/dist/assets/{charts-core-BTTtAoo-.js → charts-core-DlIzYcw_.js} +1 -1
- package/src/web/dist/assets/{charts-engine-CFhx8nba.js → charts-engine-C14rMTiz.js} +1 -1
- package/src/web/dist/assets/{charts-react-BQP6-BFp.js → charts-react-Bz6GVFr3.js} +1 -1
- package/src/web/dist/assets/{disclosure-Dpus5Sms.js → disclosure-CJdf1-ap.js} +1 -1
- package/src/web/dist/assets/{gateway-CRzzn31H.js → gateway-B_xLF-Rk.js} +1 -1
- package/src/web/dist/assets/{global-D5dyWHqO.js → global-CJOj9WGx.js} +1 -1
- package/src/web/dist/assets/global-CWlBZlIY.css +1 -0
- package/src/web/dist/assets/{i18n-PeX9kBVO.js → i18n-Dp-o1LhZ.js} +1 -1
- package/src/web/dist/assets/{label-Dg8bOG83.js → label-Da-JMxO2.js} +1 -1
- package/src/web/dist/assets/{landing-DDnYbDDs.js → landing-MsSWlQKc.js} +1 -1
- package/src/web/dist/assets/{metric-card-DMOLvKiC.js → metric-card-B_6litu2.js} +1 -1
- package/src/web/dist/assets/package-DHb277_G.js +1 -0
- package/src/web/dist/assets/{popover-BPqySDlA.js → popover-JpUYyIhi.js} +1 -1
- package/src/web/dist/assets/{query-DZF7K6hv.js → query-DVc6ZTRQ.js} +1 -1
- package/src/web/dist/assets/{radix-Bux_1C5J.js → radix-B9EIjzyN.js} +1 -1
- package/src/web/dist/assets/{router-BoBrmro7.js → router-CUBM_FND.js} +1 -1
- package/src/web/dist/assets/{segmented-control-C1wXb26c.js → segmented-control-D80bc13p.js} +1 -1
- package/src/web/dist/assets/{select-BMTHg2Ox.js → select-BTwqvh0l.js} +1 -1
- package/src/web/dist/assets/{shared-DciW3SvI.js → shared-BIsbTzWd.js} +1 -1
- package/src/web/dist/assets/{switch-BjJJ5nhB.js → switch-CeKtgMDT.js} +1 -1
- package/src/web/dist/assets/{table-Cmf9Rq18.js → table-rPjqxS-f.js} +1 -1
- package/src/web/dist/assets/{tabs-kDNBpHZ8.js → tabs-DYNHHISl.js} +1 -1
- package/src/web/dist/assets/{useAppMutation-CSLeLocH.js → useAppMutation-Ds2SX3kE.js} +1 -1
- package/src/web/dist/assets/{useEventStream-BYg6oKvQ.js → useEventStream-CQTreYBE.js} +1 -1
- package/src/web/dist/assets/useProviderForm-CtZEenP9.js +1 -0
- package/src/web/dist/assets/{utils-C0ba36BP.js → utils-HY2ZFw0f.js} +1 -1
- package/src/web/dist/assets/{vendor-CITafuNQ.js → vendor-D2wC0h2o.js} +1 -1
- package/src/web/dist/index.html +8 -8
- package/src/web/dist/landing.html +5 -5
- package/src/web/dist/assets/ProvidersWorkbench-CSdS6Fhh.js +0 -1
- package/src/web/dist/assets/global-CjRN4Kqi.css +0 -1
- package/src/web/dist/assets/package-98UM-D4s.js +0 -1
- package/src/web/dist/assets/useProviderForm-ZwPM_4sh.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as s,j as d,R as Ht,o as Wt,q as Ce,u as gs,t as xs,v as ws,w as Cs,x as ys,y as bs,z as Es,B as Ss,C as Ps,D as Rs,E as st,F as at}from"./vendor-CITafuNQ.js";function pn(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function ue(...e){return n=>{let t=!1;const o=e.map(r=>{const a=pn(r,n);return!t&&typeof a=="function"&&(t=!0),a});if(t)return()=>{for(let r=0;r<o.length;r++){const a=o[r];typeof a=="function"?a():pn(e[r],null)}}}}function $(...e){return s.useCallback(ue(...e),e)}var Is=Symbol.for("react.lazy"),et=Ht[" use ".trim().toString()];function Ts(e){return typeof e=="object"&&e!==null&&"then"in e}function Rn(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Is&&"_payload"in e&&Ts(e._payload)}function In(e){const n=_s(e),t=s.forwardRef((o,r)=>{let{children:a,...i}=o;Rn(a)&&typeof et=="function"&&(a=et(a._payload));const c=s.Children.toArray(a),l=c.find(As);if(l){const u=l.props.children,f=c.map(p=>p===l?s.Children.count(u)>1?s.Children.only(null):s.isValidElement(u)?u.props.children:null:p);return d.jsx(n,{...i,ref:r,children:s.isValidElement(u)?s.cloneElement(u,void 0,f):null})}return d.jsx(n,{...i,ref:r,children:a})});return t.displayName=`${e}.Slot`,t}var El=In("Slot");function _s(e){const n=s.forwardRef((t,o)=>{let{children:r,...a}=t;if(Rn(r)&&typeof et=="function"&&(r=et(r._payload)),s.isValidElement(r)){const i=Ds(r),c=Ns(a,r.props);return r.type!==s.Fragment&&(c.ref=o?ue(o,i):i),s.cloneElement(r,c)}return s.Children.count(r)>1?s.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var Ms=Symbol("radix.slottable");function As(e){return s.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Ms}function Ns(e,n){const t={...n};for(const o in n){const r=e[o],a=n[o];/^on[A-Z]/.test(o)?r&&a?t[o]=(...c)=>{const l=a(...c);return r(...c),l}:r&&(t[o]=r):o==="style"?t[o]={...r,...a}:o==="className"&&(t[o]=[r,a].filter(Boolean).join(" "))}return{...e,...t}}function Ds(e){var o,r;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,t=n&&"isReactWarning"in n&&n.isReactWarning;return t?e.ref:(n=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,t=n&&"isReactWarning"in n&&n.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}function S(e,n,{checkForDefaultPrevented:t=!0}={}){return function(r){if(e==null||e(r),t===!1||!r.defaultPrevented)return n==null?void 0:n(r)}}function Os(e,n){const t=s.createContext(n),o=a=>{const{children:i,...c}=a,l=s.useMemo(()=>c,Object.values(c));return d.jsx(t.Provider,{value:l,children:i})};o.displayName=e+"Provider";function r(a){const i=s.useContext(t);if(i)return i;if(n!==void 0)return n;throw new Error(`\`${a}\` must be used within \`${e}\``)}return[o,r]}function ie(e,n=[]){let t=[];function o(a,i){const c=s.createContext(i),l=t.length;t=[...t,i];const u=p=>{var b;const{scope:v,children:h,...C}=p,m=((b=v==null?void 0:v[e])==null?void 0:b[l])||c,g=s.useMemo(()=>C,Object.values(C));return d.jsx(m.Provider,{value:g,children:h})};u.displayName=a+"Provider";function f(p,v){var m;const h=((m=v==null?void 0:v[e])==null?void 0:m[l])||c,C=s.useContext(h);if(C)return C;if(i!==void 0)return i;throw new Error(`\`${p}\` must be used within \`${a}\``)}return[u,f]}const r=()=>{const a=t.map(i=>s.createContext(i));return function(c){const l=(c==null?void 0:c[e])||a;return s.useMemo(()=>({[`__scope${e}`]:{...c,[e]:l}}),[c,l])}};return r.scopeName=e,[o,js(r,...n)]}function js(...e){const n=e[0];if(e.length===1)return n;const t=()=>{const o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(a){const i=o.reduce((c,{useScope:l,scopeName:u})=>{const p=l(a)[`__scope${u}`];return{...c,...p}},{});return s.useMemo(()=>({[`__scope${n.scopeName}`]:i}),[i])}};return t.scopeName=n.scopeName,t}var te=globalThis!=null&&globalThis.document?s.useLayoutEffect:()=>{},ks=Ht[" useInsertionEffect ".trim().toString()]||te;function fe({prop:e,defaultProp:n,onChange:t=()=>{},caller:o}){const[r,a,i]=Fs({defaultProp:n,onChange:t}),c=e!==void 0,l=c?e:r;{const f=s.useRef(e!==void 0);s.useEffect(()=>{const p=f.current;p!==c&&console.warn(`${o} is changing from ${p?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),f.current=c},[c,o])}const u=s.useCallback(f=>{var p;if(c){const v=Ls(f)?f(e):f;v!==e&&((p=i.current)==null||p.call(i,v))}else a(f)},[c,e,a,i]);return[l,u]}function Fs({defaultProp:e,onChange:n}){const[t,o]=s.useState(e),r=s.useRef(t),a=s.useRef(n);return ks(()=>{a.current=n},[n]),s.useEffect(()=>{var i;r.current!==t&&((i=a.current)==null||i.call(a,t),r.current=t)},[t,r]),[t,o,a]}function Ls(e){return typeof e=="function"}function ye(e){const n=$s(e),t=s.forwardRef((o,r)=>{const{children:a,...i}=o,c=s.Children.toArray(a),l=c.find(Us);if(l){const u=l.props.children,f=c.map(p=>p===l?s.Children.count(u)>1?s.Children.only(null):s.isValidElement(u)?u.props.children:null:p);return d.jsx(n,{...i,ref:r,children:s.isValidElement(u)?s.cloneElement(u,void 0,f):null})}return d.jsx(n,{...i,ref:r,children:a})});return t.displayName=`${e}.Slot`,t}function $s(e){const n=s.forwardRef((t,o)=>{const{children:r,...a}=t;if(s.isValidElement(r)){const i=Vs(r),c=Ks(a,r.props);return r.type!==s.Fragment&&(c.ref=o?ue(o,i):i),s.cloneElement(r,c)}return s.Children.count(r)>1?s.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var Tn=Symbol("radix.slottable");function Bs(e){const n=({children:t})=>d.jsx(d.Fragment,{children:t});return n.displayName=`${e}.Slottable`,n.__radixId=Tn,n}function Us(e){return s.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Tn}function Ks(e,n){const t={...n};for(const o in n){const r=e[o],a=n[o];/^on[A-Z]/.test(o)?r&&a?t[o]=(...c)=>{const l=a(...c);return r(...c),l}:r&&(t[o]=r):o==="style"?t[o]={...r,...a}:o==="className"&&(t[o]=[r,a].filter(Boolean).join(" "))}return{...e,...t}}function Vs(e){var o,r;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,t=n&&"isReactWarning"in n&&n.isReactWarning;return t?e.ref:(n=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,t=n&&"isReactWarning"in n&&n.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}var Gs=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],N=Gs.reduce((e,n)=>{const t=ye(`Primitive.${n}`),o=s.forwardRef((r,a)=>{const{asChild:i,...c}=r,l=i?t:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(l,{...c,ref:a})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{});function _n(e,n){e&&Wt.flushSync(()=>e.dispatchEvent(n))}function zt(e){const n=e+"CollectionProvider",[t,o]=ie(n),[r,a]=t(n,{collectionRef:{current:null},itemMap:new Map}),i=m=>{const{scope:g,children:b}=m,w=Ce.useRef(null),y=Ce.useRef(new Map).current;return d.jsx(r,{scope:g,itemMap:y,collectionRef:w,children:b})};i.displayName=n;const c=e+"CollectionSlot",l=ye(c),u=Ce.forwardRef((m,g)=>{const{scope:b,children:w}=m,y=a(c,b),R=$(g,y.collectionRef);return d.jsx(l,{ref:R,children:w})});u.displayName=c;const f=e+"CollectionItemSlot",p="data-radix-collection-item",v=ye(f),h=Ce.forwardRef((m,g)=>{const{scope:b,children:w,...y}=m,R=Ce.useRef(null),j=$(g,R),M=a(f,b);return Ce.useEffect(()=>(M.itemMap.set(R,{ref:R,...y}),()=>void M.itemMap.delete(R))),d.jsx(v,{[p]:"",ref:j,children:w})});h.displayName=f;function C(m){const g=a(e+"CollectionConsumer",m);return Ce.useCallback(()=>{const w=g.collectionRef.current;if(!w)return[];const y=Array.from(w.querySelectorAll(`[${p}]`));return Array.from(g.itemMap.values()).sort((M,P)=>y.indexOf(M.ref.current)-y.indexOf(P.ref.current))},[g.collectionRef,g.itemMap])}return[{Provider:i,Slot:u,ItemSlot:h},C,o]}var Hs=s.createContext(void 0);function it(e){const n=s.useContext(Hs);return e||n||"ltr"}function de(e){const n=s.useRef(e);return s.useEffect(()=>{n.current=e}),s.useMemo(()=>(...t)=>{var o;return(o=n.current)==null?void 0:o.call(n,...t)},[])}function Ws(e,n=globalThis==null?void 0:globalThis.document){const t=de(e);s.useEffect(()=>{const o=r=>{r.key==="Escape"&&t(r)};return n.addEventListener("keydown",o,{capture:!0}),()=>n.removeEventListener("keydown",o,{capture:!0})},[t,n])}var zs="DismissableLayer",Dt="dismissableLayer.update",Ys="dismissableLayer.pointerDownOutside",Xs="dismissableLayer.focusOutside",vn,Mn=s.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Ne=s.forwardRef((e,n)=>{const{disableOutsidePointerEvents:t=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:a,onInteractOutside:i,onDismiss:c,...l}=e,u=s.useContext(Mn),[f,p]=s.useState(null),v=(f==null?void 0:f.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,h]=s.useState({}),C=$(n,P=>p(P)),m=Array.from(u.layers),[g]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),b=m.indexOf(g),w=f?m.indexOf(f):-1,y=u.layersWithOutsidePointerEventsDisabled.size>0,R=w>=b,j=Js(P=>{const F=P.target,H=[...u.branches].some(G=>G.contains(F));!R||H||(r==null||r(P),i==null||i(P),P.defaultPrevented||c==null||c())},v),M=Qs(P=>{const F=P.target;[...u.branches].some(G=>G.contains(F))||(a==null||a(P),i==null||i(P),P.defaultPrevented||c==null||c())},v);return Ws(P=>{w===u.layers.size-1&&(o==null||o(P),!P.defaultPrevented&&c&&(P.preventDefault(),c()))},v),s.useEffect(()=>{if(f)return t&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(vn=v.body.style.pointerEvents,v.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(f)),u.layers.add(f),mn(),()=>{t&&u.layersWithOutsidePointerEventsDisabled.size===1&&(v.body.style.pointerEvents=vn)}},[f,v,t,u]),s.useEffect(()=>()=>{f&&(u.layers.delete(f),u.layersWithOutsidePointerEventsDisabled.delete(f),mn())},[f,u]),s.useEffect(()=>{const P=()=>h({});return document.addEventListener(Dt,P),()=>document.removeEventListener(Dt,P)},[]),d.jsx(N.div,{...l,ref:C,style:{pointerEvents:y?R?"auto":"none":void 0,...e.style},onFocusCapture:S(e.onFocusCapture,M.onFocusCapture),onBlurCapture:S(e.onBlurCapture,M.onBlurCapture),onPointerDownCapture:S(e.onPointerDownCapture,j.onPointerDownCapture)})});Ne.displayName=zs;var qs="DismissableLayerBranch",Zs=s.forwardRef((e,n)=>{const t=s.useContext(Mn),o=s.useRef(null),r=$(n,o);return s.useEffect(()=>{const a=o.current;if(a)return t.branches.add(a),()=>{t.branches.delete(a)}},[t.branches]),d.jsx(N.div,{...e,ref:r})});Zs.displayName=qs;function Js(e,n=globalThis==null?void 0:globalThis.document){const t=de(e),o=s.useRef(!1),r=s.useRef(()=>{});return s.useEffect(()=>{const a=c=>{if(c.target&&!o.current){let l=function(){An(Ys,t,u,{discrete:!0})};const u={originalEvent:c};c.pointerType==="touch"?(n.removeEventListener("click",r.current),r.current=l,n.addEventListener("click",r.current,{once:!0})):l()}else n.removeEventListener("click",r.current);o.current=!1},i=window.setTimeout(()=>{n.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(i),n.removeEventListener("pointerdown",a),n.removeEventListener("click",r.current)}},[n,t]),{onPointerDownCapture:()=>o.current=!0}}function Qs(e,n=globalThis==null?void 0:globalThis.document){const t=de(e),o=s.useRef(!1);return s.useEffect(()=>{const r=a=>{a.target&&!o.current&&An(Xs,t,{originalEvent:a},{discrete:!1})};return n.addEventListener("focusin",r),()=>n.removeEventListener("focusin",r)},[n,t]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function mn(){const e=new CustomEvent(Dt);document.dispatchEvent(e)}function An(e,n,t,{discrete:o}){const r=t.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:t});n&&r.addEventListener(e,n,{once:!0}),o?_n(r,a):r.dispatchEvent(a)}var Rt=0;function ct(){s.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??hn()),document.body.insertAdjacentElement("beforeend",e[1]??hn()),Rt++,()=>{Rt===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(n=>n.remove()),Rt--}},[])}function hn(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var It="focusScope.autoFocusOnMount",Tt="focusScope.autoFocusOnUnmount",gn={bubbles:!1,cancelable:!0},ea="FocusScope",Ge=s.forwardRef((e,n)=>{const{loop:t=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:a,...i}=e,[c,l]=s.useState(null),u=de(r),f=de(a),p=s.useRef(null),v=$(n,m=>l(m)),h=s.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;s.useEffect(()=>{if(o){let m=function(y){if(h.paused||!c)return;const R=y.target;c.contains(R)?p.current=R:pe(p.current,{select:!0})},g=function(y){if(h.paused||!c)return;const R=y.relatedTarget;R!==null&&(c.contains(R)||pe(p.current,{select:!0}))},b=function(y){if(document.activeElement===document.body)for(const j of y)j.removedNodes.length>0&&pe(c)};document.addEventListener("focusin",m),document.addEventListener("focusout",g);const w=new MutationObserver(b);return c&&w.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",m),document.removeEventListener("focusout",g),w.disconnect()}}},[o,c,h.paused]),s.useEffect(()=>{if(c){wn.add(h);const m=document.activeElement;if(!c.contains(m)){const b=new CustomEvent(It,gn);c.addEventListener(It,u),c.dispatchEvent(b),b.defaultPrevented||(ta(aa(Nn(c)),{select:!0}),document.activeElement===m&&pe(c))}return()=>{c.removeEventListener(It,u),setTimeout(()=>{const b=new CustomEvent(Tt,gn);c.addEventListener(Tt,f),c.dispatchEvent(b),b.defaultPrevented||pe(m??document.body,{select:!0}),c.removeEventListener(Tt,f),wn.remove(h)},0)}}},[c,u,f,h]);const C=s.useCallback(m=>{if(!t&&!o||h.paused)return;const g=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,b=document.activeElement;if(g&&b){const w=m.currentTarget,[y,R]=na(w);y&&R?!m.shiftKey&&b===R?(m.preventDefault(),t&&pe(y,{select:!0})):m.shiftKey&&b===y&&(m.preventDefault(),t&&pe(R,{select:!0})):b===w&&m.preventDefault()}},[t,o,h.paused]);return d.jsx(N.div,{tabIndex:-1,...i,ref:v,onKeyDown:C})});Ge.displayName=ea;function ta(e,{select:n=!1}={}){const t=document.activeElement;for(const o of e)if(pe(o,{select:n}),document.activeElement!==t)return}function na(e){const n=Nn(e),t=xn(n,e),o=xn(n.reverse(),e);return[t,o]}function Nn(e){const n=[],t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;t.nextNode();)n.push(t.currentNode);return n}function xn(e,n){for(const t of e)if(!oa(t,{upTo:n}))return t}function oa(e,{upTo:n}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(n!==void 0&&e===n)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function ra(e){return e instanceof HTMLInputElement&&"select"in e}function pe(e,{select:n=!1}={}){if(e&&e.focus){const t=document.activeElement;e.focus({preventScroll:!0}),e!==t&&ra(e)&&n&&e.select()}}var wn=sa();function sa(){let e=[];return{add(n){const t=e[0];n!==t&&(t==null||t.pause()),e=Cn(e,n),e.unshift(n)},remove(n){var t;e=Cn(e,n),(t=e[0])==null||t.resume()}}}function Cn(e,n){const t=[...e],o=t.indexOf(n);return o!==-1&&t.splice(o,1),t}function aa(e){return e.filter(n=>n.tagName!=="A")}var ia=Ht[" useId ".trim().toString()]||(()=>{}),ca=0;function ee(e){const[n,t]=s.useState(ia());return te(()=>{t(o=>o??String(ca++))},[e]),e||(n?`radix-${n}`:"")}var la="Arrow",Dn=s.forwardRef((e,n)=>{const{children:t,width:o=10,height:r=5,...a}=e;return d.jsx(N.svg,{...a,ref:n,width:o,height:r,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?t:d.jsx("polygon",{points:"0,0 30,0 15,10"})})});Dn.displayName=la;var ua=Dn;function On(e){const[n,t]=s.useState(void 0);return te(()=>{if(e){t({width:e.offsetWidth,height:e.offsetHeight});const o=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;const a=r[0];let i,c;if("borderBoxSize"in a){const l=a.borderBoxSize,u=Array.isArray(l)?l[0]:l;i=u.inlineSize,c=u.blockSize}else i=e.offsetWidth,c=e.offsetHeight;t({width:i,height:c})});return o.observe(e,{box:"border-box"}),()=>o.unobserve(e)}else t(void 0)},[e]),n}var Yt="Popper",[jn,me]=ie(Yt),[da,kn]=jn(Yt),Fn=e=>{const{__scopePopper:n,children:t}=e,[o,r]=s.useState(null);return d.jsx(da,{scope:n,anchor:o,onAnchorChange:r,children:t})};Fn.displayName=Yt;var Ln="PopperAnchor",$n=s.forwardRef((e,n)=>{const{__scopePopper:t,virtualRef:o,...r}=e,a=kn(Ln,t),i=s.useRef(null),c=$(n,i),l=s.useRef(null);return s.useEffect(()=>{const u=l.current;l.current=(o==null?void 0:o.current)||i.current,u!==l.current&&a.onAnchorChange(l.current)}),o?null:d.jsx(N.div,{...r,ref:c})});$n.displayName=Ln;var Xt="PopperContent",[fa,pa]=jn(Xt),Bn=s.forwardRef((e,n)=>{var E,D,O,L,U,K;const{__scopePopper:t,side:o="bottom",sideOffset:r=0,align:a="center",alignOffset:i=0,arrowPadding:c=0,avoidCollisions:l=!0,collisionBoundary:u=[],collisionPadding:f=0,sticky:p="partial",hideWhenDetached:v=!1,updatePositionStrategy:h="optimized",onPlaced:C,...m}=e,g=kn(Xt,t),[b,w]=s.useState(null),y=$(n,oe=>w(oe)),[R,j]=s.useState(null),M=On(R),P=(M==null?void 0:M.width)??0,F=(M==null?void 0:M.height)??0,H=o+(a!=="center"?"-"+a:""),G=typeof f=="number"?f:{top:0,right:0,bottom:0,left:0,...f},Y=Array.isArray(u)?u:[u],q=Y.length>0,Z={padding:G,boundary:Y.filter(ma),altBoundary:q},{refs:W,floatingStyles:X,placement:B,isPositioned:J,middlewareData:V}=gs({strategy:"fixed",placement:H,whileElementsMounted:(...oe)=>Ss(...oe,{animationFrame:h==="always"}),elements:{reference:g.anchor},middleware:[xs({mainAxis:r+F,alignmentAxis:i}),l&&ws({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?Ps():void 0,...Z}),l&&Cs({...Z}),ys({...Z,apply:({elements:oe,rects:le,availableWidth:je,availableHeight:ke})=>{const{width:Fe,height:hs}=le.reference,Je=oe.floating.style;Je.setProperty("--radix-popper-available-width",`${je}px`),Je.setProperty("--radix-popper-available-height",`${ke}px`),Je.setProperty("--radix-popper-anchor-width",`${Fe}px`),Je.setProperty("--radix-popper-anchor-height",`${hs}px`)}}),R&&bs({element:R,padding:c}),ha({arrowWidth:P,arrowHeight:F}),v&&Es({strategy:"referenceHidden",...Z})]}),[T,Q]=Vn(B),z=de(C);te(()=>{J&&(z==null||z())},[J,z]);const x=(E=V.arrow)==null?void 0:E.x,_=(D=V.arrow)==null?void 0:D.y,A=((O=V.arrow)==null?void 0:O.centerOffset)!==0,[I,k]=s.useState();return te(()=>{b&&k(window.getComputedStyle(b).zIndex)},[b]),d.jsx("div",{ref:W.setFloating,"data-radix-popper-content-wrapper":"",style:{...X,transform:J?X.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:I,"--radix-popper-transform-origin":[(L=V.transformOrigin)==null?void 0:L.x,(U=V.transformOrigin)==null?void 0:U.y].join(" "),...((K=V.hide)==null?void 0:K.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:d.jsx(fa,{scope:t,placedSide:T,onArrowChange:j,arrowX:x,arrowY:_,shouldHideArrow:A,children:d.jsx(N.div,{"data-side":T,"data-align":Q,...m,ref:y,style:{...m.style,animation:J?void 0:"none"}})})})});Bn.displayName=Xt;var Un="PopperArrow",va={top:"bottom",right:"left",bottom:"top",left:"right"},Kn=s.forwardRef(function(n,t){const{__scopePopper:o,...r}=n,a=pa(Un,o),i=va[a.placedSide];return d.jsx("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:d.jsx(ua,{...r,ref:t,style:{...r.style,display:"block"}})})});Kn.displayName=Un;function ma(e){return e!==null}var ha=e=>({name:"transformOrigin",options:e,fn(n){var g,b,w;const{placement:t,rects:o,middlewareData:r}=n,i=((g=r.arrow)==null?void 0:g.centerOffset)!==0,c=i?0:e.arrowWidth,l=i?0:e.arrowHeight,[u,f]=Vn(t),p={start:"0%",center:"50%",end:"100%"}[f],v=(((b=r.arrow)==null?void 0:b.x)??0)+c/2,h=(((w=r.arrow)==null?void 0:w.y)??0)+l/2;let C="",m="";return u==="bottom"?(C=i?p:`${v}px`,m=`${-l}px`):u==="top"?(C=i?p:`${v}px`,m=`${o.floating.height+l}px`):u==="right"?(C=`${-l}px`,m=i?p:`${h}px`):u==="left"&&(C=`${o.floating.width+l}px`,m=i?p:`${h}px`),{data:{x:C,y:m}}}});function Vn(e){const[n,t="center"]=e.split("-");return[n,t]}var lt=Fn,He=$n,ut=Bn,dt=Kn,ga="Portal",De=s.forwardRef((e,n)=>{var c;const{container:t,...o}=e,[r,a]=s.useState(!1);te(()=>a(!0),[]);const i=t||r&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return i?Rs.createPortal(d.jsx(N.div,{...o,ref:n}),i):null});De.displayName=ga;function xa(e,n){return s.useReducer((t,o)=>n[t][o]??t,e)}var re=e=>{const{present:n,children:t}=e,o=wa(n),r=typeof t=="function"?t({present:o.isPresent}):s.Children.only(t),a=$(o.ref,Ca(r));return typeof t=="function"||o.isPresent?s.cloneElement(r,{ref:a}):null};re.displayName="Presence";function wa(e){const[n,t]=s.useState(),o=s.useRef(null),r=s.useRef(e),a=s.useRef("none"),i=e?"mounted":"unmounted",[c,l]=xa(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return s.useEffect(()=>{const u=Qe(o.current);a.current=c==="mounted"?u:"none"},[c]),te(()=>{const u=o.current,f=r.current;if(f!==e){const v=a.current,h=Qe(u);e?l("MOUNT"):h==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(f&&v!==h?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,l]),te(()=>{if(n){let u;const f=n.ownerDocument.defaultView??window,p=h=>{const m=Qe(o.current).includes(CSS.escape(h.animationName));if(h.target===n&&m&&(l("ANIMATION_END"),!r.current)){const g=n.style.animationFillMode;n.style.animationFillMode="forwards",u=f.setTimeout(()=>{n.style.animationFillMode==="forwards"&&(n.style.animationFillMode=g)})}},v=h=>{h.target===n&&(a.current=Qe(o.current))};return n.addEventListener("animationstart",v),n.addEventListener("animationcancel",p),n.addEventListener("animationend",p),()=>{f.clearTimeout(u),n.removeEventListener("animationstart",v),n.removeEventListener("animationcancel",p),n.removeEventListener("animationend",p)}}else l("ANIMATION_END")},[n,l]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:s.useCallback(u=>{o.current=u?getComputedStyle(u):null,t(u)},[])}}function Qe(e){return(e==null?void 0:e.animationName)||"none"}function Ca(e){var o,r;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,t=n&&"isReactWarning"in n&&n.isReactWarning;return t?e.ref:(n=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,t=n&&"isReactWarning"in n&&n.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}var _t="rovingFocusGroup.onEntryFocus",ya={bubbles:!1,cancelable:!0},We="RovingFocusGroup",[Ot,Gn,ba]=zt(We),[Ea,ft]=ie(We,[ba]),[Sa,Pa]=Ea(We),Hn=s.forwardRef((e,n)=>d.jsx(Ot.Provider,{scope:e.__scopeRovingFocusGroup,children:d.jsx(Ot.Slot,{scope:e.__scopeRovingFocusGroup,children:d.jsx(Ra,{...e,ref:n})})}));Hn.displayName=We;var Ra=s.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:t,orientation:o,loop:r=!1,dir:a,currentTabStopId:i,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:l,onEntryFocus:u,preventScrollOnEntryFocus:f=!1,...p}=e,v=s.useRef(null),h=$(n,v),C=it(a),[m,g]=fe({prop:i,defaultProp:c??null,onChange:l,caller:We}),[b,w]=s.useState(!1),y=de(u),R=Gn(t),j=s.useRef(!1),[M,P]=s.useState(0);return s.useEffect(()=>{const F=v.current;if(F)return F.addEventListener(_t,y),()=>F.removeEventListener(_t,y)},[y]),d.jsx(Sa,{scope:t,orientation:o,dir:C,loop:r,currentTabStopId:m,onItemFocus:s.useCallback(F=>g(F),[g]),onItemShiftTab:s.useCallback(()=>w(!0),[]),onFocusableItemAdd:s.useCallback(()=>P(F=>F+1),[]),onFocusableItemRemove:s.useCallback(()=>P(F=>F-1),[]),children:d.jsx(N.div,{tabIndex:b||M===0?-1:0,"data-orientation":o,...p,ref:h,style:{outline:"none",...e.style},onMouseDown:S(e.onMouseDown,()=>{j.current=!0}),onFocus:S(e.onFocus,F=>{const H=!j.current;if(F.target===F.currentTarget&&H&&!b){const G=new CustomEvent(_t,ya);if(F.currentTarget.dispatchEvent(G),!G.defaultPrevented){const Y=R().filter(B=>B.focusable),q=Y.find(B=>B.active),Z=Y.find(B=>B.id===m),X=[q,Z,...Y].filter(Boolean).map(B=>B.ref.current);Yn(X,f)}}j.current=!1}),onBlur:S(e.onBlur,()=>w(!1))})})}),Wn="RovingFocusGroupItem",zn=s.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:t,focusable:o=!0,active:r=!1,tabStopId:a,children:i,...c}=e,l=ee(),u=a||l,f=Pa(Wn,t),p=f.currentTabStopId===u,v=Gn(t),{onFocusableItemAdd:h,onFocusableItemRemove:C,currentTabStopId:m}=f;return s.useEffect(()=>{if(o)return h(),()=>C()},[o,h,C]),d.jsx(Ot.ItemSlot,{scope:t,id:u,focusable:o,active:r,children:d.jsx(N.span,{tabIndex:p?0:-1,"data-orientation":f.orientation,...c,ref:n,onMouseDown:S(e.onMouseDown,g=>{o?f.onItemFocus(u):g.preventDefault()}),onFocus:S(e.onFocus,()=>f.onItemFocus(u)),onKeyDown:S(e.onKeyDown,g=>{if(g.key==="Tab"&&g.shiftKey){f.onItemShiftTab();return}if(g.target!==g.currentTarget)return;const b=_a(g,f.orientation,f.dir);if(b!==void 0){if(g.metaKey||g.ctrlKey||g.altKey||g.shiftKey)return;g.preventDefault();let y=v().filter(R=>R.focusable).map(R=>R.ref.current);if(b==="last")y.reverse();else if(b==="prev"||b==="next"){b==="prev"&&y.reverse();const R=y.indexOf(g.currentTarget);y=f.loop?Ma(y,R+1):y.slice(R+1)}setTimeout(()=>Yn(y))}}),children:typeof i=="function"?i({isCurrentTabStop:p,hasTabStop:m!=null}):i})})});zn.displayName=Wn;var Ia={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Ta(e,n){return n!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function _a(e,n,t){const o=Ta(e.key,t);if(!(n==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(n==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return Ia[o]}function Yn(e,n=!1){const t=document.activeElement;for(const o of e)if(o===t||(o.focus({preventScroll:n}),document.activeElement!==t))return}function Ma(e,n){return e.map((t,o)=>e[(n+o)%e.length])}var Xn=Hn,qn=zn,jt=["Enter"," "],Aa=["ArrowDown","PageUp","Home"],Zn=["ArrowUp","PageDown","End"],Na=[...Aa,...Zn],Da={ltr:[...jt,"ArrowRight"],rtl:[...jt,"ArrowLeft"]},Oa={ltr:["ArrowLeft"],rtl:["ArrowRight"]},ze="Menu",[Ue,ja,ka]=zt(ze),[Re,Jn]=ie(ze,[ka,me,ft]),pt=me(),Qn=ft(),[Fa,Ie]=Re(ze),[La,Ye]=Re(ze),eo=e=>{const{__scopeMenu:n,open:t=!1,children:o,dir:r,onOpenChange:a,modal:i=!0}=e,c=pt(n),[l,u]=s.useState(null),f=s.useRef(!1),p=de(a),v=it(r);return s.useEffect(()=>{const h=()=>{f.current=!0,document.addEventListener("pointerdown",C,{capture:!0,once:!0}),document.addEventListener("pointermove",C,{capture:!0,once:!0})},C=()=>f.current=!1;return document.addEventListener("keydown",h,{capture:!0}),()=>{document.removeEventListener("keydown",h,{capture:!0}),document.removeEventListener("pointerdown",C,{capture:!0}),document.removeEventListener("pointermove",C,{capture:!0})}},[]),d.jsx(lt,{...c,children:d.jsx(Fa,{scope:n,open:t,onOpenChange:p,content:l,onContentChange:u,children:d.jsx(La,{scope:n,onClose:s.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:f,dir:v,modal:i,children:o})})})};eo.displayName=ze;var $a="MenuAnchor",qt=s.forwardRef((e,n)=>{const{__scopeMenu:t,...o}=e,r=pt(t);return d.jsx(He,{...r,...o,ref:n})});qt.displayName=$a;var Zt="MenuPortal",[Ba,to]=Re(Zt,{forceMount:void 0}),no=e=>{const{__scopeMenu:n,forceMount:t,children:o,container:r}=e,a=Ie(Zt,n);return d.jsx(Ba,{scope:n,forceMount:t,children:d.jsx(re,{present:t||a.open,children:d.jsx(De,{asChild:!0,container:r,children:o})})})};no.displayName=Zt;var se="MenuContent",[Ua,Jt]=Re(se),oo=s.forwardRef((e,n)=>{const t=to(se,e.__scopeMenu),{forceMount:o=t.forceMount,...r}=e,a=Ie(se,e.__scopeMenu),i=Ye(se,e.__scopeMenu);return d.jsx(Ue.Provider,{scope:e.__scopeMenu,children:d.jsx(re,{present:o||a.open,children:d.jsx(Ue.Slot,{scope:e.__scopeMenu,children:i.modal?d.jsx(Ka,{...r,ref:n}):d.jsx(Va,{...r,ref:n})})})})}),Ka=s.forwardRef((e,n)=>{const t=Ie(se,e.__scopeMenu),o=s.useRef(null),r=$(n,o);return s.useEffect(()=>{const a=o.current;if(a)return at(a)},[]),d.jsx(Qt,{...e,ref:r,trapFocus:t.open,disableOutsidePointerEvents:t.open,disableOutsideScroll:!0,onFocusOutside:S(e.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>t.onOpenChange(!1)})}),Va=s.forwardRef((e,n)=>{const t=Ie(se,e.__scopeMenu);return d.jsx(Qt,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>t.onOpenChange(!1)})}),Ga=ye("MenuContent.ScrollLock"),Qt=s.forwardRef((e,n)=>{const{__scopeMenu:t,loop:o=!1,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:i,disableOutsidePointerEvents:c,onEntryFocus:l,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:v,onDismiss:h,disableOutsideScroll:C,...m}=e,g=Ie(se,t),b=Ye(se,t),w=pt(t),y=Qn(t),R=ja(t),[j,M]=s.useState(null),P=s.useRef(null),F=$(n,P,g.onContentChange),H=s.useRef(0),G=s.useRef(""),Y=s.useRef(0),q=s.useRef(null),Z=s.useRef("right"),W=s.useRef(0),X=C?st:s.Fragment,B=C?{as:Ga,allowPinchZoom:!0}:void 0,J=T=>{var E,D;const Q=G.current+T,z=R().filter(O=>!O.disabled),x=document.activeElement,_=(E=z.find(O=>O.ref.current===x))==null?void 0:E.textValue,A=z.map(O=>O.textValue),I=ni(A,Q,_),k=(D=z.find(O=>O.textValue===I))==null?void 0:D.ref.current;(function O(L){G.current=L,window.clearTimeout(H.current),L!==""&&(H.current=window.setTimeout(()=>O(""),1e3))})(Q),k&&setTimeout(()=>k.focus())};s.useEffect(()=>()=>window.clearTimeout(H.current),[]),ct();const V=s.useCallback(T=>{var z,x;return Z.current===((z=q.current)==null?void 0:z.side)&&ri(T,(x=q.current)==null?void 0:x.area)},[]);return d.jsx(Ua,{scope:t,searchRef:G,onItemEnter:s.useCallback(T=>{V(T)&&T.preventDefault()},[V]),onItemLeave:s.useCallback(T=>{var Q;V(T)||((Q=P.current)==null||Q.focus(),M(null))},[V]),onTriggerLeave:s.useCallback(T=>{V(T)&&T.preventDefault()},[V]),pointerGraceTimerRef:Y,onPointerGraceIntentChange:s.useCallback(T=>{q.current=T},[]),children:d.jsx(X,{...B,children:d.jsx(Ge,{asChild:!0,trapped:r,onMountAutoFocus:S(a,T=>{var Q;T.preventDefault(),(Q=P.current)==null||Q.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:d.jsx(Ne,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:v,onDismiss:h,children:d.jsx(Xn,{asChild:!0,...y,dir:b.dir,orientation:"vertical",loop:o,currentTabStopId:j,onCurrentTabStopIdChange:M,onEntryFocus:S(l,T=>{b.isUsingKeyboardRef.current||T.preventDefault()}),preventScrollOnEntryFocus:!0,children:d.jsx(ut,{role:"menu","aria-orientation":"vertical","data-state":Co(g.open),"data-radix-menu-content":"",dir:b.dir,...w,...m,ref:F,style:{outline:"none",...m.style},onKeyDown:S(m.onKeyDown,T=>{const z=T.target.closest("[data-radix-menu-content]")===T.currentTarget,x=T.ctrlKey||T.altKey||T.metaKey,_=T.key.length===1;z&&(T.key==="Tab"&&T.preventDefault(),!x&&_&&J(T.key));const A=P.current;if(T.target!==A||!Na.includes(T.key))return;T.preventDefault();const k=R().filter(E=>!E.disabled).map(E=>E.ref.current);Zn.includes(T.key)&&k.reverse(),ei(k)}),onBlur:S(e.onBlur,T=>{T.currentTarget.contains(T.target)||(window.clearTimeout(H.current),G.current="")}),onPointerMove:S(e.onPointerMove,Ke(T=>{const Q=T.target,z=W.current!==T.clientX;if(T.currentTarget.contains(Q)&&z){const x=T.clientX>W.current?"right":"left";Z.current=x,W.current=T.clientX}}))})})})})})})});oo.displayName=se;var Ha="MenuGroup",en=s.forwardRef((e,n)=>{const{__scopeMenu:t,...o}=e;return d.jsx(N.div,{role:"group",...o,ref:n})});en.displayName=Ha;var Wa="MenuLabel",ro=s.forwardRef((e,n)=>{const{__scopeMenu:t,...o}=e;return d.jsx(N.div,{...o,ref:n})});ro.displayName=Wa;var tt="MenuItem",yn="menu.itemSelect",vt=s.forwardRef((e,n)=>{const{disabled:t=!1,onSelect:o,...r}=e,a=s.useRef(null),i=Ye(tt,e.__scopeMenu),c=Jt(tt,e.__scopeMenu),l=$(n,a),u=s.useRef(!1),f=()=>{const p=a.current;if(!t&&p){const v=new CustomEvent(yn,{bubbles:!0,cancelable:!0});p.addEventListener(yn,h=>o==null?void 0:o(h),{once:!0}),_n(p,v),v.defaultPrevented?u.current=!1:i.onClose()}};return d.jsx(so,{...r,ref:l,disabled:t,onClick:S(e.onClick,f),onPointerDown:p=>{var v;(v=e.onPointerDown)==null||v.call(e,p),u.current=!0},onPointerUp:S(e.onPointerUp,p=>{var v;u.current||(v=p.currentTarget)==null||v.click()}),onKeyDown:S(e.onKeyDown,p=>{const v=c.searchRef.current!=="";t||v&&p.key===" "||jt.includes(p.key)&&(p.currentTarget.click(),p.preventDefault())})})});vt.displayName=tt;var so=s.forwardRef((e,n)=>{const{__scopeMenu:t,disabled:o=!1,textValue:r,...a}=e,i=Jt(tt,t),c=Qn(t),l=s.useRef(null),u=$(n,l),[f,p]=s.useState(!1),[v,h]=s.useState("");return s.useEffect(()=>{const C=l.current;C&&h((C.textContent??"").trim())},[a.children]),d.jsx(Ue.ItemSlot,{scope:t,disabled:o,textValue:r??v,children:d.jsx(qn,{asChild:!0,...c,focusable:!o,children:d.jsx(N.div,{role:"menuitem","data-highlighted":f?"":void 0,"aria-disabled":o||void 0,"data-disabled":o?"":void 0,...a,ref:u,onPointerMove:S(e.onPointerMove,Ke(C=>{o?i.onItemLeave(C):(i.onItemEnter(C),C.defaultPrevented||C.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:S(e.onPointerLeave,Ke(C=>i.onItemLeave(C))),onFocus:S(e.onFocus,()=>p(!0)),onBlur:S(e.onBlur,()=>p(!1))})})})}),za="MenuCheckboxItem",ao=s.forwardRef((e,n)=>{const{checked:t=!1,onCheckedChange:o,...r}=e;return d.jsx(fo,{scope:e.__scopeMenu,checked:t,children:d.jsx(vt,{role:"menuitemcheckbox","aria-checked":nt(t)?"mixed":t,...r,ref:n,"data-state":nn(t),onSelect:S(r.onSelect,()=>o==null?void 0:o(nt(t)?!0:!t),{checkForDefaultPrevented:!1})})})});ao.displayName=za;var io="MenuRadioGroup",[Ya,Xa]=Re(io,{value:void 0,onValueChange:()=>{}}),co=s.forwardRef((e,n)=>{const{value:t,onValueChange:o,...r}=e,a=de(o);return d.jsx(Ya,{scope:e.__scopeMenu,value:t,onValueChange:a,children:d.jsx(en,{...r,ref:n})})});co.displayName=io;var lo="MenuRadioItem",uo=s.forwardRef((e,n)=>{const{value:t,...o}=e,r=Xa(lo,e.__scopeMenu),a=t===r.value;return d.jsx(fo,{scope:e.__scopeMenu,checked:a,children:d.jsx(vt,{role:"menuitemradio","aria-checked":a,...o,ref:n,"data-state":nn(a),onSelect:S(o.onSelect,()=>{var i;return(i=r.onValueChange)==null?void 0:i.call(r,t)},{checkForDefaultPrevented:!1})})})});uo.displayName=lo;var tn="MenuItemIndicator",[fo,qa]=Re(tn,{checked:!1}),po=s.forwardRef((e,n)=>{const{__scopeMenu:t,forceMount:o,...r}=e,a=qa(tn,t);return d.jsx(re,{present:o||nt(a.checked)||a.checked===!0,children:d.jsx(N.span,{...r,ref:n,"data-state":nn(a.checked)})})});po.displayName=tn;var Za="MenuSeparator",vo=s.forwardRef((e,n)=>{const{__scopeMenu:t,...o}=e;return d.jsx(N.div,{role:"separator","aria-orientation":"horizontal",...o,ref:n})});vo.displayName=Za;var Ja="MenuArrow",mo=s.forwardRef((e,n)=>{const{__scopeMenu:t,...o}=e,r=pt(t);return d.jsx(dt,{...r,...o,ref:n})});mo.displayName=Ja;var Qa="MenuSub",[Sl,ho]=Re(Qa),$e="MenuSubTrigger",go=s.forwardRef((e,n)=>{const t=Ie($e,e.__scopeMenu),o=Ye($e,e.__scopeMenu),r=ho($e,e.__scopeMenu),a=Jt($e,e.__scopeMenu),i=s.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:l}=a,u={__scopeMenu:e.__scopeMenu},f=s.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return s.useEffect(()=>f,[f]),s.useEffect(()=>{const p=c.current;return()=>{window.clearTimeout(p),l(null)}},[c,l]),d.jsx(qt,{asChild:!0,...u,children:d.jsx(so,{id:r.triggerId,"aria-haspopup":"menu","aria-expanded":t.open,"aria-controls":r.contentId,"data-state":Co(t.open),...e,ref:ue(n,r.onTriggerChange),onClick:p=>{var v;(v=e.onClick)==null||v.call(e,p),!(e.disabled||p.defaultPrevented)&&(p.currentTarget.focus(),t.open||t.onOpenChange(!0))},onPointerMove:S(e.onPointerMove,Ke(p=>{a.onItemEnter(p),!p.defaultPrevented&&!e.disabled&&!t.open&&!i.current&&(a.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{t.onOpenChange(!0),f()},100))})),onPointerLeave:S(e.onPointerLeave,Ke(p=>{var h,C;f();const v=(h=t.content)==null?void 0:h.getBoundingClientRect();if(v){const m=(C=t.content)==null?void 0:C.dataset.side,g=m==="right",b=g?-5:5,w=v[g?"left":"right"],y=v[g?"right":"left"];a.onPointerGraceIntentChange({area:[{x:p.clientX+b,y:p.clientY},{x:w,y:v.top},{x:y,y:v.top},{x:y,y:v.bottom},{x:w,y:v.bottom}],side:m}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(p),p.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:S(e.onKeyDown,p=>{var h;const v=a.searchRef.current!=="";e.disabled||v&&p.key===" "||Da[o.dir].includes(p.key)&&(t.onOpenChange(!0),(h=t.content)==null||h.focus(),p.preventDefault())})})})});go.displayName=$e;var xo="MenuSubContent",wo=s.forwardRef((e,n)=>{const t=to(se,e.__scopeMenu),{forceMount:o=t.forceMount,...r}=e,a=Ie(se,e.__scopeMenu),i=Ye(se,e.__scopeMenu),c=ho(xo,e.__scopeMenu),l=s.useRef(null),u=$(n,l);return d.jsx(Ue.Provider,{scope:e.__scopeMenu,children:d.jsx(re,{present:o||a.open,children:d.jsx(Ue.Slot,{scope:e.__scopeMenu,children:d.jsx(Qt,{id:c.contentId,"aria-labelledby":c.triggerId,...r,ref:u,align:"start",side:i.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:f=>{var p;i.isUsingKeyboardRef.current&&((p=l.current)==null||p.focus()),f.preventDefault()},onCloseAutoFocus:f=>f.preventDefault(),onFocusOutside:S(e.onFocusOutside,f=>{f.target!==c.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:S(e.onEscapeKeyDown,f=>{i.onClose(),f.preventDefault()}),onKeyDown:S(e.onKeyDown,f=>{var h;const p=f.currentTarget.contains(f.target),v=Oa[i.dir].includes(f.key);p&&v&&(a.onOpenChange(!1),(h=c.trigger)==null||h.focus(),f.preventDefault())})})})})})});wo.displayName=xo;function Co(e){return e?"open":"closed"}function nt(e){return e==="indeterminate"}function nn(e){return nt(e)?"indeterminate":e?"checked":"unchecked"}function ei(e){const n=document.activeElement;for(const t of e)if(t===n||(t.focus(),document.activeElement!==n))return}function ti(e,n){return e.map((t,o)=>e[(n+o)%e.length])}function ni(e,n,t){const r=n.length>1&&Array.from(n).every(u=>u===n[0])?n[0]:n,a=t?e.indexOf(t):-1;let i=ti(e,Math.max(a,0));r.length===1&&(i=i.filter(u=>u!==t));const l=i.find(u=>u.toLowerCase().startsWith(r.toLowerCase()));return l!==t?l:void 0}function oi(e,n){const{x:t,y:o}=e;let r=!1;for(let a=0,i=n.length-1;a<n.length;i=a++){const c=n[a],l=n[i],u=c.x,f=c.y,p=l.x,v=l.y;f>o!=v>o&&t<(p-u)*(o-f)/(v-f)+u&&(r=!r)}return r}function ri(e,n){if(!n)return!1;const t={x:e.clientX,y:e.clientY};return oi(t,n)}function Ke(e){return n=>n.pointerType==="mouse"?e(n):void 0}var si=eo,ai=qt,ii=no,ci=oo,li=en,ui=ro,di=vt,fi=ao,pi=co,vi=uo,mi=po,hi=vo,gi=mo,xi=go,wi=wo,mt="DropdownMenu",[Ci]=ie(mt,[Jn]),ne=Jn(),[yi,yo]=Ci(mt),bo=e=>{const{__scopeDropdownMenu:n,children:t,dir:o,open:r,defaultOpen:a,onOpenChange:i,modal:c=!0}=e,l=ne(n),u=s.useRef(null),[f,p]=fe({prop:r,defaultProp:a??!1,onChange:i,caller:mt});return d.jsx(yi,{scope:n,triggerId:ee(),triggerRef:u,contentId:ee(),open:f,onOpenChange:p,onOpenToggle:s.useCallback(()=>p(v=>!v),[p]),modal:c,children:d.jsx(si,{...l,open:f,onOpenChange:p,dir:o,modal:c,children:t})})};bo.displayName=mt;var Eo="DropdownMenuTrigger",So=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,disabled:o=!1,...r}=e,a=yo(Eo,t),i=ne(t);return d.jsx(ai,{asChild:!0,...i,children:d.jsx(N.button,{type:"button",id:a.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?"open":"closed","data-disabled":o?"":void 0,disabled:o,...r,ref:ue(n,a.triggerRef),onPointerDown:S(e.onPointerDown,c=>{!o&&c.button===0&&c.ctrlKey===!1&&(a.onOpenToggle(),a.open||c.preventDefault())}),onKeyDown:S(e.onKeyDown,c=>{o||(["Enter"," "].includes(c.key)&&a.onOpenToggle(),c.key==="ArrowDown"&&a.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(c.key)&&c.preventDefault())})})})});So.displayName=Eo;var bi="DropdownMenuPortal",Po=e=>{const{__scopeDropdownMenu:n,...t}=e,o=ne(n);return d.jsx(ii,{...o,...t})};Po.displayName=bi;var Ro="DropdownMenuContent",Io=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=yo(Ro,t),a=ne(t),i=s.useRef(!1);return d.jsx(ci,{id:r.contentId,"aria-labelledby":r.triggerId,...a,...o,ref:n,onCloseAutoFocus:S(e.onCloseAutoFocus,c=>{var l;i.current||(l=r.triggerRef.current)==null||l.focus(),i.current=!1,c.preventDefault()}),onInteractOutside:S(e.onInteractOutside,c=>{const l=c.detail.originalEvent,u=l.button===0&&l.ctrlKey===!0,f=l.button===2||u;(!r.modal||f)&&(i.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Io.displayName=Ro;var Ei="DropdownMenuGroup",Si=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(li,{...r,...o,ref:n})});Si.displayName=Ei;var Pi="DropdownMenuLabel",To=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(ui,{...r,...o,ref:n})});To.displayName=Pi;var Ri="DropdownMenuItem",_o=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(di,{...r,...o,ref:n})});_o.displayName=Ri;var Ii="DropdownMenuCheckboxItem",Mo=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(fi,{...r,...o,ref:n})});Mo.displayName=Ii;var Ti="DropdownMenuRadioGroup",_i=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(pi,{...r,...o,ref:n})});_i.displayName=Ti;var Mi="DropdownMenuRadioItem",Ao=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(vi,{...r,...o,ref:n})});Ao.displayName=Mi;var Ai="DropdownMenuItemIndicator",No=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(mi,{...r,...o,ref:n})});No.displayName=Ai;var Ni="DropdownMenuSeparator",Do=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(hi,{...r,...o,ref:n})});Do.displayName=Ni;var Di="DropdownMenuArrow",Oi=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(gi,{...r,...o,ref:n})});Oi.displayName=Di;var ji="DropdownMenuSubTrigger",Oo=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(xi,{...r,...o,ref:n})});Oo.displayName=ji;var ki="DropdownMenuSubContent",jo=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(wi,{...r,...o,ref:n,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});jo.displayName=ki;var Pl=bo,Rl=So,Il=Po,Tl=Io,_l=To,Ml=_o,Al=Mo,Nl=Ao,Dl=No,Ol=Do,jl=Oo,kl=jo,ko=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Fi="VisuallyHidden",Fo=s.forwardRef((e,n)=>d.jsx(N.span,{...e,ref:n,style:{...ko,...e.style}}));Fo.displayName=Fi;var Li=Fo,[ht]=ie("Tooltip",[me]),gt=me(),Lo="TooltipProvider",$i=700,kt="tooltip.open",[Bi,on]=ht(Lo),$o=e=>{const{__scopeTooltip:n,delayDuration:t=$i,skipDelayDuration:o=300,disableHoverableContent:r=!1,children:a}=e,i=s.useRef(!0),c=s.useRef(!1),l=s.useRef(0);return s.useEffect(()=>{const u=l.current;return()=>window.clearTimeout(u)},[]),d.jsx(Bi,{scope:n,isOpenDelayedRef:i,delayDuration:t,onOpen:s.useCallback(()=>{window.clearTimeout(l.current),i.current=!1},[]),onClose:s.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>i.current=!0,o)},[o]),isPointerInTransitRef:c,onPointerInTransitChange:s.useCallback(u=>{c.current=u},[]),disableHoverableContent:r,children:a})};$o.displayName=Lo;var Ve="Tooltip",[Ui,Xe]=ht(Ve),Bo=e=>{const{__scopeTooltip:n,children:t,open:o,defaultOpen:r,onOpenChange:a,disableHoverableContent:i,delayDuration:c}=e,l=on(Ve,e.__scopeTooltip),u=gt(n),[f,p]=s.useState(null),v=ee(),h=s.useRef(0),C=i??l.disableHoverableContent,m=c??l.delayDuration,g=s.useRef(!1),[b,w]=fe({prop:o,defaultProp:r??!1,onChange:P=>{P?(l.onOpen(),document.dispatchEvent(new CustomEvent(kt))):l.onClose(),a==null||a(P)},caller:Ve}),y=s.useMemo(()=>b?g.current?"delayed-open":"instant-open":"closed",[b]),R=s.useCallback(()=>{window.clearTimeout(h.current),h.current=0,g.current=!1,w(!0)},[w]),j=s.useCallback(()=>{window.clearTimeout(h.current),h.current=0,w(!1)},[w]),M=s.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{g.current=!0,w(!0),h.current=0},m)},[m,w]);return s.useEffect(()=>()=>{h.current&&(window.clearTimeout(h.current),h.current=0)},[]),d.jsx(lt,{...u,children:d.jsx(Ui,{scope:n,contentId:v,open:b,stateAttribute:y,trigger:f,onTriggerChange:p,onTriggerEnter:s.useCallback(()=>{l.isOpenDelayedRef.current?M():R()},[l.isOpenDelayedRef,M,R]),onTriggerLeave:s.useCallback(()=>{C?j():(window.clearTimeout(h.current),h.current=0)},[j,C]),onOpen:R,onClose:j,disableHoverableContent:C,children:t})})};Bo.displayName=Ve;var Ft="TooltipTrigger",Uo=s.forwardRef((e,n)=>{const{__scopeTooltip:t,...o}=e,r=Xe(Ft,t),a=on(Ft,t),i=gt(t),c=s.useRef(null),l=$(n,c,r.onTriggerChange),u=s.useRef(!1),f=s.useRef(!1),p=s.useCallback(()=>u.current=!1,[]);return s.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),d.jsx(He,{asChild:!0,...i,children:d.jsx(N.button,{"aria-describedby":r.open?r.contentId:void 0,"data-state":r.stateAttribute,...o,ref:l,onPointerMove:S(e.onPointerMove,v=>{v.pointerType!=="touch"&&!f.current&&!a.isPointerInTransitRef.current&&(r.onTriggerEnter(),f.current=!0)}),onPointerLeave:S(e.onPointerLeave,()=>{r.onTriggerLeave(),f.current=!1}),onPointerDown:S(e.onPointerDown,()=>{r.open&&r.onClose(),u.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:S(e.onFocus,()=>{u.current||r.onOpen()}),onBlur:S(e.onBlur,r.onClose),onClick:S(e.onClick,r.onClose)})})});Uo.displayName=Ft;var rn="TooltipPortal",[Ki,Vi]=ht(rn,{forceMount:void 0}),Ko=e=>{const{__scopeTooltip:n,forceMount:t,children:o,container:r}=e,a=Xe(rn,n);return d.jsx(Ki,{scope:n,forceMount:t,children:d.jsx(re,{present:t||a.open,children:d.jsx(De,{asChild:!0,container:r,children:o})})})};Ko.displayName=rn;var Me="TooltipContent",Vo=s.forwardRef((e,n)=>{const t=Vi(Me,e.__scopeTooltip),{forceMount:o=t.forceMount,side:r="top",...a}=e,i=Xe(Me,e.__scopeTooltip);return d.jsx(re,{present:o||i.open,children:i.disableHoverableContent?d.jsx(Go,{side:r,...a,ref:n}):d.jsx(Gi,{side:r,...a,ref:n})})}),Gi=s.forwardRef((e,n)=>{const t=Xe(Me,e.__scopeTooltip),o=on(Me,e.__scopeTooltip),r=s.useRef(null),a=$(n,r),[i,c]=s.useState(null),{trigger:l,onClose:u}=t,f=r.current,{onPointerInTransitChange:p}=o,v=s.useCallback(()=>{c(null),p(!1)},[p]),h=s.useCallback((C,m)=>{const g=C.currentTarget,b={x:C.clientX,y:C.clientY},w=Xi(b,g.getBoundingClientRect()),y=qi(b,w),R=Zi(m.getBoundingClientRect()),j=Qi([...y,...R]);c(j),p(!0)},[p]);return s.useEffect(()=>()=>v(),[v]),s.useEffect(()=>{if(l&&f){const C=g=>h(g,f),m=g=>h(g,l);return l.addEventListener("pointerleave",C),f.addEventListener("pointerleave",m),()=>{l.removeEventListener("pointerleave",C),f.removeEventListener("pointerleave",m)}}},[l,f,h,v]),s.useEffect(()=>{if(i){const C=m=>{const g=m.target,b={x:m.clientX,y:m.clientY},w=(l==null?void 0:l.contains(g))||(f==null?void 0:f.contains(g)),y=!Ji(b,i);w?v():y&&(v(),u())};return document.addEventListener("pointermove",C),()=>document.removeEventListener("pointermove",C)}},[l,f,i,u,v]),d.jsx(Go,{...e,ref:a})}),[Hi,Wi]=ht(Ve,{isInside:!1}),zi=Bs("TooltipContent"),Go=s.forwardRef((e,n)=>{const{__scopeTooltip:t,children:o,"aria-label":r,onEscapeKeyDown:a,onPointerDownOutside:i,...c}=e,l=Xe(Me,t),u=gt(t),{onClose:f}=l;return s.useEffect(()=>(document.addEventListener(kt,f),()=>document.removeEventListener(kt,f)),[f]),s.useEffect(()=>{if(l.trigger){const p=v=>{const h=v.target;h!=null&&h.contains(l.trigger)&&f()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[l.trigger,f]),d.jsx(Ne,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:i,onFocusOutside:p=>p.preventDefault(),onDismiss:f,children:d.jsxs(ut,{"data-state":l.stateAttribute,...u,...c,ref:n,style:{...c.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[d.jsx(zi,{children:o}),d.jsx(Hi,{scope:t,isInside:!0,children:d.jsx(Li,{id:l.contentId,role:"tooltip",children:r||o})})]})})});Vo.displayName=Me;var Ho="TooltipArrow",Yi=s.forwardRef((e,n)=>{const{__scopeTooltip:t,...o}=e,r=gt(t);return Wi(Ho,t).isInside?null:d.jsx(dt,{...r,...o,ref:n})});Yi.displayName=Ho;function Xi(e,n){const t=Math.abs(n.top-e.y),o=Math.abs(n.bottom-e.y),r=Math.abs(n.right-e.x),a=Math.abs(n.left-e.x);switch(Math.min(t,o,r,a)){case a:return"left";case r:return"right";case t:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function qi(e,n,t=5){const o=[];switch(n){case"top":o.push({x:e.x-t,y:e.y+t},{x:e.x+t,y:e.y+t});break;case"bottom":o.push({x:e.x-t,y:e.y-t},{x:e.x+t,y:e.y-t});break;case"left":o.push({x:e.x+t,y:e.y-t},{x:e.x+t,y:e.y+t});break;case"right":o.push({x:e.x-t,y:e.y-t},{x:e.x-t,y:e.y+t});break}return o}function Zi(e){const{top:n,right:t,bottom:o,left:r}=e;return[{x:r,y:n},{x:t,y:n},{x:t,y:o},{x:r,y:o}]}function Ji(e,n){const{x:t,y:o}=e;let r=!1;for(let a=0,i=n.length-1;a<n.length;i=a++){const c=n[a],l=n[i],u=c.x,f=c.y,p=l.x,v=l.y;f>o!=v>o&&t<(p-u)*(o-f)/(v-f)+u&&(r=!r)}return r}function Qi(e){const n=e.slice();return n.sort((t,o)=>t.x<o.x?-1:t.x>o.x?1:t.y<o.y?-1:t.y>o.y?1:0),ec(n)}function ec(e){if(e.length<=1)return e.slice();const n=[];for(let o=0;o<e.length;o++){const r=e[o];for(;n.length>=2;){const a=n[n.length-1],i=n[n.length-2];if((a.x-i.x)*(r.y-i.y)>=(a.y-i.y)*(r.x-i.x))n.pop();else break}n.push(r)}n.pop();const t=[];for(let o=e.length-1;o>=0;o--){const r=e[o];for(;t.length>=2;){const a=t[t.length-1],i=t[t.length-2];if((a.x-i.x)*(r.y-i.y)>=(a.y-i.y)*(r.x-i.x))t.pop();else break}t.push(r)}return t.pop(),n.length===1&&t.length===1&&n[0].x===t[0].x&&n[0].y===t[0].y?n:n.concat(t)}var Fl=$o,Ll=Bo,$l=Uo,Bl=Ko,Ul=Vo,xt="Dialog",[Wo]=ie(xt),[tc,ce]=Wo(xt),zo=e=>{const{__scopeDialog:n,children:t,open:o,defaultOpen:r,onOpenChange:a,modal:i=!0}=e,c=s.useRef(null),l=s.useRef(null),[u,f]=fe({prop:o,defaultProp:r??!1,onChange:a,caller:xt});return d.jsx(tc,{scope:n,triggerRef:c,contentRef:l,contentId:ee(),titleId:ee(),descriptionId:ee(),open:u,onOpenChange:f,onOpenToggle:s.useCallback(()=>f(p=>!p),[f]),modal:i,children:t})};zo.displayName=xt;var Yo="DialogTrigger",nc=s.forwardRef((e,n)=>{const{__scopeDialog:t,...o}=e,r=ce(Yo,t),a=$(n,r.triggerRef);return d.jsx(N.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":cn(r.open),...o,ref:a,onClick:S(e.onClick,r.onOpenToggle)})});nc.displayName=Yo;var sn="DialogPortal",[oc,Xo]=Wo(sn,{forceMount:void 0}),qo=e=>{const{__scopeDialog:n,forceMount:t,children:o,container:r}=e,a=ce(sn,n);return d.jsx(oc,{scope:n,forceMount:t,children:s.Children.map(o,i=>d.jsx(re,{present:t||a.open,children:d.jsx(De,{asChild:!0,container:r,children:i})}))})};qo.displayName=sn;var ot="DialogOverlay",Zo=s.forwardRef((e,n)=>{const t=Xo(ot,e.__scopeDialog),{forceMount:o=t.forceMount,...r}=e,a=ce(ot,e.__scopeDialog);return a.modal?d.jsx(re,{present:o||a.open,children:d.jsx(sc,{...r,ref:n})}):null});Zo.displayName=ot;var rc=ye("DialogOverlay.RemoveScroll"),sc=s.forwardRef((e,n)=>{const{__scopeDialog:t,...o}=e,r=ce(ot,t);return d.jsx(st,{as:rc,allowPinchZoom:!0,shards:[r.contentRef],children:d.jsx(N.div,{"data-state":cn(r.open),...o,ref:n,style:{pointerEvents:"auto",...o.style}})})}),be="DialogContent",Jo=s.forwardRef((e,n)=>{const t=Xo(be,e.__scopeDialog),{forceMount:o=t.forceMount,...r}=e,a=ce(be,e.__scopeDialog);return d.jsx(re,{present:o||a.open,children:a.modal?d.jsx(ac,{...r,ref:n}):d.jsx(ic,{...r,ref:n})})});Jo.displayName=be;var ac=s.forwardRef((e,n)=>{const t=ce(be,e.__scopeDialog),o=s.useRef(null),r=$(n,t.contentRef,o);return s.useEffect(()=>{const a=o.current;if(a)return at(a)},[]),d.jsx(Qo,{...e,ref:r,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:S(e.onCloseAutoFocus,a=>{var i;a.preventDefault(),(i=t.triggerRef.current)==null||i.focus()}),onPointerDownOutside:S(e.onPointerDownOutside,a=>{const i=a.detail.originalEvent,c=i.button===0&&i.ctrlKey===!0;(i.button===2||c)&&a.preventDefault()}),onFocusOutside:S(e.onFocusOutside,a=>a.preventDefault())})}),ic=s.forwardRef((e,n)=>{const t=ce(be,e.__scopeDialog),o=s.useRef(!1),r=s.useRef(!1);return d.jsx(Qo,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{var i,c;(i=e.onCloseAutoFocus)==null||i.call(e,a),a.defaultPrevented||(o.current||(c=t.triggerRef.current)==null||c.focus(),a.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:a=>{var l,u;(l=e.onInteractOutside)==null||l.call(e,a),a.defaultPrevented||(o.current=!0,a.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const i=a.target;((u=t.triggerRef.current)==null?void 0:u.contains(i))&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&r.current&&a.preventDefault()}})}),Qo=s.forwardRef((e,n)=>{const{__scopeDialog:t,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:a,...i}=e,c=ce(be,t),l=s.useRef(null),u=$(n,l);return ct(),d.jsxs(d.Fragment,{children:[d.jsx(Ge,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:a,children:d.jsx(Ne,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":cn(c.open),...i,ref:u,onDismiss:()=>c.onOpenChange(!1)})}),d.jsxs(d.Fragment,{children:[d.jsx(cc,{titleId:c.titleId}),d.jsx(uc,{contentRef:l,descriptionId:c.descriptionId})]})]})}),an="DialogTitle",er=s.forwardRef((e,n)=>{const{__scopeDialog:t,...o}=e,r=ce(an,t);return d.jsx(N.h2,{id:r.titleId,...o,ref:n})});er.displayName=an;var tr="DialogDescription",nr=s.forwardRef((e,n)=>{const{__scopeDialog:t,...o}=e,r=ce(tr,t);return d.jsx(N.p,{id:r.descriptionId,...o,ref:n})});nr.displayName=tr;var or="DialogClose",rr=s.forwardRef((e,n)=>{const{__scopeDialog:t,...o}=e,r=ce(or,t);return d.jsx(N.button,{type:"button",...o,ref:n,onClick:S(e.onClick,()=>r.onOpenChange(!1))})});rr.displayName=or;function cn(e){return e?"open":"closed"}var sr="DialogTitleWarning",[Kl,ar]=Os(sr,{contentName:be,titleName:an,docsSlug:"dialog"}),cc=({titleId:e})=>{const n=ar(sr),t=`\`${n.contentName}\` requires a \`${n.titleName}\` for the component to be accessible for screen reader users.
|
|
1
|
+
import{r as s,j as d,R as Ht,o as Wt,q as Ce,u as gs,t as xs,v as ws,w as Cs,x as ys,y as bs,z as Es,B as Ss,C as Ps,D as Rs,E as st,F as at}from"./vendor-D2wC0h2o.js";function pn(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function ue(...e){return n=>{let t=!1;const o=e.map(r=>{const a=pn(r,n);return!t&&typeof a=="function"&&(t=!0),a});if(t)return()=>{for(let r=0;r<o.length;r++){const a=o[r];typeof a=="function"?a():pn(e[r],null)}}}}function $(...e){return s.useCallback(ue(...e),e)}var Is=Symbol.for("react.lazy"),et=Ht[" use ".trim().toString()];function Ts(e){return typeof e=="object"&&e!==null&&"then"in e}function Rn(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Is&&"_payload"in e&&Ts(e._payload)}function In(e){const n=_s(e),t=s.forwardRef((o,r)=>{let{children:a,...i}=o;Rn(a)&&typeof et=="function"&&(a=et(a._payload));const c=s.Children.toArray(a),l=c.find(As);if(l){const u=l.props.children,f=c.map(p=>p===l?s.Children.count(u)>1?s.Children.only(null):s.isValidElement(u)?u.props.children:null:p);return d.jsx(n,{...i,ref:r,children:s.isValidElement(u)?s.cloneElement(u,void 0,f):null})}return d.jsx(n,{...i,ref:r,children:a})});return t.displayName=`${e}.Slot`,t}var El=In("Slot");function _s(e){const n=s.forwardRef((t,o)=>{let{children:r,...a}=t;if(Rn(r)&&typeof et=="function"&&(r=et(r._payload)),s.isValidElement(r)){const i=Ds(r),c=Ns(a,r.props);return r.type!==s.Fragment&&(c.ref=o?ue(o,i):i),s.cloneElement(r,c)}return s.Children.count(r)>1?s.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var Ms=Symbol("radix.slottable");function As(e){return s.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Ms}function Ns(e,n){const t={...n};for(const o in n){const r=e[o],a=n[o];/^on[A-Z]/.test(o)?r&&a?t[o]=(...c)=>{const l=a(...c);return r(...c),l}:r&&(t[o]=r):o==="style"?t[o]={...r,...a}:o==="className"&&(t[o]=[r,a].filter(Boolean).join(" "))}return{...e,...t}}function Ds(e){var o,r;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,t=n&&"isReactWarning"in n&&n.isReactWarning;return t?e.ref:(n=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,t=n&&"isReactWarning"in n&&n.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}function S(e,n,{checkForDefaultPrevented:t=!0}={}){return function(r){if(e==null||e(r),t===!1||!r.defaultPrevented)return n==null?void 0:n(r)}}function Os(e,n){const t=s.createContext(n),o=a=>{const{children:i,...c}=a,l=s.useMemo(()=>c,Object.values(c));return d.jsx(t.Provider,{value:l,children:i})};o.displayName=e+"Provider";function r(a){const i=s.useContext(t);if(i)return i;if(n!==void 0)return n;throw new Error(`\`${a}\` must be used within \`${e}\``)}return[o,r]}function ie(e,n=[]){let t=[];function o(a,i){const c=s.createContext(i),l=t.length;t=[...t,i];const u=p=>{var b;const{scope:v,children:h,...C}=p,m=((b=v==null?void 0:v[e])==null?void 0:b[l])||c,g=s.useMemo(()=>C,Object.values(C));return d.jsx(m.Provider,{value:g,children:h})};u.displayName=a+"Provider";function f(p,v){var m;const h=((m=v==null?void 0:v[e])==null?void 0:m[l])||c,C=s.useContext(h);if(C)return C;if(i!==void 0)return i;throw new Error(`\`${p}\` must be used within \`${a}\``)}return[u,f]}const r=()=>{const a=t.map(i=>s.createContext(i));return function(c){const l=(c==null?void 0:c[e])||a;return s.useMemo(()=>({[`__scope${e}`]:{...c,[e]:l}}),[c,l])}};return r.scopeName=e,[o,js(r,...n)]}function js(...e){const n=e[0];if(e.length===1)return n;const t=()=>{const o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(a){const i=o.reduce((c,{useScope:l,scopeName:u})=>{const p=l(a)[`__scope${u}`];return{...c,...p}},{});return s.useMemo(()=>({[`__scope${n.scopeName}`]:i}),[i])}};return t.scopeName=n.scopeName,t}var te=globalThis!=null&&globalThis.document?s.useLayoutEffect:()=>{},ks=Ht[" useInsertionEffect ".trim().toString()]||te;function fe({prop:e,defaultProp:n,onChange:t=()=>{},caller:o}){const[r,a,i]=Fs({defaultProp:n,onChange:t}),c=e!==void 0,l=c?e:r;{const f=s.useRef(e!==void 0);s.useEffect(()=>{const p=f.current;p!==c&&console.warn(`${o} is changing from ${p?"controlled":"uncontrolled"} to ${c?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),f.current=c},[c,o])}const u=s.useCallback(f=>{var p;if(c){const v=Ls(f)?f(e):f;v!==e&&((p=i.current)==null||p.call(i,v))}else a(f)},[c,e,a,i]);return[l,u]}function Fs({defaultProp:e,onChange:n}){const[t,o]=s.useState(e),r=s.useRef(t),a=s.useRef(n);return ks(()=>{a.current=n},[n]),s.useEffect(()=>{var i;r.current!==t&&((i=a.current)==null||i.call(a,t),r.current=t)},[t,r]),[t,o,a]}function Ls(e){return typeof e=="function"}function ye(e){const n=$s(e),t=s.forwardRef((o,r)=>{const{children:a,...i}=o,c=s.Children.toArray(a),l=c.find(Us);if(l){const u=l.props.children,f=c.map(p=>p===l?s.Children.count(u)>1?s.Children.only(null):s.isValidElement(u)?u.props.children:null:p);return d.jsx(n,{...i,ref:r,children:s.isValidElement(u)?s.cloneElement(u,void 0,f):null})}return d.jsx(n,{...i,ref:r,children:a})});return t.displayName=`${e}.Slot`,t}function $s(e){const n=s.forwardRef((t,o)=>{const{children:r,...a}=t;if(s.isValidElement(r)){const i=Vs(r),c=Ks(a,r.props);return r.type!==s.Fragment&&(c.ref=o?ue(o,i):i),s.cloneElement(r,c)}return s.Children.count(r)>1?s.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var Tn=Symbol("radix.slottable");function Bs(e){const n=({children:t})=>d.jsx(d.Fragment,{children:t});return n.displayName=`${e}.Slottable`,n.__radixId=Tn,n}function Us(e){return s.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Tn}function Ks(e,n){const t={...n};for(const o in n){const r=e[o],a=n[o];/^on[A-Z]/.test(o)?r&&a?t[o]=(...c)=>{const l=a(...c);return r(...c),l}:r&&(t[o]=r):o==="style"?t[o]={...r,...a}:o==="className"&&(t[o]=[r,a].filter(Boolean).join(" "))}return{...e,...t}}function Vs(e){var o,r;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,t=n&&"isReactWarning"in n&&n.isReactWarning;return t?e.ref:(n=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,t=n&&"isReactWarning"in n&&n.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}var Gs=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],N=Gs.reduce((e,n)=>{const t=ye(`Primitive.${n}`),o=s.forwardRef((r,a)=>{const{asChild:i,...c}=r,l=i?t:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(l,{...c,ref:a})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{});function _n(e,n){e&&Wt.flushSync(()=>e.dispatchEvent(n))}function zt(e){const n=e+"CollectionProvider",[t,o]=ie(n),[r,a]=t(n,{collectionRef:{current:null},itemMap:new Map}),i=m=>{const{scope:g,children:b}=m,w=Ce.useRef(null),y=Ce.useRef(new Map).current;return d.jsx(r,{scope:g,itemMap:y,collectionRef:w,children:b})};i.displayName=n;const c=e+"CollectionSlot",l=ye(c),u=Ce.forwardRef((m,g)=>{const{scope:b,children:w}=m,y=a(c,b),R=$(g,y.collectionRef);return d.jsx(l,{ref:R,children:w})});u.displayName=c;const f=e+"CollectionItemSlot",p="data-radix-collection-item",v=ye(f),h=Ce.forwardRef((m,g)=>{const{scope:b,children:w,...y}=m,R=Ce.useRef(null),j=$(g,R),M=a(f,b);return Ce.useEffect(()=>(M.itemMap.set(R,{ref:R,...y}),()=>void M.itemMap.delete(R))),d.jsx(v,{[p]:"",ref:j,children:w})});h.displayName=f;function C(m){const g=a(e+"CollectionConsumer",m);return Ce.useCallback(()=>{const w=g.collectionRef.current;if(!w)return[];const y=Array.from(w.querySelectorAll(`[${p}]`));return Array.from(g.itemMap.values()).sort((M,P)=>y.indexOf(M.ref.current)-y.indexOf(P.ref.current))},[g.collectionRef,g.itemMap])}return[{Provider:i,Slot:u,ItemSlot:h},C,o]}var Hs=s.createContext(void 0);function it(e){const n=s.useContext(Hs);return e||n||"ltr"}function de(e){const n=s.useRef(e);return s.useEffect(()=>{n.current=e}),s.useMemo(()=>(...t)=>{var o;return(o=n.current)==null?void 0:o.call(n,...t)},[])}function Ws(e,n=globalThis==null?void 0:globalThis.document){const t=de(e);s.useEffect(()=>{const o=r=>{r.key==="Escape"&&t(r)};return n.addEventListener("keydown",o,{capture:!0}),()=>n.removeEventListener("keydown",o,{capture:!0})},[t,n])}var zs="DismissableLayer",Dt="dismissableLayer.update",Ys="dismissableLayer.pointerDownOutside",Xs="dismissableLayer.focusOutside",vn,Mn=s.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Ne=s.forwardRef((e,n)=>{const{disableOutsidePointerEvents:t=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:a,onInteractOutside:i,onDismiss:c,...l}=e,u=s.useContext(Mn),[f,p]=s.useState(null),v=(f==null?void 0:f.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,h]=s.useState({}),C=$(n,P=>p(P)),m=Array.from(u.layers),[g]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),b=m.indexOf(g),w=f?m.indexOf(f):-1,y=u.layersWithOutsidePointerEventsDisabled.size>0,R=w>=b,j=Js(P=>{const F=P.target,H=[...u.branches].some(G=>G.contains(F));!R||H||(r==null||r(P),i==null||i(P),P.defaultPrevented||c==null||c())},v),M=Qs(P=>{const F=P.target;[...u.branches].some(G=>G.contains(F))||(a==null||a(P),i==null||i(P),P.defaultPrevented||c==null||c())},v);return Ws(P=>{w===u.layers.size-1&&(o==null||o(P),!P.defaultPrevented&&c&&(P.preventDefault(),c()))},v),s.useEffect(()=>{if(f)return t&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(vn=v.body.style.pointerEvents,v.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(f)),u.layers.add(f),mn(),()=>{t&&u.layersWithOutsidePointerEventsDisabled.size===1&&(v.body.style.pointerEvents=vn)}},[f,v,t,u]),s.useEffect(()=>()=>{f&&(u.layers.delete(f),u.layersWithOutsidePointerEventsDisabled.delete(f),mn())},[f,u]),s.useEffect(()=>{const P=()=>h({});return document.addEventListener(Dt,P),()=>document.removeEventListener(Dt,P)},[]),d.jsx(N.div,{...l,ref:C,style:{pointerEvents:y?R?"auto":"none":void 0,...e.style},onFocusCapture:S(e.onFocusCapture,M.onFocusCapture),onBlurCapture:S(e.onBlurCapture,M.onBlurCapture),onPointerDownCapture:S(e.onPointerDownCapture,j.onPointerDownCapture)})});Ne.displayName=zs;var qs="DismissableLayerBranch",Zs=s.forwardRef((e,n)=>{const t=s.useContext(Mn),o=s.useRef(null),r=$(n,o);return s.useEffect(()=>{const a=o.current;if(a)return t.branches.add(a),()=>{t.branches.delete(a)}},[t.branches]),d.jsx(N.div,{...e,ref:r})});Zs.displayName=qs;function Js(e,n=globalThis==null?void 0:globalThis.document){const t=de(e),o=s.useRef(!1),r=s.useRef(()=>{});return s.useEffect(()=>{const a=c=>{if(c.target&&!o.current){let l=function(){An(Ys,t,u,{discrete:!0})};const u={originalEvent:c};c.pointerType==="touch"?(n.removeEventListener("click",r.current),r.current=l,n.addEventListener("click",r.current,{once:!0})):l()}else n.removeEventListener("click",r.current);o.current=!1},i=window.setTimeout(()=>{n.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(i),n.removeEventListener("pointerdown",a),n.removeEventListener("click",r.current)}},[n,t]),{onPointerDownCapture:()=>o.current=!0}}function Qs(e,n=globalThis==null?void 0:globalThis.document){const t=de(e),o=s.useRef(!1);return s.useEffect(()=>{const r=a=>{a.target&&!o.current&&An(Xs,t,{originalEvent:a},{discrete:!1})};return n.addEventListener("focusin",r),()=>n.removeEventListener("focusin",r)},[n,t]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function mn(){const e=new CustomEvent(Dt);document.dispatchEvent(e)}function An(e,n,t,{discrete:o}){const r=t.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:t});n&&r.addEventListener(e,n,{once:!0}),o?_n(r,a):r.dispatchEvent(a)}var Rt=0;function ct(){s.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??hn()),document.body.insertAdjacentElement("beforeend",e[1]??hn()),Rt++,()=>{Rt===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(n=>n.remove()),Rt--}},[])}function hn(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var It="focusScope.autoFocusOnMount",Tt="focusScope.autoFocusOnUnmount",gn={bubbles:!1,cancelable:!0},ea="FocusScope",Ge=s.forwardRef((e,n)=>{const{loop:t=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:a,...i}=e,[c,l]=s.useState(null),u=de(r),f=de(a),p=s.useRef(null),v=$(n,m=>l(m)),h=s.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;s.useEffect(()=>{if(o){let m=function(y){if(h.paused||!c)return;const R=y.target;c.contains(R)?p.current=R:pe(p.current,{select:!0})},g=function(y){if(h.paused||!c)return;const R=y.relatedTarget;R!==null&&(c.contains(R)||pe(p.current,{select:!0}))},b=function(y){if(document.activeElement===document.body)for(const j of y)j.removedNodes.length>0&&pe(c)};document.addEventListener("focusin",m),document.addEventListener("focusout",g);const w=new MutationObserver(b);return c&&w.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",m),document.removeEventListener("focusout",g),w.disconnect()}}},[o,c,h.paused]),s.useEffect(()=>{if(c){wn.add(h);const m=document.activeElement;if(!c.contains(m)){const b=new CustomEvent(It,gn);c.addEventListener(It,u),c.dispatchEvent(b),b.defaultPrevented||(ta(aa(Nn(c)),{select:!0}),document.activeElement===m&&pe(c))}return()=>{c.removeEventListener(It,u),setTimeout(()=>{const b=new CustomEvent(Tt,gn);c.addEventListener(Tt,f),c.dispatchEvent(b),b.defaultPrevented||pe(m??document.body,{select:!0}),c.removeEventListener(Tt,f),wn.remove(h)},0)}}},[c,u,f,h]);const C=s.useCallback(m=>{if(!t&&!o||h.paused)return;const g=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,b=document.activeElement;if(g&&b){const w=m.currentTarget,[y,R]=na(w);y&&R?!m.shiftKey&&b===R?(m.preventDefault(),t&&pe(y,{select:!0})):m.shiftKey&&b===y&&(m.preventDefault(),t&&pe(R,{select:!0})):b===w&&m.preventDefault()}},[t,o,h.paused]);return d.jsx(N.div,{tabIndex:-1,...i,ref:v,onKeyDown:C})});Ge.displayName=ea;function ta(e,{select:n=!1}={}){const t=document.activeElement;for(const o of e)if(pe(o,{select:n}),document.activeElement!==t)return}function na(e){const n=Nn(e),t=xn(n,e),o=xn(n.reverse(),e);return[t,o]}function Nn(e){const n=[],t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;t.nextNode();)n.push(t.currentNode);return n}function xn(e,n){for(const t of e)if(!oa(t,{upTo:n}))return t}function oa(e,{upTo:n}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(n!==void 0&&e===n)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function ra(e){return e instanceof HTMLInputElement&&"select"in e}function pe(e,{select:n=!1}={}){if(e&&e.focus){const t=document.activeElement;e.focus({preventScroll:!0}),e!==t&&ra(e)&&n&&e.select()}}var wn=sa();function sa(){let e=[];return{add(n){const t=e[0];n!==t&&(t==null||t.pause()),e=Cn(e,n),e.unshift(n)},remove(n){var t;e=Cn(e,n),(t=e[0])==null||t.resume()}}}function Cn(e,n){const t=[...e],o=t.indexOf(n);return o!==-1&&t.splice(o,1),t}function aa(e){return e.filter(n=>n.tagName!=="A")}var ia=Ht[" useId ".trim().toString()]||(()=>{}),ca=0;function ee(e){const[n,t]=s.useState(ia());return te(()=>{t(o=>o??String(ca++))},[e]),e||(n?`radix-${n}`:"")}var la="Arrow",Dn=s.forwardRef((e,n)=>{const{children:t,width:o=10,height:r=5,...a}=e;return d.jsx(N.svg,{...a,ref:n,width:o,height:r,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?t:d.jsx("polygon",{points:"0,0 30,0 15,10"})})});Dn.displayName=la;var ua=Dn;function On(e){const[n,t]=s.useState(void 0);return te(()=>{if(e){t({width:e.offsetWidth,height:e.offsetHeight});const o=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;const a=r[0];let i,c;if("borderBoxSize"in a){const l=a.borderBoxSize,u=Array.isArray(l)?l[0]:l;i=u.inlineSize,c=u.blockSize}else i=e.offsetWidth,c=e.offsetHeight;t({width:i,height:c})});return o.observe(e,{box:"border-box"}),()=>o.unobserve(e)}else t(void 0)},[e]),n}var Yt="Popper",[jn,me]=ie(Yt),[da,kn]=jn(Yt),Fn=e=>{const{__scopePopper:n,children:t}=e,[o,r]=s.useState(null);return d.jsx(da,{scope:n,anchor:o,onAnchorChange:r,children:t})};Fn.displayName=Yt;var Ln="PopperAnchor",$n=s.forwardRef((e,n)=>{const{__scopePopper:t,virtualRef:o,...r}=e,a=kn(Ln,t),i=s.useRef(null),c=$(n,i),l=s.useRef(null);return s.useEffect(()=>{const u=l.current;l.current=(o==null?void 0:o.current)||i.current,u!==l.current&&a.onAnchorChange(l.current)}),o?null:d.jsx(N.div,{...r,ref:c})});$n.displayName=Ln;var Xt="PopperContent",[fa,pa]=jn(Xt),Bn=s.forwardRef((e,n)=>{var E,D,O,L,U,K;const{__scopePopper:t,side:o="bottom",sideOffset:r=0,align:a="center",alignOffset:i=0,arrowPadding:c=0,avoidCollisions:l=!0,collisionBoundary:u=[],collisionPadding:f=0,sticky:p="partial",hideWhenDetached:v=!1,updatePositionStrategy:h="optimized",onPlaced:C,...m}=e,g=kn(Xt,t),[b,w]=s.useState(null),y=$(n,oe=>w(oe)),[R,j]=s.useState(null),M=On(R),P=(M==null?void 0:M.width)??0,F=(M==null?void 0:M.height)??0,H=o+(a!=="center"?"-"+a:""),G=typeof f=="number"?f:{top:0,right:0,bottom:0,left:0,...f},Y=Array.isArray(u)?u:[u],q=Y.length>0,Z={padding:G,boundary:Y.filter(ma),altBoundary:q},{refs:W,floatingStyles:X,placement:B,isPositioned:J,middlewareData:V}=gs({strategy:"fixed",placement:H,whileElementsMounted:(...oe)=>Ss(...oe,{animationFrame:h==="always"}),elements:{reference:g.anchor},middleware:[xs({mainAxis:r+F,alignmentAxis:i}),l&&ws({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?Ps():void 0,...Z}),l&&Cs({...Z}),ys({...Z,apply:({elements:oe,rects:le,availableWidth:je,availableHeight:ke})=>{const{width:Fe,height:hs}=le.reference,Je=oe.floating.style;Je.setProperty("--radix-popper-available-width",`${je}px`),Je.setProperty("--radix-popper-available-height",`${ke}px`),Je.setProperty("--radix-popper-anchor-width",`${Fe}px`),Je.setProperty("--radix-popper-anchor-height",`${hs}px`)}}),R&&bs({element:R,padding:c}),ha({arrowWidth:P,arrowHeight:F}),v&&Es({strategy:"referenceHidden",...Z})]}),[T,Q]=Vn(B),z=de(C);te(()=>{J&&(z==null||z())},[J,z]);const x=(E=V.arrow)==null?void 0:E.x,_=(D=V.arrow)==null?void 0:D.y,A=((O=V.arrow)==null?void 0:O.centerOffset)!==0,[I,k]=s.useState();return te(()=>{b&&k(window.getComputedStyle(b).zIndex)},[b]),d.jsx("div",{ref:W.setFloating,"data-radix-popper-content-wrapper":"",style:{...X,transform:J?X.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:I,"--radix-popper-transform-origin":[(L=V.transformOrigin)==null?void 0:L.x,(U=V.transformOrigin)==null?void 0:U.y].join(" "),...((K=V.hide)==null?void 0:K.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:d.jsx(fa,{scope:t,placedSide:T,onArrowChange:j,arrowX:x,arrowY:_,shouldHideArrow:A,children:d.jsx(N.div,{"data-side":T,"data-align":Q,...m,ref:y,style:{...m.style,animation:J?void 0:"none"}})})})});Bn.displayName=Xt;var Un="PopperArrow",va={top:"bottom",right:"left",bottom:"top",left:"right"},Kn=s.forwardRef(function(n,t){const{__scopePopper:o,...r}=n,a=pa(Un,o),i=va[a.placedSide];return d.jsx("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:d.jsx(ua,{...r,ref:t,style:{...r.style,display:"block"}})})});Kn.displayName=Un;function ma(e){return e!==null}var ha=e=>({name:"transformOrigin",options:e,fn(n){var g,b,w;const{placement:t,rects:o,middlewareData:r}=n,i=((g=r.arrow)==null?void 0:g.centerOffset)!==0,c=i?0:e.arrowWidth,l=i?0:e.arrowHeight,[u,f]=Vn(t),p={start:"0%",center:"50%",end:"100%"}[f],v=(((b=r.arrow)==null?void 0:b.x)??0)+c/2,h=(((w=r.arrow)==null?void 0:w.y)??0)+l/2;let C="",m="";return u==="bottom"?(C=i?p:`${v}px`,m=`${-l}px`):u==="top"?(C=i?p:`${v}px`,m=`${o.floating.height+l}px`):u==="right"?(C=`${-l}px`,m=i?p:`${h}px`):u==="left"&&(C=`${o.floating.width+l}px`,m=i?p:`${h}px`),{data:{x:C,y:m}}}});function Vn(e){const[n,t="center"]=e.split("-");return[n,t]}var lt=Fn,He=$n,ut=Bn,dt=Kn,ga="Portal",De=s.forwardRef((e,n)=>{var c;const{container:t,...o}=e,[r,a]=s.useState(!1);te(()=>a(!0),[]);const i=t||r&&((c=globalThis==null?void 0:globalThis.document)==null?void 0:c.body);return i?Rs.createPortal(d.jsx(N.div,{...o,ref:n}),i):null});De.displayName=ga;function xa(e,n){return s.useReducer((t,o)=>n[t][o]??t,e)}var re=e=>{const{present:n,children:t}=e,o=wa(n),r=typeof t=="function"?t({present:o.isPresent}):s.Children.only(t),a=$(o.ref,Ca(r));return typeof t=="function"||o.isPresent?s.cloneElement(r,{ref:a}):null};re.displayName="Presence";function wa(e){const[n,t]=s.useState(),o=s.useRef(null),r=s.useRef(e),a=s.useRef("none"),i=e?"mounted":"unmounted",[c,l]=xa(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return s.useEffect(()=>{const u=Qe(o.current);a.current=c==="mounted"?u:"none"},[c]),te(()=>{const u=o.current,f=r.current;if(f!==e){const v=a.current,h=Qe(u);e?l("MOUNT"):h==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(f&&v!==h?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,l]),te(()=>{if(n){let u;const f=n.ownerDocument.defaultView??window,p=h=>{const m=Qe(o.current).includes(CSS.escape(h.animationName));if(h.target===n&&m&&(l("ANIMATION_END"),!r.current)){const g=n.style.animationFillMode;n.style.animationFillMode="forwards",u=f.setTimeout(()=>{n.style.animationFillMode==="forwards"&&(n.style.animationFillMode=g)})}},v=h=>{h.target===n&&(a.current=Qe(o.current))};return n.addEventListener("animationstart",v),n.addEventListener("animationcancel",p),n.addEventListener("animationend",p),()=>{f.clearTimeout(u),n.removeEventListener("animationstart",v),n.removeEventListener("animationcancel",p),n.removeEventListener("animationend",p)}}else l("ANIMATION_END")},[n,l]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:s.useCallback(u=>{o.current=u?getComputedStyle(u):null,t(u)},[])}}function Qe(e){return(e==null?void 0:e.animationName)||"none"}function Ca(e){var o,r;let n=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,t=n&&"isReactWarning"in n&&n.isReactWarning;return t?e.ref:(n=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,t=n&&"isReactWarning"in n&&n.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}var _t="rovingFocusGroup.onEntryFocus",ya={bubbles:!1,cancelable:!0},We="RovingFocusGroup",[Ot,Gn,ba]=zt(We),[Ea,ft]=ie(We,[ba]),[Sa,Pa]=Ea(We),Hn=s.forwardRef((e,n)=>d.jsx(Ot.Provider,{scope:e.__scopeRovingFocusGroup,children:d.jsx(Ot.Slot,{scope:e.__scopeRovingFocusGroup,children:d.jsx(Ra,{...e,ref:n})})}));Hn.displayName=We;var Ra=s.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:t,orientation:o,loop:r=!1,dir:a,currentTabStopId:i,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:l,onEntryFocus:u,preventScrollOnEntryFocus:f=!1,...p}=e,v=s.useRef(null),h=$(n,v),C=it(a),[m,g]=fe({prop:i,defaultProp:c??null,onChange:l,caller:We}),[b,w]=s.useState(!1),y=de(u),R=Gn(t),j=s.useRef(!1),[M,P]=s.useState(0);return s.useEffect(()=>{const F=v.current;if(F)return F.addEventListener(_t,y),()=>F.removeEventListener(_t,y)},[y]),d.jsx(Sa,{scope:t,orientation:o,dir:C,loop:r,currentTabStopId:m,onItemFocus:s.useCallback(F=>g(F),[g]),onItemShiftTab:s.useCallback(()=>w(!0),[]),onFocusableItemAdd:s.useCallback(()=>P(F=>F+1),[]),onFocusableItemRemove:s.useCallback(()=>P(F=>F-1),[]),children:d.jsx(N.div,{tabIndex:b||M===0?-1:0,"data-orientation":o,...p,ref:h,style:{outline:"none",...e.style},onMouseDown:S(e.onMouseDown,()=>{j.current=!0}),onFocus:S(e.onFocus,F=>{const H=!j.current;if(F.target===F.currentTarget&&H&&!b){const G=new CustomEvent(_t,ya);if(F.currentTarget.dispatchEvent(G),!G.defaultPrevented){const Y=R().filter(B=>B.focusable),q=Y.find(B=>B.active),Z=Y.find(B=>B.id===m),X=[q,Z,...Y].filter(Boolean).map(B=>B.ref.current);Yn(X,f)}}j.current=!1}),onBlur:S(e.onBlur,()=>w(!1))})})}),Wn="RovingFocusGroupItem",zn=s.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:t,focusable:o=!0,active:r=!1,tabStopId:a,children:i,...c}=e,l=ee(),u=a||l,f=Pa(Wn,t),p=f.currentTabStopId===u,v=Gn(t),{onFocusableItemAdd:h,onFocusableItemRemove:C,currentTabStopId:m}=f;return s.useEffect(()=>{if(o)return h(),()=>C()},[o,h,C]),d.jsx(Ot.ItemSlot,{scope:t,id:u,focusable:o,active:r,children:d.jsx(N.span,{tabIndex:p?0:-1,"data-orientation":f.orientation,...c,ref:n,onMouseDown:S(e.onMouseDown,g=>{o?f.onItemFocus(u):g.preventDefault()}),onFocus:S(e.onFocus,()=>f.onItemFocus(u)),onKeyDown:S(e.onKeyDown,g=>{if(g.key==="Tab"&&g.shiftKey){f.onItemShiftTab();return}if(g.target!==g.currentTarget)return;const b=_a(g,f.orientation,f.dir);if(b!==void 0){if(g.metaKey||g.ctrlKey||g.altKey||g.shiftKey)return;g.preventDefault();let y=v().filter(R=>R.focusable).map(R=>R.ref.current);if(b==="last")y.reverse();else if(b==="prev"||b==="next"){b==="prev"&&y.reverse();const R=y.indexOf(g.currentTarget);y=f.loop?Ma(y,R+1):y.slice(R+1)}setTimeout(()=>Yn(y))}}),children:typeof i=="function"?i({isCurrentTabStop:p,hasTabStop:m!=null}):i})})});zn.displayName=Wn;var Ia={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Ta(e,n){return n!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function _a(e,n,t){const o=Ta(e.key,t);if(!(n==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(n==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return Ia[o]}function Yn(e,n=!1){const t=document.activeElement;for(const o of e)if(o===t||(o.focus({preventScroll:n}),document.activeElement!==t))return}function Ma(e,n){return e.map((t,o)=>e[(n+o)%e.length])}var Xn=Hn,qn=zn,jt=["Enter"," "],Aa=["ArrowDown","PageUp","Home"],Zn=["ArrowUp","PageDown","End"],Na=[...Aa,...Zn],Da={ltr:[...jt,"ArrowRight"],rtl:[...jt,"ArrowLeft"]},Oa={ltr:["ArrowLeft"],rtl:["ArrowRight"]},ze="Menu",[Ue,ja,ka]=zt(ze),[Re,Jn]=ie(ze,[ka,me,ft]),pt=me(),Qn=ft(),[Fa,Ie]=Re(ze),[La,Ye]=Re(ze),eo=e=>{const{__scopeMenu:n,open:t=!1,children:o,dir:r,onOpenChange:a,modal:i=!0}=e,c=pt(n),[l,u]=s.useState(null),f=s.useRef(!1),p=de(a),v=it(r);return s.useEffect(()=>{const h=()=>{f.current=!0,document.addEventListener("pointerdown",C,{capture:!0,once:!0}),document.addEventListener("pointermove",C,{capture:!0,once:!0})},C=()=>f.current=!1;return document.addEventListener("keydown",h,{capture:!0}),()=>{document.removeEventListener("keydown",h,{capture:!0}),document.removeEventListener("pointerdown",C,{capture:!0}),document.removeEventListener("pointermove",C,{capture:!0})}},[]),d.jsx(lt,{...c,children:d.jsx(Fa,{scope:n,open:t,onOpenChange:p,content:l,onContentChange:u,children:d.jsx(La,{scope:n,onClose:s.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:f,dir:v,modal:i,children:o})})})};eo.displayName=ze;var $a="MenuAnchor",qt=s.forwardRef((e,n)=>{const{__scopeMenu:t,...o}=e,r=pt(t);return d.jsx(He,{...r,...o,ref:n})});qt.displayName=$a;var Zt="MenuPortal",[Ba,to]=Re(Zt,{forceMount:void 0}),no=e=>{const{__scopeMenu:n,forceMount:t,children:o,container:r}=e,a=Ie(Zt,n);return d.jsx(Ba,{scope:n,forceMount:t,children:d.jsx(re,{present:t||a.open,children:d.jsx(De,{asChild:!0,container:r,children:o})})})};no.displayName=Zt;var se="MenuContent",[Ua,Jt]=Re(se),oo=s.forwardRef((e,n)=>{const t=to(se,e.__scopeMenu),{forceMount:o=t.forceMount,...r}=e,a=Ie(se,e.__scopeMenu),i=Ye(se,e.__scopeMenu);return d.jsx(Ue.Provider,{scope:e.__scopeMenu,children:d.jsx(re,{present:o||a.open,children:d.jsx(Ue.Slot,{scope:e.__scopeMenu,children:i.modal?d.jsx(Ka,{...r,ref:n}):d.jsx(Va,{...r,ref:n})})})})}),Ka=s.forwardRef((e,n)=>{const t=Ie(se,e.__scopeMenu),o=s.useRef(null),r=$(n,o);return s.useEffect(()=>{const a=o.current;if(a)return at(a)},[]),d.jsx(Qt,{...e,ref:r,trapFocus:t.open,disableOutsidePointerEvents:t.open,disableOutsideScroll:!0,onFocusOutside:S(e.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>t.onOpenChange(!1)})}),Va=s.forwardRef((e,n)=>{const t=Ie(se,e.__scopeMenu);return d.jsx(Qt,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>t.onOpenChange(!1)})}),Ga=ye("MenuContent.ScrollLock"),Qt=s.forwardRef((e,n)=>{const{__scopeMenu:t,loop:o=!1,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:i,disableOutsidePointerEvents:c,onEntryFocus:l,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:v,onDismiss:h,disableOutsideScroll:C,...m}=e,g=Ie(se,t),b=Ye(se,t),w=pt(t),y=Qn(t),R=ja(t),[j,M]=s.useState(null),P=s.useRef(null),F=$(n,P,g.onContentChange),H=s.useRef(0),G=s.useRef(""),Y=s.useRef(0),q=s.useRef(null),Z=s.useRef("right"),W=s.useRef(0),X=C?st:s.Fragment,B=C?{as:Ga,allowPinchZoom:!0}:void 0,J=T=>{var E,D;const Q=G.current+T,z=R().filter(O=>!O.disabled),x=document.activeElement,_=(E=z.find(O=>O.ref.current===x))==null?void 0:E.textValue,A=z.map(O=>O.textValue),I=ni(A,Q,_),k=(D=z.find(O=>O.textValue===I))==null?void 0:D.ref.current;(function O(L){G.current=L,window.clearTimeout(H.current),L!==""&&(H.current=window.setTimeout(()=>O(""),1e3))})(Q),k&&setTimeout(()=>k.focus())};s.useEffect(()=>()=>window.clearTimeout(H.current),[]),ct();const V=s.useCallback(T=>{var z,x;return Z.current===((z=q.current)==null?void 0:z.side)&&ri(T,(x=q.current)==null?void 0:x.area)},[]);return d.jsx(Ua,{scope:t,searchRef:G,onItemEnter:s.useCallback(T=>{V(T)&&T.preventDefault()},[V]),onItemLeave:s.useCallback(T=>{var Q;V(T)||((Q=P.current)==null||Q.focus(),M(null))},[V]),onTriggerLeave:s.useCallback(T=>{V(T)&&T.preventDefault()},[V]),pointerGraceTimerRef:Y,onPointerGraceIntentChange:s.useCallback(T=>{q.current=T},[]),children:d.jsx(X,{...B,children:d.jsx(Ge,{asChild:!0,trapped:r,onMountAutoFocus:S(a,T=>{var Q;T.preventDefault(),(Q=P.current)==null||Q.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:d.jsx(Ne,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:u,onPointerDownOutside:f,onFocusOutside:p,onInteractOutside:v,onDismiss:h,children:d.jsx(Xn,{asChild:!0,...y,dir:b.dir,orientation:"vertical",loop:o,currentTabStopId:j,onCurrentTabStopIdChange:M,onEntryFocus:S(l,T=>{b.isUsingKeyboardRef.current||T.preventDefault()}),preventScrollOnEntryFocus:!0,children:d.jsx(ut,{role:"menu","aria-orientation":"vertical","data-state":Co(g.open),"data-radix-menu-content":"",dir:b.dir,...w,...m,ref:F,style:{outline:"none",...m.style},onKeyDown:S(m.onKeyDown,T=>{const z=T.target.closest("[data-radix-menu-content]")===T.currentTarget,x=T.ctrlKey||T.altKey||T.metaKey,_=T.key.length===1;z&&(T.key==="Tab"&&T.preventDefault(),!x&&_&&J(T.key));const A=P.current;if(T.target!==A||!Na.includes(T.key))return;T.preventDefault();const k=R().filter(E=>!E.disabled).map(E=>E.ref.current);Zn.includes(T.key)&&k.reverse(),ei(k)}),onBlur:S(e.onBlur,T=>{T.currentTarget.contains(T.target)||(window.clearTimeout(H.current),G.current="")}),onPointerMove:S(e.onPointerMove,Ke(T=>{const Q=T.target,z=W.current!==T.clientX;if(T.currentTarget.contains(Q)&&z){const x=T.clientX>W.current?"right":"left";Z.current=x,W.current=T.clientX}}))})})})})})})});oo.displayName=se;var Ha="MenuGroup",en=s.forwardRef((e,n)=>{const{__scopeMenu:t,...o}=e;return d.jsx(N.div,{role:"group",...o,ref:n})});en.displayName=Ha;var Wa="MenuLabel",ro=s.forwardRef((e,n)=>{const{__scopeMenu:t,...o}=e;return d.jsx(N.div,{...o,ref:n})});ro.displayName=Wa;var tt="MenuItem",yn="menu.itemSelect",vt=s.forwardRef((e,n)=>{const{disabled:t=!1,onSelect:o,...r}=e,a=s.useRef(null),i=Ye(tt,e.__scopeMenu),c=Jt(tt,e.__scopeMenu),l=$(n,a),u=s.useRef(!1),f=()=>{const p=a.current;if(!t&&p){const v=new CustomEvent(yn,{bubbles:!0,cancelable:!0});p.addEventListener(yn,h=>o==null?void 0:o(h),{once:!0}),_n(p,v),v.defaultPrevented?u.current=!1:i.onClose()}};return d.jsx(so,{...r,ref:l,disabled:t,onClick:S(e.onClick,f),onPointerDown:p=>{var v;(v=e.onPointerDown)==null||v.call(e,p),u.current=!0},onPointerUp:S(e.onPointerUp,p=>{var v;u.current||(v=p.currentTarget)==null||v.click()}),onKeyDown:S(e.onKeyDown,p=>{const v=c.searchRef.current!=="";t||v&&p.key===" "||jt.includes(p.key)&&(p.currentTarget.click(),p.preventDefault())})})});vt.displayName=tt;var so=s.forwardRef((e,n)=>{const{__scopeMenu:t,disabled:o=!1,textValue:r,...a}=e,i=Jt(tt,t),c=Qn(t),l=s.useRef(null),u=$(n,l),[f,p]=s.useState(!1),[v,h]=s.useState("");return s.useEffect(()=>{const C=l.current;C&&h((C.textContent??"").trim())},[a.children]),d.jsx(Ue.ItemSlot,{scope:t,disabled:o,textValue:r??v,children:d.jsx(qn,{asChild:!0,...c,focusable:!o,children:d.jsx(N.div,{role:"menuitem","data-highlighted":f?"":void 0,"aria-disabled":o||void 0,"data-disabled":o?"":void 0,...a,ref:u,onPointerMove:S(e.onPointerMove,Ke(C=>{o?i.onItemLeave(C):(i.onItemEnter(C),C.defaultPrevented||C.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:S(e.onPointerLeave,Ke(C=>i.onItemLeave(C))),onFocus:S(e.onFocus,()=>p(!0)),onBlur:S(e.onBlur,()=>p(!1))})})})}),za="MenuCheckboxItem",ao=s.forwardRef((e,n)=>{const{checked:t=!1,onCheckedChange:o,...r}=e;return d.jsx(fo,{scope:e.__scopeMenu,checked:t,children:d.jsx(vt,{role:"menuitemcheckbox","aria-checked":nt(t)?"mixed":t,...r,ref:n,"data-state":nn(t),onSelect:S(r.onSelect,()=>o==null?void 0:o(nt(t)?!0:!t),{checkForDefaultPrevented:!1})})})});ao.displayName=za;var io="MenuRadioGroup",[Ya,Xa]=Re(io,{value:void 0,onValueChange:()=>{}}),co=s.forwardRef((e,n)=>{const{value:t,onValueChange:o,...r}=e,a=de(o);return d.jsx(Ya,{scope:e.__scopeMenu,value:t,onValueChange:a,children:d.jsx(en,{...r,ref:n})})});co.displayName=io;var lo="MenuRadioItem",uo=s.forwardRef((e,n)=>{const{value:t,...o}=e,r=Xa(lo,e.__scopeMenu),a=t===r.value;return d.jsx(fo,{scope:e.__scopeMenu,checked:a,children:d.jsx(vt,{role:"menuitemradio","aria-checked":a,...o,ref:n,"data-state":nn(a),onSelect:S(o.onSelect,()=>{var i;return(i=r.onValueChange)==null?void 0:i.call(r,t)},{checkForDefaultPrevented:!1})})})});uo.displayName=lo;var tn="MenuItemIndicator",[fo,qa]=Re(tn,{checked:!1}),po=s.forwardRef((e,n)=>{const{__scopeMenu:t,forceMount:o,...r}=e,a=qa(tn,t);return d.jsx(re,{present:o||nt(a.checked)||a.checked===!0,children:d.jsx(N.span,{...r,ref:n,"data-state":nn(a.checked)})})});po.displayName=tn;var Za="MenuSeparator",vo=s.forwardRef((e,n)=>{const{__scopeMenu:t,...o}=e;return d.jsx(N.div,{role:"separator","aria-orientation":"horizontal",...o,ref:n})});vo.displayName=Za;var Ja="MenuArrow",mo=s.forwardRef((e,n)=>{const{__scopeMenu:t,...o}=e,r=pt(t);return d.jsx(dt,{...r,...o,ref:n})});mo.displayName=Ja;var Qa="MenuSub",[Sl,ho]=Re(Qa),$e="MenuSubTrigger",go=s.forwardRef((e,n)=>{const t=Ie($e,e.__scopeMenu),o=Ye($e,e.__scopeMenu),r=ho($e,e.__scopeMenu),a=Jt($e,e.__scopeMenu),i=s.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:l}=a,u={__scopeMenu:e.__scopeMenu},f=s.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return s.useEffect(()=>f,[f]),s.useEffect(()=>{const p=c.current;return()=>{window.clearTimeout(p),l(null)}},[c,l]),d.jsx(qt,{asChild:!0,...u,children:d.jsx(so,{id:r.triggerId,"aria-haspopup":"menu","aria-expanded":t.open,"aria-controls":r.contentId,"data-state":Co(t.open),...e,ref:ue(n,r.onTriggerChange),onClick:p=>{var v;(v=e.onClick)==null||v.call(e,p),!(e.disabled||p.defaultPrevented)&&(p.currentTarget.focus(),t.open||t.onOpenChange(!0))},onPointerMove:S(e.onPointerMove,Ke(p=>{a.onItemEnter(p),!p.defaultPrevented&&!e.disabled&&!t.open&&!i.current&&(a.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{t.onOpenChange(!0),f()},100))})),onPointerLeave:S(e.onPointerLeave,Ke(p=>{var h,C;f();const v=(h=t.content)==null?void 0:h.getBoundingClientRect();if(v){const m=(C=t.content)==null?void 0:C.dataset.side,g=m==="right",b=g?-5:5,w=v[g?"left":"right"],y=v[g?"right":"left"];a.onPointerGraceIntentChange({area:[{x:p.clientX+b,y:p.clientY},{x:w,y:v.top},{x:y,y:v.top},{x:y,y:v.bottom},{x:w,y:v.bottom}],side:m}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(p),p.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:S(e.onKeyDown,p=>{var h;const v=a.searchRef.current!=="";e.disabled||v&&p.key===" "||Da[o.dir].includes(p.key)&&(t.onOpenChange(!0),(h=t.content)==null||h.focus(),p.preventDefault())})})})});go.displayName=$e;var xo="MenuSubContent",wo=s.forwardRef((e,n)=>{const t=to(se,e.__scopeMenu),{forceMount:o=t.forceMount,...r}=e,a=Ie(se,e.__scopeMenu),i=Ye(se,e.__scopeMenu),c=ho(xo,e.__scopeMenu),l=s.useRef(null),u=$(n,l);return d.jsx(Ue.Provider,{scope:e.__scopeMenu,children:d.jsx(re,{present:o||a.open,children:d.jsx(Ue.Slot,{scope:e.__scopeMenu,children:d.jsx(Qt,{id:c.contentId,"aria-labelledby":c.triggerId,...r,ref:u,align:"start",side:i.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:f=>{var p;i.isUsingKeyboardRef.current&&((p=l.current)==null||p.focus()),f.preventDefault()},onCloseAutoFocus:f=>f.preventDefault(),onFocusOutside:S(e.onFocusOutside,f=>{f.target!==c.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:S(e.onEscapeKeyDown,f=>{i.onClose(),f.preventDefault()}),onKeyDown:S(e.onKeyDown,f=>{var h;const p=f.currentTarget.contains(f.target),v=Oa[i.dir].includes(f.key);p&&v&&(a.onOpenChange(!1),(h=c.trigger)==null||h.focus(),f.preventDefault())})})})})})});wo.displayName=xo;function Co(e){return e?"open":"closed"}function nt(e){return e==="indeterminate"}function nn(e){return nt(e)?"indeterminate":e?"checked":"unchecked"}function ei(e){const n=document.activeElement;for(const t of e)if(t===n||(t.focus(),document.activeElement!==n))return}function ti(e,n){return e.map((t,o)=>e[(n+o)%e.length])}function ni(e,n,t){const r=n.length>1&&Array.from(n).every(u=>u===n[0])?n[0]:n,a=t?e.indexOf(t):-1;let i=ti(e,Math.max(a,0));r.length===1&&(i=i.filter(u=>u!==t));const l=i.find(u=>u.toLowerCase().startsWith(r.toLowerCase()));return l!==t?l:void 0}function oi(e,n){const{x:t,y:o}=e;let r=!1;for(let a=0,i=n.length-1;a<n.length;i=a++){const c=n[a],l=n[i],u=c.x,f=c.y,p=l.x,v=l.y;f>o!=v>o&&t<(p-u)*(o-f)/(v-f)+u&&(r=!r)}return r}function ri(e,n){if(!n)return!1;const t={x:e.clientX,y:e.clientY};return oi(t,n)}function Ke(e){return n=>n.pointerType==="mouse"?e(n):void 0}var si=eo,ai=qt,ii=no,ci=oo,li=en,ui=ro,di=vt,fi=ao,pi=co,vi=uo,mi=po,hi=vo,gi=mo,xi=go,wi=wo,mt="DropdownMenu",[Ci]=ie(mt,[Jn]),ne=Jn(),[yi,yo]=Ci(mt),bo=e=>{const{__scopeDropdownMenu:n,children:t,dir:o,open:r,defaultOpen:a,onOpenChange:i,modal:c=!0}=e,l=ne(n),u=s.useRef(null),[f,p]=fe({prop:r,defaultProp:a??!1,onChange:i,caller:mt});return d.jsx(yi,{scope:n,triggerId:ee(),triggerRef:u,contentId:ee(),open:f,onOpenChange:p,onOpenToggle:s.useCallback(()=>p(v=>!v),[p]),modal:c,children:d.jsx(si,{...l,open:f,onOpenChange:p,dir:o,modal:c,children:t})})};bo.displayName=mt;var Eo="DropdownMenuTrigger",So=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,disabled:o=!1,...r}=e,a=yo(Eo,t),i=ne(t);return d.jsx(ai,{asChild:!0,...i,children:d.jsx(N.button,{type:"button",id:a.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?"open":"closed","data-disabled":o?"":void 0,disabled:o,...r,ref:ue(n,a.triggerRef),onPointerDown:S(e.onPointerDown,c=>{!o&&c.button===0&&c.ctrlKey===!1&&(a.onOpenToggle(),a.open||c.preventDefault())}),onKeyDown:S(e.onKeyDown,c=>{o||(["Enter"," "].includes(c.key)&&a.onOpenToggle(),c.key==="ArrowDown"&&a.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(c.key)&&c.preventDefault())})})})});So.displayName=Eo;var bi="DropdownMenuPortal",Po=e=>{const{__scopeDropdownMenu:n,...t}=e,o=ne(n);return d.jsx(ii,{...o,...t})};Po.displayName=bi;var Ro="DropdownMenuContent",Io=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=yo(Ro,t),a=ne(t),i=s.useRef(!1);return d.jsx(ci,{id:r.contentId,"aria-labelledby":r.triggerId,...a,...o,ref:n,onCloseAutoFocus:S(e.onCloseAutoFocus,c=>{var l;i.current||(l=r.triggerRef.current)==null||l.focus(),i.current=!1,c.preventDefault()}),onInteractOutside:S(e.onInteractOutside,c=>{const l=c.detail.originalEvent,u=l.button===0&&l.ctrlKey===!0,f=l.button===2||u;(!r.modal||f)&&(i.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Io.displayName=Ro;var Ei="DropdownMenuGroup",Si=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(li,{...r,...o,ref:n})});Si.displayName=Ei;var Pi="DropdownMenuLabel",To=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(ui,{...r,...o,ref:n})});To.displayName=Pi;var Ri="DropdownMenuItem",_o=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(di,{...r,...o,ref:n})});_o.displayName=Ri;var Ii="DropdownMenuCheckboxItem",Mo=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(fi,{...r,...o,ref:n})});Mo.displayName=Ii;var Ti="DropdownMenuRadioGroup",_i=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(pi,{...r,...o,ref:n})});_i.displayName=Ti;var Mi="DropdownMenuRadioItem",Ao=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(vi,{...r,...o,ref:n})});Ao.displayName=Mi;var Ai="DropdownMenuItemIndicator",No=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(mi,{...r,...o,ref:n})});No.displayName=Ai;var Ni="DropdownMenuSeparator",Do=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(hi,{...r,...o,ref:n})});Do.displayName=Ni;var Di="DropdownMenuArrow",Oi=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(gi,{...r,...o,ref:n})});Oi.displayName=Di;var ji="DropdownMenuSubTrigger",Oo=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(xi,{...r,...o,ref:n})});Oo.displayName=ji;var ki="DropdownMenuSubContent",jo=s.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...o}=e,r=ne(t);return d.jsx(wi,{...r,...o,ref:n,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});jo.displayName=ki;var Pl=bo,Rl=So,Il=Po,Tl=Io,_l=To,Ml=_o,Al=Mo,Nl=Ao,Dl=No,Ol=Do,jl=Oo,kl=jo,ko=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Fi="VisuallyHidden",Fo=s.forwardRef((e,n)=>d.jsx(N.span,{...e,ref:n,style:{...ko,...e.style}}));Fo.displayName=Fi;var Li=Fo,[ht]=ie("Tooltip",[me]),gt=me(),Lo="TooltipProvider",$i=700,kt="tooltip.open",[Bi,on]=ht(Lo),$o=e=>{const{__scopeTooltip:n,delayDuration:t=$i,skipDelayDuration:o=300,disableHoverableContent:r=!1,children:a}=e,i=s.useRef(!0),c=s.useRef(!1),l=s.useRef(0);return s.useEffect(()=>{const u=l.current;return()=>window.clearTimeout(u)},[]),d.jsx(Bi,{scope:n,isOpenDelayedRef:i,delayDuration:t,onOpen:s.useCallback(()=>{window.clearTimeout(l.current),i.current=!1},[]),onClose:s.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>i.current=!0,o)},[o]),isPointerInTransitRef:c,onPointerInTransitChange:s.useCallback(u=>{c.current=u},[]),disableHoverableContent:r,children:a})};$o.displayName=Lo;var Ve="Tooltip",[Ui,Xe]=ht(Ve),Bo=e=>{const{__scopeTooltip:n,children:t,open:o,defaultOpen:r,onOpenChange:a,disableHoverableContent:i,delayDuration:c}=e,l=on(Ve,e.__scopeTooltip),u=gt(n),[f,p]=s.useState(null),v=ee(),h=s.useRef(0),C=i??l.disableHoverableContent,m=c??l.delayDuration,g=s.useRef(!1),[b,w]=fe({prop:o,defaultProp:r??!1,onChange:P=>{P?(l.onOpen(),document.dispatchEvent(new CustomEvent(kt))):l.onClose(),a==null||a(P)},caller:Ve}),y=s.useMemo(()=>b?g.current?"delayed-open":"instant-open":"closed",[b]),R=s.useCallback(()=>{window.clearTimeout(h.current),h.current=0,g.current=!1,w(!0)},[w]),j=s.useCallback(()=>{window.clearTimeout(h.current),h.current=0,w(!1)},[w]),M=s.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{g.current=!0,w(!0),h.current=0},m)},[m,w]);return s.useEffect(()=>()=>{h.current&&(window.clearTimeout(h.current),h.current=0)},[]),d.jsx(lt,{...u,children:d.jsx(Ui,{scope:n,contentId:v,open:b,stateAttribute:y,trigger:f,onTriggerChange:p,onTriggerEnter:s.useCallback(()=>{l.isOpenDelayedRef.current?M():R()},[l.isOpenDelayedRef,M,R]),onTriggerLeave:s.useCallback(()=>{C?j():(window.clearTimeout(h.current),h.current=0)},[j,C]),onOpen:R,onClose:j,disableHoverableContent:C,children:t})})};Bo.displayName=Ve;var Ft="TooltipTrigger",Uo=s.forwardRef((e,n)=>{const{__scopeTooltip:t,...o}=e,r=Xe(Ft,t),a=on(Ft,t),i=gt(t),c=s.useRef(null),l=$(n,c,r.onTriggerChange),u=s.useRef(!1),f=s.useRef(!1),p=s.useCallback(()=>u.current=!1,[]);return s.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),d.jsx(He,{asChild:!0,...i,children:d.jsx(N.button,{"aria-describedby":r.open?r.contentId:void 0,"data-state":r.stateAttribute,...o,ref:l,onPointerMove:S(e.onPointerMove,v=>{v.pointerType!=="touch"&&!f.current&&!a.isPointerInTransitRef.current&&(r.onTriggerEnter(),f.current=!0)}),onPointerLeave:S(e.onPointerLeave,()=>{r.onTriggerLeave(),f.current=!1}),onPointerDown:S(e.onPointerDown,()=>{r.open&&r.onClose(),u.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:S(e.onFocus,()=>{u.current||r.onOpen()}),onBlur:S(e.onBlur,r.onClose),onClick:S(e.onClick,r.onClose)})})});Uo.displayName=Ft;var rn="TooltipPortal",[Ki,Vi]=ht(rn,{forceMount:void 0}),Ko=e=>{const{__scopeTooltip:n,forceMount:t,children:o,container:r}=e,a=Xe(rn,n);return d.jsx(Ki,{scope:n,forceMount:t,children:d.jsx(re,{present:t||a.open,children:d.jsx(De,{asChild:!0,container:r,children:o})})})};Ko.displayName=rn;var Me="TooltipContent",Vo=s.forwardRef((e,n)=>{const t=Vi(Me,e.__scopeTooltip),{forceMount:o=t.forceMount,side:r="top",...a}=e,i=Xe(Me,e.__scopeTooltip);return d.jsx(re,{present:o||i.open,children:i.disableHoverableContent?d.jsx(Go,{side:r,...a,ref:n}):d.jsx(Gi,{side:r,...a,ref:n})})}),Gi=s.forwardRef((e,n)=>{const t=Xe(Me,e.__scopeTooltip),o=on(Me,e.__scopeTooltip),r=s.useRef(null),a=$(n,r),[i,c]=s.useState(null),{trigger:l,onClose:u}=t,f=r.current,{onPointerInTransitChange:p}=o,v=s.useCallback(()=>{c(null),p(!1)},[p]),h=s.useCallback((C,m)=>{const g=C.currentTarget,b={x:C.clientX,y:C.clientY},w=Xi(b,g.getBoundingClientRect()),y=qi(b,w),R=Zi(m.getBoundingClientRect()),j=Qi([...y,...R]);c(j),p(!0)},[p]);return s.useEffect(()=>()=>v(),[v]),s.useEffect(()=>{if(l&&f){const C=g=>h(g,f),m=g=>h(g,l);return l.addEventListener("pointerleave",C),f.addEventListener("pointerleave",m),()=>{l.removeEventListener("pointerleave",C),f.removeEventListener("pointerleave",m)}}},[l,f,h,v]),s.useEffect(()=>{if(i){const C=m=>{const g=m.target,b={x:m.clientX,y:m.clientY},w=(l==null?void 0:l.contains(g))||(f==null?void 0:f.contains(g)),y=!Ji(b,i);w?v():y&&(v(),u())};return document.addEventListener("pointermove",C),()=>document.removeEventListener("pointermove",C)}},[l,f,i,u,v]),d.jsx(Go,{...e,ref:a})}),[Hi,Wi]=ht(Ve,{isInside:!1}),zi=Bs("TooltipContent"),Go=s.forwardRef((e,n)=>{const{__scopeTooltip:t,children:o,"aria-label":r,onEscapeKeyDown:a,onPointerDownOutside:i,...c}=e,l=Xe(Me,t),u=gt(t),{onClose:f}=l;return s.useEffect(()=>(document.addEventListener(kt,f),()=>document.removeEventListener(kt,f)),[f]),s.useEffect(()=>{if(l.trigger){const p=v=>{const h=v.target;h!=null&&h.contains(l.trigger)&&f()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[l.trigger,f]),d.jsx(Ne,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:i,onFocusOutside:p=>p.preventDefault(),onDismiss:f,children:d.jsxs(ut,{"data-state":l.stateAttribute,...u,...c,ref:n,style:{...c.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[d.jsx(zi,{children:o}),d.jsx(Hi,{scope:t,isInside:!0,children:d.jsx(Li,{id:l.contentId,role:"tooltip",children:r||o})})]})})});Vo.displayName=Me;var Ho="TooltipArrow",Yi=s.forwardRef((e,n)=>{const{__scopeTooltip:t,...o}=e,r=gt(t);return Wi(Ho,t).isInside?null:d.jsx(dt,{...r,...o,ref:n})});Yi.displayName=Ho;function Xi(e,n){const t=Math.abs(n.top-e.y),o=Math.abs(n.bottom-e.y),r=Math.abs(n.right-e.x),a=Math.abs(n.left-e.x);switch(Math.min(t,o,r,a)){case a:return"left";case r:return"right";case t:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function qi(e,n,t=5){const o=[];switch(n){case"top":o.push({x:e.x-t,y:e.y+t},{x:e.x+t,y:e.y+t});break;case"bottom":o.push({x:e.x-t,y:e.y-t},{x:e.x+t,y:e.y-t});break;case"left":o.push({x:e.x+t,y:e.y-t},{x:e.x+t,y:e.y+t});break;case"right":o.push({x:e.x-t,y:e.y-t},{x:e.x-t,y:e.y+t});break}return o}function Zi(e){const{top:n,right:t,bottom:o,left:r}=e;return[{x:r,y:n},{x:t,y:n},{x:t,y:o},{x:r,y:o}]}function Ji(e,n){const{x:t,y:o}=e;let r=!1;for(let a=0,i=n.length-1;a<n.length;i=a++){const c=n[a],l=n[i],u=c.x,f=c.y,p=l.x,v=l.y;f>o!=v>o&&t<(p-u)*(o-f)/(v-f)+u&&(r=!r)}return r}function Qi(e){const n=e.slice();return n.sort((t,o)=>t.x<o.x?-1:t.x>o.x?1:t.y<o.y?-1:t.y>o.y?1:0),ec(n)}function ec(e){if(e.length<=1)return e.slice();const n=[];for(let o=0;o<e.length;o++){const r=e[o];for(;n.length>=2;){const a=n[n.length-1],i=n[n.length-2];if((a.x-i.x)*(r.y-i.y)>=(a.y-i.y)*(r.x-i.x))n.pop();else break}n.push(r)}n.pop();const t=[];for(let o=e.length-1;o>=0;o--){const r=e[o];for(;t.length>=2;){const a=t[t.length-1],i=t[t.length-2];if((a.x-i.x)*(r.y-i.y)>=(a.y-i.y)*(r.x-i.x))t.pop();else break}t.push(r)}return t.pop(),n.length===1&&t.length===1&&n[0].x===t[0].x&&n[0].y===t[0].y?n:n.concat(t)}var Fl=$o,Ll=Bo,$l=Uo,Bl=Ko,Ul=Vo,xt="Dialog",[Wo]=ie(xt),[tc,ce]=Wo(xt),zo=e=>{const{__scopeDialog:n,children:t,open:o,defaultOpen:r,onOpenChange:a,modal:i=!0}=e,c=s.useRef(null),l=s.useRef(null),[u,f]=fe({prop:o,defaultProp:r??!1,onChange:a,caller:xt});return d.jsx(tc,{scope:n,triggerRef:c,contentRef:l,contentId:ee(),titleId:ee(),descriptionId:ee(),open:u,onOpenChange:f,onOpenToggle:s.useCallback(()=>f(p=>!p),[f]),modal:i,children:t})};zo.displayName=xt;var Yo="DialogTrigger",nc=s.forwardRef((e,n)=>{const{__scopeDialog:t,...o}=e,r=ce(Yo,t),a=$(n,r.triggerRef);return d.jsx(N.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":cn(r.open),...o,ref:a,onClick:S(e.onClick,r.onOpenToggle)})});nc.displayName=Yo;var sn="DialogPortal",[oc,Xo]=Wo(sn,{forceMount:void 0}),qo=e=>{const{__scopeDialog:n,forceMount:t,children:o,container:r}=e,a=ce(sn,n);return d.jsx(oc,{scope:n,forceMount:t,children:s.Children.map(o,i=>d.jsx(re,{present:t||a.open,children:d.jsx(De,{asChild:!0,container:r,children:i})}))})};qo.displayName=sn;var ot="DialogOverlay",Zo=s.forwardRef((e,n)=>{const t=Xo(ot,e.__scopeDialog),{forceMount:o=t.forceMount,...r}=e,a=ce(ot,e.__scopeDialog);return a.modal?d.jsx(re,{present:o||a.open,children:d.jsx(sc,{...r,ref:n})}):null});Zo.displayName=ot;var rc=ye("DialogOverlay.RemoveScroll"),sc=s.forwardRef((e,n)=>{const{__scopeDialog:t,...o}=e,r=ce(ot,t);return d.jsx(st,{as:rc,allowPinchZoom:!0,shards:[r.contentRef],children:d.jsx(N.div,{"data-state":cn(r.open),...o,ref:n,style:{pointerEvents:"auto",...o.style}})})}),be="DialogContent",Jo=s.forwardRef((e,n)=>{const t=Xo(be,e.__scopeDialog),{forceMount:o=t.forceMount,...r}=e,a=ce(be,e.__scopeDialog);return d.jsx(re,{present:o||a.open,children:a.modal?d.jsx(ac,{...r,ref:n}):d.jsx(ic,{...r,ref:n})})});Jo.displayName=be;var ac=s.forwardRef((e,n)=>{const t=ce(be,e.__scopeDialog),o=s.useRef(null),r=$(n,t.contentRef,o);return s.useEffect(()=>{const a=o.current;if(a)return at(a)},[]),d.jsx(Qo,{...e,ref:r,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:S(e.onCloseAutoFocus,a=>{var i;a.preventDefault(),(i=t.triggerRef.current)==null||i.focus()}),onPointerDownOutside:S(e.onPointerDownOutside,a=>{const i=a.detail.originalEvent,c=i.button===0&&i.ctrlKey===!0;(i.button===2||c)&&a.preventDefault()}),onFocusOutside:S(e.onFocusOutside,a=>a.preventDefault())})}),ic=s.forwardRef((e,n)=>{const t=ce(be,e.__scopeDialog),o=s.useRef(!1),r=s.useRef(!1);return d.jsx(Qo,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{var i,c;(i=e.onCloseAutoFocus)==null||i.call(e,a),a.defaultPrevented||(o.current||(c=t.triggerRef.current)==null||c.focus(),a.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:a=>{var l,u;(l=e.onInteractOutside)==null||l.call(e,a),a.defaultPrevented||(o.current=!0,a.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const i=a.target;((u=t.triggerRef.current)==null?void 0:u.contains(i))&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&r.current&&a.preventDefault()}})}),Qo=s.forwardRef((e,n)=>{const{__scopeDialog:t,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:a,...i}=e,c=ce(be,t),l=s.useRef(null),u=$(n,l);return ct(),d.jsxs(d.Fragment,{children:[d.jsx(Ge,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:a,children:d.jsx(Ne,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":cn(c.open),...i,ref:u,onDismiss:()=>c.onOpenChange(!1)})}),d.jsxs(d.Fragment,{children:[d.jsx(cc,{titleId:c.titleId}),d.jsx(uc,{contentRef:l,descriptionId:c.descriptionId})]})]})}),an="DialogTitle",er=s.forwardRef((e,n)=>{const{__scopeDialog:t,...o}=e,r=ce(an,t);return d.jsx(N.h2,{id:r.titleId,...o,ref:n})});er.displayName=an;var tr="DialogDescription",nr=s.forwardRef((e,n)=>{const{__scopeDialog:t,...o}=e,r=ce(tr,t);return d.jsx(N.p,{id:r.descriptionId,...o,ref:n})});nr.displayName=tr;var or="DialogClose",rr=s.forwardRef((e,n)=>{const{__scopeDialog:t,...o}=e,r=ce(or,t);return d.jsx(N.button,{type:"button",...o,ref:n,onClick:S(e.onClick,()=>r.onOpenChange(!1))})});rr.displayName=or;function cn(e){return e?"open":"closed"}var sr="DialogTitleWarning",[Kl,ar]=Os(sr,{contentName:be,titleName:an,docsSlug:"dialog"}),cc=({titleId:e})=>{const n=ar(sr),t=`\`${n.contentName}\` requires a \`${n.titleName}\` for the component to be accessible for screen reader users.
|
|
2
2
|
|
|
3
3
|
If you want to hide the \`${n.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as a,b as g,c as T,g as D,d as J,A as Q,p as Y,e as S,m as ie,f as se,h as K,k as ue,R as ce,l as $}from"./vendor-
|
|
1
|
+
import{r as a,b as g,c as T,g as D,d as J,A as Q,p as Y,e as S,m as ie,f as se,h as K,k as ue,R as ce,l as $}from"./vendor-D2wC0h2o.js";/**
|
|
2
2
|
* React Router v6.30.3
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) Remix Software Inc.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as t}from"./vendor-
|
|
1
|
+
import{j as t}from"./vendor-D2wC0h2o.js";import{c as a}from"./global-CJOj9WGx.js";function x({value:n,onChange:s,options:i,className:l,block:o,"aria-label":m}){return t.jsx("div",{role:"group","aria-label":m,className:a("flex items-center gap-1 bg-secondary p-1",l),children:i.map(e=>{const r=e.value===n;return t.jsxs("button",{type:"button",onClick:()=>s(e.value),"aria-pressed":r,className:a("inline-flex h-8 items-center justify-center gap-1.5 whitespace-nowrap px-3.5 text-xs font-medium transition-all",o?"flex-1":"shrink-0",r?"bg-primary text-primary-foreground":"text-muted-foreground hover:bg-primary/5 hover:text-foreground"),children:[e.icon,e.label]},e.value)})})}export{x as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as o,j as e,aj as d,$ as g,ar as N}from"./vendor-
|
|
1
|
+
import{r as o,j as e,aj as d,$ as g,ar as N}from"./vendor-D2wC0h2o.js";import{B as w,V as j,E as n,F as b,G as S,H as i,J as v,K as c,M as R,N as C,Q as m,U as p,W as f,X as u}from"./radix-B9EIjzyN.js";import{c as r}from"./global-CJOj9WGx.js";const k=w,L=j,I=o.forwardRef(({className:s,children:t,...a},l)=>e.jsxs(n,{ref:l,className:r("flex h-9 w-full items-center justify-between rounded-lg border border-border bg-card px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",s),...a,children:[t,e.jsx(b,{asChild:!0,children:e.jsx(d,{className:"h-4 w-4 opacity-50"})})]}));I.displayName=n.displayName;const x=o.forwardRef(({className:s,...t},a)=>e.jsx(m,{ref:a,className:r("flex cursor-default items-center justify-center py-1",s),...t,children:e.jsx(N,{className:"h-4 w-4"})}));x.displayName=m.displayName;const h=o.forwardRef(({className:s,...t},a)=>e.jsx(p,{ref:a,className:r("flex cursor-default items-center justify-center py-1",s),...t,children:e.jsx(d,{className:"h-4 w-4"})}));h.displayName=p.displayName;const B=o.forwardRef(({className:s,children:t,position:a="popper",...l},y)=>e.jsx(S,{children:e.jsxs(i,{ref:y,className:r("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-lg border border-border bg-popover text-popover-foreground shadow-[var(--surface-shadow-lg)] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",s),position:a,...l,children:[e.jsx(x,{}),e.jsx(v,{className:r("p-2",a==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),e.jsx(h,{})]})}));B.displayName=i.displayName;const U=o.forwardRef(({className:s,...t},a)=>e.jsx(f,{ref:a,className:r("py-1.5 pl-8 pr-2 text-sm font-semibold",s),...t}));U.displayName=f.displayName;const V=o.forwardRef(({className:s,children:t,...a},l)=>e.jsxs(c,{ref:l,className:r("relative flex w-full cursor-default select-none items-center rounded-md py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",s),...a,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(R,{children:e.jsx(g,{className:"h-4 w-4"})})}),e.jsx(C,{children:t})]}));V.displayName=c.displayName;const z=o.forwardRef(({className:s,...t},a)=>e.jsx(u,{ref:a,className:r("-mx-1 my-1 h-px bg-border",s),...t}));z.displayName=u.displayName;export{k as S,I as a,L as b,B as c,V as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as p,j as e}from"./vendor-
|
|
1
|
+
import{r as p,j as e}from"./vendor-D2wC0h2o.js";import{c as u,q as m}from"./app-BBAnVEPg.js";import{a as b}from"./apiKeys-Ol_q3sZL.js";import{u as x}from"./i18n-Dp-o1LhZ.js";const j=[{value:1,labelKey:"apiKeys.analytics.range.today"},{value:7,labelKey:"apiKeys.analytics.range.week"},{value:30,labelKey:"apiKeys.analytics.range.month"}];function v(){var s;const l=[{id:"anthropic",label:"Anthropic"},{id:"openai",label:"OpenAI"}],t=u(m.customEndpoints.all(),b.customEndpointOptionsRequest());return p.useMemo(()=>{var n;const a=(((n=t.data)==null?void 0:n.endpoints)??[]).map(o=>({id:o.id,label:o.label||o.id}));return[...l,...a]},[(s=t.data)==null?void 0:s.endpoints])}function N({available:l,hint:t,onChange:s,selected:a}){const{t:n}=x(),o=a.length===0,i=()=>{s([])},c=r=>{if(a.includes(r)){s(a.filter(d=>d!==r));return}s([...a,r])};return e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"rounded-lg border border-border bg-secondary px-3 py-3 text-xs text-muted-foreground",children:t}),e.jsxs("label",{className:"flex cursor-pointer items-center gap-2 rounded-lg border border-border bg-card px-3 py-2.5 transition-colors hover:border-primary/20 hover:bg-accent/50",children:[e.jsx("input",{type:"checkbox",checked:o,onChange:i,className:"h-4 w-4 rounded border-input accent-primary"}),e.jsx("span",{className:"text-sm font-medium",children:n("apiKeys.allEndpoints")})]}),e.jsx("div",{className:"grid max-h-40 gap-1 overflow-y-auto",children:l.map(r=>e.jsxs("label",{className:"flex cursor-pointer items-center gap-2 rounded-lg border border-border bg-card px-3 py-2.5 transition-colors hover:border-primary/20 hover:bg-accent/50",children:[e.jsx("input",{type:"checkbox",checked:!o&&a.includes(r.id),onChange:()=>c(r.id),className:"h-4 w-4 rounded border-input accent-primary"}),e.jsx("span",{className:"text-sm",children:r.label}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",r.id,")"]})]},r.id))})]})}export{N as E,j as R,v as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as i,j as e}from"./vendor-
|
|
1
|
+
import{r as i,j as e}from"./vendor-D2wC0h2o.js";import{y as s,z as n}from"./radix-B9EIjzyN.js";import{c as r}from"./global-CJOj9WGx.js";const c=i.forwardRef(({className:t,...a},o)=>e.jsx(s,{className:r("peer inline-flex h-7 w-12 shrink-0 cursor-pointer items-center rounded-full border border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",t),...a,ref:o,children:e.jsx(n,{className:r("pointer-events-none block h-6 w-6 rounded-full bg-background ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));c.displayName=s.displayName;export{c as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as r}from"./charts-react-
|
|
1
|
+
import{_ as r}from"./charts-react-Bz6GVFr3.js";import{u as d,i as m,a as b,b as i,c,d as f,f as n,g as p}from"./charts-core-DlIzYcw_.js";import{r as l,j as t}from"./vendor-D2wC0h2o.js";import{c as o}from"./global-CJOj9WGx.js";d([m,b,i,c,f,n,p]);const _=r,x=l.forwardRef(({className:a,...e},s)=>t.jsx("div",{className:"relative w-full overflow-auto",children:t.jsx("table",{ref:s,className:o("w-full caption-bottom border-collapse text-sm",a),...e})}));x.displayName="Table";const u=l.forwardRef(({className:a,...e},s)=>t.jsx("thead",{ref:s,className:o("[&_tr]:border-b [&_tr]:border-border",a),...e}));u.displayName="TableHeader";const N=l.forwardRef(({className:a,...e},s)=>t.jsx("tbody",{ref:s,className:o("[&_tr:last-child]:border-0",a),...e}));N.displayName="TableBody";const T=l.forwardRef(({className:a,...e},s)=>t.jsx("tfoot",{ref:s,className:o("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",a),...e}));T.displayName="TableFooter";const w=l.forwardRef(({className:a,...e},s)=>t.jsx("tr",{ref:s,className:o("border-b border-border transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted group",a),...e}));w.displayName="TableRow";const y=l.forwardRef(({className:a,...e},s)=>t.jsx("th",{ref:s,className:o("h-10 px-4 text-left align-middle text-xs font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",a),...e}));y.displayName="TableHead";const h=l.forwardRef(({className:a,...e},s)=>t.jsx("td",{ref:s,className:o("px-4 py-3 align-middle text-sm [&:has([role=checkbox])]:pr-0",a),...e}));h.displayName="TableCell";const j=l.forwardRef(({className:a,...e},s)=>t.jsx("caption",{ref:s,className:o("mt-4 text-sm text-muted-foreground",a),...e}));j.displayName="TableCaption";export{_ as E,x as T,u as a,w as b,y as c,N as d,h as e};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as a,j as i}from"./vendor-
|
|
1
|
+
import{r as a,j as i}from"./vendor-D2wC0h2o.js";import{t as c,u as o,v as n,w as f}from"./radix-B9EIjzyN.js";import{c as r}from"./global-CJOj9WGx.js";const u=c,d=a.forwardRef(({className:e,...s},t)=>i.jsx(o,{ref:t,className:r("inline-flex h-9 items-center gap-1 border-b border-border text-muted-foreground",e),...s}));d.displayName=o.displayName;const b=a.forwardRef(({className:e,...s},t)=>i.jsx(n,{ref:t,className:r("inline-flex items-center justify-center whitespace-nowrap border-b-2 border-transparent px-3 pb-2.5 pt-2 text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:border-primary data-[state=active]:text-foreground data-[state=active]:font-semibold data-[state=inactive]:hover:text-foreground",e),...s}));b.displayName=n.displayName;const l=a.forwardRef(({className:e,...s},t)=>i.jsx(f,{ref:t,className:r("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...s}));l.displayName=f.displayName;export{u as T,d as a,b,l as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as o,b as q}from"./query-
|
|
1
|
+
import{a as o,b as q}from"./query-DVc6ZTRQ.js";import{a as x,t as y}from"./app-BBAnVEPg.js";function j({mutationFn:C,successToast:u,errorToast:p,invalidateKeys:n,onSuccess:m,onError:f,...M}){const Q=o(),{pushToast:A}=x();return q({...M,mutationFn:async t=>{try{return await C(t)}catch(a){throw y(a)}},onSuccess:async(t,a,w,h)=>{n!=null&&n.length&&await Promise.all(n.map(g=>Q.invalidateQueries({queryKey:g})));const i=u==null?void 0:u(t,a);i&&A({...i,variant:"success"}),await(m==null?void 0:m(t,a,w,h))},onError:async(t,a,w,h)=>{const i=p==null?void 0:p(t,a);i&&A({...i,variant:"error"}),await(f==null?void 0:f(t,a,w,h))}})}export{j as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t}from"./vendor-
|
|
1
|
+
import{r as t}from"./vendor-D2wC0h2o.js";function x(d){const{level:r,type:o,maxEvents:c=20,enabled:f=!0}=d??{},[l,v]=t.useState([]),[m,s]=t.useState(!1),[S,a]=t.useState(!1),u=t.useRef(null),[p,E]=t.useState(typeof document>"u"?!0:!document.hidden);t.useEffect(()=>{if(typeof document>"u")return;const e=()=>E(!document.hidden);return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)},[]);const i=f&&p;return t.useEffect(()=>{if(!i||typeof EventSource>"u"){s(!1);return}const e=new URLSearchParams;r&&e.set("level",r),o&&e.set("type",o);const y=`/api/events/stream${e.size>0?`?${e.toString()}`:""}`,n=new EventSource(y);return u.current=n,n.onopen=()=>{s(!0),a(!1)},n.onerror=()=>{s(!1),n.readyState===EventSource.CLOSED&&a(!0)},n.onmessage=h=>{try{const b=JSON.parse(h.data);v(g=>[b,...g].slice(0,c))}catch{}},()=>{n.close(),u.current=null,s(!1)}},[i,r,o,c]),{events:l,connected:m,failed:S}}export{x as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as R,j as r,$ as Se}from"./vendor-D2wC0h2o.js";import{u as Me}from"./query-DVc6ZTRQ.js";import{a as ke,c as Ce,q as te,e as Ue,i as W,d as V,B as F}from"./app-BBAnVEPg.js";import{g as Re}from"./gateway-B_xLF-Rk.js";import{u as q}from"./i18n-Dp-o1LhZ.js";import{c as K}from"./global-CJOj9WGx.js";import{D as ne}from"./disclosure-CJdf1-ap.js";import{L as C,I as U}from"./label-Da-JMxO2.js";import{S as Ie,a as Te,b as Ee,c as Ae,d as Y}from"./select-BTwqvh0l.js";import{S as Z}from"./switch-CeKtgMDT.js";import{B as _e}from"./badge-RZTsODn-.js";const br=["claude-sonnet-4-5-20250929","claude-sonnet-4-5-20250929-thinking","claude-sonnet-4-20250514","claude-opus-4-1-20250805","claude-opus-4-1-20250805-thinking","claude-haiku-4-5-20251001","claude-haiku-4-5-20251001-thinking","claude-3-5-haiku-20241022"],vr=["gpt-4o-mini","gpt-4o","o4-mini","o4-large","gpt-5-codex"];function He(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Math.random().toString(36).slice(2,10)}function P(e,s){var a;return(a=e==null?void 0:e.customEndpoints)!=null&&a.length?e.customEndpoints:s}function ee(e){return e?Object.entries(e).map(([s,a])=>({id:He(),source:s,target:a})):[]}function yr(e,s){var i,d,c;if(!e)return{};const a={},m=e.endpointRouting??{};a.anthropic=ee(((i=m.anthropic)==null?void 0:i.modelRoutes)??e.modelRoutes??{}),a.openai=ee(((d=m.openai)==null?void 0:d.modelRoutes)??{});for(const h of P(e,s))(c=h.routing)!=null&&c.modelRoutes?a[h.id]=ee(h.routing.modelRoutes):a[h.id]=[];return a}function De(e,s,a){var d,c,h;const m=P(e,s).find(S=>S.id===a);if(m)return((d=m.routing)==null?void 0:d.modelRoutes)??{};const i=e.endpointRouting??{};return a==="anthropic"?((c=i.anthropic)==null?void 0:c.modelRoutes)??e.modelRoutes??{}:a==="openai"?((h=i.openai)==null?void 0:h.modelRoutes)??{}:{}}function re(e,s,a){var i,d,c;if(a==="anthropic"||a==="openai")return((d=(i=e.endpointRouting)==null?void 0:i[a])==null?void 0:d.defaults)??e.defaults;const m=P(e,s).find(h=>h.id===a);return((c=m==null?void 0:m.routing)==null?void 0:c.defaults)??{completion:null,reasoning:null,background:null,longContextThreshold:e.defaults.longContextThreshold}}function jr(e,s){if(!e)return{};const a={anthropic:re(e,s,"anthropic"),openai:re(e,s,"openai")};for(const m of P(e,s))a[m.id]=re(e,s,m.id);return a}function Le(e){const s={};for(const a of e){const m=a.source.trim(),i=a.target.trim();m&&i&&(s[m]=i)}return s}function Nr(e,s){return JSON.stringify(Le(e))!==JSON.stringify(s)}function wr(e,s,a){var i,d,c;if(!s)return;if(e==="anthropic"||e==="openai")return(d=(i=s.endpointRouting)==null?void 0:i[e])==null?void 0:d.compatibility;const m=P(s,a).find(h=>h.id===e);return(c=m==null?void 0:m.routing)==null?void 0:c.compatibility}function Sr(e,s){var m,i;const a={anthropic:((m=e.routingPresets)==null?void 0:m.anthropic)??[],openai:((i=e.routingPresets)==null?void 0:i.openai)??[]};for(const d of P(e,s))a[d.id]=d.routingPresets??[];return a}function Pe(e,s){const a=[{key:"providers",label:e("modelManagement.tabs.providers"),description:e("modelManagement.tabs.providersDesc"),isSystem:!0,canDelete:!1},{key:"anthropic",label:e("modelManagement.tabs.anthropic"),description:e("modelManagement.tabs.anthropicDesc"),isSystem:!0,canDelete:!1,protocols:["anthropic"]},{key:"openai",label:e("modelManagement.tabs.openai"),description:e("modelManagement.tabs.openaiDesc"),isSystem:!0,canDelete:!1,protocols:["openai-auto","openai-chat","openai-responses"]}],m=s.map(i=>{let d=e("modelManagement.tabs.customEndpoint"),c=[];if(i.paths&&i.paths.length>0)d=`${e("modelManagement.tabs.customEndpoint")}: ${i.paths.map(h=>`${h.path} (${h.protocol})`).join(", ")}`,c=[...new Set(i.paths.map(h=>h.protocol))];else if(i.path){const h=i.protocol||"anthropic";d=`${e("modelManagement.tabs.customEndpoint")}: ${i.path} (${h})`,c=[h]}return{key:i.id,label:i.label||i.id,description:d,isSystem:!1,canDelete:i.deletable!==!1,protocols:c}});return[...a,...m]}function Mr(e){return e.label&&e.label.trim().length>0?`${e.label} (${e.id})`:e.id}function Oe(e,s){if(!e)return!1;const[a]=e.split(":");return a===s||e===s}function We(e,s,a){if(!e)return[];const m=["anthropic","openai",...P(e,s).map(d=>d.id)],i=[];for(const d of m){const c=De(e,s,d);for(const[h,S]of Object.entries(c))Oe(S,a)&&i.push({endpoint:d,source:h,target:S})}return i}function kr(e,s,a){return We(e,s,a).length}function Cr(){var N;const{t:e}=q(),{pushToast:s}=ke(),a=Ce(te.config.full(),Re.configRequest()),m=Me({queryKey:te.customEndpoints.all(),queryFn:Ue.list,refetchInterval:1e4}),i=R.useMemo(()=>{var y;return((y=m.data)==null?void 0:y.endpoints)??[]},[(N=m.data)==null?void 0:N.endpoints]),d=R.useMemo(()=>Pe(e,i),[i,e]),[c,h]=R.useState(null);return R.useEffect(()=>{a.data&&h(a.data)},[a.data]),R.useEffect(()=>{!a.isError||!a.error||s({title:e("providers.toast.loadFailure",{message:a.error.message}),variant:"error"})},[a.error,a.isError,s,e]),{t:e,pushToast:s,config:c,setConfig:h,configQuery:a,customEndpoints:i,customEndpointsQuery:m,tabs:d,ensureConfig:()=>c?!0:(s({title:e("settings.toast.missingConfig"),variant:"error"}),a.refetch(),!1)}}const Ur={savePreset(e,s){return W(V.post(`/api/routing-presets/${e}`,{name:s}))},applyPreset(e,s){return W(V.post(`/api/routing-presets/${e}/apply`,{name:s}))},deletePreset(e,s){return W(V.delete(`/api/routing-presets/${e}/${encodeURIComponent(s)}`))},testProvider(e,s){return W(V.post(`/api/providers/${e}/test`,s??{}))},probeModels(e,s){return W(V.post(`/api/providers/${e}/models/probe`,s?{provider:s}:{}))},backendsHealth(){return W(V.get("/api/providers/backends/health"))}},Ve={complete:"border-primary bg-primary text-primary-foreground",current:"border-primary bg-card text-primary ring-2 ring-primary/20",error:"border-destructive bg-card text-destructive ring-2 ring-destructive/20",upcoming:"border-border bg-card text-muted-foreground"},Fe={complete:"text-foreground",current:"text-foreground font-medium",error:"text-destructive font-medium",upcoming:"text-muted-foreground"};function Rr({steps:e,current:s,onSelect:a,className:m}){return r.jsx("nav",{"aria-label":"steps",className:K("flex items-start",m),children:e.map((i,d)=>{const c=a&&(i.status==="complete"||i.status==="current"),h=d===e.length-1,S=i.status==="complete"?"bg-primary/40":"bg-border",N=r.jsx("span",{className:K("motion-surface flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border text-xs font-semibold",Ve[i.status]),"aria-current":i.id===s?"step":void 0,children:i.status==="complete"?r.jsx(Se,{className:"h-3.5 w-3.5","aria-hidden":!0}):d+1}),y=`stepnav-${i.id}-label`;return r.jsxs("div",{className:"flex flex-1 items-start",children:[r.jsxs("div",{className:"flex min-w-0 flex-col items-center gap-1.5",children:[c?r.jsx("button",{type:"button",onClick:()=>a==null?void 0:a(i.id),"aria-labelledby":y,className:"rounded-lg outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-background motion-surface",children:N}):N,r.jsx("span",{id:y,className:K("text-center text-[11px] leading-tight",Fe[i.status]),children:i.label})]}),h?null:r.jsx("span",{"aria-hidden":!0,className:K("mx-1.5 mt-3.5 h-px flex-1",S)})]},i.id)})})}function Ke({result:e,className:s}){const{t:a}=q();return r.jsxs("div",{className:K("flex flex-wrap items-center gap-2 rounded-lg px-3 py-2 text-xs",e.ok?"bg-success-bg text-success":"bg-destructive/10 text-destructive",s),children:[r.jsx(_e,{variant:e.ok?"success":"destructive",className:"shrink-0",children:e.ok?a("workbench.testResult.success"):a("workbench.testResult.failure")}),e.status?r.jsx("span",{className:"shrink-0",children:a("workbench.testResult.status",{status:e.status})}):null,e.durationMs?r.jsx("span",{className:"shrink-0",children:a("workbench.testResult.duration",{duration:`${e.durationMs} ms`})}):null,e.message?r.jsx("span",{className:"min-w-0 truncate",title:e.message,children:e.message}):null]})}function L(){return typeof globalThis.crypto<"u"&&typeof globalThis.crypto.randomUUID=="function"?globalThis.crypto.randomUUID():Math.random().toString(36).slice(2,10)}function ae(){return{_key:L(),id:"",label:"",members:[],failover:de()}}function $e(){return{_key:L(),target:""}}function de(){return{consecutiveFailures:"",cooldownSeconds:"",failureWindowSeconds:"",triggerStatusCodes:""}}function Be(e){var s;return{consecutiveFailures:(e==null?void 0:e.consecutiveFailures)!=null?String(e.consecutiveFailures):"",cooldownSeconds:(e==null?void 0:e.cooldownSeconds)!=null?String(e.cooldownSeconds):"",failureWindowSeconds:(e==null?void 0:e.failureWindowSeconds)!=null?String(e.failureWindowSeconds):"",triggerStatusCodes:((s=e==null?void 0:e.triggerStatusCodes)==null?void 0:s.join(", "))??""}}function ze(){return{_key:L(),name:"",value:""}}const G={openai:{baseUrl:"https://api.openai.com/v1"},deepseek:{baseUrl:"https://api.deepseek.com/v1"},huawei:{baseUrl:"https://api.modelarts-maas.com/v1"},kimi:{baseUrl:"https://api.moonshot.cn/v1"},anthropic:{baseUrl:"https://api.anthropic.com/v1"},custom:{},aggregate:{}},le=[{value:"openai",label:"OpenAI"},{value:"deepseek",label:"DeepSeek"},{value:"huawei",label:"Huawei Cloud"},{value:"kimi",label:"Kimi"},{value:"anthropic",label:"Anthropic"},{value:"custom",label:"Custom"},{value:"aggregate",label:"Aggregate"}];function qe(e,s){var a;return e==="aggregate"?s("providers.aggregate.typeLabel"):((a=le.find(m=>m.value===e))==null?void 0:a.label)??"Custom"}const Ir=[{id:"basics",labelKey:"providers.drawer.steps.basics"},{id:"models",labelKey:"providers.drawer.steps.modelsVerify"}];function Q(e){return e==="anthropic"?"authToken":"apiKey"}function Xe(e,s,a){return a(s==="authToken"?"providers.drawer.fields.authModeAuthToken":s==="xAuthToken"?"providers.drawer.fields.authModeXAuthToken":e==="anthropic"?"providers.drawer.fields.authModeApiKey":"providers.drawer.fields.authModeProviderDefault")}function ie(e){return e?{id:e.id,label:e.label??e.id,baseUrl:e.baseUrl??"",apiKey:e.apiKey??"",type:e.type??"custom",defaultModel:e.defaultModel??"",models:(e.models??[]).map(s=>({...s,_key:L(),members:(s.members??[]).map(a=>({...a,_key:L()})),failover:Be(s.failover)})),authMode:e.authMode??Q(e.type??"custom"),nonStreamViaStream:e.nonStreamViaStream??!1,useAbsoluteUrl:e.useAbsoluteUrl??!1,streamUsage:e.streamUsage===!0,rpmLimit:e.rpmLimit!=null?String(e.rpmLimit):"",rpmMaxWaitSeconds:e.rpmMaxWaitSeconds!=null?String(e.rpmMaxWaitSeconds):"",extraHeaders:Object.entries(e.extraHeaders??{}).map(([s,a])=>({name:s,value:a,_key:L()}))}:{id:"",label:"",baseUrl:"",apiKey:"",type:"custom",defaultModel:"",models:[],authMode:Q("custom"),nonStreamViaStream:!1,useAbsoluteUrl:!1,streamUsage:!1,rpmLimit:"",rpmMaxWaitSeconds:"",extraHeaders:[]}}function Ge(e){return{_key:L(),id:e.id,label:e.label,nonStreamViaStream:e.nonStreamViaStream,members:[],failover:de()}}function Tr({form:e,errors:s,isCreate:a,advancedOpen:m,onAdvancedOpenChange:i,idInputRef:d,onProviderIdChange:c,onFieldChange:h,onTypeChange:S,onAuthModeChange:N,onNonStreamViaStreamChange:y,onUseAbsoluteUrlChange:T,onStreamUsageChange:g,onAddHeader:$,onRemoveHeader:w,onHeaderChange:I}){const{t:l}=q(),X=e.type==="aggregate";return r.jsxs("div",{className:"space-y-8",children:[r.jsxs("section",{className:"space-y-5","aria-labelledby":"provider-type-fields",children:[r.jsxs("div",{className:"space-y-1",children:[r.jsx("h3",{id:"provider-type-fields",className:"text-sm font-semibold",children:l("providers.drawer.sections.type")}),r.jsx("p",{className:"text-xs text-muted-foreground",children:l("providers.drawer.hints.type")})]}),r.jsx("div",{className:"grid gap-2 md:grid-cols-3",children:le.map(b=>{var E;const A=b.value===e.type;return r.jsxs("button",{type:"button",onClick:()=>S(b.value),className:K("rounded-2xl border px-4 py-3 text-left transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",A?"border-primary bg-primary/10 text-primary":"border-border bg-card text-foreground hover:border-primary/20 hover:bg-accent/50"),children:[r.jsx("div",{className:"text-sm font-semibold",children:qe(b.value,l)}),r.jsx("div",{className:"mt-1 text-xs text-muted-foreground",children:b.value==="aggregate"?l("providers.aggregate.drawer.typeHint"):((E=G[b.value??"custom"])==null?void 0:E.baseUrl)??l("providers.drawer.hints.customProvider")})]},b.value??"custom")})})]}),r.jsxs("section",{className:"space-y-4","aria-labelledby":"provider-basic-info",children:[r.jsxs("div",{className:"space-y-1",children:[r.jsx("h3",{id:"provider-basic-info",className:"text-sm font-semibold",children:l("providers.drawer.sections.basic")}),r.jsx("p",{className:"text-xs text-muted-foreground",children:l("providers.drawer.hints.basic")})]}),r.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[r.jsxs(C,{className:"flex flex-col gap-2 text-sm",children:[r.jsx("span",{className:"text-xs text-muted-foreground",children:l("providers.drawer.fields.id")}),r.jsx(U,{value:e.id,ref:d,onChange:b=>c(b.target.value),disabled:!a,placeholder:l("providers.drawer.fields.idPlaceholder"),"aria-invalid":!!s.id}),s.id?r.jsx("span",{className:"text-xs text-destructive",children:s.id}):null]}),r.jsxs(C,{className:"flex flex-col gap-2 text-sm",children:[r.jsx("span",{className:"text-xs text-muted-foreground",children:l("providers.drawer.fields.label")}),r.jsx(U,{value:e.label,onChange:b=>h("label")(b.target.value),placeholder:l("providers.drawer.fields.labelPlaceholder")})]})]}),X?r.jsxs("div",{className:"space-y-2 border border-border bg-card p-4",children:[r.jsx("p",{className:"text-sm font-semibold",children:l("providers.aggregate.drawer.explainerTitle")}),r.jsx("p",{className:"text-xs leading-relaxed text-muted-foreground",children:l("providers.aggregate.drawer.explainerBody")})]}):r.jsxs(C,{className:"flex flex-col gap-2 text-sm",children:[r.jsx("span",{className:"text-xs text-muted-foreground",children:l("providers.drawer.fields.baseUrl")}),r.jsx(U,{value:e.baseUrl,onChange:b=>h("baseUrl")(b.target.value),placeholder:l("providers.drawer.fields.baseUrlPlaceholder"),"aria-invalid":!!s.baseUrl}),s.baseUrl?r.jsx("span",{className:"text-xs text-destructive",children:s.baseUrl}):null]})]}),X?null:r.jsxs("section",{className:"space-y-4","aria-labelledby":"provider-auth-fields",children:[r.jsxs("div",{className:"space-y-1",children:[r.jsx("h3",{id:"provider-auth-fields",className:"text-sm font-semibold",children:l("providers.drawer.sections.auth")}),r.jsx("p",{className:"text-xs text-muted-foreground",children:l("providers.drawer.hints.auth")})]}),r.jsxs(C,{className:"flex flex-col gap-2 text-sm",children:[r.jsx("span",{className:"text-xs text-muted-foreground",children:l("providers.drawer.fields.apiKey")}),r.jsx(U,{value:e.apiKey,onChange:b=>h("apiKey")(b.target.value),placeholder:l("providers.drawer.fields.apiKeyPlaceholder")})]}),r.jsxs("fieldset",{className:"grid gap-2 rounded-xl border border-transparent bg-card p-4 text-xs shadow-[var(--surface-shadow)]",children:[r.jsx("legend",{className:"px-1 text-muted-foreground",children:l("providers.drawer.fields.authMode")}),r.jsx("p",{className:"text-[11px] text-muted-foreground",children:l("providers.drawer.fields.authModeHint")}),r.jsxs("label",{className:"flex cursor-pointer items-start gap-3 rounded-xl border border-transparent px-3 py-2 transition hover:bg-accent focus-within:bg-accent",children:[r.jsx("input",{type:"radio",name:"provider-auth-mode",value:"apiKey",checked:e.authMode==="apiKey",onChange:()=>N("apiKey"),className:"mt-0.5 h-4 w-4 accent-primary"}),r.jsx("span",{children:Xe(e.type,"apiKey",l)})]}),r.jsxs("label",{className:"flex cursor-pointer items-start gap-3 rounded-xl border border-transparent px-3 py-2 transition hover:bg-accent focus-within:bg-accent",children:[r.jsx("input",{type:"radio",name:"provider-auth-mode",value:"authToken",checked:e.authMode==="authToken",onChange:()=>N("authToken"),className:"mt-0.5 h-4 w-4 accent-primary"}),r.jsx("span",{children:l("providers.drawer.fields.authModeAuthToken")})]}),r.jsxs("label",{className:"flex cursor-pointer items-start gap-3 rounded-xl border border-transparent px-3 py-2 transition hover:bg-accent focus-within:bg-accent",children:[r.jsx("input",{type:"radio",name:"provider-auth-mode",value:"xAuthToken",checked:e.authMode==="xAuthToken",onChange:()=>N("xAuthToken"),className:"mt-0.5 h-4 w-4 accent-primary"}),r.jsx("span",{children:l("providers.drawer.fields.authModeXAuthToken")})]})]}),r.jsxs(ne,{open:m,onOpenChange:i,summary:l("providers.drawer.fields.advancedOptions"),className:"rounded-xl border border-transparent bg-card shadow-[var(--surface-shadow)]",summaryClassName:"px-4 py-3 text-sm font-medium",contentClassName:"border-t border-border px-4 py-4",children:[r.jsxs("div",{className:"flex items-start justify-between gap-4",children:[r.jsxs("div",{className:"space-y-1",children:[r.jsx("p",{className:"text-sm font-medium",children:l("providers.drawer.fields.nonStreamViaStream")}),r.jsx("p",{className:"text-xs leading-relaxed text-muted-foreground",children:l("providers.drawer.fields.nonStreamViaStreamHint")})]}),r.jsx(Z,{checked:e.nonStreamViaStream,onCheckedChange:y,"aria-label":l("providers.drawer.fields.nonStreamViaStream")})]}),r.jsx("div",{className:"mt-4 border-t border-border pt-4",children:r.jsxs("div",{className:"flex items-start justify-between gap-4",children:[r.jsxs("div",{className:"space-y-1",children:[r.jsx("p",{className:"text-sm font-medium",children:l("providers.drawer.fields.useAbsoluteUrl")}),r.jsx("p",{className:"text-xs leading-relaxed text-muted-foreground",children:l("providers.drawer.fields.useAbsoluteUrlHint")})]}),r.jsx(Z,{checked:e.useAbsoluteUrl,onCheckedChange:T,"aria-label":l("providers.drawer.fields.useAbsoluteUrl")})]})}),r.jsx("div",{className:"mt-4 border-t border-border pt-4",children:r.jsxs("div",{className:"flex items-start justify-between gap-4",children:[r.jsxs("div",{className:"space-y-1",children:[r.jsx("p",{className:"text-sm font-medium",children:l("providers.drawer.fields.streamUsage")}),r.jsx("p",{className:"text-xs leading-relaxed text-warning",children:l("providers.drawer.fields.streamUsageHint")})]}),r.jsx(Z,{checked:e.streamUsage,onCheckedChange:g,"aria-label":l("providers.drawer.fields.streamUsage")})]})}),r.jsxs("div",{className:"mt-4 border-t border-border pt-4",children:[r.jsxs("div",{className:"space-y-1",children:[r.jsx("p",{className:"text-sm font-medium",children:l("providers.drawer.fields.rpmLimitSection")}),r.jsx("p",{className:"text-xs leading-relaxed text-muted-foreground",children:l("providers.drawer.fields.rpmLimitHint")})]}),r.jsxs("div",{className:"mt-3 grid gap-3 md:grid-cols-2",children:[r.jsxs(C,{className:"flex flex-col gap-1.5 text-sm",children:[r.jsx("span",{className:"text-xs text-muted-foreground",children:l("providers.drawer.fields.rpmLimit")}),r.jsx(U,{type:"number",min:1,value:e.rpmLimit,onChange:b=>h("rpmLimit")(b.target.value),placeholder:l("providers.drawer.fields.rpmLimitPlaceholder"),"aria-invalid":!!s.rpmLimit})]}),r.jsxs(C,{className:"flex flex-col gap-1.5 text-sm",children:[r.jsx("span",{className:"text-xs text-muted-foreground",children:l("providers.drawer.fields.rpmMaxWaitSeconds")}),r.jsx(U,{type:"number",min:1,max:3600,value:e.rpmMaxWaitSeconds,onChange:b=>h("rpmMaxWaitSeconds")(b.target.value),placeholder:l("providers.drawer.fields.rpmMaxWaitPlaceholder"),"aria-invalid":!!s.rpmMaxWaitSeconds})]})]}),s.rpmLimit?r.jsx("p",{className:"mt-2 text-xs text-destructive",children:s.rpmLimit}):null,s.rpmMaxWaitSeconds?r.jsx("p",{className:"mt-2 text-xs text-destructive",children:s.rpmMaxWaitSeconds}):null]}),r.jsxs("div",{className:"mt-4 border-t border-border pt-4",children:[r.jsxs("div",{className:"flex items-start justify-between gap-4",children:[r.jsxs("div",{className:"space-y-1",children:[r.jsx("p",{className:"text-sm font-medium",children:l("providers.drawer.fields.extraHeaders")}),r.jsx("p",{className:"text-xs leading-relaxed text-muted-foreground",children:l("providers.drawer.fields.extraHeadersHint")})]}),r.jsx(F,{type:"button",variant:"outline",size:"sm",onClick:$,className:"bg-card text-xs",children:l("providers.drawer.fields.addHeader")})]}),s.extraHeaders?r.jsx("p",{className:"mt-2 text-xs text-destructive",children:s.extraHeaders}):null,e.extraHeaders.length>0?r.jsx("div",{className:"mt-3 space-y-3",children:e.extraHeaders.map((b,A)=>r.jsxs("div",{className:"rounded-xl border border-transparent bg-secondary/40 p-3",children:[r.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[r.jsxs(C,{className:"flex flex-col gap-1.5 text-sm",children:[r.jsx("span",{className:"text-xs text-muted-foreground",children:l("providers.drawer.fields.headerName")}),r.jsx(U,{value:b.name,onChange:E=>I(A,{name:E.target.value}),placeholder:l("providers.drawer.fields.headerNamePlaceholder")})]}),r.jsxs(C,{className:"flex flex-col gap-1.5 text-sm",children:[r.jsx("span",{className:"text-xs text-muted-foreground",children:l("providers.drawer.fields.headerValue")}),r.jsx(U,{value:b.value,onChange:E=>I(A,{value:E.target.value}),placeholder:l("providers.drawer.fields.headerValuePlaceholder")})]})]}),r.jsx("div",{className:"mt-2 flex justify-end",children:r.jsx(F,{type:"button",variant:"ghost",size:"sm",className:"h-auto px-2 text-destructive",onClick:()=>w(A),children:l("providers.drawer.fields.removeHeader")})})]},b._key))}):null]})]})]})]})}function Er({form:e,errors:s,advancedOpen:a,onAdvancedOpenChange:m,onModelIdChange:i,onModelChange:d,onAddModel:c,onRemoveModel:h,onModelNonStreamViaStreamChange:S,onSetDefaultModel:N,testVerification:y,probeModels:T}){const{t:g}=q(),$=e.models.filter(w=>w.id.trim().length>0);return r.jsxs("div",{className:"space-y-8",children:[r.jsxs("section",{className:"space-y-4","aria-labelledby":"provider-model-fields",children:[r.jsxs("div",{className:"flex items-start justify-between gap-4",children:[r.jsxs("div",{className:"space-y-1",children:[r.jsx("h3",{id:"provider-model-fields",className:"text-sm font-semibold",children:g("providers.drawer.fields.models")}),r.jsx("p",{className:"text-xs text-muted-foreground",children:g("providers.drawer.modelsDescription")})]}),r.jsxs("div",{className:"flex shrink-0 gap-2",children:[T?r.jsx(F,{type:"button",variant:"outline",size:"sm",onClick:T.onProbe,disabled:!T.available,title:T.available?void 0:g("providers.drawer.probe.needsBaseUrl"),className:"bg-card text-xs",children:g("providers.drawer.probe.button")}):null,r.jsx(F,{type:"button",variant:"outline",size:"sm",onClick:c,className:"bg-card text-xs",children:g("providers.drawer.fields.addModel")})]})]}),s.models?r.jsx("p",{className:"text-xs text-destructive",children:s.models}):null,r.jsxs("div",{className:"space-y-4",children:[e.models.map((w,I)=>r.jsxs("div",{className:"rounded-xl border border-transparent bg-card p-4 shadow-[var(--surface-shadow)]",children:[r.jsx("div",{className:"grid gap-4 md:grid-cols-2",children:r.jsxs(C,{className:"flex flex-col gap-2 text-sm",children:[r.jsx("span",{className:"text-xs text-muted-foreground",children:g("providers.drawer.fields.modelId")}),r.jsx(U,{value:w.id,onChange:l=>i(I,l.target.value),placeholder:g("providers.drawer.fields.modelIdPlaceholder")})]})}),r.jsxs(ne,{open:a,onOpenChange:m,summary:g("providers.drawer.fields.advancedOptions"),className:"mt-4 rounded-xl bg-secondary/50",summaryClassName:"px-3 py-2 text-xs font-medium",contentClassName:"space-y-4 px-3 py-3",children:[r.jsxs(C,{className:"flex flex-col gap-2 text-sm",children:[r.jsx("span",{className:"text-xs text-muted-foreground",children:g("providers.drawer.fields.modelLabel")}),r.jsx(U,{value:w.label??"",onChange:l=>d(I,{label:l.target.value}),placeholder:g("providers.drawer.fields.modelLabelPlaceholder")})]}),r.jsxs(C,{className:"flex flex-col gap-2 text-sm",children:[r.jsx("span",{className:"text-xs text-muted-foreground",children:g("providers.drawer.fields.modelNonStreamViaStream")}),r.jsxs(Ie,{value:w.nonStreamViaStream===void 0?"inherit":w.nonStreamViaStream?"enabled":"disabled",onValueChange:l=>S(I,l),children:[r.jsx(Te,{children:r.jsx(Ee,{})}),r.jsxs(Ae,{children:[r.jsx(Y,{value:"inherit",children:g("providers.drawer.fields.modelNonStreamViaStreamInherit")}),r.jsx(Y,{value:"enabled",children:g("providers.drawer.fields.modelNonStreamViaStreamEnabled")}),r.jsx(Y,{value:"disabled",children:g("providers.drawer.fields.modelNonStreamViaStreamDisabled")})]})]})]})]}),r.jsxs("div",{className:"mt-3 flex flex-wrap items-center justify-between gap-3 text-xs",children:[r.jsxs("label",{className:"flex items-center gap-2 text-muted-foreground",children:[r.jsx("input",{type:"radio",name:"defaultModel",value:w.id,"aria-label":g("providers.drawer.fields.setDefault"),checked:e.defaultModel===w.id,onChange:()=>N(w.id),disabled:w.id.trim().length===0,className:"h-4 w-4 accent-primary"}),g("providers.drawer.fields.setDefault")]}),r.jsx(F,{type:"button",variant:"ghost",size:"sm",className:"h-auto px-2 text-destructive",onClick:()=>h(I),disabled:e.models.length===0,children:g("providers.drawer.fields.removeModel")})]})]},w._key)),e.models.length===0?r.jsx("div",{className:"rounded-xl border border-warning/30 bg-warning-bg p-5",children:r.jsxs("div",{className:"space-y-2",children:[r.jsx("p",{className:"text-sm font-semibold text-warning",children:g("providers.drawer.noModelsTitle")}),r.jsx("p",{className:"text-xs leading-relaxed text-warning",children:g("providers.drawer.noModelsHint",{providerId:e.id||"provider-id"})}),r.jsxs("div",{className:"rounded-lg bg-secondary/50 p-2.5",children:[r.jsx("p",{className:"mb-1.5 text-xs font-medium text-foreground",children:g("providers.drawer.routeExample")}),r.jsxs("code",{className:"block rounded-lg border border-transparent bg-card px-2.5 py-1.5 font-mono text-xs text-foreground shadow-[var(--surface-shadow)]",children:['"claude-*": "',(e.id||"provider-id").trim()||"provider-id",':*"']})]})]})}):null]}),$.length>1?r.jsx("div",{className:"text-xs text-muted-foreground",children:g("providers.drawer.defaultHint",{model:e.defaultModel||g("providers.card.noDefault")})}):null]}),y?r.jsxs("section",{className:"space-y-3","aria-labelledby":"provider-verify-fields",children:[r.jsxs("div",{className:"space-y-1",children:[r.jsx("h3",{id:"provider-verify-fields",className:"text-sm font-semibold",children:g("workbench.drawer.verifyTitle")}),r.jsx("p",{className:"text-xs text-muted-foreground",children:g("workbench.drawer.verifyHint")})]}),y.available?r.jsxs("div",{className:"space-y-3 rounded-xl border border-transparent bg-card p-4 shadow-[var(--surface-shadow)]",children:[r.jsx(F,{type:"button",variant:"outline",size:"sm",onClick:y.onTest,disabled:y.testing,children:y.testing?g("common.actions.testingConnection"):g("workbench.drawer.verifyRun")}),y.result?r.jsx(Ke,{result:y.result}):null]}):r.jsx("p",{className:"rounded-xl bg-secondary/50 px-4 py-3 text-xs text-muted-foreground",children:g("workbench.drawer.verifySaveFirst")})]}):null]})}const Qe=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,Je=1e6,Ye=3600,Ze=100,er=86400,rr=86400,sr=/^[^:\s]+:[^:\s]+$/;function tr(e){if(/^[1-5]xx$/.test(e))return!0;if(/^\d{3}$/.test(e)){const s=Number(e);return s>=100&&s<=599}return!1}function ar(e){const s={},a=Number(e.consecutiveFailures.trim());e.consecutiveFailures.trim()&&Number.isInteger(a)&&(s.consecutiveFailures=a);const m=Number(e.cooldownSeconds.trim());e.cooldownSeconds.trim()&&Number.isInteger(m)&&(s.cooldownSeconds=m);const i=Number(e.failureWindowSeconds.trim());e.failureWindowSeconds.trim()&&Number.isInteger(i)&&(s.failureWindowSeconds=i);const d=e.triggerStatusCodes.split(",").map(c=>c.trim()).filter(Boolean);return d.length>0&&(s.triggerStatusCodes=d),Object.keys(s).length>0?s:void 0}function Ar({mode:e,provider:s,existingProviderIds:a,providers:m}){const{t:i}=q(),[d,c]=R.useState(()=>ie(s)),[h,S]=R.useState({}),[N,y]=R.useState(e==="edit"),T=R.useRef(null),g=R.useCallback(()=>{c(ie(s)),S({}),y(e==="edit")},[s,e]),$=t=>n=>{c(u=>({...u,[t]:n}))},w=t=>{c(n=>{const o=!N||n.label.trim().length===0||n.label===n.id?t:n.label;return{...n,id:t,label:o}})},I=t=>{c(n=>{var _;const o=G[t??"custom"]??G.custom,f=Q(n.type),p=Q(t),v=Object.values(G).map(H=>H.baseUrl).filter(H=>!!H),j=!n.baseUrl||v.includes(n.baseUrl),x=e==="create"&&(n.models.length===0||n.models.every(H=>H.id.trim().length===0)),M={...n,type:t,authMode:n.authMode===f?p:n.authMode};return o!=null&&o.baseUrl&&j&&(M.baseUrl=o.baseUrl),o!=null&&o.models&&x&&(M.models=o.models.map(Ge),M.defaultModel=o.defaultModel??((_=o.models[0])==null?void 0:_.id)??""),M})},l=(t,n)=>{c(u=>{const o=[...u.models];return o[t]={...o[t],...n},{...u,models:o}})},X=(t,n)=>{c(u=>{const o=[...u.models],f=o[t];if(!f)return u;const p=!N||!f.label||f.label===f.id,v={...f,id:n,label:p?n:f.label};o[t]=v;const j=u.defaultModel===f.id?n:u.defaultModel;return{...u,models:o,defaultModel:j}})},b=t=>{c(n=>{if(t<0||t>=n.models.length)return n;const u=n.models.filter((f,p)=>p!==t);let o=n.defaultModel;return u.some(f=>f.id===o)||(o=""),{...n,models:u,defaultModel:o}})},A=()=>{c(t=>({...t,models:[...t.models,ae()]}))},E=t=>{c(n=>{const u=new Set(n.models.map(f=>f.id.trim())),o=t.filter(f=>f.id.trim().length>0&&!u.has(f.id.trim())).map(f=>{var p;return{...ae(),id:f.id.trim(),label:((p=f.label)==null?void 0:p.trim())??""}});return o.length===0?n:{...n,models:[...n.models,...o]}})},oe=(t,n)=>{c(u=>{const o=[...u.extraHeaders];return o[t]={...o[t],...n},{...u,extraHeaders:o}})},ce=()=>{c(t=>({...t,extraHeaders:[...t.extraHeaders,ze()]}))},me=t=>{c(n=>{if(t<0||t>=n.extraHeaders.length)return n;const u=n.extraHeaders.filter((o,f)=>f!==t);return{...n,extraHeaders:u}})},ue=t=>{c(n=>({...n,authMode:t}))},pe=t=>{c(n=>({...n,nonStreamViaStream:t}))},xe=t=>{c(n=>({...n,useAbsoluteUrl:t}))},he=t=>{c(n=>({...n,streamUsage:t}))},fe=(t,n)=>{l(t,{nonStreamViaStream:n==="inherit"?void 0:n==="enabled"})},ge=t=>{c(n=>({...n,defaultModel:t}))},B=(t,n)=>{c(u=>({...u,models:u.models.map(o=>o._key===t?n(o):o)}))},be=t=>{B(t,n=>({...n,members:[...n.members,$e()]}))},ve=(t,n)=>{B(t,u=>({...u,members:u.members.filter(o=>o._key!==n)}))},ye=(t,n,u)=>{B(t,o=>({...o,members:o.members.map(f=>f._key===n?{...f,target:u}:f)}))},je=(t,n,u)=>{n!==u&&B(t,o=>{const f=o.members.findIndex(x=>x._key===n),p=o.members.findIndex(x=>x._key===u);if(f<0||p<0)return o;const v=[...o.members],[j]=v.splice(f,1);return v.splice(p,0,j),{...o,members:v}})},Ne=(t,n)=>{B(t,u=>({...u,failover:{...u.failover,...n}}))},se=()=>{const t={},n=d.id.trim(),u=d.baseUrl.trim();if(e==="create"&&(n.length===0?t.id=i("providers.drawer.errors.idRequired"):a.includes(n)&&(t.id=i("providers.drawer.errors.idDuplicate"))),e==="edit"&&n.length===0&&(t.id=i("providers.drawer.errors.idRequired")),d.type!=="aggregate")if(u.length===0)t.baseUrl=i("providers.drawer.errors.baseUrlInvalid");else try{new URL(u)}catch{t.baseUrl=i("providers.drawer.errors.baseUrlInvalid")}if(d.type==="aggregate"){d.models.length===0&&(t.models=i("providers.drawer.errors.modelsRequired"));const p={},v={},j=new Map((m??[]).map(x=>[x.id,x]));for(const x of d.models){const M=x.members.map(k=>k.target.trim()).filter(k=>k.length>0);if(M.length===0)p[x._key]=i("providers.aggregate.errors.memberRequired");else{const k=new Set;for(const D of M){if(!sr.test(D)){p[x._key]=i("providers.aggregate.errors.memberInvalid");break}const[O]=D.split(":");if(m){const z=j.get(O);if(!z){p[x._key]=i("providers.aggregate.errors.memberDangling",{provider:O});break}if(z.type==="aggregate"||O===d.id.trim()){p[x._key]=i("providers.aggregate.errors.memberNested",{provider:O});break}}if(k.has(D)){p[x._key]=i("providers.aggregate.errors.memberDuplicate",{target:D});break}k.add(D)}}const H=[[x.failover.consecutiveFailures,1,Ze],[x.failover.cooldownSeconds,1,er],[x.failover.failureWindowSeconds,1,rr]].some(([k,D,O])=>{const z=k.trim();if(!z)return!1;const J=Number(z);return!Number.isInteger(J)||J<D||J>O}),we=x.failover.triggerStatusCodes.split(",").map(k=>k.trim()).filter(Boolean);H?v[x._key]=i("providers.aggregate.errors.failoverInvalid"):we.some(k=>!tr(k))&&(v[x._key]=i("providers.aggregate.errors.triggerCodesInvalid"))}Object.keys(p).length>0&&(t.members=p),Object.keys(v).length>0&&(t.failover=v)}if(d.models.length>0){const p=new Set;d.models.some(j=>{const x=j.id.trim();return x.length===0||p.has(x)?!0:(p.add(x),!1)})&&(t.models=i("providers.drawer.errors.modelInvalid"))}d.defaultModel&&!d.models.some(p=>p.id===d.defaultModel)&&(t.models=i("providers.drawer.errors.defaultInvalid"));const o=d.rpmLimit.trim();if(o.length>0){const p=Number(o);(!Number.isInteger(p)||p<1||p>Je)&&(t.rpmLimit=i("providers.drawer.errors.rpmLimitInvalid"))}const f=d.rpmMaxWaitSeconds.trim();if(f.length>0){const p=Number(f);(!Number.isInteger(p)||p<1||p>Ye)&&(t.rpmMaxWaitSeconds=i("providers.drawer.errors.rpmMaxWaitInvalid"))}if(d.extraHeaders.length>0){const p=new Set;for(const v of d.extraHeaders){const j=v.name.trim();if(j.length===0)continue;if(!Qe.test(j)){t.extraHeaders=i("providers.drawer.errors.headerNameInvalid");break}const x=j.toLowerCase();if(p.has(x)){t.extraHeaders=i("providers.drawer.errors.headerNameDuplicate");break}p.add(x)}}return S(t),t};return{form:d,errors:h,advancedOpen:N,setAdvancedOpen:y,providerIdRef:T,isCreate:e==="create",resetForm:g,validate:()=>Object.keys(se()).length===0,validateErrors:se,serialize:()=>{const t=d.type==="aggregate",n=d.models.map(x=>{var M;return{id:x.id.trim(),label:(M=x.label)!=null&&M.trim()?x.label.trim():void 0,nonStreamViaStream:x.nonStreamViaStream,...t?{members:x.members.map(_=>({target:_.target.trim()})).filter(_=>_.target.length>0),failover:ar(x.failover)}:null}}).filter(x=>x.id.length>0),u={};for(const x of d.extraHeaders){const M=x.name.trim();M.length>0&&(u[M]=x.value)}const o=Object.keys(u).length>0,f=d.authMode==="apiKey"&&d.type!=="anthropic"?void 0:d.authMode,p={id:d.id.trim(),label:d.label.trim()||d.id.trim(),baseUrl:t?void 0:d.baseUrl.trim(),apiKey:t?void 0:d.apiKey.trim()||void 0,type:d.type??"custom",defaultModel:t?void 0:d.defaultModel||void 0,models:n.length>0?n:void 0,extraHeaders:t?void 0:o?u:void 0,authMode:t?void 0:f};d.nonStreamViaStream&&(p.nonStreamViaStream=!0),d.useAbsoluteUrl&&(p.useAbsoluteUrl=!0),d.streamUsage&&(p.streamUsage=!0);const v=Number(d.rpmLimit.trim());d.rpmLimit.trim().length>0&&Number.isInteger(v)&&v>=1&&(p.rpmLimit=v);const j=Number(d.rpmMaxWaitSeconds.trim());return d.rpmMaxWaitSeconds.trim().length>0&&Number.isInteger(j)&&j>=1&&(p.rpmMaxWaitSeconds=j),p},handleFieldChange:$,handleProviderIdChange:w,handleTypeChange:I,handleModelChange:l,handleModelIdChange:X,handleRemoveModel:b,handleAddModel:A,handleImportModels:E,handleHeaderChange:oe,handleAddHeader:ce,handleRemoveHeader:me,handleAuthModeChange:ue,handleProviderNonStreamViaStreamChange:pe,handleUseAbsoluteUrlChange:xe,handleStreamUsageChange:he,handleModelNonStreamViaStreamChange:fe,handleSetDefaultModel:ge,handleAddMember:be,handleRemoveMember:ve,handleMemberTargetChange:ye,handleReorderMembers:je,handleModelFailoverChange:Ne}}export{Tr as B,br as C,Er as M,vr as O,Ir as P,Rr as S,Ke as T,Nr as a,jr as b,re as c,yr as d,Sr as e,He as f,De as g,Mr as h,Xe as i,le as j,We as k,wr as l,Ur as m,Cr as n,kr as o,qe as p,Oe as r,Ar as u};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{j as n}from"./vendor-
|
|
1
|
+
import{j as n}from"./vendor-D2wC0h2o.js";import{c as g}from"./global-CJOj9WGx.js";function l({className:t}){return n.jsx("div",{role:"status","aria-label":"Loading",className:g("animate-pulse rounded-xl bg-muted",t)})}function _(){return n.jsxs("div",{className:"space-y-3 rounded-xl bg-card p-6 shadow-[var(--surface-shadow)]",children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx(l,{className:"h-3 w-24"}),n.jsx(l,{className:"h-10 w-10 rounded-xl"})]}),n.jsx(l,{className:"h-8 w-32"})]})}function y(){return n.jsxs("div",{className:"space-y-4 rounded-xl bg-card p-6 shadow-[var(--surface-shadow)]",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(l,{className:"h-4 w-32"}),n.jsx(l,{className:"h-3 w-48"})]}),n.jsx(l,{className:"h-[320px] w-full rounded-xl"})]})}function N({columns:t=6}){const e=["w-24","w-16","w-20","w-28","w-14","w-12","w-20","w-16","w-14","w-12"];return n.jsx("tr",{className:"border-b",children:Array.from({length:t}).map((a,r)=>n.jsx("td",{className:"px-3 py-3",children:n.jsx(l,{className:g("h-4",e[r%e.length])})},r))})}const m=[168,184,198,208,218,228,238,248,258,268,278,292],b=2e5,c=12e4;function j(t){const e=new Date(t);return`${e.getFullYear()}-${`${e.getMonth()+1}`.padStart(2,"0")}-${`${e.getDate()}`.padStart(2,"0")} ${`${e.getHours()}`.padStart(2,"0")}:${`${e.getMinutes()}`.padStart(2,"0")}:${`${e.getSeconds()}`.padStart(2,"0")}`}function o(t){return t==null?"-":t.toLocaleString()}function T(t,e){const a=o(t);return a==="-"?"-":`${a} ${e}`}function E(t){return t?"true":"false"}function w(t,e){if(!t||t.trim().length===0)return e;if(t.length>b)return t;try{const a=JSON.parse(t);return JSON.stringify(a,null,2)}catch{return t}}function S(t){return t.length<=c?{displayedLength:t.length,isTruncated:!1,originalLength:t.length,text:t}:{displayedLength:c,isTruncated:!0,originalLength:t.length,text:`${t.slice(0,c)}
|
|
2
2
|
|
|
3
3
|
...`}}function P(t,e){return S(w(t,e))}function k(t,e){return t.status_code===null||t.status_code===void 0?t.error?{label:e("common.status.error"),tone:"error",variant:"destructive"}:{label:e("common.status.pending"),tone:"pending",variant:"warning"}:t.error||t.status_code>=400?{label:t.status_code.toString(),tone:"error",variant:"destructive"}:{label:t.status_code.toString(),tone:"success",variant:"success"}}function D(t,e){if(!(!!t.error||(t.status_code??0)>=400))return{label:e("logs.detail.errorSource.none"),tone:"none"};switch(t.error_source){case"client":return{label:e("logs.detail.errorSource.client"),tone:"client"};case"gateway":return{label:e("logs.detail.errorSource.gateway"),tone:"gateway"};case"upstream":return{label:e("logs.detail.errorSource.upstream"),tone:"upstream"};default:return{label:e("logs.detail.errorSource.unknown"),tone:"unknown"}}}function M(t,e,a){const r=t.latency_ms,s=t.ttft_ms,d=r!=null&&r>0,h=!!t.error||(t.status_code??0)>=400,i=[];if(i.push({id:"arrived",title:a("logs.detail.trace.arrived"),atLabel:"0 ms",durLabel:null,detail:[t.endpoint||"-",t.stream?a("logs.detail.trace.streamOn"):a("logs.detail.trace.streamOff")].join(" · "),tone:"accent",barPct:0}),s!=null&&s>0&&i.push({id:"ttft",title:a("logs.detail.trace.ttft"),atLabel:`+${o(s)} ms`,durLabel:`${o(s)} ms`,detail:`${e} · ${t.model}`,tone:"warn",barPct:d?Math.min(100,Math.round(s/r*100)):100}),d){const u=r-(s??0),f=[`${o(t.output_tokens)} ${a("common.units.token")}`,t.tpot_ms!=null?`${a("logs.detail.trace.tpot")} ${o(t.tpot_ms)} ${a("common.units.msPerToken")}`:null].filter(p=>!!p);i.push({id:"complete",title:a("logs.detail.trace.complete"),atLabel:`+${o(r)} ms`,durLabel:u>0?`${o(u)} ms`:null,detail:f.join(" · "),tone:h?"error":"ok",barPct:u>0?Math.min(100,Math.round(u/r*100)):0})}else i.push({id:"pending",title:a("logs.detail.trace.pending"),atLabel:"",durLabel:null,detail:"",tone:"warn",barPct:0});return i}function $(t){let e=0;for(let a=0;a<t.length;a+=1)e=e*31+t.charCodeAt(a)>>>0;return e}function v(t){const e=t==null?void 0:t.trim();if(!e)return null;const a=$(e),r=m[a%m.length],s=`hsl(${r} 74% 46% / 0.55)`;return{sessionId:e,colorKey:`${r}`,accentStyle:{borderLeft:`2px solid ${s}`}}}export{y as C,_ as S,N as T,D as a,P as b,j as c,E as d,o as e,T as f,k as g,v as h,l as i,M as j};
|