@lunora/studio 1.0.0-alpha.264 → 1.0.0-alpha.266
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/dist/standalone/{chunk-NYKWTNZX.js → chunk-253UHWDX.js} +1 -1
- package/dist/standalone/{chunk-72GVG7ZA.js → chunk-2I4NHEKA.js} +1 -1
- package/dist/standalone/{chunk-N6NMLJ6R.js → chunk-2IKDEUCX.js} +1 -1
- package/dist/standalone/{chunk-4ALGJHGT.js → chunk-2LDBVPWQ.js} +1 -1
- package/dist/standalone/{chunk-GFQSMB25.js → chunk-2WSX2ZR2.js} +1 -1
- package/dist/standalone/{chunk-YY67675G.js → chunk-2ZIRRUR5.js} +1 -1
- package/dist/standalone/{chunk-OTH4FYM7.js → chunk-36BHFCJZ.js} +1 -1
- package/dist/standalone/{chunk-C6P2S732.js → chunk-36OOBZSU.js} +1 -1
- package/dist/standalone/{chunk-IMOHEGMV.js → chunk-37WYCOQ2.js} +1 -1
- package/dist/standalone/{chunk-FK4GW22X.js → chunk-3HP2TTN5.js} +1 -1
- package/dist/standalone/{chunk-VVQ64OES.js → chunk-3K3K3PW3.js} +1 -1
- package/dist/standalone/{chunk-IS6LVJ6L.js → chunk-3YXASVTP.js} +1 -1
- package/dist/standalone/{chunk-JOGSIIY2.js → chunk-46NRRTO2.js} +1 -1
- package/dist/standalone/{chunk-LCRAEP3B.js → chunk-4WD4XGC3.js} +1 -1
- package/dist/standalone/{chunk-XC734N2Q.js → chunk-4ZDBUYGM.js} +1 -1
- package/dist/standalone/{chunk-35DM4JJG.js → chunk-55UGUCQ6.js} +1 -1
- package/dist/standalone/chunk-5B2RTXBS.js +1 -0
- package/dist/standalone/{chunk-G3CZ2FAC.js → chunk-5EALT2C5.js} +1 -1
- package/dist/standalone/{chunk-PFIUSVS6.js → chunk-5NOZE2BB.js} +1 -1
- package/dist/standalone/{chunk-H6LZ3QM4.js → chunk-5QR2SQIS.js} +1 -1
- package/dist/standalone/{chunk-236GHAHX.js → chunk-65BYZFEA.js} +1 -1
- package/dist/standalone/{chunk-H44HW3WV.js → chunk-6HLARDYO.js} +1 -1
- package/dist/standalone/chunk-6QTAHSDD.js +1 -0
- package/dist/standalone/{chunk-OJE7SI3H.js → chunk-7CX2KBPN.js} +1 -1
- package/dist/standalone/{chunk-55754F6H.js → chunk-7G4Z6Q7X.js} +1 -1
- package/dist/standalone/{chunk-HVAGAMHZ.js → chunk-7IF35UKO.js} +1 -1
- package/dist/standalone/{chunk-BRIYEPXI.js → chunk-7RKB5KS7.js} +1 -1
- package/dist/standalone/{chunk-V34AI5VV.js → chunk-7TOFQCI2.js} +1 -1
- package/dist/standalone/chunk-7Y3SY37W.js +1 -0
- package/dist/standalone/{chunk-QSIQCK3O.js → chunk-A4BIP777.js} +1 -1
- package/dist/standalone/{chunk-VNGJA3DB.js → chunk-AG4AQVJT.js} +1 -1
- package/dist/standalone/{chunk-AAVLPU5Q.js → chunk-AUAECCXB.js} +1 -1
- package/dist/standalone/{chunk-5JDWLCSH.js → chunk-AUGKHAMQ.js} +1 -1
- package/dist/standalone/{chunk-RKOBPURU.js → chunk-B6THVJOE.js} +3 -3
- package/dist/standalone/{chunk-225VJ77I.js → chunk-BOMPSVRC.js} +1 -1
- package/dist/standalone/{chunk-M23RGNY6.js → chunk-C4CN3KU7.js} +1 -1
- package/dist/standalone/{chunk-ILVYBIS4.js → chunk-C55EORND.js} +1 -1
- package/dist/standalone/{chunk-4S4HJOW4.js → chunk-CASWKFSS.js} +1 -1
- package/dist/standalone/{chunk-6DAD3RFX.js → chunk-CCDX5RYT.js} +1 -1
- package/dist/standalone/{chunk-NCFRIHLB.js → chunk-CGQMJYCW.js} +1 -1
- package/dist/standalone/{chunk-3M5DIK2H.js → chunk-CHFWRN5A.js} +1 -1
- package/dist/standalone/{chunk-TIYUHTB3.js → chunk-CIO364ZD.js} +1 -1
- package/dist/standalone/{chunk-O3EVDJD5.js → chunk-CVXNHIQW.js} +1 -1
- package/dist/standalone/{chunk-ZOBBA5XA.js → chunk-CZLVSMOP.js} +1 -1
- package/dist/standalone/{chunk-HEDS6FOP.js → chunk-E2BLE4AI.js} +1 -1
- package/dist/standalone/{chunk-6QA34EWC.js → chunk-E4PXACVL.js} +1 -1
- package/dist/standalone/{chunk-HPFN7S7N.js → chunk-ECY2JC5F.js} +1 -1
- package/dist/standalone/{chunk-LPT6MHEY.js → chunk-EQ642P2K.js} +1 -1
- package/dist/standalone/{chunk-36SHCQOV.js → chunk-EWCDT3C4.js} +1 -1
- package/dist/standalone/chunk-FCPQOUUQ.js +5 -0
- package/dist/standalone/{chunk-5WHNC53N.js → chunk-FE2NK2KO.js} +1 -1
- package/dist/standalone/{chunk-FZ7UOWAB.js → chunk-FFVKIOKZ.js} +1 -1
- package/dist/standalone/{chunk-EA2JKR5D.js → chunk-FPI7AMQJ.js} +1 -1
- package/dist/standalone/{chunk-K7AJEMKE.js → chunk-FUYEZFBP.js} +1 -1
- package/dist/standalone/{chunk-SRCY6GJN.js → chunk-GBS7KH2J.js} +1 -1
- package/dist/standalone/chunk-GHQ2VDI2.js +1 -0
- package/dist/standalone/{chunk-DTOAMMQF.js → chunk-GZI4QESE.js} +1 -1
- package/dist/standalone/{chunk-NKZCEQJ7.js → chunk-H2QIHAXY.js} +1 -1
- package/dist/standalone/{chunk-HEAQVSNS.js → chunk-HCTJKP5J.js} +1 -1
- package/dist/standalone/{chunk-ZD2UXTLR.js → chunk-HECPC2VY.js} +1 -1
- package/dist/standalone/{chunk-PTZD7RUZ.js → chunk-HJHSQPHW.js} +11 -11
- package/dist/standalone/chunk-I26MS5PJ.js +1 -0
- package/dist/standalone/{chunk-KGF3ZXRT.js → chunk-IE4X3UYS.js} +1 -1
- package/dist/standalone/{chunk-QKEJLVC5.js → chunk-IWZ7GVQO.js} +1 -1
- package/dist/standalone/{chunk-NSWDULEE.js → chunk-JI22NSXG.js} +1 -1
- package/dist/standalone/{chunk-H6WXBORU.js → chunk-JNRKX2W3.js} +1 -1
- package/dist/standalone/{chunk-66UGPQVC.js → chunk-JQXA2OYK.js} +1 -1
- package/dist/standalone/{chunk-OCUJO2PM.js → chunk-JZGTSH2C.js} +1 -1
- package/dist/standalone/{chunk-YOB2X3FZ.js → chunk-K2MZTOIJ.js} +1 -1
- package/dist/standalone/{chunk-IAL3CXYI.js → chunk-KKPGRVBG.js} +1 -1
- package/dist/standalone/{chunk-3HLT7EQR.js → chunk-KZHKRFFX.js} +1 -1
- package/dist/standalone/{chunk-HCGXKDHF.js → chunk-LLNH4AP2.js} +1 -1
- package/dist/standalone/{chunk-ZFXRRVWV.js → chunk-LWM7Y3CL.js} +1 -1
- package/dist/standalone/{chunk-7IV6BZTQ.js → chunk-MFF6SM5S.js} +2 -2
- package/dist/standalone/{chunk-N2U3OE4N.js → chunk-MQ5RY4I7.js} +1 -1
- package/dist/standalone/{chunk-TDXV3OT5.js → chunk-MVWZMWPD.js} +1 -1
- package/dist/standalone/{chunk-WOY4G5ON.js → chunk-NAN5F2XU.js} +1 -1
- package/dist/standalone/{chunk-ULIQFBZU.js → chunk-NCPW7WHO.js} +1 -1
- package/dist/standalone/{chunk-T6JDEFHN.js → chunk-NDTQTKDX.js} +1 -1
- package/dist/standalone/{chunk-NESDGS7F.js → chunk-NQZALRU3.js} +1 -1
- package/dist/standalone/{chunk-4JLGLPWV.js → chunk-NRP22GKC.js} +1 -1
- package/dist/standalone/{chunk-IFJOYAEZ.js → chunk-NXQW5E6W.js} +1 -1
- package/dist/standalone/{chunk-IGNYTJPT.js → chunk-NZT7EQC7.js} +1 -1
- package/dist/standalone/{chunk-XXVOKVXV.js → chunk-OPM7ESDV.js} +1 -1
- package/dist/standalone/chunk-OQ6I6OXT.js +2 -0
- package/dist/standalone/{chunk-MRAMNVDG.js → chunk-OSGXNEFA.js} +1 -1
- package/dist/standalone/{chunk-GX2YM7MB.js → chunk-OYCUPD3Q.js} +1 -1
- package/dist/standalone/{chunk-Z3S3I4CF.js → chunk-P6VUSJG2.js} +1 -1
- package/dist/standalone/{chunk-RDL5WK55.js → chunk-PCBRDDD7.js} +1 -1
- package/dist/standalone/{chunk-44NITJRA.js → chunk-PH33W25H.js} +1 -1
- package/dist/standalone/{chunk-U7E33WOM.js → chunk-PIMTWCRD.js} +1 -1
- package/dist/standalone/{chunk-FEWMAPNI.js → chunk-Q6ED4KUL.js} +1 -1
- package/dist/standalone/{chunk-CSUROWL2.js → chunk-Q6IT6ZD7.js} +1 -1
- package/dist/standalone/{chunk-FSRSK4LY.js → chunk-QAQDMS6R.js} +1 -1
- package/dist/standalone/{chunk-XZMOZFE6.js → chunk-QJLHH3ET.js} +1 -1
- package/dist/standalone/{chunk-IRQNBAYI.js → chunk-QNG76J7U.js} +1 -1
- package/dist/standalone/{chunk-S3CRZLGS.js → chunk-R6U22RSY.js} +1 -1
- package/dist/standalone/{chunk-OKG3HWSJ.js → chunk-RGMVGZV4.js} +1 -1
- package/dist/standalone/{chunk-FKVZRPV5.js → chunk-RWVIV3U7.js} +1 -1
- package/dist/standalone/{chunk-STF7K7PL.js → chunk-RZF2RURD.js} +1 -1
- package/dist/standalone/chunk-S4Z7K55A.js +1 -0
- package/dist/standalone/{chunk-5WJXVZMZ.js → chunk-SA2OGF3F.js} +1 -1
- package/dist/standalone/{chunk-Y6CXU7T4.js → chunk-SJQERRSZ.js} +1 -1
- package/dist/standalone/{chunk-DMNR5ITO.js → chunk-SS4FGGY5.js} +1 -1
- package/dist/standalone/{chunk-Z5O2NQAV.js → chunk-SV764LKQ.js} +1 -1
- package/dist/standalone/{chunk-I7H22G4D.js → chunk-TDQLMXKM.js} +1 -1
- package/dist/standalone/{chunk-3Q2P62UR.js → chunk-UC7MNI2F.js} +1 -1
- package/dist/standalone/{chunk-5KQPYU7I.js → chunk-URMNAUYR.js} +1 -1
- package/dist/standalone/{chunk-EIISOYGA.js → chunk-UUMEGH4P.js} +1 -1
- package/dist/standalone/{chunk-EXOWNDCL.js → chunk-UYLU2CFX.js} +1 -1
- package/dist/standalone/{chunk-4GTO7FL5.js → chunk-VESGIGMQ.js} +1 -1
- package/dist/standalone/chunk-WJRYEML4.js +1 -0
- package/dist/standalone/{chunk-VUPEFCIO.js → chunk-WLCZLWDF.js} +1 -1
- package/dist/standalone/{chunk-RPQL45FL.js → chunk-WMN5PZZX.js} +1 -1
- package/dist/standalone/{chunk-EGVOSH7K.js → chunk-WNZLTRKF.js} +1 -1
- package/dist/standalone/{chunk-22BBGCHO.js → chunk-X2N24K56.js} +1 -1
- package/dist/standalone/{chunk-RJQMO2EF.js → chunk-XE7KY2IJ.js} +1 -1
- package/dist/standalone/{chunk-Q4CAKBWN.js → chunk-XGCIDUJF.js} +1 -1
- package/dist/standalone/{chunk-NFS7FTAR.js → chunk-XHRKNCCI.js} +1 -1
- package/dist/standalone/{chunk-NT2ZOFRF.js → chunk-XMUOATX2.js} +1 -1
- package/dist/standalone/{chunk-YDLEJGBK.js → chunk-XTQQIXJ4.js} +1 -1
- package/dist/standalone/{chunk-NZSVJLGE.js → chunk-XWLNR5FB.js} +1 -1
- package/dist/standalone/{chunk-MU3P2FI7.js → chunk-Y3AYVFTK.js} +1 -1
- package/dist/standalone/{chunk-NYFJOVIA.js → chunk-Y5NTSEWR.js} +1 -1
- package/dist/standalone/{chunk-LIOUCOP2.js → chunk-YVR4SEPU.js} +1 -1
- package/dist/standalone/{chunk-UXXDN6Z3.js → chunk-Z22BDS6N.js} +1 -1
- package/dist/standalone/{chunk-FUHBEF6J.js → chunk-ZHAVJQY7.js} +1 -1
- package/dist/standalone/{chunk-HZQ627G2.js → chunk-ZKIWGBN4.js} +1 -1
- package/dist/standalone/{chunk-OGUKYRFM.js → chunk-ZKJS6EBE.js} +1 -1
- package/dist/standalone/{chunk-YLPFIPVU.js → chunk-ZWXQKMYE.js} +1 -1
- package/dist/standalone/studio.js +9 -9
- package/package.json +13 -13
- package/dist/standalone/chunk-4L4WTGN5.js +0 -1
- package/dist/standalone/chunk-6D6Z2KXU.js +0 -1
- package/dist/standalone/chunk-B2HYHTIX.js +0 -1
- package/dist/standalone/chunk-CMA4PTV7.js +0 -1
- package/dist/standalone/chunk-EVTM6Q43.js +0 -1
- package/dist/standalone/chunk-IPBXA3JQ.js +0 -5
- package/dist/standalone/chunk-MXLAOCAN.js +0 -1
- package/dist/standalone/chunk-V3VJAA4D.js +0 -1
- package/dist/standalone/chunk-YKXDMIHQ.js +0 -1
- /package/dist/standalone/{chunk-AWHXPIXU.js → chunk-NGVP66OH.js} +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{D as xe,I as Ge,J as Ce,K as Qe,L as Ze,M as et,N as tt,b as Q,d as He,f as qe,l as Xe}from"./chunk-
|
|
1
|
+
import{D as xe,I as Ge,J as Ce,K as Qe,L as Ze,M as et,N as tt,b as Q,d as He,f as qe,l as Xe}from"./chunk-MVWZMWPD.js";import{a as O,c as L,i as Je,w as ve}from"./chunk-AUAECCXB.js";import{a as $e,c as be,d as ie,g as M,i as ge,j as J}from"./chunk-BOMPSVRC.js";import{a as t,c as Mt,d as E,e as k,f as St,g as ae,i as ze}from"./chunk-I26MS5PJ.js";var ht=E(St(),1);var Et=E(k(),1);var Te={};Mt(Te,{Control:()=>Ct,Description:()=>vt,Error:()=>bt,Item:()=>It,Label:()=>Rt,Root:()=>pt,Validity:()=>yt});var P=E(k(),1);var Fe=E(k(),1);var rt="data-valid",ot="data-invalid";var se={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},Ot={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},it={disabled:!1,...Ot},H={valid(r){return r===null?null:r?{[rt]:""}:{[ot]:""}}};var wt={invalid:void 0,name:void 0,validityData:{state:se,errors:[],error:"",value:"",initialValue:null},setValidityData:M,disabled:void 0,setTouched:M,setDirty:M,setFilled:M,setFocused:M,validationMode:"onSubmit",shouldValidateOnChange:t(()=>!1,"shouldValidateOnChange"),state:it,registerFieldControl:M,validation:{getValidationProps:t((r,e=ge)=>e,"getValidationProps"),inputRef:{current:null},registeredInputs:new Map,registerInput:M,getInputControl:t(()=>null,"getInputControl"),commit:t(async()=>{},"commit"),change:M}},Oe=Fe.createContext(wt);function Y(r=!0){let e=Fe.useContext(Oe);if(e.setValidityData===M&&!r)throw new Error(be(28));return e}t(Y,"useFieldRootContext");var ye=E(k(),1);var _t=ye.createContext(void 0);function nt(r=!1){let e=ye.useContext(_t);if(!e&&!r)throw new Error(be(86));return e}t(nt,"useFieldsetRootContext");var Ie=E(k(),1);var Pt=Ie.createContext({elementRef:{current:null},formRef:{current:{fields:new Map}},errors:{},clearErrors:M,validationMode:"onSubmit",submitCountRef:{current:0}});function Z(){return Ie.useContext(Pt)}t(Z,"useFormContext");var ne=E(k(),1);var Ee=E(k(),1);var we=Ee.createContext({controlId:void 0,registerControlId:M,resetControlId:M,labelId:void 0,setLabelId:M,messageIds:[],setMessageIds:M,getDescriptionProps:t(r=>r,"getDescriptionProps")});function U(){return Ee.useContext(we)}t(U,"useLabelableContext");var at=E(ae(),1);var Ve=t(function(e){let o=Q(),[s,c]=ne.useState(o),[d,l]=ne.useState(),[R,f]=ne.useState([]),u=s===void 0?o:s,a=ie(()=>new Map),{messageIds:b}=U(),C=L((D,I)=>{let x=a.current;I===void 0?x.delete(D):x.set(D,I),c(w=>{if(x.size===0)return w;let A;for(let i of x.values()){if(i===w)return w;A===void 0&&(A=i)}return A})}),g=L(()=>{a.current.size===0&&c(o)}),v=ne.useCallback(D=>{let I=D["aria-describedby"]?D["aria-describedby"].split(" "):[];return I.push(...b,...R),{...D,"aria-describedby":Array.from(new Set(I)).join(" ")||void 0}},[b,R]),N=ne.useMemo(()=>({controlId:u,registerControlId:C,resetControlId:g,labelId:d,setLabelId:l,messageIds:R,setMessageIds:f,getDescriptionProps:v}),[u,C,g,d,l,R,f,v]);return(0,at.jsx)(we.Provider,{value:N,children:e.children})},"LabelableProvider");var _e=E(k(),1);function st(r={}){let{id:e,enabled:o=!0}=r,{controlId:s,registerControlId:c,resetControlId:d}=U(),l=Q(),R=ie(()=>Symbol()),f=_e.useRef(!1),u=_e.useRef(!1),a=L(()=>{!f.current||c===M||(f.current=!1,c(R.current,void 0))});return O(()=>{if(!o||c===M){a();return}let b;if(e!==void 0)u.current=!0,b=e;else if(u.current)b=l;else{d();return}if(b===void 0){a();return}f.current=!0,c(R.current,b)},[e,o,c,d,l,R,a]),O(()=>a,[a]),(o?s:void 0)??e??l}t(st,"useLabelableId");function lt(r,e){let o=Q(r);return O(()=>(e(o),()=>{e(s=>s===o?void 0:s)}),[o,e]),o}t(lt,"useRegisteredLabelId");function dt(r={}){let{id:e,fallbackControlId:o,native:s=!1,setLabelId:c,focusControl:d}=r,{controlId:l,setLabelId:R}=U(),f=L(g=>{R(g),c?.(g)}),u=lt(e,f),a=l??o;function b(g){if(d){d(g,a);return}if(!a)return;let v=ve(g.currentTarget).getElementById(a);Je(v)&&At(v)}t(b,"focusControl");function C(g){qe(g.nativeEvent)?.closest("button,input,select,textarea")||(!g.defaultPrevented&&g.detail>1&&g.preventDefault(),!s&&b(g))}return t(C,"handleInteraction"),s?{id:u,htmlFor:a,onMouseDown:C}:{id:u,onClick:C,onPointerDown(g){g.preventDefault()}}}t(dt,"useLabel");function At(r){r.focus({focusVisible:!0})}t(At,"focusElementWithVisible");var oe=E(k(),1);function le(r,e){return{...r,state:{...r.state,valid:!e&&r.state.valid}}}t(le,"getCombinedFieldValidityData");var Pe=Object.keys(se);function kt(r,e){return r.matches(":disabled")?!1:!e||r.form===e?!0:r.form===null&&!r.hasAttribute("form")}t(kt,"isEligibleInput");function ut(r,e){let o=null;for(let s of r.keys())if(kt(s,e)){if(!s.validity.valid)return s;o??=s}return o}t(ut,"findRepresentativeInput");function ct(r){return{...se,valid:!r,customError:r}}t(ct,"makeState");function Ae(r){return r&&r.validationMessage?[r.validationMessage]:[]}t(Ae,"getNativeErrors");function ft(r){let{elementRef:e,formRef:o}=Z(),{setValidityData:s,validate:c,validityData:d,validationDebounceTime:l,invalid:R,markedDirtyRef:f,state:u,shouldValidateOnChange:a,validationMode:b,registeredFieldIdRef:C}=r,{controlId:g,getDescriptionProps:v}=U(),N=xe(),D=oe.useRef(null),I=ie(()=>new Map).current,x=oe.useRef(0),w=oe.useRef(null),A=oe.useCallback((S,j)=>(I.set(S,j),()=>{I.delete(S)}),[I]),i=L(()=>{let S=ut(I,e.current);return S&&I.get(S)?.controlRef.current||null}),V=L(async(S,j=!1)=>{x.current+=1;let h=x.current;function $(n,m=R){let p=C.current??g;if(p==null)return;let y=o.current.fields.get(p);if(!y)return;let W=le(n,m);o.current.fields.set(p,{...y,validityData:W})}t($,"updateRegisteredFieldValidity");function ee(n,m){let p=n.valid===!1?m:[];return{value:S,state:n,error:p[0]??"",errors:p,initialValue:d.initialValue}}t(ee,"makeValidityData");function te(n,m){let p=n.validity.customError?n.validationMessage:"",y=m.replace(/\r\n?/g,`
|
|
2
2
|
`);n.setCustomValidity(y),w.current=[n,y,p]}t(te,"setCustomValidity");function X(){let n=w.current;w.current=null,n&&(!n[0].willValidate||n[0].validationMessage===n[1])&&n[0].setCustomValidity(n[2])}t(X,"clearCustomValidity");function _(n,m,p){let y=ee(n,m);$(y,p),s(y)}t(_,"publish");function q(n){let m=Pe.reduce((y,W)=>(y[W]=n.validity[W],y),{}),p=!1;for(let y of Pe)if(y!=="valid"){if(y==="valueMissing"&&m[y])p=!0;else if(m[y])return m}return p&&!f.current&&(m.valid=!0,m.valueMissing=!1),m}t(q,"getState");function re(){return I.size>0?ut(I,e.current):D.current}t(re,"resolveRepresentativeInput");let T=re();function G(){return T=re(),T?.willValidate?q(T):ct(!1)}if(t(G,"refreshState"),j){if(u.valid!==!1||!T)return;if(!T.validity.valueMissing){X();let n=re(),m=n?.validity.customError?Ae(n):[];_(ct(m.length>0),m,!1);return}for(let n of Pe)if(n!=="valid"&&n!=="valueMissing"&&n!=="customError"&&T.validity[n])return}N.clear(),X();let B=G(),K=Ae(T),ue=a();if(K.length===0||ue){let n=Array.from(o.current.fields.values()).reduce((y,W)=>(W.name&&(y[W.name]=W.getValue()),y),{}),m=c(S,n),p;if(typeof m=="object"&&m!==null&&"then"in m){if(B.valid===!1?_(B,K):(b==="onSubmit"||!d.state.customError)&&(B.valid=null,_(B,K)),p=await m,h!==x.current)return;B=G()}else p=m;K=p?[].concat(p).filter(Boolean):[],K.length>0?(B.valid=!1,B.customError=!0,T?.willValidate&&te(T,K.join(`
|
|
3
3
|
`))):K=Ae(T)}_(B,K)}),F=L((S,j=!1)=>{if(N.clear(),x.current+=1,j)return;let h=a();h&&S!==""&&l?N.start(l,()=>{V(S)}):V(S,!h)}),z=oe.useCallback((S,j={})=>$e(v(j),u.valid===!1&&!u.disabled&&!S?{"aria-invalid":!0}:ge),[v,u.disabled,u.valid]);return oe.useMemo(()=>({getValidationProps:z,inputRef:D,registeredInputs:I,registerInput:A,getInputControl:i,commit:V,change:F}),[z,I,A,i,V,F])}t(ft,"useFieldValidation");var he=E(k(),1);function mt(r){let{change:e,commit:o,invalid:s,markedDirtyRef:c,name:d,setRegisteredFieldName:l,registeredFieldIdRef:R,setValidityData:f,validityData:u}=r,{formRef:a}=Z(),b=he.useRef(null),C=he.useRef(null),g=he.useRef(!1),v=L(()=>{let i=C.current;if(i)return i.getValue?i.getValue():i.value});function N(i){return i.value===void 0?v():i.value}t(N,"getRegistrationValue");let D=L(()=>{let i=C.current;if(c.current=!0,!i){o(u.value);return}o(N(i))});function I(){let i=C.current;!i||!i.id||a.current.fields.set(i.id,{getValue:v,name:d??i.name,controlRef:i.controlRef,validityData:le(u,s),validate:D})}t(I,"refreshRegistration");function x(i=C.current?.id){i&&a.current.fields.delete(i)}t(x,"deleteRegistration");function w(i){if(g.current)return;g.current=!0;let V=N(i);f(F=>F.initialValue===V?F:{...F,initialValue:V})}t(w,"captureInitialValue"),O(()=>{let i=C.current;!i||!i.id||(l(d?void 0:i.name),a.current.fields.set(i.id,{getValue:v,name:d??i.name,controlRef:i.controlRef,validityData:le(u,s),validate:D}))},[a,v,s,d,l,D,u]),O(()=>{let i=a.current.fields;return()=>{let V=C.current?.id;V&&i.delete(V)}},[a]);let A=L((i,V)=>{if(!V){b.current===i&&(b.current=null,e(void 0,!0),x(),C.current=null,l(void 0),R.current=void 0);return}let F=C.current?.id,z=b.current;z&&z!==i&&e(void 0,!0),b.current=i,C.current=V,d||l(V.name),R.current=V.id,F&&F!==V.id&&x(F),w(V),I()});return[D,A]}t(mt,"useFieldControlRegistration");var De=E(ae(),1);var Ut=P.forwardRef(t(function(e,o){let{errors:s,validationMode:c,submitCountRef:d}=Z(),{render:l,className:R,validate:f,validationDebounceTime:u=0,validationMode:a=c,name:b,disabled:C=!1,invalid:g,dirty:v,touched:N,actionsRef:D,style:I,...x}=e,w=nt(!0)?.disabled,A=L(f||(()=>null)),i=w||C,[V,F]=P.useState(!1),[z,S]=P.useState(!1),[j,h]=P.useState(!1),[$,ee]=P.useState(!1),te=v??z,X=N??V,_=P.useRef(te),q=P.useRef(void 0),[re,T]=P.useState(),G=b??re;O(()=>{v!==void 0&&(_.current=v)},[v]);let B=L(Re=>{v===void 0&&(Re&&(_.current=!0),S(Re))}),K=L(Re=>{N===void 0&&F(Re)}),ue=L(()=>a==="onChange"||a==="onSubmit"&&d.current>0),n=G&&Object.hasOwn(s,G)?s[G]:null,m=!!(Array.isArray(n)?n.length:n),p=g===!0||m,[y,W]=P.useState({state:se,error:"",errors:[],value:null,initialValue:null}),We=!p&&(i?null:y.state.valid),me=P.useMemo(()=>({disabled:i,touched:X,dirty:te,valid:We,filled:j,focused:$}),[i,X,te,We,j,$]),pe=ft({setValidityData:W,validate:A,validityData:y,validationDebounceTime:u,invalid:p,markedDirtyRef:_,state:me,shouldValidateOnChange:ue,validationMode:a,registeredFieldIdRef:q}),[Ye,Ke]=mt({change:pe.change,commit:pe.commit,invalid:p,markedDirtyRef:_,name:b,setRegisteredFieldName:T,registeredFieldIdRef:q,setValidityData:W,validityData:y});P.useImperativeHandle(D,()=>({validate:Ye}),[Ye]);let Lt=P.useMemo(()=>({invalid:p,name:G,validityData:y,setValidityData:W,disabled:i,setTouched:K,setDirty:B,setFilled:h,setFocused:ee,validationMode:a,shouldValidateOnChange:ue,state:me,registerFieldControl:Ke,validation:pe}),[p,G,y,i,K,B,h,ee,a,ue,me,Ke,pe]),Nt=J("div",e,{ref:o,state:me,props:x,stateAttributesMapping:H});return(0,De.jsx)(Oe.Provider,{value:Lt,children:Nt})},"FieldRootInner")),pt=P.forwardRef(t(function(e,o){return(0,De.jsx)(Ve,{children:(0,De.jsx)(Ut,{...e,ref:o})})},"FieldRoot"));var ce=E(k(),1);var Le=E(k(),1);var ke=Le.createContext({disabled:!1});function Ne(){return Le.useContext(ke)}t(Ne,"useFieldItemContext");var Rt=ce.forwardRef(t(function(e,o){let{render:s,className:c,style:d,id:l,nativeLabel:R=!0,...f}=e,u=Y(!1),a=Ne(),{labelId:b}=U(),C={...u.state,disabled:u.disabled||a.disabled},g=ce.useRef(null),v=dt({id:b??l,native:R});return J("label",e,{ref:[o,g],state:C,props:[v,f],stateAttributesMapping:H})},"FieldLabel"));var de=E(k(),1);var Ue=E(ae(),1);var jt={...H,...Xe},bt=de.forwardRef(t(function(e,o){let{render:s,id:c,className:d,match:l,style:R,...f}=e,u=Q(c),{validityData:a,state:b,name:C}=Y(!1),{setMessageIds:g}=U(),{errors:v}=Z(),N=C&&Object.hasOwn(v,C)?v[C]:null,D=!!(Array.isArray(N)?N.length:N),I=typeof l=="string",x=!1;l===!0?x=!0:b.disabled?x=!1:I?x=!!a.state[l]:x=D||a.state.valid===!1;let{mounted:w,transitionStatus:A,setMounted:i}=Ce(x);O(()=>{if(!(!x||!u))return g(_=>_.concat(u)),()=>{g(_=>_.filter(q=>q!==u))}},[x,u,g]);let V=de.useRef(null),[F,z]=de.useState(null),[S,j]=de.useState(null),h=a.error;!I&&D?h=N:a.errors.length>1&&(h=a.errors);let $=h;Array.isArray(h)&&($=h.length>1?(0,Ue.jsx)("ul",{children:h.map(_=>(0,Ue.jsx)("li",{children:_},_))}):h[0]);let ee=Array.isArray(h)?JSON.stringify(h):h;x&&ee!==S&&(j(ee),z($)),Ge({open:x,ref:V,onComplete(){x||i(!1)}});let te={...b,transitionStatus:A},X=J("div",e,{ref:[o,V],state:te,props:[{id:u,children:x?$:F},f],stateAttributesMapping:jt,enabled:w});return w?X:null},"FieldError"));var gt=E(k(),1);var vt=gt.forwardRef(t(function(e,o){let{render:s,id:c,className:d,style:l,...R}=e,f=Q(c),u=Y(!1),a=Ne(),{setMessageIds:b}=U(),C={...u.state,disabled:u.disabled||a.disabled};return O(()=>{if(f)return b(v=>v.concat(f)),()=>{b(v=>v.filter(N=>N!==f))}},[f,b]),J("p",e,{ref:o,state:C,props:[{id:f},R],stateAttributesMapping:H})},"FieldDescription"));var Me=E(k(),1);function xt(r,e,o,s,c=!0,d){let{registerFieldControl:l}=Y(),R=ie(()=>Symbol());O(()=>{let f=R.current;if(!c){l(f,void 0);return}l(f,{controlRef:r,getValue:s,id:e,name:d,value:o})},[r,c,s,e,d,l,R,o]),O(()=>{let f=R.current;return()=>{l(f,void 0)}},[l,R])}t(xt,"useRegisterFieldControl");var Ct=Me.forwardRef(t(function(e,o){let{render:s,className:c,id:d,name:l,value:R,disabled:f=!1,onValueChange:u,defaultValue:a,autoFocus:b=!1,style:C,...g}=e,{state:v,name:N,disabled:D,setTouched:I,setDirty:x,validityData:w,setFocused:A,setFilled:i,validationMode:V,validation:F}=Y(),{clearErrors:z,elementRef:S,submitCountRef:j}=Z(),h=D||f,$=N??l,ee={...v,disabled:h},{labelId:te}=U(),X=st({id:d}),[_]=Qe({controlled:R,default:a,name:"FieldControl",state:"value"}),q=R!==void 0,re=q?_:void 0,T=re==null?void 0:String(re),G=L(()=>F.inputRef.current?.value);xt(F.inputRef,X,T,G,!h,l),O(()=>{let n=T??F.inputRef.current?.value;n!==void 0&&i(n!=="")},[T,F.inputRef,i]),Ze(T,()=>{T!==void 0&&(z($),x(T!==(w.initialValue??"")),F.change(T))});let B=Me.useRef(null),K=xe();return O(()=>{b&&B.current===He(ve(B.current))&&A(!0)},[b,A]),J("input",e,{ref:[o,B],state:ee,props:[{id:X,disabled:h,name:$,ref:F.inputRef,"aria-labelledby":te,autoFocus:b,...q?{value:re}:{defaultValue:a},onChange(n){let m=n.currentTarget.value,p=tt(et.none,n.nativeEvent);u?.(m,p),!q&&(x(m!==(w.initialValue??"")),i(m!==""),!n.nativeEvent.defaultPrevented&&!p.isCanceled&&(z($),F.change(m)))},onFocus(){A(!0)},onBlur(n){if(I(!0),A(!1),V==="onBlur"){let m=n.currentTarget.value;F.commit(m),q&&queueMicrotask(()=>{let p=F.inputRef.current?.value;p!==void 0&&p!==m&&p!==(w.initialValue??"")&&F.commit(p)})}},onKeyDown(n){if(n.currentTarget.tagName==="INPUT"&&n.key==="Enter"){I(!0);let m=n.currentTarget.value,p=n.currentTarget.form;if(p&&p===S.current&&!n.defaultPrevented){let y=n.currentTarget,W=j.current;K.start(0,()=>{j.current===W&&F.commit(y.value)})}else F.commit(m)}}},g,n=>F.getValidationProps(h,n)],stateAttributesMapping:H})},"FieldControl"));var fe=E(k(),1);var Ft=E(ae(),1);var yt=t(function(e){let{children:o}=e,{validityData:s,invalid:c}=Y(!1),d=fe.useMemo(()=>le(s,c),[s,c]),l=d.state.valid===!1,{transitionStatus:R}=Ce(l),f=fe.useMemo(()=>({...d,validity:d.state,transitionStatus:R}),[d,R]);return(0,Ft.jsx)(fe.Fragment,{children:o(f)})},"FieldValidity");var Se=E(k(),1);var je=E(ae(),1);var It=Se.forwardRef(t(function(e,o){let{render:s,className:c,style:d,disabled:l=!1,...R}=e,{state:f,disabled:u}=Y(!1),a=u||l,b={...f,disabled:a},C=Se.useMemo(()=>({disabled:a}),[a]),g=J("div",e,{ref:o,state:b,props:R,stateAttributesMapping:H});return(0,je.jsx)(Ve,{children:(0,je.jsx)(ke.Provider,{value:C,children:g})})},"FieldItem"));var Vt=E(ae(),1);var Be=Et.forwardRef(t(function(e,o){return(0,Vt.jsx)(Te.Control,{ref:o,...e})},"Input"));var Dt=E(ae(),1);function Pi(r){let e=(0,ht.c)(10),o,s,c;e[0]!==r?({className:o,type:c,...s}=r,e[0]=r,e[1]=o,e[2]=s,e[3]=c):(o=e[1],s=e[2],c=e[3]);let d;e[4]!==o?(d=ze("h-8 w-full min-w-0 rounded-md border border-input bg-transparent px-2.5 py-1 text-xs transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-xs file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-1 aria-invalid:ring-destructive/20 md:text-xs dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",o),e[4]=o,e[5]=d):d=e[5];let l;return e[6]!==s||e[7]!==d||e[8]!==c?(l=(0,Dt.jsx)(Be,{type:c,"data-slot":"input",className:d,...s}),e[6]=s,e[7]=d,e[8]=c,e[9]=l):l=e[9],l}t(Pi,"m");export{H as a,Y as b,Z as c,U as d,st as e,dt as f,Ne as g,xt as h,Pi as i};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as pe,d as ne,e as kt,f as me}from"./chunk-4JLGLPWV.js";import{a as de,b as Ut}from"./chunk-3Q2P62UR.js";import{D as gt,b as ie,c as fe,e as Lt,f as ue}from"./chunk-TDXV3OT5.js";import{a as ht,c as lt}from"./chunk-AAVLPU5Q.js";import{c as At,j as X}from"./chunk-225VJ77I.js";import{a as o,c as Ge,d as O,e as Q,f as Ke,g as _t,i as oe}from"./chunk-YKXDMIHQ.js";var je=O(Ke(),1);var at={};Ge(at,{Content:()=>Le,Corner:()=>Fe,Root:()=>ye,Scrollbar:()=>_e,Thumb:()=>ke,Viewport:()=>We});var s=O(Q(),1);var $t=O(Q(),1);var le=$t.createContext(void 0);function j(){let e=$t.useContext(le);if(e===void 0)throw new Error(At(53));return e}o(j,"useScrollAreaRootContext");function I(e,t,l){if(!e)return 0;let v=getComputedStyle(e),g=`${t}${l==="x"?"Inline":"Block"}`,p=parseFloat(v[`${g}Start`]);return l==="x"&&t==="margin"?p*2:p+parseFloat(v[`${g}End`])}o(I,"getOffset");var he="data-has-overflow-x",Se="data-has-overflow-y",xe="data-overflow-x-start",be="data-overflow-x-end",Re="data-overflow-y-start",we="data-overflow-y-end";var Et=o(e=>t=>t?{[e]:""}:null,"attr"),st={hasOverflowX:Et(he),hasOverflowY:Et(Se),overflowXStart:Et(xe),overflowXEnd:Et(be),overflowYStart:Et(Re),overflowYEnd:Et(we),cornerHidden:o(()=>null,"cornerHidden")};var Ft="--scroll-area-corner-height",jt="--scroll-area-corner-width";var Ae="data-orientation";var Ee=O(_t(),1);var Je={x:0,y:0},ge={width:0,height:0},Qe={xStart:!1,xEnd:!1,yStart:!1,yEnd:!1},tr={x:!0,y:!0,corner:!0},ye=s.forwardRef(o(function(t,l){let{render:v,className:g,overflowEdgeThreshold:p,style:x,...c}=t,{xStart:m,xEnd:b,yStart:E,yEnd:P}=er(p),_=ie(),y=gt(),T=gt(),{nonce:L,disableStyleElements:U}=me(),[it,k]=s.useState(!1),[B,tt]=s.useState(!1),[et,rt]=s.useState(!1),[ft,M]=s.useState(!1),[xt,d]=s.useState(!1),[$,G]=s.useState(ge),[bt,ut]=s.useState(ge),[R,ot]=s.useState(Qe),[H,h]=s.useState(tr),K=s.useRef(null),n=s.useRef(null),a=s.useRef(null),f=s.useRef(null),u=s.useRef(null),S=s.useRef(null),F=s.useRef(null),A=s.useRef(null),C=s.useRef(0),N=s.useRef(0),Z=s.useRef(0),dt=s.useRef(0),D=s.useRef("vertical"),Y=s.useRef(Je),W=s.useRef(null);function z(r){let i=r?rt:tt,w=r?y:T;i(!0),w.start(500,()=>{i(!1)})}o(z,"startScrolling");let q=lt(r=>{let i=r.x-Y.current.x,w=r.y-Y.current.y;Y.current=r,w!==0&&z(!0),i!==0&&z(!1)}),J=lt(()=>{let r=n.current;r&&W.current===null&&(W.current=r.style.scrollSnapType,r.style.scrollSnapType="none")}),Mt=lt(r=>{if(r.button!==0||A.current!==null&&(D.current==="vertical"?u.current:S.current)?.hasPointerCapture(A.current))return;A.current=r.pointerId,C.current=r.clientY,N.current=r.clientX,D.current=r.currentTarget.getAttribute(Ae);let i=n.current;i&&(Z.current=i.scrollTop,dt.current=i.scrollLeft,J()),(D.current==="vertical"?u.current:S.current)?.setPointerCapture(r.pointerId)}),yt=lt(r=>{if(r.pointerId!==A.current)return;A.current=null,(D.current==="vertical"?rt:tt)(!1),W.current!==null&&(n.current&&(n.current.style.scrollSnapType=W.current),W.current=null);let i=D.current==="vertical"?u.current:S.current;i?.hasPointerCapture(r.pointerId)&&i.releasePointerCapture(r.pointerId)}),Rt=lt(r=>{if(r.pointerId!==A.current)return;if(r.buttons%2===0){yt(r);return}let i=n.current;if(!i)return;let w=D.current==="vertical",nt=w?u.current:S.current,vt=w?a.current:f.current;if(!nt||!vt)return;let Dt=w?"y":"x",Yt=I(vt,"padding",Dt),Xt=I(nt,"margin",Dt),Pt=w?nt.offsetHeight:nt.offsetWidth,Ot=(w?vt.offsetHeight:vt.offsetWidth)-Pt-Yt-Xt,Wt=w?r.clientY-C.current:r.clientX-N.current,ee=Ot<=0?0:Wt/Ot,re=w?i.scrollHeight:i.scrollWidth,Tt=w?i.clientHeight:i.clientWidth,It=(w?Z.current:dt.current)+ee*(re-Tt);w?i.scrollTop=It:i.scrollLeft=It,r.preventDefault(),z(w)});function wt(r){M(r.pointerType==="touch")}o(wt,"handleTouchModalityChange");function pt(r){if(wt(r),r.pointerType!=="touch"){let i=Lt(K.current,r.target);k(i)}}o(pt,"handlePointerEnterOrMove");let mt=s.useMemo(()=>({scrolling:B||et,hasOverflowX:!H.x,hasOverflowY:!H.y,overflowXStart:R.xStart,overflowXEnd:R.xEnd,overflowYStart:R.yStart,overflowYEnd:R.yEnd,cornerHidden:H.corner}),[B,et,H.x,H.y,H.corner,R]),Ct={role:"presentation",onPointerEnter:pt,onPointerMove:pt,onPointerDown:wt,onPointerLeave(){k(!1)},style:{position:"relative",[Ft]:`${$.height}px`,[jt]:`${$.width}px`}},Ht=X("div",t,{state:mt,ref:[l,K],props:[Ct,c],stateAttributesMapping:st}),Qt=s.useMemo(()=>({handlePointerDown:Mt,handlePointerMove:Rt,handlePointerUp:yt,handleScroll:q,disableViewportSnap:J,cornerSize:$,setCornerSize:G,thumbSize:bt,setThumbSize:ut,hasMeasuredScrollbar:xt,setHasMeasuredScrollbar:d,touchModality:ft,cornerRef:F,scrollingX:B,scrollingY:et,hovering:it,setHovering:k,viewportRef:n,scrollbarYRef:a,scrollbarXRef:f,thumbYRef:u,thumbXRef:S,rootId:_,hiddenState:H,setHiddenState:h,overflowEdges:R,setOverflowEdges:ot,viewportState:mt,overflowEdgeThreshold:{xStart:m,xEnd:b,yStart:E,yEnd:P}}),[Mt,Rt,yt,q,J,$,bt,xt,ft,B,et,it,_,H,R,mt,m,b,E,P]);return(0,Ee.jsxs)(le.Provider,{value:Qt,children:[!U&&kt.getElement(L),Ht]})},"ScrollAreaRoot"));function er(e){let t=typeof e=="number"?{xStart:e,xEnd:e,yStart:e,yEnd:e}:e;return{xStart:Math.max(0,t?.xStart||0),xEnd:Math.max(0,t?.xEnd||0),yStart:Math.max(0,t?.yStart||0),yEnd:Math.max(0,t?.yEnd||0)}}o(er,"normalizeOverflowEdgeThreshold");var St=O(Q(),1);var Bt=O(Q(),1);var se=Bt.createContext(void 0);function Ce(){let e=Bt.useContext(se);if(e===void 0)throw new Error(At(55));return e}o(Ce,"useScrollAreaViewportContext");var Oe="--scroll-area-overflow-x-start",Te="--scroll-area-overflow-x-end",Ne="--scroll-area-overflow-y-start",Ve="--scroll-area-overflow-y-end";var Gt="--scroll-area-thumb-height",Kt="--scroll-area-thumb-width";var Xe=O(_t(),1);var Pe=[Oe,Te,Ne,Ve],De=!1;function or(){De||fe.engine.webkit||(typeof CSS<"u"&&"registerProperty"in CSS&&Pe.forEach(e=>{try{CSS.registerProperty({name:e,syntax:"<length>",inherits:!1,initialValue:"0px"})}catch{}}),De=!0)}o(or,"removeCSSVariableInheritance");var We=St.forwardRef(o(function(t,l){let{render:v,className:g,style:p,...x}=t,{viewportRef:c,scrollbarYRef:m,scrollbarXRef:b,thumbYRef:E,thumbXRef:P,cornerRef:_,cornerSize:y,setCornerSize:T,setThumbSize:L,rootId:U,setHiddenState:it,hiddenState:k,setHasMeasuredScrollbar:B,handleScroll:tt,touchModality:et,setHovering:rt,setOverflowEdges:ft,overflowEdgeThreshold:M,viewportState:xt}=j(),d=Ut(),$=St.useRef(!0),G=St.useRef([NaN,NaN,NaN,NaN]),bt=gt(),ut=gt(),R=lt(()=>{let n=c.current,a=m.current,f=b.current,u=E.current,S=P.current,F=_.current;if(!n)return;let A=n.scrollHeight,C=n.scrollWidth,N=n.clientHeight,Z=n.clientWidth,dt=n.scrollTop,D=n.scrollLeft,Y=G.current,W=Number.isNaN(Y[0]);if(Y[0]=N,Y[1]=A,Y[2]=Z,Y[3]=C,W&&B(!0),A===0||C===0)return;let z=nr(n),q=z.y,J=z.x,Mt=Z/C,yt=N/A,Rt=Math.max(0,C-Z),wt=Math.max(0,A-N),pt=0,mt=0;J||(pt=ne(d==="rtl"?-D:D,Rt),mt=Rt-pt);let Ct=q?0:ne(dt,wt),Ht=q?0:wt-Ct,Qt=J?0:Z,r=q?0:N,i=0,w=0;!J&&!q&&(i=a?.offsetWidth||0,w=f?.offsetHeight||0);let nt=y.width===0&&y.height===0,vt=nt?i:0,Dt=nt?w:0,Yt=I(f,"padding","x"),Xt=I(a,"padding","y"),Pt=I(S,"margin","x"),te=I(u,"margin","y"),Ot=Qt-Yt-Pt,Wt=r-Xt-te,ee=f?Math.min(f.offsetWidth-vt,Ot):Ot,re=a?Math.min(a.offsetHeight-Dt,Wt):Wt,Tt=Math.max(16,ee*Mt),zt=Math.max(16,re*yt);if(L(V=>Zt(V,{width:Tt,height:zt})),a&&u){let V=a.offsetHeight-zt-Xt-te,Nt=Ye(u,Gt,dt,wt,A,zt,V);u.style.transform=`translate3d(0,${Nt}px,0)`}if(f&&S){let V=f.offsetWidth-Tt-Yt-Pt,Nt=d==="rtl"?-D:D,ce=Ye(S,Kt,Nt,Rt,C,Tt,V);S.style.transform=`translate3d(${d==="rtl"?-ce:ce}px,0,0)`}let It=[pt,mt,Ct,Ht];Pe.forEach((V,Nt)=>{n.style.setProperty(V,`${It[Nt]}px`)}),F&&T(V=>Zt(V,{width:i,height:w})),it(V=>Zt(V,z));let Be={xStart:!J&&pt>M.xStart,xEnd:!J&&mt>M.xEnd,yStart:!q&&Ct>M.yStart,yEnd:!q&&Ht>M.yEnd};ft(V=>Zt(V,Be))});ht(()=>{or()},[]),ht(()=>{queueMicrotask(R)},[R,k,d,M.xStart,M.xEnd,M.yStart,M.yEnd]),ht(()=>{c.current?.matches(":hover")&&rt(!0)},[c,rt]),ht(()=>{let n=c.current;if(typeof ResizeObserver>"u"||!n)return;let a=!1,f=new ResizeObserver(()=>{if(!a){a=!0;let u=G.current;if(u[0]===n.clientHeight&&u[1]===n.scrollHeight&&u[2]===n.clientWidth&&u[3]===n.scrollWidth)return}R()});return f.observe(n),ut.start(0,()=>{let u=n.getAnimations({subtree:!0});u.length!==0&&Promise.allSettled(u.map(S=>S.finished)).then(R).catch(()=>{})}),()=>{f.disconnect(),ut.clear()}},[R,c,ut]);function ot(){$.current=!1}o(ot,"handleUserInteraction");let H={role:"presentation",...U&&{"data-id":`${U}-viewport`},tabIndex:k.x&&k.y?-1:0,className:kt.className,style:{overflow:"scroll"},onScroll(){c.current&&(R(),(et||!$.current)&&tt({x:c.current.scrollLeft,y:c.current.scrollTop}),bt.start(100,()=>{$.current=!0}))},onWheel:ot,onPointerMove:ot,onPointerEnter:ot,onKeyDown:ot},h=X("div",t,{ref:[l,c],state:xt,props:[H,x],stateAttributesMapping:st}),K=St.useMemo(()=>({computeThumbPosition:R}),[R]);return(0,Xe.jsx)(se.Provider,{value:K,children:h})},"ScrollAreaViewport"));function nr(e){let t=e.clientHeight>=e.scrollHeight,l=e.clientWidth>=e.scrollWidth;return{y:t,x:l,corner:t||l}}o(nr,"getHiddenState");function Zt(e,t){for(let l in t)if(e[l]!==t[l])return t;return e}o(Zt,"pickState");function Ye(e,t,l,v,g,p,x){let c=pe(l,0,v),m=l-c,b=Math.max(16,p*g/(g+Math.abs(m)));return e.style.setProperty(t,m?`${b}px`:""),(v?c/v*x:0)+(m>0?p-b:0)}o(Ye,"applyOverscrollThumb");var Jt=O(Q(),1);var qt=O(Q(),1);var ae=qt.createContext(void 0);function ze(){let e=qt.useContext(ae);if(e===void 0)throw new Error(At(54));return e}o(ze,"useScrollAreaScrollbarContext");var Ie=O(_t(),1);var _e=Jt.forwardRef(o(function(t,l){let{render:v,className:g,orientation:p="vertical",keepMounted:x=!1,style:c,...m}=t,{hovering:b,scrollingX:E,scrollingY:P,hiddenState:_,scrollbarYRef:y,scrollbarXRef:T,viewportRef:L,thumbYRef:U,thumbXRef:it,handlePointerDown:k,handlePointerUp:B,handleScroll:tt,disableViewportSnap:et,rootId:rt,thumbSize:ft,hasMeasuredScrollbar:M,viewportState:xt}=j(),d=p==="vertical",$={...xt,hovering:b,scrolling:d?P:E,orientation:p},G=Ut(),bt=!M&&!x,ut=d?_.y:_.x,R=x||!ut;Jt.useEffect(()=>{if(!R)return;let h=L.current,K=d?y.current:T.current;if(!K)return;function n(a){if(!h||a.ctrlKey)return;let f=!d,u=f?"scrollLeft":"scrollTop",S=f?a.deltaX:a.deltaY;if(S===0)return;let F=f?h.scrollWidth-h.clientWidth:h.scrollHeight-h.clientHeight,A=f&&G==="rtl"?-F:0,C=f&&G==="rtl"?0:F,N=h[u];N<=A&&S<0||N>=C&&S>0||(a.preventDefault(),h[u]=Math.min(C,Math.max(A,N+S)),tt({x:h.scrollLeft,y:h.scrollTop}))}return o(n,"handleWheel"),de(K,"wheel",n,{passive:!1})},[G,tt,d,T,y,R,L]);let ot={...rt&&{"data-id":`${rt}-scrollbar`},"aria-hidden":!0,onPointerDown(h){if(h.button!==0)return;let K=ue(h.nativeEvent),n=d?U.current:it.current;if(n&&Lt(n,K))return;let a=L.current;if(!a)return;let f=d?y.current:T.current;if(!n||!f)return;let u=d?"y":"x",S=I(n,"margin",u),F=I(f,"padding",u),A=d?n.offsetHeight:n.offsetWidth,C=f.getBoundingClientRect(),N=d?h.clientY-C.top-A/2-F+S/2:h.clientX-C.left-A/2-F+S/2,Z=d?a.scrollHeight:a.scrollWidth,dt=d?a.clientHeight:a.clientWidth,Y=(d?f.offsetHeight:f.offsetWidth)-A-F-S;if(Y<=0)return;let W=N/Y,z=Z-dt;et(),d?a.scrollTop=W*z:G==="rtl"?a.scrollLeft=-(1-W)*z:a.scrollLeft=W*z,tt({x:a.scrollLeft,y:a.scrollTop}),k(h)},onMouseDown(h){h.preventDefault()},onPointerUp:B,onPointerCancel:B,style:{position:"absolute",touchAction:"none",WebkitUserSelect:"none",userSelect:"none",visibility:bt?"hidden":void 0,...d?{top:0,bottom:`var(${Ft})`,insetInlineEnd:0,[Gt]:`${ft.height}px`}:{insetInlineStart:0,insetInlineEnd:`var(${jt})`,bottom:0,[Kt]:`${ft.width}px`}}},H=X("div",t,{ref:[l,d?y:T],state:$,props:[ot,m],stateAttributesMapping:st});return R?(0,Ie.jsx)(ae.Provider,{value:p,children:H}):null},"ScrollAreaScrollbar"));var Vt=O(Q(),1);var Le=Vt.forwardRef(o(function(t,l){let{render:v,className:g,style:p,...x}=t,{computeThumbPosition:c}=Ce(),{hasMeasuredScrollbar:m,viewportState:b}=j(),E=Vt.useRef(null),P=Vt.useRef(m);return ht(()=>{if(typeof ResizeObserver>"u")return;let y=!1,T=new ResizeObserver(()=>{!y&&(y=!0,!P.current)||c()});return E.current&&T.observe(E.current),()=>{T.disconnect()}},[c]),X("div",t,{ref:[l,E],state:b,stateAttributesMapping:st,props:[{role:"presentation",style:{minWidth:"fit-content"}},x]})},"ScrollAreaContent"));var Ue=O(Q(),1);var ke=Ue.forwardRef(o(function(t,l){let{render:v,className:g,style:p,...x}=t,{thumbYRef:c,thumbXRef:m,handlePointerDown:b,handlePointerMove:E,handlePointerUp:P,scrollingX:_,scrollingY:y,hasMeasuredScrollbar:T}=j(),L=ze(),U=L==="vertical";return X("div",t,{ref:[l,U?c:m],state:{scrolling:U?y:_,orientation:L},props:[{onPointerDown:b,onPointerMove:E,onPointerUp:P,onPointerCancel:P,style:{visibility:T?void 0:"hidden",...U?{height:"var(--scroll-area-thumb-height)"}:{width:"var(--scroll-area-thumb-width)"}}},x]})},"ScrollAreaThumb"));var $e=O(Q(),1);var Fe=$e.forwardRef(o(function(t,l){let{render:v,className:g,style:p,...x}=t,{cornerRef:c,cornerSize:m,hiddenState:b}=j(),E=X("div",t,{ref:[l,c],props:[{"aria-hidden":!0,style:{position:"absolute",bottom:0,insetInlineEnd:0,width:m.width,height:m.height}},x]});return b.corner?null:E},"ScrollAreaCorner"));var ct=O(_t(),1);function No(e){let t=(0,je.c)(14),l,v,g;t[0]!==e?({className:v,children:l,...g}=e,t[0]=e,t[1]=l,t[2]=v,t[3]=g):(l=t[1],v=t[2],g=t[3]);let p;t[4]!==v?(p=oe("relative",v),t[4]=v,t[5]=p):p=t[5];let x;t[6]!==l?(x=(0,ct.jsx)(at.Viewport,{"data-slot":"scroll-area-viewport",className:"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",children:l}),t[6]=l,t[7]=x):x=t[7];let c,m;t[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,ct.jsx)(lr,{}),m=(0,ct.jsx)(at.Corner,{}),t[8]=c,t[9]=m):(c=t[8],m=t[9]);let b;return t[10]!==g||t[11]!==p||t[12]!==x?(b=(0,ct.jsxs)(at.Root,{"data-slot":"scroll-area",className:p,...g,children:[x,c,m]}),t[10]=g,t[11]=p,t[12]=x,t[13]=b):b=t[13],b}o(No,"z");function lr({className:e,orientation:t="vertical",...l}){return(0,ct.jsx)(at.Scrollbar,{"data-slot":"scroll-area-scrollbar","data-orientation":t,orientation:t,className:oe("flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-s data-vertical:border-s-transparent",e),...l,children:(0,ct.jsx)(at.Thumb,{"data-slot":"scroll-area-thumb",className:"relative flex-1 rounded-md bg-border"})})}o(lr,"h");export{No as a};
|
|
1
|
+
import{a as pe,d as ne,e as kt,f as me}from"./chunk-NRP22GKC.js";import{a as de,b as Ut}from"./chunk-UC7MNI2F.js";import{D as gt,b as ie,c as fe,e as Lt,f as ue}from"./chunk-MVWZMWPD.js";import{a as ht,c as lt}from"./chunk-AUAECCXB.js";import{c as At,j as X}from"./chunk-BOMPSVRC.js";import{a as o,c as Ge,d as O,e as Q,f as Ke,g as _t,i as oe}from"./chunk-I26MS5PJ.js";var je=O(Ke(),1);var at={};Ge(at,{Content:()=>Le,Corner:()=>Fe,Root:()=>ye,Scrollbar:()=>_e,Thumb:()=>ke,Viewport:()=>We});var s=O(Q(),1);var $t=O(Q(),1);var le=$t.createContext(void 0);function j(){let e=$t.useContext(le);if(e===void 0)throw new Error(At(53));return e}o(j,"useScrollAreaRootContext");function I(e,t,l){if(!e)return 0;let v=getComputedStyle(e),g=`${t}${l==="x"?"Inline":"Block"}`,p=parseFloat(v[`${g}Start`]);return l==="x"&&t==="margin"?p*2:p+parseFloat(v[`${g}End`])}o(I,"getOffset");var he="data-has-overflow-x",Se="data-has-overflow-y",xe="data-overflow-x-start",be="data-overflow-x-end",Re="data-overflow-y-start",we="data-overflow-y-end";var Et=o(e=>t=>t?{[e]:""}:null,"attr"),st={hasOverflowX:Et(he),hasOverflowY:Et(Se),overflowXStart:Et(xe),overflowXEnd:Et(be),overflowYStart:Et(Re),overflowYEnd:Et(we),cornerHidden:o(()=>null,"cornerHidden")};var Ft="--scroll-area-corner-height",jt="--scroll-area-corner-width";var Ae="data-orientation";var Ee=O(_t(),1);var Je={x:0,y:0},ge={width:0,height:0},Qe={xStart:!1,xEnd:!1,yStart:!1,yEnd:!1},tr={x:!0,y:!0,corner:!0},ye=s.forwardRef(o(function(t,l){let{render:v,className:g,overflowEdgeThreshold:p,style:x,...c}=t,{xStart:m,xEnd:b,yStart:E,yEnd:P}=er(p),_=ie(),y=gt(),T=gt(),{nonce:L,disableStyleElements:U}=me(),[it,k]=s.useState(!1),[B,tt]=s.useState(!1),[et,rt]=s.useState(!1),[ft,M]=s.useState(!1),[xt,d]=s.useState(!1),[$,G]=s.useState(ge),[bt,ut]=s.useState(ge),[R,ot]=s.useState(Qe),[H,h]=s.useState(tr),K=s.useRef(null),n=s.useRef(null),a=s.useRef(null),f=s.useRef(null),u=s.useRef(null),S=s.useRef(null),F=s.useRef(null),A=s.useRef(null),C=s.useRef(0),N=s.useRef(0),Z=s.useRef(0),dt=s.useRef(0),D=s.useRef("vertical"),Y=s.useRef(Je),W=s.useRef(null);function z(r){let i=r?rt:tt,w=r?y:T;i(!0),w.start(500,()=>{i(!1)})}o(z,"startScrolling");let q=lt(r=>{let i=r.x-Y.current.x,w=r.y-Y.current.y;Y.current=r,w!==0&&z(!0),i!==0&&z(!1)}),J=lt(()=>{let r=n.current;r&&W.current===null&&(W.current=r.style.scrollSnapType,r.style.scrollSnapType="none")}),Mt=lt(r=>{if(r.button!==0||A.current!==null&&(D.current==="vertical"?u.current:S.current)?.hasPointerCapture(A.current))return;A.current=r.pointerId,C.current=r.clientY,N.current=r.clientX,D.current=r.currentTarget.getAttribute(Ae);let i=n.current;i&&(Z.current=i.scrollTop,dt.current=i.scrollLeft,J()),(D.current==="vertical"?u.current:S.current)?.setPointerCapture(r.pointerId)}),yt=lt(r=>{if(r.pointerId!==A.current)return;A.current=null,(D.current==="vertical"?rt:tt)(!1),W.current!==null&&(n.current&&(n.current.style.scrollSnapType=W.current),W.current=null);let i=D.current==="vertical"?u.current:S.current;i?.hasPointerCapture(r.pointerId)&&i.releasePointerCapture(r.pointerId)}),Rt=lt(r=>{if(r.pointerId!==A.current)return;if(r.buttons%2===0){yt(r);return}let i=n.current;if(!i)return;let w=D.current==="vertical",nt=w?u.current:S.current,vt=w?a.current:f.current;if(!nt||!vt)return;let Dt=w?"y":"x",Yt=I(vt,"padding",Dt),Xt=I(nt,"margin",Dt),Pt=w?nt.offsetHeight:nt.offsetWidth,Ot=(w?vt.offsetHeight:vt.offsetWidth)-Pt-Yt-Xt,Wt=w?r.clientY-C.current:r.clientX-N.current,ee=Ot<=0?0:Wt/Ot,re=w?i.scrollHeight:i.scrollWidth,Tt=w?i.clientHeight:i.clientWidth,It=(w?Z.current:dt.current)+ee*(re-Tt);w?i.scrollTop=It:i.scrollLeft=It,r.preventDefault(),z(w)});function wt(r){M(r.pointerType==="touch")}o(wt,"handleTouchModalityChange");function pt(r){if(wt(r),r.pointerType!=="touch"){let i=Lt(K.current,r.target);k(i)}}o(pt,"handlePointerEnterOrMove");let mt=s.useMemo(()=>({scrolling:B||et,hasOverflowX:!H.x,hasOverflowY:!H.y,overflowXStart:R.xStart,overflowXEnd:R.xEnd,overflowYStart:R.yStart,overflowYEnd:R.yEnd,cornerHidden:H.corner}),[B,et,H.x,H.y,H.corner,R]),Ct={role:"presentation",onPointerEnter:pt,onPointerMove:pt,onPointerDown:wt,onPointerLeave(){k(!1)},style:{position:"relative",[Ft]:`${$.height}px`,[jt]:`${$.width}px`}},Ht=X("div",t,{state:mt,ref:[l,K],props:[Ct,c],stateAttributesMapping:st}),Qt=s.useMemo(()=>({handlePointerDown:Mt,handlePointerMove:Rt,handlePointerUp:yt,handleScroll:q,disableViewportSnap:J,cornerSize:$,setCornerSize:G,thumbSize:bt,setThumbSize:ut,hasMeasuredScrollbar:xt,setHasMeasuredScrollbar:d,touchModality:ft,cornerRef:F,scrollingX:B,scrollingY:et,hovering:it,setHovering:k,viewportRef:n,scrollbarYRef:a,scrollbarXRef:f,thumbYRef:u,thumbXRef:S,rootId:_,hiddenState:H,setHiddenState:h,overflowEdges:R,setOverflowEdges:ot,viewportState:mt,overflowEdgeThreshold:{xStart:m,xEnd:b,yStart:E,yEnd:P}}),[Mt,Rt,yt,q,J,$,bt,xt,ft,B,et,it,_,H,R,mt,m,b,E,P]);return(0,Ee.jsxs)(le.Provider,{value:Qt,children:[!U&&kt.getElement(L),Ht]})},"ScrollAreaRoot"));function er(e){let t=typeof e=="number"?{xStart:e,xEnd:e,yStart:e,yEnd:e}:e;return{xStart:Math.max(0,t?.xStart||0),xEnd:Math.max(0,t?.xEnd||0),yStart:Math.max(0,t?.yStart||0),yEnd:Math.max(0,t?.yEnd||0)}}o(er,"normalizeOverflowEdgeThreshold");var St=O(Q(),1);var Bt=O(Q(),1);var se=Bt.createContext(void 0);function Ce(){let e=Bt.useContext(se);if(e===void 0)throw new Error(At(55));return e}o(Ce,"useScrollAreaViewportContext");var Oe="--scroll-area-overflow-x-start",Te="--scroll-area-overflow-x-end",Ne="--scroll-area-overflow-y-start",Ve="--scroll-area-overflow-y-end";var Gt="--scroll-area-thumb-height",Kt="--scroll-area-thumb-width";var Xe=O(_t(),1);var Pe=[Oe,Te,Ne,Ve],De=!1;function or(){De||fe.engine.webkit||(typeof CSS<"u"&&"registerProperty"in CSS&&Pe.forEach(e=>{try{CSS.registerProperty({name:e,syntax:"<length>",inherits:!1,initialValue:"0px"})}catch{}}),De=!0)}o(or,"removeCSSVariableInheritance");var We=St.forwardRef(o(function(t,l){let{render:v,className:g,style:p,...x}=t,{viewportRef:c,scrollbarYRef:m,scrollbarXRef:b,thumbYRef:E,thumbXRef:P,cornerRef:_,cornerSize:y,setCornerSize:T,setThumbSize:L,rootId:U,setHiddenState:it,hiddenState:k,setHasMeasuredScrollbar:B,handleScroll:tt,touchModality:et,setHovering:rt,setOverflowEdges:ft,overflowEdgeThreshold:M,viewportState:xt}=j(),d=Ut(),$=St.useRef(!0),G=St.useRef([NaN,NaN,NaN,NaN]),bt=gt(),ut=gt(),R=lt(()=>{let n=c.current,a=m.current,f=b.current,u=E.current,S=P.current,F=_.current;if(!n)return;let A=n.scrollHeight,C=n.scrollWidth,N=n.clientHeight,Z=n.clientWidth,dt=n.scrollTop,D=n.scrollLeft,Y=G.current,W=Number.isNaN(Y[0]);if(Y[0]=N,Y[1]=A,Y[2]=Z,Y[3]=C,W&&B(!0),A===0||C===0)return;let z=nr(n),q=z.y,J=z.x,Mt=Z/C,yt=N/A,Rt=Math.max(0,C-Z),wt=Math.max(0,A-N),pt=0,mt=0;J||(pt=ne(d==="rtl"?-D:D,Rt),mt=Rt-pt);let Ct=q?0:ne(dt,wt),Ht=q?0:wt-Ct,Qt=J?0:Z,r=q?0:N,i=0,w=0;!J&&!q&&(i=a?.offsetWidth||0,w=f?.offsetHeight||0);let nt=y.width===0&&y.height===0,vt=nt?i:0,Dt=nt?w:0,Yt=I(f,"padding","x"),Xt=I(a,"padding","y"),Pt=I(S,"margin","x"),te=I(u,"margin","y"),Ot=Qt-Yt-Pt,Wt=r-Xt-te,ee=f?Math.min(f.offsetWidth-vt,Ot):Ot,re=a?Math.min(a.offsetHeight-Dt,Wt):Wt,Tt=Math.max(16,ee*Mt),zt=Math.max(16,re*yt);if(L(V=>Zt(V,{width:Tt,height:zt})),a&&u){let V=a.offsetHeight-zt-Xt-te,Nt=Ye(u,Gt,dt,wt,A,zt,V);u.style.transform=`translate3d(0,${Nt}px,0)`}if(f&&S){let V=f.offsetWidth-Tt-Yt-Pt,Nt=d==="rtl"?-D:D,ce=Ye(S,Kt,Nt,Rt,C,Tt,V);S.style.transform=`translate3d(${d==="rtl"?-ce:ce}px,0,0)`}let It=[pt,mt,Ct,Ht];Pe.forEach((V,Nt)=>{n.style.setProperty(V,`${It[Nt]}px`)}),F&&T(V=>Zt(V,{width:i,height:w})),it(V=>Zt(V,z));let Be={xStart:!J&&pt>M.xStart,xEnd:!J&&mt>M.xEnd,yStart:!q&&Ct>M.yStart,yEnd:!q&&Ht>M.yEnd};ft(V=>Zt(V,Be))});ht(()=>{or()},[]),ht(()=>{queueMicrotask(R)},[R,k,d,M.xStart,M.xEnd,M.yStart,M.yEnd]),ht(()=>{c.current?.matches(":hover")&&rt(!0)},[c,rt]),ht(()=>{let n=c.current;if(typeof ResizeObserver>"u"||!n)return;let a=!1,f=new ResizeObserver(()=>{if(!a){a=!0;let u=G.current;if(u[0]===n.clientHeight&&u[1]===n.scrollHeight&&u[2]===n.clientWidth&&u[3]===n.scrollWidth)return}R()});return f.observe(n),ut.start(0,()=>{let u=n.getAnimations({subtree:!0});u.length!==0&&Promise.allSettled(u.map(S=>S.finished)).then(R).catch(()=>{})}),()=>{f.disconnect(),ut.clear()}},[R,c,ut]);function ot(){$.current=!1}o(ot,"handleUserInteraction");let H={role:"presentation",...U&&{"data-id":`${U}-viewport`},tabIndex:k.x&&k.y?-1:0,className:kt.className,style:{overflow:"scroll"},onScroll(){c.current&&(R(),(et||!$.current)&&tt({x:c.current.scrollLeft,y:c.current.scrollTop}),bt.start(100,()=>{$.current=!0}))},onWheel:ot,onPointerMove:ot,onPointerEnter:ot,onKeyDown:ot},h=X("div",t,{ref:[l,c],state:xt,props:[H,x],stateAttributesMapping:st}),K=St.useMemo(()=>({computeThumbPosition:R}),[R]);return(0,Xe.jsx)(se.Provider,{value:K,children:h})},"ScrollAreaViewport"));function nr(e){let t=e.clientHeight>=e.scrollHeight,l=e.clientWidth>=e.scrollWidth;return{y:t,x:l,corner:t||l}}o(nr,"getHiddenState");function Zt(e,t){for(let l in t)if(e[l]!==t[l])return t;return e}o(Zt,"pickState");function Ye(e,t,l,v,g,p,x){let c=pe(l,0,v),m=l-c,b=Math.max(16,p*g/(g+Math.abs(m)));return e.style.setProperty(t,m?`${b}px`:""),(v?c/v*x:0)+(m>0?p-b:0)}o(Ye,"applyOverscrollThumb");var Jt=O(Q(),1);var qt=O(Q(),1);var ae=qt.createContext(void 0);function ze(){let e=qt.useContext(ae);if(e===void 0)throw new Error(At(54));return e}o(ze,"useScrollAreaScrollbarContext");var Ie=O(_t(),1);var _e=Jt.forwardRef(o(function(t,l){let{render:v,className:g,orientation:p="vertical",keepMounted:x=!1,style:c,...m}=t,{hovering:b,scrollingX:E,scrollingY:P,hiddenState:_,scrollbarYRef:y,scrollbarXRef:T,viewportRef:L,thumbYRef:U,thumbXRef:it,handlePointerDown:k,handlePointerUp:B,handleScroll:tt,disableViewportSnap:et,rootId:rt,thumbSize:ft,hasMeasuredScrollbar:M,viewportState:xt}=j(),d=p==="vertical",$={...xt,hovering:b,scrolling:d?P:E,orientation:p},G=Ut(),bt=!M&&!x,ut=d?_.y:_.x,R=x||!ut;Jt.useEffect(()=>{if(!R)return;let h=L.current,K=d?y.current:T.current;if(!K)return;function n(a){if(!h||a.ctrlKey)return;let f=!d,u=f?"scrollLeft":"scrollTop",S=f?a.deltaX:a.deltaY;if(S===0)return;let F=f?h.scrollWidth-h.clientWidth:h.scrollHeight-h.clientHeight,A=f&&G==="rtl"?-F:0,C=f&&G==="rtl"?0:F,N=h[u];N<=A&&S<0||N>=C&&S>0||(a.preventDefault(),h[u]=Math.min(C,Math.max(A,N+S)),tt({x:h.scrollLeft,y:h.scrollTop}))}return o(n,"handleWheel"),de(K,"wheel",n,{passive:!1})},[G,tt,d,T,y,R,L]);let ot={...rt&&{"data-id":`${rt}-scrollbar`},"aria-hidden":!0,onPointerDown(h){if(h.button!==0)return;let K=ue(h.nativeEvent),n=d?U.current:it.current;if(n&&Lt(n,K))return;let a=L.current;if(!a)return;let f=d?y.current:T.current;if(!n||!f)return;let u=d?"y":"x",S=I(n,"margin",u),F=I(f,"padding",u),A=d?n.offsetHeight:n.offsetWidth,C=f.getBoundingClientRect(),N=d?h.clientY-C.top-A/2-F+S/2:h.clientX-C.left-A/2-F+S/2,Z=d?a.scrollHeight:a.scrollWidth,dt=d?a.clientHeight:a.clientWidth,Y=(d?f.offsetHeight:f.offsetWidth)-A-F-S;if(Y<=0)return;let W=N/Y,z=Z-dt;et(),d?a.scrollTop=W*z:G==="rtl"?a.scrollLeft=-(1-W)*z:a.scrollLeft=W*z,tt({x:a.scrollLeft,y:a.scrollTop}),k(h)},onMouseDown(h){h.preventDefault()},onPointerUp:B,onPointerCancel:B,style:{position:"absolute",touchAction:"none",WebkitUserSelect:"none",userSelect:"none",visibility:bt?"hidden":void 0,...d?{top:0,bottom:`var(${Ft})`,insetInlineEnd:0,[Gt]:`${ft.height}px`}:{insetInlineStart:0,insetInlineEnd:`var(${jt})`,bottom:0,[Kt]:`${ft.width}px`}}},H=X("div",t,{ref:[l,d?y:T],state:$,props:[ot,m],stateAttributesMapping:st});return R?(0,Ie.jsx)(ae.Provider,{value:p,children:H}):null},"ScrollAreaScrollbar"));var Vt=O(Q(),1);var Le=Vt.forwardRef(o(function(t,l){let{render:v,className:g,style:p,...x}=t,{computeThumbPosition:c}=Ce(),{hasMeasuredScrollbar:m,viewportState:b}=j(),E=Vt.useRef(null),P=Vt.useRef(m);return ht(()=>{if(typeof ResizeObserver>"u")return;let y=!1,T=new ResizeObserver(()=>{!y&&(y=!0,!P.current)||c()});return E.current&&T.observe(E.current),()=>{T.disconnect()}},[c]),X("div",t,{ref:[l,E],state:b,stateAttributesMapping:st,props:[{role:"presentation",style:{minWidth:"fit-content"}},x]})},"ScrollAreaContent"));var Ue=O(Q(),1);var ke=Ue.forwardRef(o(function(t,l){let{render:v,className:g,style:p,...x}=t,{thumbYRef:c,thumbXRef:m,handlePointerDown:b,handlePointerMove:E,handlePointerUp:P,scrollingX:_,scrollingY:y,hasMeasuredScrollbar:T}=j(),L=ze(),U=L==="vertical";return X("div",t,{ref:[l,U?c:m],state:{scrolling:U?y:_,orientation:L},props:[{onPointerDown:b,onPointerMove:E,onPointerUp:P,onPointerCancel:P,style:{visibility:T?void 0:"hidden",...U?{height:"var(--scroll-area-thumb-height)"}:{width:"var(--scroll-area-thumb-width)"}}},x]})},"ScrollAreaThumb"));var $e=O(Q(),1);var Fe=$e.forwardRef(o(function(t,l){let{render:v,className:g,style:p,...x}=t,{cornerRef:c,cornerSize:m,hiddenState:b}=j(),E=X("div",t,{ref:[l,c],props:[{"aria-hidden":!0,style:{position:"absolute",bottom:0,insetInlineEnd:0,width:m.width,height:m.height}},x]});return b.corner?null:E},"ScrollAreaCorner"));var ct=O(_t(),1);function No(e){let t=(0,je.c)(14),l,v,g;t[0]!==e?({className:v,children:l,...g}=e,t[0]=e,t[1]=l,t[2]=v,t[3]=g):(l=t[1],v=t[2],g=t[3]);let p;t[4]!==v?(p=oe("relative",v),t[4]=v,t[5]=p):p=t[5];let x;t[6]!==l?(x=(0,ct.jsx)(at.Viewport,{"data-slot":"scroll-area-viewport",className:"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",children:l}),t[6]=l,t[7]=x):x=t[7];let c,m;t[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,ct.jsx)(lr,{}),m=(0,ct.jsx)(at.Corner,{}),t[8]=c,t[9]=m):(c=t[8],m=t[9]);let b;return t[10]!==g||t[11]!==p||t[12]!==x?(b=(0,ct.jsxs)(at.Root,{"data-slot":"scroll-area",className:p,...g,children:[x,c,m]}),t[10]=g,t[11]=p,t[12]=x,t[13]=b):b=t[13],b}o(No,"z");function lr({className:e,orientation:t="vertical",...l}){return(0,ct.jsx)(at.Scrollbar,{"data-slot":"scroll-area-scrollbar","data-orientation":t,orientation:t,className:oe("flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-s data-vertical:border-s-transparent",e),...l,children:(0,ct.jsx)(at.Thumb,{"data-slot":"scroll-area-thumb",className:"relative flex-1 rounded-md bg-border"})})}o(lr,"h");export{No as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as E,e as _}from"./chunk-O3EVDJD5.js";import{a as de}from"./chunk-PFIUSVS6.js";import{a as $}from"./chunk-NYKWTNZX.js";import{a as ce}from"./chunk-B2HYHTIX.js";import"./chunk-4GTO7FL5.js";import"./chunk-NKZCEQJ7.js";import"./chunk-5JDWLCSH.js";import"./chunk-EVTM6Q43.js";import{a as le}from"./chunk-S3CRZLGS.js";import{a as re}from"./chunk-LIOUCOP2.js";import"./chunk-OGUKYRFM.js";import"./chunk-OKG3HWSJ.js";import"./chunk-6D6Z2KXU.js";import"./chunk-6QA34EWC.js";import"./chunk-TDXV3OT5.js";import"./chunk-Y6CXU7T4.js";import"./chunk-4L4WTGN5.js";import"./chunk-AAVLPU5Q.js";import{b as K}from"./chunk-FEWMAPNI.js";import"./chunk-225VJ77I.js";import{a as ie}from"./chunk-YLPFIPVU.js";import"./chunk-ULIQFBZU.js";import"./chunk-XC734N2Q.js";import"./chunk-35DM4JJG.js";import{a as J}from"./chunk-4ZEL6BYL.js";import{c as H}from"./chunk-ZD2UXTLR.js";import"./chunk-EGVOSH7K.js";import"./chunk-FSRSK4LY.js";import"./chunk-RDL5WK55.js";import{a as ne}from"./chunk-FKVZRPV5.js";import{a as R,b as W,c as Z,d as A,e as M,f as S}from"./chunk-HEAQVSNS.js";import{a as q,b as D,c as U,e as oe}from"./chunk-N6NMLJ6R.js";import{d as F,t as ae}from"./chunk-PTZD7RUZ.js";import{a as p,d as se,f as be,g as ge}from"./chunk-YKXDMIHQ.js";var O=se(be(),1);var o=se(ge(),1);var G="gen_ai.usage.input_tokens",Q="gen_ai.usage.output_tokens",V="gen_ai.usage.cost",fe="gen_ai.request.model",Te="lunora.usage.cost.source",xe=new Set(["ai.embed","ai.generate","ai.stream"]),ue=6e4,Ce=1440,ve="unknown",X=p(()=>({calls:0,estimatedCost:0,inputTokens:0,outputTokens:0,providerCost:0}),"q"),Y=p((n,e)=>{let s=n?.[e];return typeof s=="string"&&s!==""?s:void 0},"J"),z=p((n,e)=>{let s=n?.[e];return typeof s=="number"&&Number.isFinite(s)?s:void 0},"L"),ee=p(n=>Y(n,Te)==="provider"?"provider":"estimated","Q"),me=p((n,e)=>n.reduce((s,a)=>s+e(a),0),"Y"),B=p(n=>n.providerCost+n.estimatedCost,"F"),ke=p(n=>n.estimatedCost>0?n.providerCost>0?"mixed":"estimated":n.providerCost>0?"provider":"none","ae"),ye=p((n,e)=>({calls:n.calls+e.calls,estimatedCost:n.estimatedCost+e.estimatedCost,inputTokens:n.inputTokens+e.inputTokens,outputTokens:n.outputTokens+e.outputTokens,providerCost:n.providerCost+e.providerCost}),"ce"),Ie=p(n=>{let e=X(),s=0,a=0,t=0;for(let c of n){let l=me(c.points,i=>i.sum),r=me(c.points,i=>i.count);c.name===G?(e.inputTokens+=l,s+=r):c.name===Q?(e.outputTokens+=l,a+=r):(t+=r,ee(c.attributes)==="provider"?e.providerCost+=l:e.estimatedCost+=l)}return e.calls=Math.max(s,a,t),e},"ge"),Ne=p((n,e)=>B(e)-B(n)||e.inputTokens+e.outputTokens-(n.inputTokens+n.outputTokens)||n.key.localeCompare(e.key),"Ne"),pe=p((n,e)=>{let s=new Map;for(let a of n){let t=e(a);s.set(t,{key:t,...ye(s.get(t)??X(),a)})}return[...s.values()].toSorted(Ne)},"Z"),we=p(n=>(n?.series??[]).filter(e=>e.name===G||e.name===Q||e.name===V),"xe"),Me=p(n=>Y(n.attributes,fe)??ve,"Se"),Se=p(n=>{let e=new Map;for(let s of n){let a=Me(s),t=JSON.stringify([s.functionPath,a]),c=e.get(t)??{functionPath:s.functionPath,model:a,series:[]};c.series.push(s),e.set(t,c)}return[...e.values()].map(({functionPath:s,model:a,series:t})=>({functionPath:s,model:a,...Ie(t)}))},"Ie"),_e=p(n=>{let e=new Map;for(let r of n){if(r.name!==V)continue;let i=ee(r.attributes)==="provider";for(let u of r.points){let m=e.get(u.bucketMs)??{bucketMs:u.bucketMs,estimatedCost:0,providerCost:0};i?m.providerCost+=u.sum:m.estimatedCost+=u.sum,e.set(u.bucketMs,m)}}let s=[...e.keys()].toSorted((r,i)=>r-i),a=s[0],t=s.at(-1);if(a===void 0||t===void 0)return[];let c=Math.max(a,t-(Ce-1)*ue),l=[];for(let r=c;r<=t;r+=ue)l.push(e.get(r)??{bucketMs:r,estimatedCost:0,providerCost:0});return l},"_e"),Pe=p(n=>{let e=[];for(let s of n)for(let a of s.spans){if(!xe.has(a.name))continue;let{attributes:t}=a,c=z(t,V),l=z(t,G),r=z(t,Q);e.push({...c===void 0?{}:{cost:c,costSource:ee(t)},functionPath:s.functionPath,...l===void 0?{}:{inputTokens:l},model:Y(t,fe)??ve,ok:a.ok,...r===void 0?{}:{outputTokens:r},startTs:s.startTs+a.offsetMs,streaming:a.name==="ai.stream",traceId:s.traceId})}return e.toSorted((s,a)=>a.startTs-s.startTs)},"Me"),Fe=p(n=>n.map(e=>{let s=e.cost??0;return{calls:1,estimatedCost:e.costSource==="provider"?0:s,functionPath:e.functionPath,inputTokens:e.inputTokens??0,model:e.model,outputTokens:e.outputTokens??0,providerCost:e.costSource==="provider"?s:0}}),"Oe"),Oe=p((n,e)=>{let s=we(n),a=Pe(e),t=s.length>0,c=t?Se(s):Fe(a),l=X(),r="none";for(let i of c)l=ye(l,i);return t?r="history":a.length>0&&(r="live"),{byFunction:pe(c,i=>i.functionPath),byModel:pe(c,i=>i.model),calls:a,source:r,totals:l,trend:t?_e(s):[]}},"Ae"),Ke=p(n=>Array.isArray(n?.traces)?n.traces:[],"Ee"),Ae=25,te=p(n=>{let e=(0,O.c)(16),{provenance:s,value:a}=n,t=F();if(s==="none"){let m;return e[0]===Symbol.for("react.memo_cache_sentinel")?(m=(0,o.jsx)("span",{className:"text-muted-foreground",children:"\u2014"}),e[0]=m):m=e[0],m}let c;e[1]!==s||e[2]!==a?(c=s==="provider"?E(a):`~${E(a)}`,e[1]=s,e[2]=a,e[3]=c):c=e[3];let l;e[4]!==c?(l=(0,o.jsx)("span",{className:"tabular-nums",children:c}),e[4]=c,e[5]=l):l=e[5];let r;e[6]!==s||e[7]!==t?(r=s==="estimated"?(0,o.jsx)(K,{title:t("Derived from a price table, not reported by the provider."),variant:"warning",children:t("Estimated")}):null,e[6]=s,e[7]=t,e[8]=r):r=e[8];let i;e[9]!==s||e[10]!==t?(i=s==="mixed"?(0,o.jsx)(K,{title:t("Includes cost derived from a price table, not reported by the provider."),variant:"warning",children:t("Partly estimated")}):null,e[9]=s,e[10]=t,e[11]=i):i=e[11];let u;return e[12]!==l||e[13]!==r||e[14]!==i?(u=(0,o.jsxs)("span",{className:"inline-flex items-center gap-2",children:[l,r,i]}),e[12]=l,e[13]=r,e[14]=i,e[15]=u):u=e[15],u},"V"),he=p(n=>{let e=(0,O.c)(40),{keyLabel:s,rows:a,testId:t,title:c}=n,l=F(),r;e[0]!==c?(r=(0,o.jsx)(D,{className:"px-4 py-3",children:(0,o.jsx)(U,{children:c})}),e[0]=c,e[1]=r):r=e[1];let i;e[2]!==s?(i=(0,o.jsx)(M,{children:s}),e[2]=s,e[3]=i):i=e[3];let u;e[4]!==l?(u=l("Calls"),e[4]=l,e[5]=u):u=e[5];let m;e[6]!==u?(m=(0,o.jsx)(M,{className:"text-end",children:u}),e[6]=u,e[7]=m):m=e[7];let k;e[8]!==l?(k=l("Input tokens"),e[8]=l,e[9]=k):k=e[9];let y;e[10]!==k?(y=(0,o.jsx)(M,{className:"text-end",children:k}),e[10]=k,e[11]=y):y=e[11];let b;e[12]!==l?(b=l("Output tokens"),e[12]=l,e[13]=b):b=e[13];let T;e[14]!==b?(T=(0,o.jsx)(M,{className:"text-end",children:b}),e[14]=b,e[15]=T):T=e[15];let g;e[16]!==l?(g=l("Cost"),e[16]=l,e[17]=g):g=e[17];let d;e[18]!==g?(d=(0,o.jsx)(M,{className:"text-end",children:g}),e[18]=g,e[19]=d):d=e[19];let x;e[20]!==d||e[21]!==i||e[22]!==m||e[23]!==y||e[24]!==T?(x=(0,o.jsx)(W,{children:(0,o.jsxs)(A,{children:[i,m,y,T,d]})}),e[20]=d,e[21]=i,e[22]=m,e[23]=y,e[24]=T,e[25]=x):x=e[25];let h;if(e[26]!==a||e[27]!==t){let N;e[29]!==t?(N=p(w=>(0,o.jsxs)(A,{"data-testid":`${t}-row`,children:[(0,o.jsx)(S,{className:"max-w-[280px] truncate font-mono",title:w.key,children:w.key}),(0,o.jsx)(S,{className:"text-end tabular-nums",children:_(w.calls)}),(0,o.jsx)(S,{className:"text-end tabular-nums",children:_(w.inputTokens)}),(0,o.jsx)(S,{className:"text-end tabular-nums",children:_(w.outputTokens)}),(0,o.jsx)(S,{className:"text-end",children:(0,o.jsx)(te,{provenance:ke(w),value:B(w)})})]},w.key),"x"),e[29]=t,e[30]=N):N=e[30],h=a.map(N),e[26]=a,e[27]=t,e[28]=h}else h=e[28];let f;e[31]!==h?(f=(0,o.jsx)(Z,{children:h}),e[31]=h,e[32]=f):f=e[32];let v;e[33]!==x||e[34]!==f?(v=(0,o.jsxs)(R,{children:[x,f]}),e[33]=x,e[34]=f,e[35]=v):v=e[35];let C;return e[36]!==r||e[37]!==v||e[38]!==t?(C=(0,o.jsxs)(q,{className:"gap-0 py-0","data-testid":t,children:[r,v]}),e[36]=r,e[37]=v,e[38]=t,e[39]=C):C=e[39],C},"ee"),$e=p(n=>{let e=(0,O.c)(55),{calls:s,onOpenTrace:a}=n,t=F(),c;e[0]!==t?(c=t("Recent calls"),e[0]=t,e[1]=c):c=e[1];let l;e[2]!==c?(l=(0,o.jsx)(D,{className:"px-4 py-3",children:(0,o.jsx)(U,{children:c})}),e[2]=c,e[3]=l):l=e[3];let r;e[4]!==t?(r=t("When"),e[4]=t,e[5]=r):r=e[5];let i;e[6]!==r?(i=(0,o.jsx)(M,{children:r}),e[6]=r,e[7]=i):i=e[7];let u;e[8]!==t?(u=t("Function"),e[8]=t,e[9]=u):u=e[9];let m;e[10]!==u?(m=(0,o.jsx)(M,{children:u}),e[10]=u,e[11]=m):m=e[11];let k;e[12]!==t?(k=t("Model"),e[12]=t,e[13]=k):k=e[13];let y;e[14]!==k?(y=(0,o.jsx)(M,{children:k}),e[14]=k,e[15]=y):y=e[15];let b;e[16]!==t?(b=t("Input tokens"),e[16]=t,e[17]=b):b=e[17];let T;e[18]!==b?(T=(0,o.jsx)(M,{className:"text-end",children:b}),e[18]=b,e[19]=T):T=e[19];let g;e[20]!==t?(g=t("Output tokens"),e[20]=t,e[21]=g):g=e[21];let d;e[22]!==g?(d=(0,o.jsx)(M,{className:"text-end",children:g}),e[22]=g,e[23]=d):d=e[23];let x;e[24]!==t?(x=t("Cost"),e[24]=t,e[25]=x):x=e[25];let h;e[26]!==x?(h=(0,o.jsx)(M,{className:"text-end",children:x}),e[26]=x,e[27]=h):h=e[27];let f;e[28]!==t?(f=t("Trace"),e[28]=t,e[29]=f):f=e[29];let v;e[30]!==f?(v=(0,o.jsx)(M,{children:f}),e[30]=f,e[31]=v):v=e[31];let C;e[32]!==T||e[33]!==d||e[34]!==h||e[35]!==v||e[36]!==i||e[37]!==m||e[38]!==y?(C=(0,o.jsx)(W,{children:(0,o.jsxs)(A,{children:[i,m,y,T,d,h,v]})}),e[32]=T,e[33]=d,e[34]=h,e[35]=v,e[36]=i,e[37]=m,e[38]=y,e[39]=C):C=e[39];let N;if(e[40]!==s||e[41]!==a||e[42]!==t){let j;e[44]!==a||e[45]!==t?(j=p(I=>(0,o.jsxs)(A,{"data-testid":"ai-call",children:[(0,o.jsx)(S,{className:"font-mono text-muted-foreground",children:ae(I.startTs)}),(0,o.jsx)(S,{className:"font-mono",children:(0,o.jsxs)("span",{className:"inline-flex items-center gap-2",children:[I.functionPath,I.streaming?(0,o.jsx)(K,{variant:"outline",children:t("stream")}):null,I.ok?null:(0,o.jsx)(K,{variant:"destructive",children:t("failed")})]})}),(0,o.jsx)(S,{className:"max-w-[240px] truncate font-mono",title:I.model,children:I.model}),(0,o.jsx)(S,{className:"text-end tabular-nums",children:I.inputTokens===void 0?"\u2014":_(I.inputTokens)}),(0,o.jsx)(S,{className:"text-end tabular-nums",children:I.outputTokens===void 0?"\u2014":_(I.outputTokens)}),(0,o.jsx)(S,{className:"text-end",children:(0,o.jsx)(te,{provenance:I.cost===void 0?"none":I.costSource??"estimated",value:I.cost??0})}),(0,o.jsx)(S,{children:(0,o.jsx)("button",{className:"font-mono text-muted-foreground underline-offset-2 hover:underline",onClick:p(()=>{a(I.traceId)},"onClick"),title:t("Open the trace {trace}",{trace:I.traceId}),type:"button",children:I.traceId.slice(0,8)})})]},`${I.traceId}:${I.startTs.toString()}:${I.model}`),"U"),e[44]=a,e[45]=t,e[46]=j):j=e[46],N=s.slice(0,Ae).map(j),e[40]=s,e[41]=a,e[42]=t,e[43]=N}else N=e[43];let w;e[47]!==N?(w=(0,o.jsx)(Z,{children:N}),e[47]=N,e[48]=w):w=e[48];let P;e[49]!==C||e[50]!==w?(P=(0,o.jsxs)(R,{children:[C,w]}),e[49]=C,e[50]=w,e[51]=P):P=e[51];let L;return e[52]!==l||e[53]!==P?(L=(0,o.jsxs)(q,{className:"gap-0 py-0","data-testid":"ai-calls",children:[l,P]}),e[52]=l,e[53]=P,e[54]=L):L=e[54],L},"Pe"),Ee=p(n=>{let e=(0,O.c)(48),{totals:s,trend:a}=n,t=F(),c;e[0]!==s?(c=ke(s),e[0]=s,e[1]=c):c=e[1];let l=c,r;e[2]!==t||e[3]!==a?(r=a.length>=2?(0,o.jsx)(de,{ariaLabel:t("Cost per minute"),className:"h-7 w-24",series:a,testId:"ai-trend"}):void 0,e[2]=t,e[3]=a,e[4]=r):r=e[4];let i;e[5]!==l||e[6]!==t||e[7]!==s.estimatedCost||e[8]!==s.providerCost?(i=l==="none"?t("No cost reported"):(0,o.jsx)("span",{"data-testid":"ai-cost-split",children:t("{provider} provider-reported \xB7 {estimated} estimated",{estimated:E(s.estimatedCost),provider:E(s.providerCost)})}),e[5]=l,e[6]=t,e[7]=s.estimatedCost,e[8]=s.providerCost,e[9]=i):i=e[9];let u;e[10]!==t?(u=t("Total cost"),e[10]=t,e[11]=u):u=e[11];let m;e[12]!==s?(m=B(s),e[12]=s,e[13]=m):m=e[13];let k;e[14]!==l||e[15]!==m?(k=(0,o.jsx)(te,{provenance:l,value:m}),e[14]=l,e[15]=m,e[16]=k):k=e[16];let y;e[17]!==r||e[18]!==i||e[19]!==u||e[20]!==k?(y=(0,o.jsx)($,{chart:r,footer:i,label:u,testId:"ai-total-cost",value:k}),e[17]=r,e[18]=i,e[19]=u,e[20]=k,e[21]=y):y=e[21];let b;e[22]!==t?(b=t("Input tokens"),e[22]=t,e[23]=b):b=e[23];let T;e[24]!==s.inputTokens?(T=_(s.inputTokens),e[24]=s.inputTokens,e[25]=T):T=e[25];let g;e[26]!==b||e[27]!==T?(g=(0,o.jsx)($,{label:b,testId:"ai-input-tokens",value:T}),e[26]=b,e[27]=T,e[28]=g):g=e[28];let d;e[29]!==t?(d=t("Output tokens"),e[29]=t,e[30]=d):d=e[30];let x;e[31]!==s.outputTokens?(x=_(s.outputTokens),e[31]=s.outputTokens,e[32]=x):x=e[32];let h;e[33]!==d||e[34]!==x?(h=(0,o.jsx)($,{label:d,testId:"ai-output-tokens",value:x}),e[33]=d,e[34]=x,e[35]=h):h=e[35];let f;e[36]!==t?(f=t("Calls"),e[36]=t,e[37]=f):f=e[37];let v;e[38]!==s.calls?(v=_(s.calls),e[38]=s.calls,e[39]=v):v=e[39];let C;e[40]!==f||e[41]!==v?(C=(0,o.jsx)($,{label:f,testId:"ai-calls-total",value:v}),e[40]=f,e[41]=v,e[42]=C):C=e[42];let N;return e[43]!==g||e[44]!==h||e[45]!==C||e[46]!==y?(N=(0,o.jsxs)("dl",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-4","data-testid":"ai-totals",children:[y,g,h,C]}),e[43]=g,e[44]=h,e[45]=C,e[46]=y,e[47]=N):N=e[47],N},"Ue"),Ye=p(n=>{let e=(0,O.c)(28),{initialShardKey:s}=n,a=F(),{queryShardKey:t,setShardKey:c,shardKey:l}=le(s),r=ce(t),i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i={},e[0]=i):i=e[0];let u;e[1]!==t?(u={live:!0,shardKey:t},e[1]=t,e[2]=u):u=e[2];let{data:m,error:k}=H(J.getTraces,i,u),y;e[3]===Symbol.for("react.memo_cache_sentinel")?(y={},e[3]=y):y=e[3];let b;e[4]!==t?(b={live:!0,shardKey:t},e[4]=t,e[5]=b):b=e[5];let{data:T}=H(J.getMetricHistory,y,b),g,d;e[6]!==m||e[7]!==T?(d=Oe(T,Ke(m)),g=d.trend.map(Le),e[6]=m,e[7]=T,e[8]=g,e[9]=d):(g=e[8],d=e[9]);let x=g,h;e[10]!==c||e[11]!==l?(h=(0,o.jsx)(re,{onChange:c,testId:"ai-shard-input",value:l}),e[10]=c,e[11]=l,e[12]=h):h=e[12];let f;e[13]!==k?(f=k===null?null:(0,o.jsx)(ie,{error:k,testId:"ai-error"}),e[13]=k,e[14]=f):f=e[14];let v;e[15]!==r||e[16]!==a||e[17]!==x||e[18]!==d.byFunction||e[19]!==d.byModel||e[20]!==d.calls||e[21]!==d.source||e[22]!==d.totals?(v=d.source==="none"?(0,o.jsx)(ne,{description:a("Spend shows up here once an action calls ctx.ai.model(...) \u2014 tokens and cost per function and per model."),testId:"ai-empty",title:a("No AI usage recorded")}):(0,o.jsxs)(o.Fragment,{children:[d.source==="live"?(0,o.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"ai-live-only",children:a("No durable history yet \u2014 these totals come from the live trace ring and reset when the shard hibernates.")}):(0,o.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"ai-window",children:a("Totals cover the retained metric history (up to the last 24 hours).")}),(0,o.jsx)(Ee,{totals:d.totals,trend:x}),(0,o.jsxs)("div",{className:"grid gap-3 xl:grid-cols-2",children:[(0,o.jsx)(he,{keyLabel:a("Function"),rows:d.byFunction,testId:"ai-by-function",title:a("By function")}),(0,o.jsx)(he,{keyLabel:a("Model"),rows:d.byModel,testId:"ai-by-model",title:a("By model")})]}),d.calls.length===0?(0,o.jsx)(q,{children:(0,o.jsx)(oe,{className:"p-4 text-xs text-muted-foreground","data-testid":"ai-no-calls",children:a("No recent calls in the live trace ring \u2014 it empties when the shard hibernates.")})}):(0,o.jsx)($e,{calls:d.calls,onOpenTrace:r})]}),e[15]=r,e[16]=a,e[17]=x,e[18]=d.byFunction,e[19]=d.byModel,e[20]=d.calls,e[21]=d.source,e[22]=d.totals,e[23]=v):v=e[23];let C;return e[24]!==h||e[25]!==f||e[26]!==v?(C=(0,o.jsxs)("section",{className:"flex flex-col gap-4","data-testid":"ai-panel",children:[h,f,v]}),e[24]=h,e[25]=f,e[26]=v,e[27]=C):C=e[27],C},"Ze");function Le(n){return n.providerCost+n.estimatedCost}p(Le,"Ke");export{Ye as default};
|
|
1
|
+
import{d as E,e as _}from"./chunk-CVXNHIQW.js";import{a as de}from"./chunk-5NOZE2BB.js";import{a as $}from"./chunk-253UHWDX.js";import{a as ce}from"./chunk-6QTAHSDD.js";import"./chunk-VESGIGMQ.js";import"./chunk-H2QIHAXY.js";import"./chunk-AUGKHAMQ.js";import"./chunk-WJRYEML4.js";import{a as le}from"./chunk-R6U22RSY.js";import{a as re}from"./chunk-YVR4SEPU.js";import"./chunk-ZKJS6EBE.js";import"./chunk-RGMVGZV4.js";import"./chunk-OQ6I6OXT.js";import"./chunk-E4PXACVL.js";import"./chunk-MVWZMWPD.js";import"./chunk-SJQERRSZ.js";import"./chunk-7Y3SY37W.js";import"./chunk-AUAECCXB.js";import{b as K}from"./chunk-Q6ED4KUL.js";import"./chunk-BOMPSVRC.js";import{a as ie}from"./chunk-ZWXQKMYE.js";import"./chunk-NCPW7WHO.js";import"./chunk-4ZDBUYGM.js";import"./chunk-55UGUCQ6.js";import{a as J}from"./chunk-4ZEL6BYL.js";import{c as H}from"./chunk-HECPC2VY.js";import"./chunk-WNZLTRKF.js";import"./chunk-QAQDMS6R.js";import"./chunk-PCBRDDD7.js";import{a as ne}from"./chunk-RWVIV3U7.js";import{a as R,b as W,c as Z,d as A,e as M,f as S}from"./chunk-HCTJKP5J.js";import{a as q,b as D,c as U,e as oe}from"./chunk-2IKDEUCX.js";import{d as F,t as ae}from"./chunk-HJHSQPHW.js";import{a as p,d as se,f as be,g as ge}from"./chunk-I26MS5PJ.js";var O=se(be(),1);var o=se(ge(),1);var G="gen_ai.usage.input_tokens",Q="gen_ai.usage.output_tokens",V="gen_ai.usage.cost",fe="gen_ai.request.model",Te="lunora.usage.cost.source",xe=new Set(["ai.embed","ai.generate","ai.stream"]),ue=6e4,Ce=1440,ve="unknown",X=p(()=>({calls:0,estimatedCost:0,inputTokens:0,outputTokens:0,providerCost:0}),"q"),Y=p((n,e)=>{let s=n?.[e];return typeof s=="string"&&s!==""?s:void 0},"J"),z=p((n,e)=>{let s=n?.[e];return typeof s=="number"&&Number.isFinite(s)?s:void 0},"L"),ee=p(n=>Y(n,Te)==="provider"?"provider":"estimated","Q"),me=p((n,e)=>n.reduce((s,a)=>s+e(a),0),"Y"),B=p(n=>n.providerCost+n.estimatedCost,"F"),ke=p(n=>n.estimatedCost>0?n.providerCost>0?"mixed":"estimated":n.providerCost>0?"provider":"none","ae"),ye=p((n,e)=>({calls:n.calls+e.calls,estimatedCost:n.estimatedCost+e.estimatedCost,inputTokens:n.inputTokens+e.inputTokens,outputTokens:n.outputTokens+e.outputTokens,providerCost:n.providerCost+e.providerCost}),"ce"),Ie=p(n=>{let e=X(),s=0,a=0,t=0;for(let c of n){let l=me(c.points,i=>i.sum),r=me(c.points,i=>i.count);c.name===G?(e.inputTokens+=l,s+=r):c.name===Q?(e.outputTokens+=l,a+=r):(t+=r,ee(c.attributes)==="provider"?e.providerCost+=l:e.estimatedCost+=l)}return e.calls=Math.max(s,a,t),e},"ge"),Ne=p((n,e)=>B(e)-B(n)||e.inputTokens+e.outputTokens-(n.inputTokens+n.outputTokens)||n.key.localeCompare(e.key),"Ne"),pe=p((n,e)=>{let s=new Map;for(let a of n){let t=e(a);s.set(t,{key:t,...ye(s.get(t)??X(),a)})}return[...s.values()].toSorted(Ne)},"Z"),we=p(n=>(n?.series??[]).filter(e=>e.name===G||e.name===Q||e.name===V),"xe"),Me=p(n=>Y(n.attributes,fe)??ve,"Se"),Se=p(n=>{let e=new Map;for(let s of n){let a=Me(s),t=JSON.stringify([s.functionPath,a]),c=e.get(t)??{functionPath:s.functionPath,model:a,series:[]};c.series.push(s),e.set(t,c)}return[...e.values()].map(({functionPath:s,model:a,series:t})=>({functionPath:s,model:a,...Ie(t)}))},"Ie"),_e=p(n=>{let e=new Map;for(let r of n){if(r.name!==V)continue;let i=ee(r.attributes)==="provider";for(let u of r.points){let m=e.get(u.bucketMs)??{bucketMs:u.bucketMs,estimatedCost:0,providerCost:0};i?m.providerCost+=u.sum:m.estimatedCost+=u.sum,e.set(u.bucketMs,m)}}let s=[...e.keys()].toSorted((r,i)=>r-i),a=s[0],t=s.at(-1);if(a===void 0||t===void 0)return[];let c=Math.max(a,t-(Ce-1)*ue),l=[];for(let r=c;r<=t;r+=ue)l.push(e.get(r)??{bucketMs:r,estimatedCost:0,providerCost:0});return l},"_e"),Pe=p(n=>{let e=[];for(let s of n)for(let a of s.spans){if(!xe.has(a.name))continue;let{attributes:t}=a,c=z(t,V),l=z(t,G),r=z(t,Q);e.push({...c===void 0?{}:{cost:c,costSource:ee(t)},functionPath:s.functionPath,...l===void 0?{}:{inputTokens:l},model:Y(t,fe)??ve,ok:a.ok,...r===void 0?{}:{outputTokens:r},startTs:s.startTs+a.offsetMs,streaming:a.name==="ai.stream",traceId:s.traceId})}return e.toSorted((s,a)=>a.startTs-s.startTs)},"Me"),Fe=p(n=>n.map(e=>{let s=e.cost??0;return{calls:1,estimatedCost:e.costSource==="provider"?0:s,functionPath:e.functionPath,inputTokens:e.inputTokens??0,model:e.model,outputTokens:e.outputTokens??0,providerCost:e.costSource==="provider"?s:0}}),"Oe"),Oe=p((n,e)=>{let s=we(n),a=Pe(e),t=s.length>0,c=t?Se(s):Fe(a),l=X(),r="none";for(let i of c)l=ye(l,i);return t?r="history":a.length>0&&(r="live"),{byFunction:pe(c,i=>i.functionPath),byModel:pe(c,i=>i.model),calls:a,source:r,totals:l,trend:t?_e(s):[]}},"Ae"),Ke=p(n=>Array.isArray(n?.traces)?n.traces:[],"Ee"),Ae=25,te=p(n=>{let e=(0,O.c)(16),{provenance:s,value:a}=n,t=F();if(s==="none"){let m;return e[0]===Symbol.for("react.memo_cache_sentinel")?(m=(0,o.jsx)("span",{className:"text-muted-foreground",children:"\u2014"}),e[0]=m):m=e[0],m}let c;e[1]!==s||e[2]!==a?(c=s==="provider"?E(a):`~${E(a)}`,e[1]=s,e[2]=a,e[3]=c):c=e[3];let l;e[4]!==c?(l=(0,o.jsx)("span",{className:"tabular-nums",children:c}),e[4]=c,e[5]=l):l=e[5];let r;e[6]!==s||e[7]!==t?(r=s==="estimated"?(0,o.jsx)(K,{title:t("Derived from a price table, not reported by the provider."),variant:"warning",children:t("Estimated")}):null,e[6]=s,e[7]=t,e[8]=r):r=e[8];let i;e[9]!==s||e[10]!==t?(i=s==="mixed"?(0,o.jsx)(K,{title:t("Includes cost derived from a price table, not reported by the provider."),variant:"warning",children:t("Partly estimated")}):null,e[9]=s,e[10]=t,e[11]=i):i=e[11];let u;return e[12]!==l||e[13]!==r||e[14]!==i?(u=(0,o.jsxs)("span",{className:"inline-flex items-center gap-2",children:[l,r,i]}),e[12]=l,e[13]=r,e[14]=i,e[15]=u):u=e[15],u},"V"),he=p(n=>{let e=(0,O.c)(40),{keyLabel:s,rows:a,testId:t,title:c}=n,l=F(),r;e[0]!==c?(r=(0,o.jsx)(D,{className:"px-4 py-3",children:(0,o.jsx)(U,{children:c})}),e[0]=c,e[1]=r):r=e[1];let i;e[2]!==s?(i=(0,o.jsx)(M,{children:s}),e[2]=s,e[3]=i):i=e[3];let u;e[4]!==l?(u=l("Calls"),e[4]=l,e[5]=u):u=e[5];let m;e[6]!==u?(m=(0,o.jsx)(M,{className:"text-end",children:u}),e[6]=u,e[7]=m):m=e[7];let k;e[8]!==l?(k=l("Input tokens"),e[8]=l,e[9]=k):k=e[9];let y;e[10]!==k?(y=(0,o.jsx)(M,{className:"text-end",children:k}),e[10]=k,e[11]=y):y=e[11];let b;e[12]!==l?(b=l("Output tokens"),e[12]=l,e[13]=b):b=e[13];let T;e[14]!==b?(T=(0,o.jsx)(M,{className:"text-end",children:b}),e[14]=b,e[15]=T):T=e[15];let g;e[16]!==l?(g=l("Cost"),e[16]=l,e[17]=g):g=e[17];let d;e[18]!==g?(d=(0,o.jsx)(M,{className:"text-end",children:g}),e[18]=g,e[19]=d):d=e[19];let x;e[20]!==d||e[21]!==i||e[22]!==m||e[23]!==y||e[24]!==T?(x=(0,o.jsx)(W,{children:(0,o.jsxs)(A,{children:[i,m,y,T,d]})}),e[20]=d,e[21]=i,e[22]=m,e[23]=y,e[24]=T,e[25]=x):x=e[25];let h;if(e[26]!==a||e[27]!==t){let N;e[29]!==t?(N=p(w=>(0,o.jsxs)(A,{"data-testid":`${t}-row`,children:[(0,o.jsx)(S,{className:"max-w-[280px] truncate font-mono",title:w.key,children:w.key}),(0,o.jsx)(S,{className:"text-end tabular-nums",children:_(w.calls)}),(0,o.jsx)(S,{className:"text-end tabular-nums",children:_(w.inputTokens)}),(0,o.jsx)(S,{className:"text-end tabular-nums",children:_(w.outputTokens)}),(0,o.jsx)(S,{className:"text-end",children:(0,o.jsx)(te,{provenance:ke(w),value:B(w)})})]},w.key),"x"),e[29]=t,e[30]=N):N=e[30],h=a.map(N),e[26]=a,e[27]=t,e[28]=h}else h=e[28];let f;e[31]!==h?(f=(0,o.jsx)(Z,{children:h}),e[31]=h,e[32]=f):f=e[32];let v;e[33]!==x||e[34]!==f?(v=(0,o.jsxs)(R,{children:[x,f]}),e[33]=x,e[34]=f,e[35]=v):v=e[35];let C;return e[36]!==r||e[37]!==v||e[38]!==t?(C=(0,o.jsxs)(q,{className:"gap-0 py-0","data-testid":t,children:[r,v]}),e[36]=r,e[37]=v,e[38]=t,e[39]=C):C=e[39],C},"ee"),$e=p(n=>{let e=(0,O.c)(55),{calls:s,onOpenTrace:a}=n,t=F(),c;e[0]!==t?(c=t("Recent calls"),e[0]=t,e[1]=c):c=e[1];let l;e[2]!==c?(l=(0,o.jsx)(D,{className:"px-4 py-3",children:(0,o.jsx)(U,{children:c})}),e[2]=c,e[3]=l):l=e[3];let r;e[4]!==t?(r=t("When"),e[4]=t,e[5]=r):r=e[5];let i;e[6]!==r?(i=(0,o.jsx)(M,{children:r}),e[6]=r,e[7]=i):i=e[7];let u;e[8]!==t?(u=t("Function"),e[8]=t,e[9]=u):u=e[9];let m;e[10]!==u?(m=(0,o.jsx)(M,{children:u}),e[10]=u,e[11]=m):m=e[11];let k;e[12]!==t?(k=t("Model"),e[12]=t,e[13]=k):k=e[13];let y;e[14]!==k?(y=(0,o.jsx)(M,{children:k}),e[14]=k,e[15]=y):y=e[15];let b;e[16]!==t?(b=t("Input tokens"),e[16]=t,e[17]=b):b=e[17];let T;e[18]!==b?(T=(0,o.jsx)(M,{className:"text-end",children:b}),e[18]=b,e[19]=T):T=e[19];let g;e[20]!==t?(g=t("Output tokens"),e[20]=t,e[21]=g):g=e[21];let d;e[22]!==g?(d=(0,o.jsx)(M,{className:"text-end",children:g}),e[22]=g,e[23]=d):d=e[23];let x;e[24]!==t?(x=t("Cost"),e[24]=t,e[25]=x):x=e[25];let h;e[26]!==x?(h=(0,o.jsx)(M,{className:"text-end",children:x}),e[26]=x,e[27]=h):h=e[27];let f;e[28]!==t?(f=t("Trace"),e[28]=t,e[29]=f):f=e[29];let v;e[30]!==f?(v=(0,o.jsx)(M,{children:f}),e[30]=f,e[31]=v):v=e[31];let C;e[32]!==T||e[33]!==d||e[34]!==h||e[35]!==v||e[36]!==i||e[37]!==m||e[38]!==y?(C=(0,o.jsx)(W,{children:(0,o.jsxs)(A,{children:[i,m,y,T,d,h,v]})}),e[32]=T,e[33]=d,e[34]=h,e[35]=v,e[36]=i,e[37]=m,e[38]=y,e[39]=C):C=e[39];let N;if(e[40]!==s||e[41]!==a||e[42]!==t){let j;e[44]!==a||e[45]!==t?(j=p(I=>(0,o.jsxs)(A,{"data-testid":"ai-call",children:[(0,o.jsx)(S,{className:"font-mono text-muted-foreground",children:ae(I.startTs)}),(0,o.jsx)(S,{className:"font-mono",children:(0,o.jsxs)("span",{className:"inline-flex items-center gap-2",children:[I.functionPath,I.streaming?(0,o.jsx)(K,{variant:"outline",children:t("stream")}):null,I.ok?null:(0,o.jsx)(K,{variant:"destructive",children:t("failed")})]})}),(0,o.jsx)(S,{className:"max-w-[240px] truncate font-mono",title:I.model,children:I.model}),(0,o.jsx)(S,{className:"text-end tabular-nums",children:I.inputTokens===void 0?"\u2014":_(I.inputTokens)}),(0,o.jsx)(S,{className:"text-end tabular-nums",children:I.outputTokens===void 0?"\u2014":_(I.outputTokens)}),(0,o.jsx)(S,{className:"text-end",children:(0,o.jsx)(te,{provenance:I.cost===void 0?"none":I.costSource??"estimated",value:I.cost??0})}),(0,o.jsx)(S,{children:(0,o.jsx)("button",{className:"font-mono text-muted-foreground underline-offset-2 hover:underline",onClick:p(()=>{a(I.traceId)},"onClick"),title:t("Open the trace {trace}",{trace:I.traceId}),type:"button",children:I.traceId.slice(0,8)})})]},`${I.traceId}:${I.startTs.toString()}:${I.model}`),"U"),e[44]=a,e[45]=t,e[46]=j):j=e[46],N=s.slice(0,Ae).map(j),e[40]=s,e[41]=a,e[42]=t,e[43]=N}else N=e[43];let w;e[47]!==N?(w=(0,o.jsx)(Z,{children:N}),e[47]=N,e[48]=w):w=e[48];let P;e[49]!==C||e[50]!==w?(P=(0,o.jsxs)(R,{children:[C,w]}),e[49]=C,e[50]=w,e[51]=P):P=e[51];let L;return e[52]!==l||e[53]!==P?(L=(0,o.jsxs)(q,{className:"gap-0 py-0","data-testid":"ai-calls",children:[l,P]}),e[52]=l,e[53]=P,e[54]=L):L=e[54],L},"Pe"),Ee=p(n=>{let e=(0,O.c)(48),{totals:s,trend:a}=n,t=F(),c;e[0]!==s?(c=ke(s),e[0]=s,e[1]=c):c=e[1];let l=c,r;e[2]!==t||e[3]!==a?(r=a.length>=2?(0,o.jsx)(de,{ariaLabel:t("Cost per minute"),className:"h-7 w-24",series:a,testId:"ai-trend"}):void 0,e[2]=t,e[3]=a,e[4]=r):r=e[4];let i;e[5]!==l||e[6]!==t||e[7]!==s.estimatedCost||e[8]!==s.providerCost?(i=l==="none"?t("No cost reported"):(0,o.jsx)("span",{"data-testid":"ai-cost-split",children:t("{provider} provider-reported \xB7 {estimated} estimated",{estimated:E(s.estimatedCost),provider:E(s.providerCost)})}),e[5]=l,e[6]=t,e[7]=s.estimatedCost,e[8]=s.providerCost,e[9]=i):i=e[9];let u;e[10]!==t?(u=t("Total cost"),e[10]=t,e[11]=u):u=e[11];let m;e[12]!==s?(m=B(s),e[12]=s,e[13]=m):m=e[13];let k;e[14]!==l||e[15]!==m?(k=(0,o.jsx)(te,{provenance:l,value:m}),e[14]=l,e[15]=m,e[16]=k):k=e[16];let y;e[17]!==r||e[18]!==i||e[19]!==u||e[20]!==k?(y=(0,o.jsx)($,{chart:r,footer:i,label:u,testId:"ai-total-cost",value:k}),e[17]=r,e[18]=i,e[19]=u,e[20]=k,e[21]=y):y=e[21];let b;e[22]!==t?(b=t("Input tokens"),e[22]=t,e[23]=b):b=e[23];let T;e[24]!==s.inputTokens?(T=_(s.inputTokens),e[24]=s.inputTokens,e[25]=T):T=e[25];let g;e[26]!==b||e[27]!==T?(g=(0,o.jsx)($,{label:b,testId:"ai-input-tokens",value:T}),e[26]=b,e[27]=T,e[28]=g):g=e[28];let d;e[29]!==t?(d=t("Output tokens"),e[29]=t,e[30]=d):d=e[30];let x;e[31]!==s.outputTokens?(x=_(s.outputTokens),e[31]=s.outputTokens,e[32]=x):x=e[32];let h;e[33]!==d||e[34]!==x?(h=(0,o.jsx)($,{label:d,testId:"ai-output-tokens",value:x}),e[33]=d,e[34]=x,e[35]=h):h=e[35];let f;e[36]!==t?(f=t("Calls"),e[36]=t,e[37]=f):f=e[37];let v;e[38]!==s.calls?(v=_(s.calls),e[38]=s.calls,e[39]=v):v=e[39];let C;e[40]!==f||e[41]!==v?(C=(0,o.jsx)($,{label:f,testId:"ai-calls-total",value:v}),e[40]=f,e[41]=v,e[42]=C):C=e[42];let N;return e[43]!==g||e[44]!==h||e[45]!==C||e[46]!==y?(N=(0,o.jsxs)("dl",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-4","data-testid":"ai-totals",children:[y,g,h,C]}),e[43]=g,e[44]=h,e[45]=C,e[46]=y,e[47]=N):N=e[47],N},"Ue"),Ye=p(n=>{let e=(0,O.c)(28),{initialShardKey:s}=n,a=F(),{queryShardKey:t,setShardKey:c,shardKey:l}=le(s),r=ce(t),i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i={},e[0]=i):i=e[0];let u;e[1]!==t?(u={live:!0,shardKey:t},e[1]=t,e[2]=u):u=e[2];let{data:m,error:k}=H(J.getTraces,i,u),y;e[3]===Symbol.for("react.memo_cache_sentinel")?(y={},e[3]=y):y=e[3];let b;e[4]!==t?(b={live:!0,shardKey:t},e[4]=t,e[5]=b):b=e[5];let{data:T}=H(J.getMetricHistory,y,b),g,d;e[6]!==m||e[7]!==T?(d=Oe(T,Ke(m)),g=d.trend.map(Le),e[6]=m,e[7]=T,e[8]=g,e[9]=d):(g=e[8],d=e[9]);let x=g,h;e[10]!==c||e[11]!==l?(h=(0,o.jsx)(re,{onChange:c,testId:"ai-shard-input",value:l}),e[10]=c,e[11]=l,e[12]=h):h=e[12];let f;e[13]!==k?(f=k===null?null:(0,o.jsx)(ie,{error:k,testId:"ai-error"}),e[13]=k,e[14]=f):f=e[14];let v;e[15]!==r||e[16]!==a||e[17]!==x||e[18]!==d.byFunction||e[19]!==d.byModel||e[20]!==d.calls||e[21]!==d.source||e[22]!==d.totals?(v=d.source==="none"?(0,o.jsx)(ne,{description:a("Spend shows up here once an action calls ctx.ai.model(...) \u2014 tokens and cost per function and per model."),testId:"ai-empty",title:a("No AI usage recorded")}):(0,o.jsxs)(o.Fragment,{children:[d.source==="live"?(0,o.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"ai-live-only",children:a("No durable history yet \u2014 these totals come from the live trace ring and reset when the shard hibernates.")}):(0,o.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"ai-window",children:a("Totals cover the retained metric history (up to the last 24 hours).")}),(0,o.jsx)(Ee,{totals:d.totals,trend:x}),(0,o.jsxs)("div",{className:"grid gap-3 xl:grid-cols-2",children:[(0,o.jsx)(he,{keyLabel:a("Function"),rows:d.byFunction,testId:"ai-by-function",title:a("By function")}),(0,o.jsx)(he,{keyLabel:a("Model"),rows:d.byModel,testId:"ai-by-model",title:a("By model")})]}),d.calls.length===0?(0,o.jsx)(q,{children:(0,o.jsx)(oe,{className:"p-4 text-xs text-muted-foreground","data-testid":"ai-no-calls",children:a("No recent calls in the live trace ring \u2014 it empties when the shard hibernates.")})}):(0,o.jsx)($e,{calls:d.calls,onOpenTrace:r})]}),e[15]=r,e[16]=a,e[17]=x,e[18]=d.byFunction,e[19]=d.byModel,e[20]=d.calls,e[21]=d.source,e[22]=d.totals,e[23]=v):v=e[23];let C;return e[24]!==h||e[25]!==f||e[26]!==v?(C=(0,o.jsxs)("section",{className:"flex flex-col gap-4","data-testid":"ai-panel",children:[h,f,v]}),e[24]=h,e[25]=f,e[26]=v,e[27]=C):C=e[27],C},"Ze");function Le(n){return n.providerCost+n.estimatedCost}p(Le,"Ke");export{Ye as default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{b as Se,c as Ie}from"./chunk-
|
|
1
|
+
import{b as Se,c as Ie}from"./chunk-K2MZTOIJ.js";import{a as we}from"./chunk-FPI7AMQJ.js";import{a as ye}from"./chunk-XHRKNCCI.js";import{a as Ne}from"./chunk-YVR4SEPU.js";import{b as pe}from"./chunk-ZKJS6EBE.js";import"./chunk-RGMVGZV4.js";import"./chunk-E4PXACVL.js";import"./chunk-MVWZMWPD.js";import"./chunk-7Y3SY37W.js";import{a as he}from"./chunk-7G4Z6Q7X.js";import"./chunk-3YXASVTP.js";import"./chunk-AUAECCXB.js";import"./chunk-BOMPSVRC.js";import{a as H}from"./chunk-4ZEL6BYL.js";import{d as ge}from"./chunk-HECPC2VY.js";import{f as xe}from"./chunk-WNZLTRKF.js";import"./chunk-QAQDMS6R.js";import{d as se}from"./chunk-PCBRDDD7.js";import{a as ne,e as ie}from"./chunk-2IKDEUCX.js";import{d as be,f as ce,g as de,h as ee,p as me}from"./chunk-HJHSQPHW.js";import{a as s,d as le,e as Ce,f as Te,g as Ee}from"./chunk-I26MS5PJ.js";var ve=le(Te(),1);var g=le(Ce(),1);var r=le(Ee(),1);var Ae=ce(H.exportShard),Oe=ce(H.importShard),Le=s(x=>x.map(e=>JSON.stringify(Se(e))).join(`
|
|
2
2
|
`),"Ce"),Je=s(x=>{let e=[],te=x.split(`
|
|
3
3
|
`);for(let[n,N]of te.entries()){let t=N.trim();if(t==="")continue;let o=Ie(JSON.parse(t));if(typeof o!="object"||o===null)throw new se("INTERNAL",`line ${(n+1).toString()}: expected a { table, doc } object`);let b=o;if(typeof b.table!="string"||typeof b.doc!="object"||b.doc===null||Array.isArray(b.doc))throw new se("INTERNAL",`line ${(n+1).toString()}: expected a { table, doc } object`);e.push(b)}return e},"Te"),He=s(x=>{let e=(0,ve.c)(94),{initialShardKey:te}=x,n=xe(),N=ge(),t=be(),[o,b]=(0,g.useState)(te??""),[a,fe]=(0,g.useState)(""),[d,K]=(0,g.useState)(!1),[Q,M]=(0,g.useState)(null),[i,re]=(0,g.useState)(null),[y,ue]=(0,g.useState)(null),V;e[0]!==n||e[1]!==o?(V=s(async()=>{K(!0),M(null),re(null);try{let c=await n.query(Ae,{},de(o));pe(o),fe(Le(c.rows)),ue(c.rows.length)}catch(c){M(ee(c))}K(!1)},"G"),e[0]=n,e[1]=o,e[2]=V):V=e[2];let z=V,W;e[3]!==n||e[4]!==N||e[5]!==a||e[6]!==o||e[7]!==t?(W=s(async()=>{K(!0),M(null),re(null),ue(null);let c;try{c=Je(a)}catch(l){M(t("Invalid NDJSON: {message}",{message:ee(l)})),K(!1);return}try{let l=await n.query(Oe,{rows:c},de(o));pe(o),re(l),N(H.readTablePage),N(H.listTables)}catch(l){M(ee(l))}K(!1)},"Q"),e[3]=n,e[4]=N,e[5]=a,e[6]=o,e[7]=t,e[8]=W):W=e[8];let G=W,w,S,I,m,v,p,f,j,C,u,T;if(e[9]!==d||e[10]!==y||e[11]!==z||e[12]!==i||e[13]!==G||e[14]!==a||e[15]!==o||e[16]!==t){let c=i===null?0:Object.values(i.inserted).reduce(_e,0),l;e[28]!==z?(l=s(()=>{me(z())},"o"),e[28]=z,e[29]=l):l=e[29];let oe=l,Y;e[30]!==G?(Y=s(()=>{me(G())},"Y"),e[30]=G,e[31]=Y):Y=e[31];let ae=Y,Z;e[32]===Symbol.for("react.memo_cache_sentinel")?(Z=s(h=>{fe(h.target.value)},"Z"),e[32]=Z):Z=e[32];let je=Z;T="flex flex-col gap-4",I="lunora-export-import";let L;e[33]!==t?(L=t("Export"),e[33]=t,e[34]=L):L=e[34];let J;e[35]!==L?(J=(0,r.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,r.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:L})}),e[35]=L,e[36]=J):J=e[36];let _;e[37]!==o?(_=(0,r.jsx)(Ne,{onChange:b,testId:"ei-shard-input",value:o}),e[37]=o,e[38]=_):_=e[38];let $;e[39]!==t?($=t("Export"),e[39]=t,e[40]=$):$=e[40];let k;e[41]!==d||e[42]!==oe||e[43]!==$?(k=(0,r.jsx)(he,{"data-testid":"ei-export",disabled:d,onClick:oe,type:"button",children:$}),e[41]=d,e[42]=oe,e[43]=$,e[44]=k):k=e[44];let D;e[45]!==_||e[46]!==k?(D=(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[_,k]}),e[45]=_,e[46]=k,e[47]=D):D=e[47];let q;e[48]!==y||e[49]!==t?(q=y!==null&&(0,r.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"ei-export-result",children:t("Exported {count} rows.",{count:y})}),e[48]=y,e[49]=t,e[50]=q):q=e[50];let B;e[51]!==D||e[52]!==q?(B=(0,r.jsxs)(ie,{className:"flex flex-col gap-3 p-4",children:[D,q]}),e[51]=D,e[52]=q,e[53]=B):B=e[53],e[54]!==J||e[55]!==B?(m=(0,r.jsxs)(ne,{className:"gap-0 py-0 rounded-xl border border-border bg-card shadow-xs",children:[J,B]}),e[54]=J,e[55]=B,e[56]=m):m=e[56],S=ne,C="gap-0 py-0 rounded-xl border border-border bg-card shadow-xs";let P;e[57]!==t?(P=t("Import"),e[57]=t,e[58]=P):P=e[58],e[59]!==P?(u=(0,r.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,r.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:P})}),e[59]=P,e[60]=u):u=e[60],w=ie,v="flex flex-col gap-3 p-4",e[61]!==a?(p=(0,r.jsx)(we,{"aria-label":"NDJSON",className:"font-mono text-xs min-h-40 rounded-md","data-testid":"ei-ndjson",onChange:je,placeholder:'{"table":"messages","doc":{\u2026}}',value:a}),e[61]=a,e[62]=p):p=e[62];let R;e[63]!==t?(R=t("Import (writes rows)?"),e[63]=t,e[64]=R):R=e[64];let U;e[65]!==d||e[66]!==a?(U=d||a.trim()==="",e[65]=d,e[66]=a,e[67]=U):U=e[67];let F;e[68]!==t?(F=t("Import"),e[68]=t,e[69]=F):F=e[69],e[70]!==ae||e[71]!==R||e[72]!==U||e[73]!==F?(f=(0,r.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,r.jsx)(ye,{confirmLabel:R,disabled:U,onConfirm:ae,testId:"ei-import",children:F})}),e[70]=ae,e[71]=R,e[72]=U,e[73]=F,e[74]=f):f=e[74],j=i!==null&&(0,r.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"ei-import-result",children:[(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:t("Inserted {inserted}, {conflicts} conflicts, {errors} errors.",{conflicts:i.conflicts,errors:i.errors.length,inserted:c})}),i.errors.length>0&&(0,r.jsx)("ul",{className:"flex flex-col gap-1","data-testid":"ei-import-errors",children:i.errors.map(h=>(0,r.jsx)("li",{className:"text-xs text-destructive",children:t("line {line} ({table}): {message}",{line:h.line,message:h.message,table:h.table})},`${h.table}-${h.line.toString()}`))})]}),e[9]=d,e[10]=y,e[11]=z,e[12]=i,e[13]=G,e[14]=a,e[15]=o,e[16]=t,e[17]=w,e[18]=S,e[19]=I,e[20]=m,e[21]=v,e[22]=p,e[23]=f,e[24]=j,e[25]=C,e[26]=u,e[27]=T}else w=e[17],S=e[18],I=e[19],m=e[20],v=e[21],p=e[22],f=e[23],j=e[24],C=e[25],u=e[26],T=e[27];let E;e[75]!==w||e[76]!==v||e[77]!==p||e[78]!==f||e[79]!==j?(E=(0,r.jsxs)(w,{className:v,children:[p,f,j]}),e[75]=w,e[76]=v,e[77]=p,e[78]=f,e[79]=j,e[80]=E):E=e[80];let A;e[81]!==S||e[82]!==E||e[83]!==C||e[84]!==u?(A=(0,r.jsxs)(S,{className:C,children:[u,E]}),e[81]=S,e[82]=E,e[83]=C,e[84]=u,e[85]=A):A=e[85];let O;e[86]!==Q?(O=Q!==null&&(0,r.jsx)("p",{className:"text-sm text-destructive","data-testid":"ei-error",role:"alert",children:Q}),e[86]=Q,e[87]=O):O=e[87];let X;return e[88]!==I||e[89]!==m||e[90]!==A||e[91]!==O||e[92]!==T?(X=(0,r.jsxs)("div",{className:T,"data-testid":I,children:[m,A,O]}),e[88]=I,e[89]=m,e[90]=A,e[91]=O,e[92]=T,e[93]=X):X=e[93],X},"Ue");function _e(x,e){return x+e}s(_e,"Ae");export{He as ExportImportPanel};
|